summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-04-24 22:16:34 +0200
committerRobin Gareus <robin@gareus.org>2015-04-24 22:37:03 +0200
commitde80782f05d7da5fc8c028e965e3a7bafa80b5a1 (patch)
tree0ddf3bc78c3a18d4d80ec10ea41d24fc8fe7a8b1 /gtk2_ardour
parent57e80c2c8fc4f08590ba1e35ec5e7bae3d85a169 (diff)
add trim control to mixer-strip.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/dark.colors3
-rw-r--r--gtk2_ardour/mixer_strip.cc18
-rw-r--r--gtk2_ardour/mixer_strip.h3
3 files changed, 24 insertions, 0 deletions
diff --git a/gtk2_ardour/dark.colors b/gtk2_ardour/dark.colors
index 05d875f54b..fd052f5693 100644
--- a/gtk2_ardour/dark.colors
+++ b/gtk2_ardour/dark.colors
@@ -464,6 +464,9 @@
<ColorAlias name="transport recenable button: led active" alias="color 4"/>
<ColorAlias name="trim handle" alias="color 18"/>
<ColorAlias name="trim handle locked" alias="color 86"/>
+ <ColorAlias name="trim knob" alias="color 60"/>
+ <ColorAlias name="trim knob: arc end" alias="color 70"/>
+ <ColorAlias name="trim knob: arc start" alias="color 16"/>
<ColorAlias name="verbose canvas cursor" alias="color 32"/>
<ColorAlias name="vestigial frame" alias="color 4"/>
<ColorAlias name="video timeline bar" alias="color 46"/>
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 7c59075f5a..302d74f499 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -34,6 +34,7 @@
#include <gtkmm2ext/slider_controller.h>
#include <gtkmm2ext/bindable_button.h>
+#include "ardour/amp.h"
#include "ardour/audio_track.h"
#include "ardour/audioengine.h"
#include "ardour/internal_send.h"
@@ -255,6 +256,14 @@ MixerStrip::init ()
_comment_button.set_name (X_("mixer strip button"));
_comment_button.signal_clicked.connect (sigc::mem_fun (*this, &RouteUI::toggle_comment_editor));
+#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::ui_scale))
+ trim_control.set_size_request (PX_SCALE(20), PX_SCALE(20));
+#undef PX_SCALE
+ trim_control.set_tooltip_prefix ("Trim: ");
+ trim_control.set_name ("trim knob");
+ trim_control.set_no_show_all (true);
+ input_button_box.pack_start (trim_control, false, false);
+
global_vpacker.set_border_width (1);
global_vpacker.set_spacing (0);
@@ -516,6 +525,15 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
monitor_disk_button->hide ();
}
+ if (route()->trim() && route()->trim()->active()) {
+ trim_control.show ();
+ trim_control.set_controllable (route()->trim()->gain_control());
+ } else {
+ trim_control.hide ();
+ boost::shared_ptr<Controllable> none;
+ trim_control.set_controllable (none);
+ }
+
if (is_midi_track()) {
if (midi_input_enable_button == 0) {
midi_input_enable_button = manage (new ArdourButton);
diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h
index 46f5abd82f..9133d2981f 100644
--- a/gtk2_ardour/mixer_strip.h
+++ b/gtk2_ardour/mixer_strip.h
@@ -47,6 +47,7 @@
#include "pbd/fastlog.h"
+#include "ardour_knob.h"
#include "route_ui.h"
#include "gain_meter.h"
#include "panner_ui.h"
@@ -202,6 +203,8 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
ArdourButton _comment_button;
+ ArdourKnob trim_control;
+
void setup_comment_button ();
ArdourButton group_button;