Add audition volume control to clip-picker
This commit is contained in:
parent
7ecbdd27a9
commit
3a6e3c2c13
@ -61,6 +61,8 @@ using namespace Gtk;
|
|||||||
using namespace PBD;
|
using namespace PBD;
|
||||||
using namespace ARDOUR;
|
using namespace ARDOUR;
|
||||||
|
|
||||||
|
#define PX_SCALE(px) std::max((float)px, rintf((float)px * UIConfiguration::instance().get_ui_scale()))
|
||||||
|
|
||||||
TriggerClipPicker::TriggerClipPicker ()
|
TriggerClipPicker::TriggerClipPicker ()
|
||||||
: _fcd (_("Select clip folder"), FILE_CHOOSER_ACTION_SELECT_FOLDER)
|
: _fcd (_("Select clip folder"), FILE_CHOOSER_ACTION_SELECT_FOLDER)
|
||||||
, _seek_slider (0, 1000, 1)
|
, _seek_slider (0, 1000, 1)
|
||||||
@ -108,6 +110,9 @@ TriggerClipPicker::TriggerClipPicker ()
|
|||||||
_stop_btn.set_icon (ArdourWidgets::ArdourIcon::TransportStop);
|
_stop_btn.set_icon (ArdourWidgets::ArdourIcon::TransportStop);
|
||||||
_stop_btn.signal_clicked.connect (sigc::mem_fun (*this, &TriggerClipPicker::stop_audition));
|
_stop_btn.signal_clicked.connect (sigc::mem_fun (*this, &TriggerClipPicker::stop_audition));
|
||||||
|
|
||||||
|
_gain_control.set_name("monitor section knob");
|
||||||
|
_gain_control.set_size_request (PX_SCALE(24), PX_SCALE(24));
|
||||||
|
|
||||||
_open_library_btn.set_name ("generic button");
|
_open_library_btn.set_name ("generic button");
|
||||||
_open_library_btn.set_icon (ArdourWidgets::ArdourIcon::Folder);
|
_open_library_btn.set_icon (ArdourWidgets::ArdourIcon::Folder);
|
||||||
_open_library_btn.signal_clicked.connect (sigc::mem_fun (*this, &TriggerClipPicker::open_library));
|
_open_library_btn.signal_clicked.connect (sigc::mem_fun (*this, &TriggerClipPicker::open_library));
|
||||||
@ -133,6 +138,7 @@ TriggerClipPicker::TriggerClipPicker ()
|
|||||||
|
|
||||||
ArdourWidgets::set_tooltip (_play_btn, _("Audition selected clip"));
|
ArdourWidgets::set_tooltip (_play_btn, _("Audition selected clip"));
|
||||||
ArdourWidgets::set_tooltip (_stop_btn, _("Stop the audition"));
|
ArdourWidgets::set_tooltip (_stop_btn, _("Stop the audition"));
|
||||||
|
ArdourWidgets::set_tooltip (_gain_control, _("Audition Volume"));
|
||||||
ArdourWidgets::set_tooltip (_open_library_btn, _("Open clip library folder"));
|
ArdourWidgets::set_tooltip (_open_library_btn, _("Open clip library folder"));
|
||||||
ArdourWidgets::set_tooltip (_refresh_btn, _("Refresh clip list"));
|
ArdourWidgets::set_tooltip (_refresh_btn, _("Refresh clip list"));
|
||||||
ArdourWidgets::set_tooltip (_auditioner_combo, _("Select the Synth used for auditioning"));
|
ArdourWidgets::set_tooltip (_auditioner_combo, _("Select the Synth used for auditioning"));
|
||||||
@ -153,9 +159,10 @@ TriggerClipPicker::TriggerClipPicker ()
|
|||||||
_auditable.set_homogeneous(false);
|
_auditable.set_homogeneous(false);
|
||||||
_auditable.attach (_play_btn, 0, 1, r,r+1, SHRINK, SHRINK);
|
_auditable.attach (_play_btn, 0, 1, r,r+1, SHRINK, SHRINK);
|
||||||
_auditable.attach (_stop_btn, 1, 2, r,r+1, SHRINK, SHRINK);
|
_auditable.attach (_stop_btn, 1, 2, r,r+1, SHRINK, SHRINK);
|
||||||
_auditable.attach (_autoplay_btn, 2, 3, r,r+1, EXPAND | FILL, SHRINK); r++;
|
_auditable.attach (_gain_control, 2, 3, r,r+1, SHRINK, SHRINK);
|
||||||
_auditable.attach (_seek_slider, 0, 4, r,r+1, EXPAND | FILL, SHRINK); r++;
|
_auditable.attach (_autoplay_btn, 3, 4, r,r+1, EXPAND | FILL, SHRINK); r++;
|
||||||
_auditable.attach (_midi_prop_table, 0, 4, r,r+1, EXPAND | FILL, SHRINK);
|
_auditable.attach (_seek_slider, 0, 5, r,r+1, EXPAND | FILL, SHRINK); r++;
|
||||||
|
_auditable.attach (_midi_prop_table, 0, 5, r,r+1, EXPAND | FILL, SHRINK);
|
||||||
_auditable.set_border_width (4);
|
_auditable.set_border_width (4);
|
||||||
_auditable.set_spacings (4);
|
_auditable.set_spacings (4);
|
||||||
|
|
||||||
@ -852,12 +859,16 @@ TriggerClipPicker::set_session (Session* s)
|
|||||||
_auditioner_connections.drop_connections ();
|
_auditioner_connections.drop_connections ();
|
||||||
_processor_connections.drop_connections ();
|
_processor_connections.drop_connections ();
|
||||||
audition_processor_going_away ();
|
audition_processor_going_away ();
|
||||||
|
std::shared_ptr<Controllable> none;
|
||||||
|
_gain_control.set_controllable (none);
|
||||||
} else {
|
} else {
|
||||||
_auditioner_connections.drop_connections ();
|
_auditioner_connections.drop_connections ();
|
||||||
_session->AuditionActive.connect (_auditioner_connections, invalidator (*this), boost::bind (&TriggerClipPicker::audition_active, this, _1), gui_context ());
|
_session->AuditionActive.connect (_auditioner_connections, invalidator (*this), boost::bind (&TriggerClipPicker::audition_active, this, _1), gui_context ());
|
||||||
_session->the_auditioner ()->AuditionProgress.connect (_auditioner_connections, invalidator (*this), boost::bind (&TriggerClipPicker::audition_progress, this, _1, _2), gui_context ());
|
_session->the_auditioner ()->AuditionProgress.connect (_auditioner_connections, invalidator (*this), boost::bind (&TriggerClipPicker::audition_progress, this, _1, _2), gui_context ());
|
||||||
_session->the_auditioner ()->processors_changed.connect (_auditioner_connections, invalidator (*this), boost::bind (&TriggerClipPicker::audition_processors_changed, this), gui_context ());
|
_session->the_auditioner ()->processors_changed.connect (_auditioner_connections, invalidator (*this), boost::bind (&TriggerClipPicker::audition_processors_changed, this), gui_context ());
|
||||||
audition_processors_changed (); /* set sensitivity */
|
audition_processors_changed (); /* set sensitivity */
|
||||||
|
|
||||||
|
_gain_control.set_controllable (_session->the_auditioner ()->gain_control ());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
|
|
||||||
#include "widgets/ardour_dropdown.h"
|
#include "widgets/ardour_dropdown.h"
|
||||||
#include "widgets/ardour_button.h"
|
#include "widgets/ardour_button.h"
|
||||||
|
#include "widgets/ardour_knob.h"
|
||||||
|
|
||||||
#include "instrument_selector.h"
|
#include "instrument_selector.h"
|
||||||
|
|
||||||
@ -120,6 +121,7 @@ private:
|
|||||||
Gtk::Table _auditable;
|
Gtk::Table _auditable;
|
||||||
ArdourWidgets::ArdourButton _play_btn;
|
ArdourWidgets::ArdourButton _play_btn;
|
||||||
ArdourWidgets::ArdourButton _stop_btn;
|
ArdourWidgets::ArdourButton _stop_btn;
|
||||||
|
ArdourWidgets::ArdourKnob _gain_control;
|
||||||
ArdourWidgets::ArdourButton _open_library_btn;
|
ArdourWidgets::ArdourButton _open_library_btn;
|
||||||
ArdourWidgets::ArdourButton _refresh_btn;
|
ArdourWidgets::ArdourButton _refresh_btn;
|
||||||
ArdourWidgets::ArdourButton _show_plugin_btn;
|
ArdourWidgets::ArdourButton _show_plugin_btn;
|
||||||
|
Loading…
Reference in New Issue
Block a user