projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remove Session::get_nth_stripable.cc
[ardour.git]
/
libs
/
ardour
/
ardour
/
midi_scene_changer.h
diff --git
a/libs/ardour/ardour/midi_scene_changer.h
b/libs/ardour/ardour/midi_scene_changer.h
index e2c62a2656edfa8d799d44a2f1a19504a73da5c7..792f4fb74ffbbc5b0e4418cd1d24db187cc2d4ef 100644
(file)
--- a/
libs/ardour/ardour/midi_scene_changer.h
+++ b/
libs/ardour/ardour/midi_scene_changer.h
@@
-27,6
+27,8
@@
namespace ARDOUR
{
namespace ARDOUR
{
+class MIDISceneChange;
+
class MIDISceneChanger : public SceneChanger
{
public:
class MIDISceneChanger : public SceneChanger
{
public:
@@
-34,7
+36,7
@@
class MIDISceneChanger : public SceneChanger
~MIDISceneChanger ();
void run (framepos_t start, framepos_t end);
~MIDISceneChanger ();
void run (framepos_t start, framepos_t end);
- void set_input_port (
MIDI::Port*
);
+ void set_input_port (
boost::shared_ptr<MidiPort>
);
void set_output_port (boost::shared_ptr<MidiPort>);
uint8_t bank_at (framepos_t, uint8_t channel);
void set_output_port (boost::shared_ptr<MidiPort>);
uint8_t bank_at (framepos_t, uint8_t channel);
@@
-43,21
+45,29
@@
class MIDISceneChanger : public SceneChanger
void set_recording (bool);
void locate (framepos_t);
void set_recording (bool);
void locate (framepos_t);
+ /** Signal emitted whenever any relevant MIDI input is detected.
+ */
+ PBD::Signal0<void> MIDIInputActivity;
+
+ /** Signal emitted whenever any relevant MIDI output is sent.
+ */
+ PBD::Signal0<void> MIDIOutputActivity;
+
private:
typedef std::multimap<framepos_t,boost::shared_ptr<MIDISceneChange> > Scenes;
private:
typedef std::multimap<framepos_t,boost::shared_ptr<MIDISceneChange> > Scenes;
-
MIDI::Port*
input_port;
+
boost::shared_ptr<MidiPort>
input_port;
boost::shared_ptr<MidiPort> output_port;
Glib::Threads::RWLock scene_lock;
Scenes scenes;
bool _recording;
boost::shared_ptr<MidiPort> output_port;
Glib::Threads::RWLock scene_lock;
Scenes scenes;
bool _recording;
-
framepos_t last_bank_message_time
;
+
bool have_seen_bank_changes
;
framepos_t last_program_message_time;
unsigned short current_bank;
int last_delivered_program;
int last_delivered_bank;
framepos_t last_program_message_time;
unsigned short current_bank;
int last_delivered_program;
int last_delivered_bank;
- void gather ();
+ void gather (
const Locations::LocationList&
);
bool recording () const;
void jump_to (int bank, int program);
void rt_deliver (MidiBuffer&, framepos_t, boost::shared_ptr<MIDISceneChange>);
bool recording () const;
void jump_to (int bank, int program);
void rt_deliver (MidiBuffer&, framepos_t, boost::shared_ptr<MIDISceneChange>);
@@
-65,7
+75,7
@@
class MIDISceneChanger : public SceneChanger
void bank_change_input (MIDI::Parser&, unsigned short, int channel);
void program_change_input (MIDI::Parser&, MIDI::byte, int channel);
void bank_change_input (MIDI::Parser&, unsigned short, int channel);
void program_change_input (MIDI::Parser&, MIDI::byte, int channel);
- void locations_changed (
Locations::Change
);
+ void locations_changed ();
PBD::ScopedConnectionList incoming_connections;
};
PBD::ScopedConnectionList incoming_connections;
};