From f0bdfc10b582dc51807b654202f00d0c19ce7877 Mon Sep 17 00:00:00 2001 From: James Crook Date: Sun, 7 May 2017 13:22:04 +0100 Subject: [PATCH] Move record-new-track option It's now in recording-prefs rather than track-behavior-prefs, and to make room latency options (which are related to device) ar enow in device-prefs. Naming of new tracks has also been made slightly more compact. --- src/prefs/DevicePrefs.cpp | 29 ++++++++++ src/prefs/RecordingPrefs.cpp | 91 ++++++++++++++---------------- src/prefs/TracksBehaviorsPrefs.cpp | 3 - 3 files changed, 72 insertions(+), 51 deletions(-) diff --git a/src/prefs/DevicePrefs.cpp b/src/prefs/DevicePrefs.cpp index 35f7047e7..843fb4361 100644 --- a/src/prefs/DevicePrefs.cpp +++ b/src/prefs/DevicePrefs.cpp @@ -161,6 +161,35 @@ void DevicePrefs::PopulateOrExchange(ShuttleGui & S) S.EndMultiColumn(); } S.EndStatic(); + + // These previously lived in recording preferences. + // However they are liable to become device specific. + // Buffering also affects playback, not just recording, so is a device characteristic. + S.StartStatic( _("Latency")); + { + S.StartThreeColumn(); + { + wxTextCtrl *w; + // only show the following controls if we use Portaudio v19, because + // for Portaudio v18 we always use default buffer sizes + w = S.TieNumericTextBox(_("Audio to &buffer:"), + wxT("/AudioIO/LatencyDuration"), + DEFAULT_LATENCY_DURATION, + 9); + S.AddUnits(_("milliseconds (higher = more latency)")); + w->SetName(w->GetName() + wxT(" ") + _("milliseconds (higher = more latency)")); + + w = S.TieNumericTextBox(_("L&atency correction:"), + wxT("/AudioIO/LatencyCorrection"), + DEFAULT_LATENCY_CORRECTION, + 9); + S.AddUnits(_("milliseconds (negative = backwards)")); + w->SetName(w->GetName() + wxT(" ") + _("milliseconds (negative = backwards)")); + } + S.EndThreeColumn(); + } + S.EndStatic(); + } void DevicePrefs::OnHost(wxCommandEvent & e) diff --git a/src/prefs/RecordingPrefs.cpp b/src/prefs/RecordingPrefs.cpp index 40ffbf47d..576c99fb0 100644 --- a/src/prefs/RecordingPrefs.cpp +++ b/src/prefs/RecordingPrefs.cpp @@ -67,8 +67,6 @@ void RecordingPrefs::Populate() void RecordingPrefs::PopulateOrExchange(ShuttleGui & S) { - wxTextCtrl *w; - S.SetBorder(2); S.StartStatic(_("Playthrough")); @@ -90,30 +88,6 @@ void RecordingPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic( _("Latency")); - { - S.StartThreeColumn(); - { - // only show the following controls if we use Portaudio v19, because - // for Portaudio v18 we always use default buffer sizes - w = S.TieNumericTextBox(_("Audio to &buffer:"), - wxT("/AudioIO/LatencyDuration"), - DEFAULT_LATENCY_DURATION, - 9); - S.AddUnits(_("milliseconds (higher = more latency)")); - w->SetName(w->GetName() + wxT(" ") + _("milliseconds (higher = more latency)")); - - w = S.TieNumericTextBox(_("L&atency correction:"), - wxT("/AudioIO/LatencyCorrection"), - DEFAULT_LATENCY_CORRECTION, - 9); - S.AddUnits(_("milliseconds (negative = backwards)")); - w->SetName(w->GetName() + wxT(" ") + _("milliseconds (negative = backwards)")); - } - S.EndThreeColumn(); - } - S.EndStatic(); - S.StartStatic(_("Sound Activated Recording")); { S.TieCheckBox(_("Sound Activated &Recording"), @@ -135,34 +109,55 @@ void RecordingPrefs::PopulateOrExchange(ShuttleGui & S) } S.EndStatic(); - S.StartStatic(_("Naming newly recorded tracks")); + S.StartStatic(_("Name newly recorded tracks")); { - S.StartMultiColumn(3); + // Nested multicolumns to indent by 'With:' width, in a way that works if + // translated. + // This extra step is worth doing to get the check boxes lined up nicely. + S.StartMultiColumn( 2 ); { - S.Id(UseCustomTrackNameID).TieCheckBox(_("Use Custom Track &Name"), - wxT("/GUI/TrackNames/RecordingNameCustom"), - mUseCustomTrackName ? true : false); + S.AddFixedText(_("With:")) ; + S.StartMultiColumn(3); + { + S.Id(UseCustomTrackNameID).TieCheckBox(_("Custom Track &Name"), + wxT("/GUI/TrackNames/RecordingNameCustom"), + mUseCustomTrackName ? true : false); - mToggleCustomName = S.TieTextBox(wxT(""), - wxT("/GUI/TrackNames/RecodingTrackName"), - _("Recorded_Audio"), - 30); - mToggleCustomName->SetName(_("Custom name text")); - mToggleCustomName->Enable(mUseCustomTrackName); + mToggleCustomName = S.TieTextBox(wxT(""), + wxT("/GUI/TrackNames/RecodingTrackName"), + _("Recorded_Audio"), + 30); + mToggleCustomName->SetName(_("Custom name text")); + mToggleCustomName->Enable(mUseCustomTrackName); + } + S.EndMultiColumn(); + + S.AddFixedText( "" ); + S.StartMultiColumn(3); + { + S.TieCheckBox(_("&Track Number"), + wxT("/GUI/TrackNames/TrackNumber"), + false); + + S.TieCheckBox(_("System &Date"), + wxT("/GUI/TrackNames/DateStamp"), + false); + + S.TieCheckBox(_("System T&ime"), + wxT("/GUI/TrackNames/TimeStamp"), + false); + } + S.EndMultiColumn(); } S.EndMultiColumn(); + } + S.EndStatic(); - S.TieCheckBox(_("Add &Track Number"), - wxT("/GUI/TrackNames/TrackNumber"), - false); - - S.TieCheckBox(_("Add System &Date"), - wxT("/GUI/TrackNames/DateStamp"), - false); - - S.TieCheckBox(_("Add System T&ime"), - wxT("/GUI/TrackNames/TimeStamp"), - false); + S.StartStatic(_("Options")); + { + S.TieCheckBox(_("Record appends, instead of recording new track"), + wxT("/GUI/PreferAppendRecord"), + true); } S.EndStatic(); diff --git a/src/prefs/TracksBehaviorsPrefs.cpp b/src/prefs/TracksBehaviorsPrefs.cpp index a90a0f664..f759ac12b 100644 --- a/src/prefs/TracksBehaviorsPrefs.cpp +++ b/src/prefs/TracksBehaviorsPrefs.cpp @@ -63,9 +63,6 @@ void TracksBehaviorsPrefs::PopulateOrExchange(ShuttleGui & S) S.TieCheckBox(_("&Select then act on entire project, if no audio selected"), wxT("/GUI/SelectAllOnNone"), true); - S.TieCheckBox(_("Append recordings to same track, by default"), - wxT("/GUI/PreferAppendRecord"), - true); /* i18n-hint: cut-lines are a lines indicating where to cut.*/ S.TieCheckBox(_("Enable cut &lines"), wxT("/GUI/EnableCutLines"),