mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 16:24:57 +01:00
actually connect Editor to config state change system
git-svn-id: svn://localhost/ardour2/trunk@937 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
ca7d9b4016
commit
0b6139304b
4 changed files with 92 additions and 82 deletions
|
|
@ -850,6 +850,8 @@ ARDOUR_UI::parameter_changed (const char* parameter_name)
|
||||||
map_meter_hold ();
|
map_meter_hold ();
|
||||||
} else if (PARAM_IS ("meter-falloff")) {
|
} else if (PARAM_IS ("meter-falloff")) {
|
||||||
map_meter_falloff ();
|
map_meter_falloff ();
|
||||||
|
} else if (PARAM_IS ("verify-remove-last-capture")) {
|
||||||
|
ActionManager::map_some_state ("options", "VerifyRemoveLastCapture", &Configuration::get_verify_remove_last_capture);
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef PARAM_IS
|
#undef PARAM_IS
|
||||||
|
|
|
||||||
|
|
@ -692,9 +692,10 @@ Editor::Editor (AudioEngine& eng)
|
||||||
ControlProtocol::ZoomOut.connect (bind (mem_fun (*this, &Editor::temporal_zoom_step), true));
|
ControlProtocol::ZoomOut.connect (bind (mem_fun (*this, &Editor::temporal_zoom_step), true));
|
||||||
ControlProtocol::ScrollTimeline.connect (mem_fun (*this, &Editor::control_scroll));
|
ControlProtocol::ScrollTimeline.connect (mem_fun (*this, &Editor::control_scroll));
|
||||||
|
|
||||||
|
Config->ParameterChanged.connect (mem_fun (*this, &Editor::parameter_changed));
|
||||||
|
|
||||||
constructed = true;
|
constructed = true;
|
||||||
instant_save ();
|
instant_save ();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Editor::~Editor()
|
Editor::~Editor()
|
||||||
|
|
@ -1175,8 +1176,7 @@ Editor::connect_to_session (Session *t)
|
||||||
loc->set_name (_("Punch"));
|
loc->set_name (_("Punch"));
|
||||||
}
|
}
|
||||||
|
|
||||||
update_loop_range_view (true);
|
Config->map_parameters (mem_fun (*this, &Editor::parameter_changed));
|
||||||
update_punch_range_view (true);
|
|
||||||
|
|
||||||
session->StateSaved.connect (mem_fun(*this, &Editor::session_state_saved));
|
session->StateSaved.connect (mem_fun(*this, &Editor::session_state_saved));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -489,33 +489,38 @@ Editor::update_smpte_mode ()
|
||||||
ENSURE_GUI_THREAD(mem_fun(*this, &Editor::update_smpte_mode));
|
ENSURE_GUI_THREAD(mem_fun(*this, &Editor::update_smpte_mode));
|
||||||
|
|
||||||
RefPtr<Action> act;
|
RefPtr<Action> act;
|
||||||
|
const char* action = 0;
|
||||||
|
|
||||||
float frames = Config->get_smpte_frames_per_second();
|
float frames = Config->get_smpte_frames_per_second();
|
||||||
bool drop = Config->get_smpte_drop_frames();
|
bool drop = Config->get_smpte_drop_frames();
|
||||||
|
|
||||||
if ((frames < 23.976 * 1.0005) && !drop)
|
if ((frames < 23.976 * 1.0005) && !drop)
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("Smpte23976"));
|
action = X_("Smpte23976");
|
||||||
else if ((frames < 24 * 1.0005) && !drop)
|
else if ((frames < 24 * 1.0005) && !drop)
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("Smpte24"));
|
action = X_("Smpte24");
|
||||||
else if ((frames < 24.976 * 1.0005) && !drop)
|
else if ((frames < 24.976 * 1.0005) && !drop)
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("Smpte24976"));
|
action = X_("Smpte24976");
|
||||||
else if ((frames < 25 * 1.0005) && !drop)
|
else if ((frames < 25 * 1.0005) && !drop)
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("Smpte25"));
|
action = X_("Smpte25");
|
||||||
else if ((frames < 29.97 * 1.0005) && !drop)
|
else if ((frames < 29.97 * 1.0005) && !drop)
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("Smpte2997"));
|
action = X_("Smpte2997");
|
||||||
else if ((frames < 29.97 * 1.0005) && drop)
|
else if ((frames < 29.97 * 1.0005) && drop)
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("Smpte2997drop"));
|
action = X_("Smpte2997drop");
|
||||||
else if ((frames < 30 * 1.0005) && !drop)
|
else if ((frames < 30 * 1.0005) && !drop)
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("Smpte30"));
|
action = X_("Smpte30");
|
||||||
else if ((frames < 30 * 1.0005) && drop)
|
else if ((frames < 30 * 1.0005) && drop)
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("Smpte30drop"));
|
action = X_("Smpte30drop");
|
||||||
else if ((frames < 59.94 * 1.0005) && !drop)
|
else if ((frames < 59.94 * 1.0005) && !drop)
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("Smpte5994"));
|
action = X_("Smpte5994");
|
||||||
else if ((frames < 60 * 1.0005) && !drop)
|
else if ((frames < 60 * 1.0005) && !drop)
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("Smpte60"));
|
action = X_("Smpte60");
|
||||||
else
|
else {
|
||||||
cerr << "Unexpected SMPTE value (" << frames << (drop ? "drop" : "") << ") in update_smpte_mode. Menu is probably wrong\n" << endl;
|
fatal << string_compose (_("programming error: Unexpected SMPTE value (%1, drop = %2) in update_smpte_mode. Menu is probably wrong."),
|
||||||
|
frames, drop) << endmsg;
|
||||||
|
/*NOTREACHED*/
|
||||||
|
}
|
||||||
|
|
||||||
|
act = ActionManager::get_action (X_("Editor"), action);
|
||||||
|
|
||||||
if (act) {
|
if (act) {
|
||||||
RefPtr<RadioAction> ract = RefPtr<RadioAction>::cast_dynamic(act);
|
RefPtr<RadioAction> ract = RefPtr<RadioAction>::cast_dynamic(act);
|
||||||
|
|
@ -531,28 +536,31 @@ Editor::update_video_pullup ()
|
||||||
ENSURE_GUI_THREAD (mem_fun(*this, &Editor::update_video_pullup));
|
ENSURE_GUI_THREAD (mem_fun(*this, &Editor::update_video_pullup));
|
||||||
|
|
||||||
RefPtr<Action> act;
|
RefPtr<Action> act;
|
||||||
|
const char* action = 0;
|
||||||
|
|
||||||
float pullup = Config->get_video_pullup();
|
float pullup = Config->get_video_pullup();
|
||||||
|
|
||||||
if ( pullup < (-4.1667 - 0.1) * 0.99) {
|
if ( pullup < (-4.1667 - 0.1) * 0.99) {
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupMinus4Minus1"));
|
action = X_("PullupMinus4Minus1");
|
||||||
} else if ( pullup < (-4.1667) * 0.99 ) {
|
} else if ( pullup < (-4.1667) * 0.99 ) {
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupMinus4"));
|
action = X_("PullupMinus4");
|
||||||
} else if ( pullup < (-4.1667 + 0.1) * 0.99 ) {
|
} else if ( pullup < (-4.1667 + 0.1) * 0.99 ) {
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupMinus4Plus1"));
|
action = X_("PullupMinus4Plus1");
|
||||||
} else if ( pullup < (-0.1) * 0.99 ) {
|
} else if ( pullup < (-0.1) * 0.99 ) {
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupMinus1"));
|
action = X_("PullupMinus1");
|
||||||
} else if (pullup > (4.1667 + 0.1) * 0.99 ) {
|
} else if (pullup > (4.1667 + 0.1) * 0.99 ) {
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupPlus4Plus1"));
|
action = X_("PullupPlus4Plus1");
|
||||||
} else if ( pullup > (4.1667) * 0.99 ) {
|
} else if ( pullup > (4.1667) * 0.99 ) {
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupPlus4"));
|
action = X_("PullupPlus4");
|
||||||
} else if ( pullup > (4.1667 - 0.1) * 0.99) {
|
} else if ( pullup > (4.1667 - 0.1) * 0.99) {
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupPlus4Minus1"));
|
action = X_("PullupPlus4Minus1");
|
||||||
} else if ( pullup > (0.1) * 0.99 ) {
|
} else if ( pullup > (0.1) * 0.99 ) {
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupPlus1"));
|
action = X_("PullupPlus1");
|
||||||
} else
|
} else {
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupNone"));
|
action = X_("PullupNone");
|
||||||
|
}
|
||||||
|
|
||||||
|
act = ActionManager::get_action (X_("Editor"), action);
|
||||||
|
|
||||||
if (act) {
|
if (act) {
|
||||||
RefPtr<RadioAction> ract = RefPtr<RadioAction>::cast_dynamic(act);
|
RefPtr<RadioAction> ract = RefPtr<RadioAction>::cast_dynamic(act);
|
||||||
|
|
@ -560,7 +568,6 @@ Editor::update_video_pullup ()
|
||||||
ract->set_active (true);
|
ract->set_active (true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -705,59 +712,64 @@ Editor::video_pullup_chosen (Session::PullupFormat pullup)
|
||||||
active.
|
active.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (session) {
|
const char* action = 0;
|
||||||
|
|
||||||
RefPtr<Action> act;
|
RefPtr<Action> act;
|
||||||
|
|
||||||
float pull = 0.0;
|
float pull = 0.0;
|
||||||
|
|
||||||
switch (pullup) {
|
switch (pullup) {
|
||||||
case Session::pullup_Plus4Plus1:{
|
case Session::pullup_Plus4Plus1:
|
||||||
pull = 4.1667 + 0.1;
|
pull = 4.1667 + 0.1;
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupPlus4Plus1"));
|
action = X_("PullupPlus4Plus1");
|
||||||
} break;
|
break;
|
||||||
case Session::pullup_Plus4:{
|
case Session::pullup_Plus4:
|
||||||
pull = 4.1667;
|
pull = 4.1667;
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupPlus4"));
|
action = X_("PullupPlus4");
|
||||||
} break;
|
break;
|
||||||
case Session::pullup_Plus4Minus1:{
|
case Session::pullup_Plus4Minus1:
|
||||||
pull = 4.1667 - 0.1;
|
pull = 4.1667 - 0.1;
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupPlus4Minus1"));
|
action = X_("PullupPlus4Minus1");
|
||||||
} break;
|
break;
|
||||||
case Session::pullup_Plus1:{
|
case Session::pullup_Plus1:
|
||||||
pull = 0.1;
|
pull = 0.1;
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupPlus1"));
|
action = X_("PullupPlus1");
|
||||||
} break;
|
break;
|
||||||
case Session::pullup_None:{
|
case Session::pullup_None:
|
||||||
pull = 0.0;
|
pull = 0.0;
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupNone"));
|
action = X_("PullupNone");
|
||||||
} break;
|
break;
|
||||||
case Session::pullup_Minus1:{
|
case Session::pullup_Minus1:
|
||||||
pull = -0.1;
|
pull = -0.1;
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupMinus1"));
|
action = X_("PullupMinus1");
|
||||||
} break;
|
break;
|
||||||
case Session::pullup_Minus4Plus1:{
|
case Session::pullup_Minus4Plus1:
|
||||||
pull = -4.1667 + 0.1;
|
pull = -4.1667 + 0.1;
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupMinus4Plus1"));
|
action = X_("PullupMinus4Plus1");
|
||||||
} break;
|
break;
|
||||||
case Session::pullup_Minus4:{
|
case Session::pullup_Minus4:
|
||||||
pull = -4.1667;
|
pull = -4.1667;
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupMinus4"));
|
action = X_("PullupMinus4");
|
||||||
} break;
|
break;
|
||||||
case Session::pullup_Minus4Minus1:{
|
case Session::pullup_Minus4Minus1:
|
||||||
pull = -4.1667 - 0.1;
|
pull = -4.1667 - 0.1;
|
||||||
act = ActionManager::get_action (X_("Editor"), X_("PullupMinus4Minus1"));
|
action = X_("PullupMinus4Minus1");
|
||||||
} break;
|
break;
|
||||||
default:
|
default:
|
||||||
cerr << "Session received unexpected pullup type" << endl;
|
fatal << string_compose (_("programming error: %1"), "Session received unexpected pullup type") << endmsg;
|
||||||
|
/*NOTREACHED*/
|
||||||
|
}
|
||||||
|
|
||||||
|
act = ActionManager::get_action (X_("Editor"), action);
|
||||||
|
|
||||||
|
if (act) {
|
||||||
|
RefPtr<RadioAction> ract = RefPtr<RadioAction>::cast_dynamic(act);
|
||||||
|
if (ract && ract->get_active()) {
|
||||||
|
Config->set_video_pullup ( pull );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (act) {
|
} else {
|
||||||
RefPtr<RadioAction> ract = RefPtr<RadioAction>::cast_dynamic(act);
|
error << string_compose (_("programming error: %1"), "Editor::video_pullup_chosen could not find action to match pullup.") << endmsg;
|
||||||
if (ract && ract->get_active()) {
|
|
||||||
Config->set_video_pullup ( pull );
|
|
||||||
}
|
|
||||||
} else cerr << "Editor::video_pullup_chosen could not find action to match pullup." << endl;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -807,10 +819,7 @@ Editor::parameter_changed (const char* parameter_name)
|
||||||
ActionManager::map_some_state ("Editor", "toggle-auto-xfade", &Configuration::get_auto_xfade);
|
ActionManager::map_some_state ("Editor", "toggle-auto-xfade", &Configuration::get_auto_xfade);
|
||||||
} else if (PARAM_IS ("edit-mode")) {
|
} else if (PARAM_IS ("edit-mode")) {
|
||||||
edit_mode_selector.set_active_text (edit_mode_to_string (Config->get_edit_mode()));
|
edit_mode_selector.set_active_text (edit_mode_to_string (Config->get_edit_mode()));
|
||||||
} else if (PARAM_IS ("native-file-data-format")) {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#undef PARAM_IS
|
#undef PARAM_IS
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -71,8 +71,7 @@ fit_to_pixels (const ustring& str, int pixel_width, Pango::FontDescription& font
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ustr.erase (last);
|
ustr.erase (last--);
|
||||||
--last;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ustr;
|
return ustr;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue