PSG::Synth class of PicoRuby
Type aliases
voice_pool_config_t
Hash[MIDIBASE::Router::source_t, Integer | Array[Integer]]
voice_pool_t
Hash[MIDIBASE::Router::source_t, Array[Integer]]
state_key_t
[MIDIBASE::Router::source_t, Integer]
state_t
[Integer, Integer, Integer, Integer, bool, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, bool]
note_key_t
[MIDIBASE::Router::source_t, Integer, Integer]
program_cursor_t
[voice_program_t, Integer, Integer, Integer, MIDIBASE::Router::source_t, Integer, Integer]
midi_message_value_t
untyped
midi_message_t
Array[midi_message_value_t]
Singleton methods
new
PSG::Synth.new(Driver driver, ?voice_count: Integer, ?voice_pools: voice_pool_config_t?) -> void
Instance methods
handle
instance.handle(MIDIBASE::event_t event, ?source: MIDIBASE::Router::source_t, ?priority: Integer, ?timestamp_us: Integer?, **MIDIBASE::context_value_t context) -> bool
handle_midi
instance.handle_midi(MIDIBASE::event_t event, MIDIBASE::Router::source_t source, Integer priority, Integer? timestamp_us) -> bool
join
instance.join() -> self
run
instance.run() -> void
start
instance.start() -> self
stop
instance.stop() -> self
stop_program
instance.stop_program(Symbol name, ?source: MIDIBASE::Router::source_t, ?timestamp_us: Integer?) -> bool
trigger_program
instance.trigger_program(Symbol name, ?velocity: Integer, ?source: MIDIBASE::Router::source_t, ?priority: Integer, ?timestamp_us: Integer?) -> bool
Attr accessors
allocator (reader)
instance.allocator -> MIDIBASE::VoiceAllocator