mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 14:54:56 +01:00
Use new record-mode pref (2/2), GUI control
This commit is contained in:
parent
e38cb08901
commit
5fb628d3ed
6 changed files with 40 additions and 25 deletions
|
|
@ -204,6 +204,13 @@ ARDOUR_UI *ARDOUR_UI::theArdourUI = 0;
|
|||
sigc::signal<void, timepos_t> ARDOUR_UI::Clock;
|
||||
sigc::signal<void> ARDOUR_UI::CloseAllDialogs;
|
||||
|
||||
static const gchar *_record_mode_strings[] = {
|
||||
N_("Layerered"),
|
||||
N_("Non Layered"),
|
||||
N_("Sound on Sound"),
|
||||
0
|
||||
};
|
||||
|
||||
static bool
|
||||
ask_about_configuration_copy (string const & old_dir, string const & new_dir, int version)
|
||||
{
|
||||
|
|
@ -351,6 +358,8 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
|
|||
|
||||
UIConfiguration::instance().post_gui_init ();
|
||||
|
||||
record_mode_strings = I18N (_record_mode_strings);
|
||||
|
||||
if (ARDOUR::handle_old_configuration_files (boost::bind (ask_about_configuration_copy, _1, _2, _3))) {
|
||||
{
|
||||
/* "touch" the been-here-before path now that config has been migrated */
|
||||
|
|
@ -2137,7 +2146,7 @@ void
|
|||
ARDOUR_UI::map_transport_state ()
|
||||
{
|
||||
if (!_session) {
|
||||
layered_button.set_sensitive (false);
|
||||
record_mode_selector.set_sensitive (false);
|
||||
if (UIConfiguration::instance().get_screen_saver_mode () == InhibitWhileRecording) {
|
||||
inhibit_screensaver (false);
|
||||
}
|
||||
|
|
@ -2149,9 +2158,9 @@ ARDOUR_UI::map_transport_state ()
|
|||
float sp = _session->transport_speed();
|
||||
|
||||
if (sp != 0.0f) {
|
||||
layered_button.set_sensitive (!_session->actively_recording ());
|
||||
record_mode_selector.set_sensitive (!_session->actively_recording ());
|
||||
} else {
|
||||
layered_button.set_sensitive (true);
|
||||
record_mode_selector.set_sensitive (true);
|
||||
update_disk_space ();
|
||||
}
|
||||
if (UIConfiguration::instance().get_screen_saver_mode () == InhibitWhileRecording) {
|
||||
|
|
|
|||
|
|
@ -522,9 +522,9 @@ private:
|
|||
|
||||
TransportControlUI transport_ctrl;
|
||||
|
||||
ArdourWidgets::ArdourButton punch_in_button;
|
||||
ArdourWidgets::ArdourButton punch_out_button;
|
||||
ArdourWidgets::ArdourButton layered_button;
|
||||
ArdourWidgets::ArdourButton punch_in_button;
|
||||
ArdourWidgets::ArdourButton punch_out_button;
|
||||
ArdourWidgets::ArdourDropdown record_mode_selector;
|
||||
|
||||
ArdourWidgets::ArdourVSpacer recpunch_spacer;
|
||||
ArdourWidgets::ArdourVSpacer latency_spacer;
|
||||
|
|
@ -604,7 +604,7 @@ private:
|
|||
void audition_alert_clicked ();
|
||||
bool error_alert_press (GdkEventButton *);
|
||||
|
||||
void layered_button_clicked ();
|
||||
void set_record_mode (ARDOUR::RecordMode);
|
||||
|
||||
void big_clock_value_changed ();
|
||||
void primary_clock_value_changed ();
|
||||
|
|
@ -835,6 +835,7 @@ private:
|
|||
void editor_realized ();
|
||||
|
||||
std::vector<std::string> positional_sync_strings;
|
||||
std::vector<std::string> record_mode_strings;
|
||||
|
||||
void toggle_use_mmc ();
|
||||
void toggle_send_mmc ();
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ ARDOUR_UI::setup_tooltips ()
|
|||
ArdourCanvas::Canvas::set_tooltip_timeout (Gtk::Settings::get_default()->property_gtk_tooltip_timeout ());
|
||||
|
||||
set_tip (auto_return_button, _("Return to last playback start when stopped"));
|
||||
set_tip (layered_button, _("<b>When active</b>, new recordings will be added as regions on a layer atop existing regions.\n<b>When disabled</b>, the underlying region will be spliced and replaced with the newly recorded region."));
|
||||
set_tip (record_mode_selector, _("<b>Layered</b>, new recordings will be added as regions on a layer atop existing regions.\n<b>SoundOnSound</b>, behaves like <i>Layered</i>, except underlying regions will be audible.\n<b>Non Layered</b>, the underlying region will be spliced and replaced with the newly recorded region."));
|
||||
set_tip (follow_edits_button, _("Playhead follows Range tool clicks, and Range selections"));
|
||||
parameter_changed("click-gain");
|
||||
set_tip (solo_alert_button, _("When active, something is soloed.\nClick to de-solo everything"));
|
||||
|
|
@ -241,14 +241,14 @@ ARDOUR_UI::repack_transport_hbox ()
|
|||
layered_label.show ();
|
||||
punch_in_button.show ();
|
||||
punch_out_button.show ();
|
||||
layered_button.show ();
|
||||
record_mode_selector.show ();
|
||||
recpunch_spacer.show ();
|
||||
} else {
|
||||
punch_label.hide ();
|
||||
layered_label.hide ();
|
||||
punch_in_button.hide ();
|
||||
punch_out_button.hide ();
|
||||
layered_button.hide ();
|
||||
record_mode_selector.hide ();
|
||||
recpunch_spacer.hide ();
|
||||
}
|
||||
|
||||
|
|
@ -336,8 +336,6 @@ ARDOUR_UI::setup_transport ()
|
|||
error_alert_button.set_related_action(act);
|
||||
error_alert_button.set_fallthrough_to_parent(true);
|
||||
|
||||
layered_button.signal_clicked.connect (sigc::mem_fun(*this,&ARDOUR_UI::layered_button_clicked));
|
||||
|
||||
editor_visibility_button.set_related_action (ActionManager::get_action (X_("Common"), X_("change-editor-visibility")));
|
||||
mixer_visibility_button.set_related_action (ActionManager::get_action (X_("Common"), X_("change-mixer-visibility")));
|
||||
prefs_visibility_button.set_related_action (ActionManager::get_action (X_("Common"), X_("change-preferences-visibility")));
|
||||
|
|
@ -423,7 +421,7 @@ ARDOUR_UI::setup_transport ()
|
|||
|
||||
punch_in_button.set_name ("punch button");
|
||||
punch_out_button.set_name ("punch button");
|
||||
layered_button.set_name (("layered button"));
|
||||
record_mode_selector.set_name (("record mode button"));
|
||||
|
||||
latency_disable_button.set_name ("latency button");
|
||||
|
||||
|
|
@ -446,7 +444,12 @@ ARDOUR_UI::setup_transport ()
|
|||
follow_edits_button.set_text(_("Follow Range"));
|
||||
punch_in_button.set_text (_("In"));
|
||||
punch_out_button.set_text (_("Out"));
|
||||
layered_button.set_text (_("Non-Layered"));
|
||||
|
||||
record_mode_selector.AddMenuElem (MenuElem (record_mode_strings[(int)RecLayered], sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::set_record_mode), RecLayered)));
|
||||
record_mode_selector.AddMenuElem (MenuElem (record_mode_strings[(int)RecNonLayered], sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::set_record_mode), RecNonLayered)));
|
||||
record_mode_selector.AddMenuElem (MenuElem (record_mode_strings[(int)RecSoundOnSound], sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::set_record_mode), RecSoundOnSound)));
|
||||
|
||||
set_size_request_to_display_given_text (record_mode_selector, record_mode_strings, /*COMBO_TRIANGLE_WIDTH*/ 5, 2);
|
||||
|
||||
latency_disable_button.set_text (_("Disable PDC"));
|
||||
io_latency_label.set_text (_("I/O Latency:"));
|
||||
|
|
@ -561,7 +564,7 @@ ARDOUR_UI::setup_transport ()
|
|||
//punch section
|
||||
button_height_size_group->add_widget (punch_in_button);
|
||||
button_height_size_group->add_widget (punch_out_button);
|
||||
button_height_size_group->add_widget (layered_button);
|
||||
button_height_size_group->add_widget (record_mode_selector);
|
||||
|
||||
// PDC
|
||||
button_height_size_group->add_widget (latency_disable_button);
|
||||
|
|
@ -603,10 +606,10 @@ ARDOUR_UI::setup_transport ()
|
|||
transport_table.attach (layered_label, TCOL, 1, 2 , FILL, SHRINK, 3, 0);
|
||||
++col;
|
||||
|
||||
transport_table.attach (punch_in_button, col, col + 1, 0, 1 , FILL, SHRINK, hpadding, vpadding);
|
||||
transport_table.attach (punch_space, col + 1, col + 2, 0, 1 , FILL, SHRINK, 0, vpadding);
|
||||
transport_table.attach (punch_out_button, col + 2, col + 3, 0, 1 , FILL, SHRINK, hpadding, vpadding);
|
||||
transport_table.attach (layered_button, col, col + 3, 1, 2 , FILL, SHRINK, hpadding, vpadding);
|
||||
transport_table.attach (punch_in_button, col, col + 1, 0, 1 , FILL, SHRINK, hpadding, vpadding);
|
||||
transport_table.attach (punch_space, col + 1, col + 2, 0, 1 , FILL, SHRINK, 0, vpadding);
|
||||
transport_table.attach (punch_out_button, col + 2, col + 3, 0, 1 , FILL, SHRINK, hpadding, vpadding);
|
||||
transport_table.attach (record_mode_selector, col, col + 3, 1, 2 , FILL, SHRINK, hpadding, vpadding);
|
||||
col += 3;
|
||||
|
||||
transport_table.attach (recpunch_spacer, TCOL, 0, 2 , SHRINK, EXPAND|FILL, 3, 0);
|
||||
|
|
@ -805,10 +808,10 @@ ARDOUR_UI::error_alert_press (GdkEventButton* ev)
|
|||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::layered_button_clicked ()
|
||||
ARDOUR_UI::set_record_mode (RecordMode m)
|
||||
{
|
||||
if (_session) {
|
||||
_session->config.set_layered_record_mode (!_session->config.get_layered_record_mode ());
|
||||
_session->config.set_record_mode (m);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -466,8 +466,10 @@ ARDOUR_UI::parameter_changed (std::string p)
|
|||
} else if (p == "cue-behavior") {
|
||||
CueBehavior cb (_session->config.get_cue_behavior());
|
||||
_cue_play_enable.set_active (cb & ARDOUR::FollowCues);
|
||||
} else if (p == "layered-record-mode") {
|
||||
layered_button.set_active (_session->config.get_layered_record_mode ());
|
||||
} else if (p == "record-mode") {
|
||||
size_t m = _session->config.get_record_mode ();
|
||||
assert (m < record_mode_strings.size ());
|
||||
record_mode_selector.set_active (record_mode_strings[m]);
|
||||
} else if (p == "flat-buttons") {
|
||||
bool flat = UIConfiguration::instance().get_flat_buttons();
|
||||
if (ArdourButton::flat_buttons () != flat) {
|
||||
|
|
|
|||
|
|
@ -2635,7 +2635,7 @@ Editor::insert_source_list_selection (float times)
|
|||
playlist->clear_changes ();
|
||||
playlist->clear_owned_changes ();
|
||||
|
||||
playlist->add_region ((RegionFactory::create (region, true)), get_preferred_edit_position(), times, _session->config.get_layered_record_mode()); //ToDo: insert_mode ?
|
||||
playlist->add_region ((RegionFactory::create (region, true)), get_preferred_edit_position(), times, RecNonLayered == _session->config.get_record_mode()); //ToDo: insert_mode ?
|
||||
|
||||
if (should_ripple()) {
|
||||
do_ripple (playlist, get_preferred_edit_position(), region->length().scale (times), boost::shared_ptr<Region>(), true);
|
||||
|
|
|
|||
|
|
@ -2032,7 +2032,7 @@ RouteUI::parameter_changed (string const & p)
|
|||
update_monitoring_display ();
|
||||
} else if (p == "triggerbox-overrides-disk-monitoring") {
|
||||
update_monitoring_display ();
|
||||
} else if (p == "layered-record-mode") {
|
||||
} else if (p == "record-mode") {
|
||||
update_monitoring_display ();
|
||||
} else if (p == "auto-input-does-talkback") {
|
||||
update_monitoring_display ();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue