summaryrefslogtreecommitdiff
path: root/gtk2_ardour/mixer_ui.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-12-22 04:43:26 +0100
committerRobin Gareus <robin@gareus.org>2015-12-22 04:43:26 +0100
commitdffa3861baeb837c41d0c3090923d28089c3e981 (patch)
tree2c13c15378c1a6c69fc9b4676e68705d210f9220 /gtk2_ardour/mixer_ui.h
parentdc206119333a56161d23747eeb0caad2456e5aac (diff)
add Favorite Plugins List (DnD) to the Mixer.
Diffstat (limited to 'gtk2_ardour/mixer_ui.h')
-rw-r--r--gtk2_ardour/mixer_ui.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h
index 68ea0ca2d9..7431c030b6 100644
--- a/gtk2_ardour/mixer_ui.h
+++ b/gtk2_ardour/mixer_ui.h
@@ -39,8 +39,12 @@
#include "ardour/ardour.h"
#include "ardour/types.h"
#include "ardour/session_handle.h"
+#include "ardour/plugin.h"
+#include "ardour/plugin_manager.h"
#include "gtkmm2ext/visibility_tracker.h"
+#include "gtkmm2ext/dndtreeview.h"
+#include "gtkmm2ext/treeutils.h"
#include "enums.h"
#include "mixer_actor.h"
@@ -115,10 +119,13 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR
Gtk::Button group_display_button;
Gtk::ScrolledWindow track_display_scroller;
Gtk::ScrolledWindow group_display_scroller;
+ Gtk::ScrolledWindow favorite_plugins_scroller;
Gtk::VBox group_display_vbox;
Gtk::Frame track_display_frame;
Gtk::Frame group_display_frame;
+ Gtk::Frame favorite_plugins_frame;
Gtk::VPaned rhs_pane1;
+ Gtk::VPaned rhs_pane2;
Gtk::HBox strip_packer;
Gtk::HBox out_packer;
Gtk::HPaned list_hpane;
@@ -246,14 +253,27 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR
Gtk::TreeModelColumn<ARDOUR::RouteGroup*> group;
};
+ struct PluginsDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
+ PluginsDisplayModelColumns() {
+ add (name);
+ add (plugin);
+ }
+ Gtk::TreeModelColumn<std::string> name;
+ Gtk::TreeModelColumn<ARDOUR::PluginInfoPtr> plugin;
+ };
+
+
TrackDisplayModelColumns track_columns;
GroupDisplayModelColumns group_columns;
+ PluginsDisplayModelColumns favorite_plugins_columns;
Gtk::TreeView track_display;
Gtk::TreeView group_display;
+ Gtkmm2ext::DnDTreeView<ARDOUR::PluginInfoPtr> favorite_plugins_display;
Glib::RefPtr<Gtk::ListStore> track_model;
Glib::RefPtr<Gtk::ListStore> group_model;
+ Glib::RefPtr<Gtk::ListStore> favorite_plugins_model;
bool group_display_button_press (GdkEventButton*);
void group_display_selection_changed ();
@@ -297,6 +317,9 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR
void monitor_section_attached ();
void monitor_section_detached ();
+ void refiller (ARDOUR::PluginManager& manager, const ARDOUR::PluginInfoList& plugs);
+ void refill_favorite_plugins ();
+
/// true if we are in fullscreen mode
bool _maximised;