mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 06:44:57 +01:00
FP8: allow to edit Track Trim (WIP)
This is still somewhat half-baked. There is no "Trim" fader mode button. Shift+Send may be an option. .. or perhaps this is wrong and trim should be listed by "Edit Plugins" (but that does not survive track selection).
This commit is contained in:
parent
0ea7e80aa6
commit
a6a92cd75d
7 changed files with 37 additions and 11 deletions
|
|
@ -228,6 +228,7 @@ FaderPort8::button_link ()
|
|||
{
|
||||
switch (_ctrls.fader_mode()) {
|
||||
case ModeTrack:
|
||||
case ModeTrim:
|
||||
case ModePan:
|
||||
if (_link_enabled) {
|
||||
stop_link ();
|
||||
|
|
@ -287,6 +288,9 @@ FaderPort8::button_automation (ARDOUR::AutoState as)
|
|||
case ModeTrack:
|
||||
ac = (*i)->gain_control ();
|
||||
break;
|
||||
case ModeTrim:
|
||||
ac = (*i)->trim_control ();
|
||||
break;
|
||||
case ModePan:
|
||||
ac = (*i)->pan_azimuth_control ();
|
||||
break;
|
||||
|
|
@ -473,7 +477,7 @@ FaderPort8::button_arm (bool press)
|
|||
}
|
||||
#else
|
||||
FaderMode fadermode = _ctrls.fader_mode ();
|
||||
if (fadermode == ModeTrack || fadermode == ModePan) {
|
||||
if (fadermode == ModeTrack || fadermode == ModePan || fadermode == ModeTrim) {
|
||||
_ctrls.button (FP8Controls::BtnArm).set_active (press);
|
||||
ARMButtonChange (press); /* EMIT SIGNAL */
|
||||
}
|
||||
|
|
@ -660,6 +664,7 @@ FaderPort8::button_parameter ()
|
|||
{
|
||||
switch (_ctrls.fader_mode()) {
|
||||
case ModeTrack:
|
||||
case ModeTrim:
|
||||
case ModePan:
|
||||
if (_link_enabled || _link_locked) {
|
||||
handle_encoder_link (0);
|
||||
|
|
@ -681,6 +686,7 @@ FaderPort8::encoder_parameter (bool neg, int steps)
|
|||
{
|
||||
switch (_ctrls.fader_mode()) {
|
||||
case ModeTrack:
|
||||
case ModeTrim:
|
||||
case ModePan:
|
||||
if (steps != 0) {
|
||||
if (_link_enabled || _link_locked) {
|
||||
|
|
|
|||
|
|
@ -80,6 +80,9 @@ FaderPort8::notify_route_state_changed ()
|
|||
case ModeTrack:
|
||||
ac = s->gain_control();
|
||||
break;
|
||||
case ModeTrim:
|
||||
ac = s->trim_control();
|
||||
break;
|
||||
case ModePan:
|
||||
ac = s->pan_azimuth_control();
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1045,7 +1045,7 @@ FaderPort8::assign_stripables (bool select_only)
|
|||
#ifdef FADERPORT2
|
||||
std::shared_ptr<Stripable> s = first_selected_stripable();
|
||||
if (s) {
|
||||
_ctrls.strip(0).set_stripable (s, _ctrls.fader_mode() == ModePan);
|
||||
_ctrls.strip(0).set_stripable (s, _ctrls.fader_mode());
|
||||
} else {
|
||||
_ctrls.strip(0).unset_controllables ( FP8Strip::CTRL_ALL );
|
||||
}
|
||||
|
|
@ -1090,7 +1090,7 @@ FaderPort8::assign_stripables (bool select_only)
|
|||
_ctrls.strip(id).select_button ().set_active ((*s)->is_selected ());
|
||||
_ctrls.strip(id).select_button ().set_blinking (*s == first_selected_stripable ());
|
||||
} else {
|
||||
_ctrls.strip(id).set_stripable (*s, _ctrls.fader_mode() == ModePan);
|
||||
_ctrls.strip(id).set_stripable (*s, _ctrls.fader_mode());
|
||||
}
|
||||
|
||||
boost::function<void ()> cb (boost::bind (&FaderPort8::select_strip, this, std::weak_ptr<Stripable> (*s)));
|
||||
|
|
@ -1782,6 +1782,7 @@ FaderPort8::assign_strips ()
|
|||
FaderMode fadermode = _ctrls.fader_mode ();
|
||||
switch (fadermode) {
|
||||
case ModeTrack:
|
||||
case ModeTrim:
|
||||
case ModePan:
|
||||
assign_stripables ();
|
||||
stripable_selection_changed (); // update selection, automation-state
|
||||
|
|
@ -1895,6 +1896,7 @@ FaderPort8::notify_fader_mode_changed ()
|
|||
|
||||
switch (fadermode) {
|
||||
case ModeTrack:
|
||||
case ModeTrim:
|
||||
case ModePan:
|
||||
break;
|
||||
case ModePlugins:
|
||||
|
|
@ -1965,7 +1967,7 @@ FaderPort8::notify_stripable_property_changed (std::weak_ptr<Stripable> ws, cons
|
|||
}
|
||||
|
||||
if (what_changed.empty ()) {
|
||||
_ctrls.strip(id).set_stripable (s, _ctrls.fader_mode() == ModePan);
|
||||
_ctrls.strip(id).set_stripable (s, _ctrls.fader_mode());
|
||||
}
|
||||
|
||||
if (what_changed.contains (Properties::name)) {
|
||||
|
|
@ -1974,6 +1976,7 @@ FaderPort8::notify_stripable_property_changed (std::weak_ptr<Stripable> ws, cons
|
|||
_ctrls.strip(id).set_text_line (3, s->name(), true);
|
||||
break;
|
||||
case ModeTrack:
|
||||
case ModeTrim:
|
||||
case ModePan:
|
||||
_ctrls.strip(id).set_text_line (0, s->name());
|
||||
break;
|
||||
|
|
@ -2026,6 +2029,7 @@ FaderPort8::stripable_selection_changed ()
|
|||
assign_sends ();
|
||||
return;
|
||||
case ModeTrack:
|
||||
case ModeTrim:
|
||||
case ModePan:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -152,7 +152,8 @@ namespace FP8Types {
|
|||
ModeTrack,
|
||||
ModePlugins,
|
||||
ModeSend,
|
||||
ModePan
|
||||
ModePan,
|
||||
ModeTrim
|
||||
};
|
||||
|
||||
enum NavigationMode {
|
||||
|
|
|
|||
|
|
@ -428,6 +428,11 @@ FP8Controls::set_nav_mode (NavigationMode m)
|
|||
void
|
||||
FP8Controls::set_fader_mode (FaderMode m)
|
||||
{
|
||||
#if 0
|
||||
if (m == ModeSend /*&& shift_mod ()*/) {
|
||||
m = ModeTrim;
|
||||
}
|
||||
#endif
|
||||
if (_fadermode == m) {
|
||||
if (m == ModePlugins || m == ModeSend) {
|
||||
/* "Edit Plugins" while editing Plugin-params, returns back
|
||||
|
|
|
|||
|
|
@ -286,7 +286,7 @@ FP8Strip::set_strip_name ()
|
|||
}
|
||||
|
||||
void
|
||||
FP8Strip::set_stripable (std::shared_ptr<Stripable> s, bool panmode)
|
||||
FP8Strip::set_stripable (std::shared_ptr<Stripable> s, FaderMode fadermode)
|
||||
{
|
||||
assert (s);
|
||||
|
||||
|
|
@ -301,11 +301,18 @@ FP8Strip::set_stripable (std::shared_ptr<Stripable> s, bool panmode)
|
|||
set_bar_mode (4, true); // Off
|
||||
}
|
||||
|
||||
if (panmode) {
|
||||
set_fader_controllable (s->pan_azimuth_control ());
|
||||
} else {
|
||||
set_fader_controllable (s->gain_control ());
|
||||
switch (fadermode) {
|
||||
case ModePan:
|
||||
set_fader_controllable (s->pan_azimuth_control ());
|
||||
break;
|
||||
case ModeTrim:
|
||||
set_fader_controllable (s->trim_control ());
|
||||
break;
|
||||
default:
|
||||
set_fader_controllable (s->gain_control ());
|
||||
break;
|
||||
}
|
||||
|
||||
set_pan_controllable (s->pan_azimuth_control ());
|
||||
|
||||
if (s->is_monitor ()) {
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public:
|
|||
void set_periodic_display_mode (DisplayMode m);
|
||||
|
||||
// convenience function to call all set_XXX_controllable
|
||||
void set_stripable (std::shared_ptr<ARDOUR::Stripable>, bool panmode);
|
||||
void set_stripable (std::shared_ptr<ARDOUR::Stripable>, FP8Types::FaderMode);
|
||||
void set_text_line (uint8_t, std::string const&, bool inv = false);
|
||||
|
||||
enum CtrlMask {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue