diff options
author | Hans Baier <hansfbaier@googlemail.com> | 2008-12-09 07:42:19 +0000 |
---|---|---|
committer | Hans Baier <hansfbaier@googlemail.com> | 2008-12-09 07:42:19 +0000 |
commit | 457f06855e30ebdfeae0a5dfe39cb8f52422a912 (patch) | |
tree | 6c72d2c8115072e51338aad868d2a07e9a598c24 /gtk2_ardour/midi_time_axis.cc | |
parent | 42db44c1939410aab15eb3c0d08f6026fb58b003 (diff) |
* first working prototype of selecting instruments in the MIDI track header
* parsing patchfiles works
git-svn-id: svn://localhost/ardour2/branches/3.0@4304 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_time_axis.cc')
-rw-r--r-- | gtk2_ardour/midi_time_axis.cc | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc index 01505ad303..1c6ac5b5fe 100644 --- a/gtk2_ardour/midi_time_axis.cc +++ b/gtk2_ardour/midi_time_axis.cc @@ -68,6 +68,7 @@ #include "midi_streamview.h" #include "utils.h" #include "midi_scroomer.h" +#include "midi_patch_manager.h" #include "piano_roll_header.h" #include "ghostregion.h" @@ -141,9 +142,27 @@ MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session& sess, boost::shar } // add channel selector expander - HBox *midi_expander_box = manage(new HBox()); - midi_expander_box->pack_start(_channel_selector, false, false); - _midi_expander.add(*midi_expander_box); + HBox* midi_expander_hbox = manage(new HBox()); + VBox* midi_expander_vbox = manage(new VBox()); + + // Instrument patch selector + ComboBoxText* model_selector = manage(new ComboBoxText()); + + MIDI::Name::MidiPatchManager& patch_manager = MIDI::Name::MidiPatchManager::instance(); + patch_manager.set_session(session()); + + for (MIDI::Name::MasterDeviceNames::Models::const_iterator model = patch_manager.all_models().begin(); + model != patch_manager.all_models().end(); + ++model) { + model_selector->append_text(model->c_str()); + } + + model_selector->set_active(0); + + midi_expander_hbox->pack_start(_channel_selector, true, false); + midi_expander_vbox->pack_start(*model_selector, true, false); + midi_expander_vbox->pack_start(*midi_expander_hbox, true, true); + _midi_expander.add(*midi_expander_vbox); _midi_expander.property_expanded().signal_changed().connect( mem_fun(this, &MidiTimeAxisView::channel_selector_toggled)); controls_vbox.pack_start(_midi_expander, false, false); |