diff options
-rw-r--r-- | gtk2_ardour/SConscript | 1 | ||||
-rw-r--r-- | gtk2_ardour/midi_time_axis.cc | 42 | ||||
-rw-r--r-- | gtk2_ardour/midi_time_axis.h | 4 | ||||
-rw-r--r-- | libs/ardour/SConscript | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_patch_manager.h (renamed from gtk2_ardour/midi_patch_manager.h) | 2 | ||||
-rw-r--r-- | libs/ardour/midi_patch_manager.cc (renamed from gtk2_ardour/midi_patch_manager.cc) | 5 | ||||
-rw-r--r-- | libs/ardour/session_state.cc | 2 |
7 files changed, 20 insertions, 37 deletions
diff --git a/gtk2_ardour/SConscript b/gtk2_ardour/SConscript index 8bfccae2b4..89a5040400 100644 --- a/gtk2_ardour/SConscript +++ b/gtk2_ardour/SConscript @@ -201,7 +201,6 @@ midi_region_view.cc midi_scroomer.cc midi_streamview.cc midi_time_axis.cc -midi_patch_manager.cc mixer_strip.cc mixer_ui.cc new_session_dialog.cc diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc index 1c6ac5b5fe..1052b57912 100644 --- a/gtk2_ardour/midi_time_axis.cc +++ b/gtk2_ardour/midi_time_axis.cc @@ -37,6 +37,7 @@ #include <ardour/midi_playlist.h> #include <ardour/midi_diskstream.h> +#include <ardour/midi_patch_manager.h> #include <ardour/processor.h> #include <ardour/ladspa_plugin.h> #include <ardour/location.h> @@ -68,7 +69,6 @@ #include "midi_streamview.h" #include "utils.h" #include "midi_scroomer.h" -#include "midi_patch_manager.h" #include "piano_roll_header.h" #include "ghostregion.h" @@ -83,7 +83,7 @@ using namespace sigc; using namespace Editing; // Minimum height at which a control is displayed -static const uint32_t CHANNEL_MIN_HEIGHT = 80; +static const uint32_t MIDI_CONTROLS_BOX_MIN_HEIGHT = 162; static const uint32_t KEYBOARD_MIN_HEIGHT = 140; MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session& sess, boost::shared_ptr<Route> rt, Canvas& canvas) @@ -95,7 +95,6 @@ MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session& sess, boost::shar , _note_mode(Sustained) , _note_mode_item(NULL) , _percussion_mode_item(NULL) - , _midi_expander("Channel") { subplugin_menu.set_name ("ArdourContextMenu"); @@ -142,14 +141,12 @@ MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session& sess, boost::shar } // add channel selector expander - HBox* midi_expander_hbox = manage(new HBox()); - VBox* midi_expander_vbox = manage(new VBox()); + HBox* midi_controls_hbox = manage(new HBox()); // 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(); @@ -159,13 +156,12 @@ MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session& sess, boost::shar 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); + midi_controls_hbox->pack_start(_channel_selector, true, false); + _midi_controls_box.pack_start(*model_selector, true, false); + _midi_controls_box.pack_start(*midi_controls_hbox, true, true); + + controls_vbox.pack_start(_midi_controls_box, false, false); + boost::shared_ptr<MidiDiskstream> diskstream = midi_track()->midi_diskstream(); // restore channel selector settings @@ -214,10 +210,10 @@ MidiTimeAxisView::set_height (uint32_t h) { RouteTimeAxisView::set_height (h); - if (height >= CHANNEL_MIN_HEIGHT) { - _midi_expander.show(); + if (height >= MIDI_CONTROLS_BOX_MIN_HEIGHT) { + _midi_controls_box.show(); } else { - _midi_expander.hide(); + _midi_controls_box.hide(); } if (height >= KEYBOARD_MIN_HEIGHT) { @@ -462,20 +458,6 @@ MidiTimeAxisView::route_active_changed () } } -void -MidiTimeAxisView::channel_selector_toggled() -{ - static uint32_t previous_height; - - if (_midi_expander.property_expanded()) { - previous_height = current_height(); - if (previous_height < TimeAxisView::hLargest) { - set_height (TimeAxisView::hLarge); - } - } else { - set_height (previous_height); - } -} diff --git a/gtk2_ardour/midi_time_axis.h b/gtk2_ardour/midi_time_axis.h index 18dfedcaf0..a09cb5e5f1 100644 --- a/gtk2_ardour/midi_time_axis.h +++ b/gtk2_ardour/midi_time_axis.h @@ -93,8 +93,6 @@ class MidiTimeAxisView : public RouteTimeAxisView void add_insert_to_subplugin_menu (ARDOUR::Processor *); - void channel_selector_toggled(); - bool _ignore_signals; Gtk::Menu _subplugin_menu; MidiScroomer* _range_scroomer; @@ -102,7 +100,7 @@ class MidiTimeAxisView : public RouteTimeAxisView ARDOUR::NoteMode _note_mode; Gtk::RadioMenuItem* _note_mode_item; Gtk::RadioMenuItem* _percussion_mode_item; - Gtk::Expander _midi_expander; + Gtk::VBox _midi_controls_box; MidiMultipleChannelSelector _channel_selector; }; diff --git a/libs/ardour/SConscript b/libs/ardour/SConscript index 172cb5163d..52dbb90ba7 100644 --- a/libs/ardour/SConscript +++ b/libs/ardour/SConscript @@ -115,6 +115,7 @@ midi_source.cc midi_state_tracker.cc midi_stretch.cc midi_track.cc +midi_patch_manager.cc mix.cc mtc_slave.cc named_selection.cc diff --git a/gtk2_ardour/midi_patch_manager.h b/libs/ardour/ardour/midi_patch_manager.h index f971663d4d..3591f87d89 100644 --- a/gtk2_ardour/midi_patch_manager.h +++ b/libs/ardour/ardour/midi_patch_manager.h @@ -21,7 +21,7 @@ #ifndef MIDI_PATCH_MANAGER_H_ #define MIDI_PATCH_MANAGER_H_ -#include "midi++/midnam_patch.h" +#include <midi++/midnam_patch.h> namespace ARDOUR { class Session; diff --git a/gtk2_ardour/midi_patch_manager.cc b/libs/ardour/midi_patch_manager.cc index 18e1d5051e..bb57f4b10f 100644 --- a/gtk2_ardour/midi_patch_manager.cc +++ b/libs/ardour/midi_patch_manager.cc @@ -21,10 +21,11 @@ #include <sigc++/sigc++.h> #include <boost/shared_ptr.hpp> -#include "midi_patch_manager.h" -#include "pbd/file_utils.h" +#include <pbd/file_utils.h> + #include "ardour/session.h" #include "ardour/session_directory.h" +#include "ardour/midi_patch_manager.h" using namespace std; using namespace sigc; diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index a1b4f34a25..b1a494584a 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -86,6 +86,7 @@ #include <ardour/tempo.h> #include <ardour/audio_track.h> #include <ardour/midi_track.h> +#include <ardour/midi_patch_manager.h> #include <ardour/cycle_timer.h> #include <ardour/utils.h> #include <ardour/named_selection.h> @@ -359,6 +360,7 @@ Session::second_stage_init (bool new_session) deliver_mmc (MIDI::MachineControl::cmdLocate, 0); MidiClockTicker::instance().set_session(*this); + MIDI::Name::MidiPatchManager::instance().set_session(*this); BootMessage (_("Reset Control Protocols")); |