20 #ifndef __libardour_midi_scene_changer_h__
21 #define __libardour_midi_scene_changer_h__
23 #include <glibmm/threads.h>
30 class MIDISceneChange;
57 typedef std::multimap<framepos_t,boost::shared_ptr<MIDISceneChange> >
Scenes;
72 void jump_to (
int bank,
int program);
Glib::Threads::RWLock scene_lock
MIDISceneChanger(Session &)
void bank_change_input(MIDI::Parser &, unsigned short, int channel)
std::list< Location * > LocationList
void set_input_port(MIDI::Port *)
PBD::Signal0< void > MIDIInputActivity
void rt_deliver(MidiBuffer &, framepos_t, boost::shared_ptr< MIDISceneChange >)
PBD::ScopedConnectionList incoming_connections
PBD::Signal0< void > MIDIOutputActivity
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > start
uint8_t bank_at(framepos_t, uint8_t channel)
void gather(const Locations::LocationList &)
uint8_t program_at(framepos_t, uint8_t channel)
void non_rt_deliver(boost::shared_ptr< MIDISceneChange >)
void program_change_input(MIDI::Parser &, MIDI::byte, int channel)
void set_output_port(boost::shared_ptr< MidiPort >)
bool have_seen_bank_changes
void run(framepos_t start, framepos_t end)
boost::shared_ptr< MidiPort > output_port
void jump_to(int bank, int program)
std::multimap< framepos_t, boost::shared_ptr< MIDISceneChange > > Scenes
framepos_t last_program_message_time
unsigned short current_bank
int last_delivered_program