• Packages
  • Themes
  • Documentation
  • Blog
  • Discuss
Sign in

musa-dsl-atom-repl

Atom package for REPL Musa-DSL live coding
  • #musa-dsl
  • #live coding
  • #music composition
  • #repl
javier-sy
0.1.6 73
0
  • Repo
  • Bugs
  • Versions
  • License
Flag as spam or malicious

musa-dsl-atom-repl

An Atom package to allow a Read-Eval-Print-Loop connected to a Musa-DSL REPL server.

Musa-DSL is a Ruby Domain Specific Language for algorithmic musical composition.

The Musa-DSL server should be implemented creating a new REPL instance inside the binding context of the sequencer DSL. A simple instantiation scenario is the following:

require 'musa-dsl'
require 'unimidi'
 
clock_input = UniMIDI::Input.all.select { |x| x.name == 'Apple Inc. Driver IAC' }[1]
output = UniMIDI::Output.all.select { |x| x.name == 'Apple Inc. Driver IAC' }[1]
 
clock = Musa::InputMidiClock.new clock_input
 
voices = Musa::MIDIVoices.new sequencer: transport.sequencer, output: output, channels: [0]
 
transport = Musa::Transport.new clock, 1, 24
 
transport.sequencer.with do
  Musa::REPL.new binding
end
 
transport.start

This opens a REPL socket in localhost:1327. musa-dsl-atom-repl package automatically connects to this default server.

Keystrokes inside Atom:

  • Ctrl-Alt-M: opens the Musa-DSL REPL Status panel. This panel shows the responses from the server when it evals the commands sent from the Atom client. The response includes the inmediate response and the future responses for the commands that develop in time.

  • Ctrl-Alt-Return: sends current selection or current line (if nothing is selected) as a command to Musa-DSL REPL server. The response is shown in Musa-DSL REPL Status panel.

I think this package is bad news.

Good catch. Let us know what about this package looks wrong to you, and we'll investigate right away.

  • Terms of Use
  • Privacy
  • Code of Conduct
  • Releases
  • FAQ
  • Contact
with by