projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
OSC fix toggle_monitor_mute/dim/mono in basic_ui
[ardour.git]
/
gtk2_ardour
/
monitor_section.h
diff --git
a/gtk2_ardour/monitor_section.h
b/gtk2_ardour/monitor_section.h
index bca55b70235125afe894a52464f2436b5ca165b6..b58203f52164148859183564d5ef8947be9ea443 100644
(file)
--- a/
gtk2_ardour/monitor_section.h
+++ b/
gtk2_ardour/monitor_section.h
@@
-19,13
+19,14
@@
#include <gtkmm/box.h>
#include <gtkmm/table.h>
#include <gtkmm/box.h>
#include <gtkmm/table.h>
+#include <gtkmm/eventbox.h>
#include "gtkmm2ext/bindable_button.h"
#include "gtkmm2ext/bindable_button.h"
+#include "gtkmm2ext/bindings.h"
#include "ardour_button.h"
#include "ardour_knob.h"
#include "ardour_display.h"
#include "ardour_button.h"
#include "ardour_knob.h"
#include "ardour_display.h"
-#include "axis_view.h"
#include "level_meter.h"
#include "route_ui.h"
#include "monitor_selector.h"
#include "level_meter.h"
#include "route_ui.h"
#include "monitor_selector.h"
@@
-36,14
+37,11
@@
namespace Gtkmm2ext {
class TearOff;
namespace Gtkmm2ext {
class TearOff;
- class MotionFeedback;
}
}
-class VolumeController;
-
-class MonitorSection : public RouteUI
+class MonitorSection : public RouteUI, public Gtk::EventBox
{
{
-
public:
+ public:
MonitorSection (ARDOUR::Session*);
~MonitorSection ();
MonitorSection (ARDOUR::Session*);
~MonitorSection ();
@@
-63,8
+61,8
@@
class MonitorSection : public RouteUI
Gtk::HBox channel_table_packer;
Gtk::HBox table_hpacker;
Gtk::HBox master_packer;
Gtk::HBox channel_table_packer;
Gtk::HBox table_hpacker;
Gtk::HBox master_packer;
- Gtk::Table channel_table;
Gtk::Table channel_table_header;
Gtk::Table channel_table_header;
+ Gtk::Table *channel_table;
Gtk::ScrolledWindow channel_table_scroller;
Gtk::Viewport channel_table_viewport;
Glib::RefPtr<Gtk::SizeGroup> channel_size_group;
Gtk::ScrolledWindow channel_table_scroller;
Gtk::Viewport channel_table_viewport;
Glib::RefPtr<Gtk::SizeGroup> channel_size_group;
@@
-108,8
+106,30
@@
class MonitorSection : public RouteUI
boost::shared_ptr<ARDOUR::MonitorProcessor> _monitor;
boost::shared_ptr<ARDOUR::Route> _route;
boost::shared_ptr<ARDOUR::MonitorProcessor> _monitor;
boost::shared_ptr<ARDOUR::Route> _route;
+ enum MonitorActions {
+ MonitorMono,
+ MonitorCutAll,
+ MonitorDimAll,
+ ToggleExclusiveSolo,
+ ToggleMuteOverridesSolo,
+ SoloUseInPlace,
+ SoloUseAFL,
+ SoloUsePFL,
+ ToggleMonitorProcessorBox
+ };
+
+ enum ChannelActions {
+ CutChannel,
+ DimChannel,
+ SoloChannel,
+ InvertChannel
+ };
+
static Glib::RefPtr<Gtk::ActionGroup> monitor_actions;
static Glib::RefPtr<Gtk::ActionGroup> monitor_actions;
- void register_actions ();
+ static void register_actions ();
+
+ static void action_proxy0 (enum MonitorActions);
+ static void action_proxy1 (enum ChannelActions, uint32_t);
void cut_channel (uint32_t);
void dim_channel (uint32_t);
void cut_channel (uint32_t);
void dim_channel (uint32_t);
@@
-158,7
+178,7
@@
class MonitorSection : public RouteUI
PBD::ScopedConnection config_connection;
PBD::ScopedConnectionList control_connections;
PBD::ScopedConnection config_connection;
PBD::ScopedConnectionList control_connections;
- PBD::ScopedConnection
_output_changed_connection
;
+ PBD::ScopedConnection
List output_changed_connections
;
bool _inhibit_solo_model_update;
bool _inhibit_solo_model_update;
@@
-166,7
+186,9
@@
class MonitorSection : public RouteUI
void port_connected_or_disconnected (boost::weak_ptr<ARDOUR::Port>, boost::weak_ptr<ARDOUR::Port>);
void port_connected_or_disconnected (boost::weak_ptr<ARDOUR::Port>, boost::weak_ptr<ARDOUR::Port>);
- void repack_processor_box ();
+ void update_processor_box ();
+
+ void route_property_changed (const PBD::PropertyChange&) {}
ProcessorBox* insert_box;
PluginSelector* _plugin_selector;
ProcessorBox* insert_box;
PluginSelector* _plugin_selector;
@@
-175,6
+197,13
@@
class MonitorSection : public RouteUI
uint32_t count_processors ();
void processors_changed (ARDOUR::RouteProcessorChange);
uint32_t count_processors ();
void processors_changed (ARDOUR::RouteProcessorChange);
- Glib::RefPtr<Gtk::
Toggle
Action> proctoggle;
+ Glib::RefPtr<Gtk::Action> proctoggle;
bool _ui_initialized;
bool _ui_initialized;
+
+ static Gtkmm2ext::ActionMap myactions;
+ static Gtkmm2ext::Bindings* bindings;
+
+ static void load_bindings ();
+ bool enter_handler (GdkEventCrossing*);
+ bool leave_handler (GdkEventCrossing*);
};
};