diff options
author | Robin Gareus <robin@gareus.org> | 2015-04-24 22:16:34 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-04-24 22:37:03 +0200 |
commit | de80782f05d7da5fc8c028e965e3a7bafa80b5a1 (patch) | |
tree | 0ddf3bc78c3a18d4d80ec10ea41d24fc8fe7a8b1 /gtk2_ardour | |
parent | 57e80c2c8fc4f08590ba1e35ec5e7bae3d85a169 (diff) |
add trim control to mixer-strip.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/dark.colors | 3 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.cc | 18 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.h | 3 |
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; |