son't try to select non-existent notes after editing (and thus crash).
[ardour.git] / gtk2_ardour / midi_time_axis.h
index b8e60660b407b6d8ebab46aa2534480638689952..fe8a464875a91b33e55d0581b0bf3cce0bd79f5d 100644 (file)
@@ -82,13 +82,13 @@ public:
 
        void set_height (uint32_t, TrackHeightMode m = OnlySelf);
 
-       boost::shared_ptr<ARDOUR::MidiRegion> add_region (ARDOUR::framepos_t, ARDOUR::framecnt_t, bool, const int32_t& sub_num);
+       boost::shared_ptr<ARDOUR::MidiRegion> add_region (ARDOUR::framepos_t, ARDOUR::framecnt_t, bool, const int32_t sub_num);
 
        void show_all_automation (bool apply_to_selection = false);
        void show_existing_automation (bool apply_to_selection = false);
        void create_automation_child (const Evoral::Parameter& param, bool show);
 
-       bool paste (ARDOUR::framepos_t, const Selection&, PasteContext& ctx);
+       bool paste (ARDOUR::framepos_t, const Selection&, PasteContext& ctx, const int32_t sub_num);
 
        ARDOUR::NoteMode  note_mode() const { return _note_mode; }
        ARDOUR::ColorMode color_mode() const { return _color_mode; }
@@ -113,10 +113,16 @@ public:
 protected:
        void start_step_editing ();
        void stop_step_editing ();
+       void processors_changed (ARDOUR::RouteProcessorChange);
 
 private:
        sigc::signal<void, std::string, std::string>  _midi_patch_settings_changed;
 
+       void setup_midnam_patches ();
+       void update_patch_selector ();
+       void drop_instrument_ref ();
+       PBD::ScopedConnectionList midnam_connection;
+
        void model_changed(const std::string& model);
        void custom_device_mode_changed(const std::string& mode);
 
@@ -161,6 +167,7 @@ private:
        void add_channel_command_menu_item (Gtk::Menu_Helpers::MenuList& items, const std::string& label, ARDOUR::AutomationType auto_type, uint8_t cmd);
 
        Gtk::Menu* controller_menu;
+       Gtk::Menu* poly_pressure_menu;
 
        void add_single_channel_controller_item (Gtk::Menu_Helpers::MenuList& ctl_items, int ctl, const std::string& name);
        void add_multi_channel_controller_item (Gtk::Menu_Helpers::MenuList& ctl_items, int ctl, const std::string& name);