All Projects → llloret → sonic-pi-vscode-editor

llloret / sonic-pi-vscode-editor

Licence: other
Use Sonic Pi from VS Code

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to sonic-pi-vscode-editor

Protoplug
Create audio plugins on-the-fly with LuaJIT.
Stars: ✭ 175 (+243.14%)
Mutual labels:  live-coding
tidal-cheat-sheet
A cheat sheet for Tidal, a language for live coding patterns
Stars: ✭ 38 (-25.49%)
Mutual labels:  live-coding
ziffers
Numbered musical notation for composing algorithmic and generative melodies
Stars: ✭ 53 (+3.92%)
Mutual labels:  sonic-pi
Punkt
Live coding music library/environment for Kotlin
Stars: ✭ 224 (+339.22%)
Mutual labels:  live-coding
vscode-extension
Link your code and commits to a video recording and explain your code with video.
Stars: ✭ 67 (+31.37%)
Mutual labels:  live-coding
sonic-pi-challenge
Sonic Pi Challenge at GitHub Universe 2020
Stars: ✭ 65 (+27.45%)
Mutual labels:  sonic-pi
Clr Meterpreter
The full story of the CLR implementation of Meterpreter
Stars: ✭ 137 (+168.63%)
Mutual labels:  live-coding
RCCpp-DearImGui-GLFW-example
Add Runtime Compiled C++ to the Dear ImGui example using the GLFW and OpenGL backend - with power saving
Stars: ✭ 61 (+19.61%)
Mutual labels:  live-coding
osmid
osmid is a tool to bridge MIDI and OSC. It is currently in use in Sonic Pi
Stars: ✭ 63 (+23.53%)
Mutual labels:  sonic-pi
alda-clj
A Clojure library for live-coding music with Alda
Stars: ✭ 54 (+5.88%)
Mutual labels:  live-coding
Mosaic
Mosaic, an openFrameworks based Visual Patching Creative-Coding Platform
Stars: ✭ 250 (+390.2%)
Mutual labels:  live-coding
negasonic
This ain't Sonic Pi, but it works on the browser: www.negasonic.org
Stars: ✭ 73 (+43.14%)
Mutual labels:  sonic-pi
PhysicalBits
A web-based programming environment for educational robotics that supports live coding and autonomy using a hybrid blocks/text programming language.
Stars: ✭ 16 (-68.63%)
Mutual labels:  live-coding
Live Py Plugin
Live coding in Python with PyCharm, Emacs, Sublime Text, or even a browser
Stars: ✭ 222 (+335.29%)
Mutual labels:  live-coding
sonic-pi.el
Emacs running SonicPi
Stars: ✭ 79 (+54.9%)
Mutual labels:  sonic-pi
Fsynth
Web-based and pixels-based collaborative synthesizer
Stars: ✭ 146 (+186.27%)
Mutual labels:  live-coding
qml-glsl-coder
live editor of GLSL fragment shaders based on Qt / QML
Stars: ✭ 19 (-62.75%)
Mutual labels:  live-coding
live-platform
Add breakpoints, logs, metrics, and spans to live production applications
Stars: ✭ 37 (-27.45%)
Mutual labels:  live-coding
improviz
A live-coded visual performance tool
Stars: ✭ 85 (+66.67%)
Mutual labels:  live-coding
tilt
Live coding bytebeat-style language for the web
Stars: ✭ 30 (-41.18%)
Mutual labels:  live-coding

Build Status

sonicpieditor README

This is an extension to work with Sonic Pi within vscode. It will launch Sonic Pi's backend when you open a ruby file.

At the moment this is run as an extension in development, so see the Requirements section below for instructions on how to run it.

Please feel free to contribute with your Pull Requests. Any help is welcome!

Also, if you like this project or are interested in its progress, it would be great if you star it in github to help spread the word! Thank you!

Features

This is just starting, but we already have enough features to have some fun!

  • Configurable Sonic Pi server launch options. Now you can choose between:
    • always: launches the server when vscode starts
    • ruby: launches the server when there is a ruby file visible in vscode (this is the default)
    • custom: launches the server when there is a file with your given custom extension visible in vscode
    • never: do not launch the server automatically (use the Sonic Pi: Start Server command)
  • Configurable Sonic Pi root path, in case the default does not work for you
  • Can run code pressing Alt-R (or Cmd-R on Mac, just like in Sonic Pi's editor) or with command palette "Sonic Pi: Run" (see Screenshot)
  • Can stop running audio with Alt-S (or Cmd-S on Mac) or "Sonic Pi: Stop"
  • Can run the selected code with Alt-T (or Cmd-T on Mac). If there is no code selected, it will offer to run the whole file instead (and persist the choice)
  • Shows logs and cues in the output panel (see logs and cues)
  • Some snippets like live_loop, effects, synths, samples, and possibly more coming soon. See the snippets directory for the full list and contribute new ones if you feel like it!
    • fx -> instantiate effect with autocomplete list chooser
    • fx x (where x is a letter) -> effect instantiation
    • us -> instantiate synth with autocomplete list chooser
    • us x (where x is a letter) -> specific synth instantiation
    • sa -> instantiate sample with autocomplete list chooser
  • Highlight errors as reported by the Sonic Pi server
  • And of course, you have syntax highlighting, autoformatting, all the goodies that you usually have with vscode!
  • See a very short video of Robin Newman's arrangement of "Pase El Agua" launched from this extension, showing the thing working, logs, etc: Video

(You can find Robin's original work here: https://in-thread.sonic-pi.net/t/three-more-pieces-for-sonic-pi/2434).

Requirements

The extension runs in development mode. Follow these steps:

  • Go to the extension directory (where this file is located)
  • run "npm install", to install the necessary node dependencies
  • run "code .", to open the extension directory in vscode
  • press F5 to run the extension
  • (optional) see the Sonic Settings in vscode and configure how you want to start the server, by default it will launch when there is a ruby file visible in the editor

If you run into problems, let me know, and I'll do my best to help you set this up.

Make sure you configure the Sonic Pi root path in the configuration if the default setting does not work for you Open Settings -> Extensions -> Sonic Pi -> Sonic Pi Root Directory

Known Issues

I have not tested this in Linux yet. Works nicely in Windows and Mac.

Open questions

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].