mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 08:14:58 +01:00
use rewind/ffwd option to alter behavior of control surface rewind/ffwd buttons
This does not affect GUI equivalents (yet)
This commit is contained in:
parent
8113118b89
commit
1757cfb8ef
1 changed files with 40 additions and 19 deletions
|
|
@ -193,6 +193,26 @@ BasicUI::button_varispeed (bool fwd)
|
||||||
const float maxspeed = Config->get_shuttle_max_speed();
|
const float maxspeed = Config->get_shuttle_max_speed();
|
||||||
float semitone_ratio = exp2f (1.0f/12.0f);
|
float semitone_ratio = exp2f (1.0f/12.0f);
|
||||||
float transport_speed = get_transport_speed ();
|
float transport_speed = get_transport_speed ();
|
||||||
|
float speed;
|
||||||
|
|
||||||
|
if (Config->get_rewind_ffwd_like_tape_decks()) {
|
||||||
|
|
||||||
|
if (fwd) {
|
||||||
|
if (transport_speed <= 0) {
|
||||||
|
session->request_transport_speed (1.0, false);
|
||||||
|
session->request_roll (TRS_UI);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (transport_speed >= 0) {
|
||||||
|
session->request_transport_speed (-1.0, false);
|
||||||
|
session->request_roll (TRS_UI);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
if (transport_speed == 0.0 || fabs (transport_speed) <= 1.0/semitone_ratio) {
|
if (transport_speed == 0.0 || fabs (transport_speed) <= 1.0/semitone_ratio) {
|
||||||
|
|
||||||
|
|
@ -229,8 +249,9 @@ BasicUI::button_varispeed (bool fwd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float speed = semitone_ratio * transport_speed;
|
}
|
||||||
|
|
||||||
|
speed = semitone_ratio * transport_speed;
|
||||||
speed = std::max (-maxspeed, std::min (maxspeed, speed));
|
speed = std::max (-maxspeed, std::min (maxspeed, speed));
|
||||||
session->request_transport_speed (speed, false);
|
session->request_transport_speed (speed, false);
|
||||||
session->request_roll (TRS_UI);
|
session->request_roll (TRS_UI);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue