Class: MusaLCEServer::Bitwig::Handler
- Defined in:
- lib/bitwig/handler.rb
Instance Method Summary collapse
- #continue ⇒ Object
- #goto(position) ⇒ Object
-
#initialize(osc_server, osc_client, controllers, sequencer, logger:) ⇒ Handler
constructor
A new instance of Handler.
- #panic! ⇒ Object
- #play ⇒ Object
- #record ⇒ Object
- #stop ⇒ Object
- #sync ⇒ Object
Methods inherited from Handler
Constructor Details
#initialize(osc_server, osc_client, controllers, sequencer, logger:) ⇒ Handler
Returns a new instance of Handler.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/bitwig/handler.rb', line 6 def initialize(osc_server, osc_client, controllers, sequencer, logger:) super() @server = osc_server @client = osc_client @controllers = controllers @sequencer = sequencer @logger = logger @server.add_method '/hello' do || @logger.info "Received /hello #{.to_a}!" version sync end @server.add_method '/musalce4bitwig/controllers' do || @logger.info("Received /musalce4bitwig/controllers #{.to_a}") @controllers.register_controllers(.to_a) end @server.add_method '/musalce4bitwig/controller' do || @logger.info("Received /musalce4bitwig/controller #{.to_a}") a = .to_a @controllers.register_controller(name: a[0], port_name: a[1], is_clock: a[2] == 1) end @server.add_method '/musalce4bitwig/controller/update' do || @logger.info("Received /musalce4bitwig/controller/update #{.to_a}") a = .to_a @controllers.update_controller(old_name: a[0], new_name: a[1], port_name: a[2], is_clock: a[3] == 1) end @server.add_method '/musalce4bitwig/channels' do || @logger.info("Received /musalce4bitwig/channels #{.to_a}") a = .to_a @controllers.register_channels(controller_name: a[0], channels: a[1..]) end end |
Instance Method Details
#continue ⇒ Object
62 63 64 65 |
# File 'lib/bitwig/handler.rb', line 62 def continue @logger.info 'Asking continue' send_osc '/musalce4bitwig/continue' end |
#goto(position) ⇒ Object
67 68 69 70 |
# File 'lib/bitwig/handler.rb', line 67 def goto(position) @logger.info "Asking goto #{position}" send_osc '/musalce4bitwig/goto', OSC::OSCDouble64.new(((position - 1) * @sequencer.).to_f) end |
#panic! ⇒ Object
77 78 79 |
# File 'lib/bitwig/handler.rb', line 77 def panic! @controllers.tracks.each(:panic!) end |
#play ⇒ Object
52 53 54 55 |
# File 'lib/bitwig/handler.rb', line 52 def play @logger.info 'Asking play' send_osc '/musalce4bitwig/play' end |
#record ⇒ Object
72 73 74 75 |
# File 'lib/bitwig/handler.rb', line 72 def record @logger.info 'Asking record' send_osc '/musalce4bitwig/record' end |
#stop ⇒ Object
57 58 59 60 |
# File 'lib/bitwig/handler.rb', line 57 def stop @logger.info 'Asking stop' send_osc '/musalce4bitwig/stop' end |
#sync ⇒ Object
47 48 49 50 |
# File 'lib/bitwig/handler.rb', line 47 def sync @logger.info 'Asking sync' send_osc '/musalce4bitwig/sync' end |