mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-15 19:16:40 +01:00
Default_Play_Speed: simple varispeed GUI
This commit is contained in:
parent
d6d60711aa
commit
50c555f1a1
6 changed files with 252 additions and 152 deletions
|
|
@ -37,6 +37,9 @@
|
|||
#include <iostream>
|
||||
#include <cmath>
|
||||
|
||||
#include <gtkmm/menu.h>
|
||||
#include <gtkmm/menuitem.h>
|
||||
|
||||
#include <sigc++/bind.h>
|
||||
#include <gtkmm/settings.h>
|
||||
|
||||
|
|
@ -79,6 +82,7 @@ using namespace ArdourWidgets;
|
|||
using namespace Gtk;
|
||||
using namespace Glib;
|
||||
using namespace ARDOUR_UI_UTILS;
|
||||
using namespace Menu_Helpers;
|
||||
|
||||
void
|
||||
ARDOUR_UI::setup_tooltips ()
|
||||
|
|
@ -98,6 +102,8 @@ ARDOUR_UI::setup_tooltips ()
|
|||
|
||||
set_tip (latency_disable_button, _("Disable all Plugin Delay Compensation. This results in the shortest delay from live input to output, but any paths with delay-causing plugins will sound later than those without."));
|
||||
|
||||
set_tip (_varispeed_pulldown, _("Varispeed: change the default playback and recording speed"));
|
||||
|
||||
synchronize_sync_source_and_video_pullup ();
|
||||
|
||||
editor->setup_tooltips ();
|
||||
|
|
@ -528,9 +534,9 @@ ARDOUR_UI::setup_transport ()
|
|||
ssbox->set_spacing (PX_SCALE(2));
|
||||
ssbox->pack_start (sync_button, false, false, 0);
|
||||
ssbox->pack_start (shuttle_box, true, true, 0);
|
||||
ssbox->pack_start (_varispeed_pulldown, false, false, 0);
|
||||
ssbox->pack_start (*shuttle_box.info_button(), false, false, 0);
|
||||
|
||||
|
||||
/* and the main table layout */
|
||||
int vpadding = 1;
|
||||
int hpadding = 2;
|
||||
|
|
@ -630,6 +636,20 @@ ARDOUR_UI::setup_transport ()
|
|||
transport_table.attach (editor_visibility_button, TCOL, 0, 1 , FILL, SHRINK, hpadding, vpadding);
|
||||
++col;
|
||||
|
||||
// _varispeed_pulldown.set_icon (ArdourIcon::RecButton);
|
||||
_varispeed_pulldown.set_text(_("Vari"));
|
||||
// _varispeed_pulldown.set_icon(record_tape_red);
|
||||
_varispeed_pulldown.AddMenuElem (MenuElem (_("None"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_default_play_spd_from_menu), 1.0)));
|
||||
_varispeed_pulldown.AddMenuElem (SeparatorElem());
|
||||
_varispeed_pulldown.AddMenuElem (MenuElem (_("-10 cents"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_default_play_spd_from_menu), ShuttleControl::cents_as_speed(-10, false))));
|
||||
_varispeed_pulldown.AddMenuElem (MenuElem (_("+10 cents"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_default_play_spd_from_menu), ShuttleControl::cents_as_speed(10, false))));
|
||||
_varispeed_pulldown.AddMenuElem (SeparatorElem());
|
||||
_varispeed_pulldown.AddMenuElem (MenuElem (_("-1 semitone"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_default_play_spd_from_menu), ShuttleControl::semitones_as_speed(-1, false))));
|
||||
_varispeed_pulldown.AddMenuElem (MenuElem (_("+1 semitone"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_default_play_spd_from_menu), ShuttleControl::semitones_as_speed(1, false))));
|
||||
_varispeed_pulldown.AddMenuElem (SeparatorElem());
|
||||
_varispeed_pulldown.AddMenuElem (MenuElem (_("-1 octave"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_default_play_spd_from_menu), ShuttleControl::semitones_as_speed(-12, false))));
|
||||
_varispeed_pulldown.AddMenuElem (MenuElem (_("+1 octave"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_default_play_spd_from_menu), ShuttleControl::semitones_as_speed(12, false))));
|
||||
|
||||
/* initialize */
|
||||
latency_switch_changed ();
|
||||
session_latency_updated (true);
|
||||
|
|
@ -749,6 +769,12 @@ ARDOUR_UI::layered_button_clicked ()
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::set_default_play_spd_from_menu (double spd)
|
||||
{
|
||||
_session->set_default_play_speed(spd);
|
||||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::solo_blink (bool onoff)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue