summaryrefslogtreecommitdiff
path: root/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-07-08 17:09:44 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-09-27 14:59:30 -0500
commit581fe8a23727e1b59a4fd120bfd326f42862b037 (patch)
tree35c1a8cf9cc7ec35e5bb11a8fb921c091d004c06 /libs/surfaces/generic_midi/generic_midi_control_protocol.cc
parent591e59dae4e82da5bf30f8fa9e8163d55c05d94c (diff)
add MIDI bundles to Generic MIDI support so that the ports show up nicely in the grid
Diffstat (limited to 'libs/surfaces/generic_midi/generic_midi_control_protocol.cc')
-rw-r--r--libs/surfaces/generic_midi/generic_midi_control_protocol.cc31
1 files changed, 31 insertions, 0 deletions
diff --git a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
index d14a9ca24c..10b52027e8 100644
--- a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
+++ b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
@@ -67,6 +67,23 @@ GenericMidiControlProtocol::GenericMidiControlProtocol (Session& s)
_input_port = boost::dynamic_pointer_cast<AsyncMIDIPort> (s.midi_input_port ());
_output_port = boost::dynamic_pointer_cast<AsyncMIDIPort> (s.midi_output_port ());
+ _input_bundle.reset (new ARDOUR::Bundle (_("Generic MIDI Control In"), true));
+ _output_bundle.reset (new ARDOUR::Bundle (_("Generic MIDI Control Out"), false));
+
+ _input_bundle->add_channel (
+ boost::static_pointer_cast<MidiPort>(_input_port)->name(),
+ ARDOUR::DataType::MIDI,
+ session->engine().make_port_name_non_relative (boost::static_pointer_cast<MidiPort>(_input_port)->name())
+ );
+
+ _output_bundle->add_channel (
+ boost::static_pointer_cast<MidiPort>(_output_port)->name(),
+ ARDOUR::DataType::MIDI,
+ session->engine().make_port_name_non_relative (boost::static_pointer_cast<MidiPort>(_output_port)->name())
+ );
+
+ session->BundleAddedOrRemoved ();
+
do_feedback = false;
_feedback_interval = 10000; // microseconds
last_feedback_time = 0;
@@ -110,6 +127,20 @@ GenericMidiControlProtocol::~GenericMidiControlProtocol ()
tear_down_gui ();
}
+list<boost::shared_ptr<ARDOUR::Bundle> >
+GenericMidiControlProtocol::bundles ()
+{
+ list<boost::shared_ptr<ARDOUR::Bundle> > b;
+
+ if (_input_bundle) {
+ b.push_back (_input_bundle);
+ b.push_back (_output_bundle);
+ }
+
+ return b;
+}
+
+
static const char * const midimap_env_variable_name = "ARDOUR_MIDIMAPS_PATH";
static const char* const midi_map_dir_name = "midi_maps";
static const char* const midi_map_suffix = ".map";