mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-04 01:29:43 +02:00
Merge
This commit is contained in:
commit
2cbb3ff91b
@ -140,7 +140,7 @@ this version.
|
||||
Source code to this program is always available; for more information visit
|
||||
our web site at:
|
||||
|
||||
http://audacity.sourceforge.net/download/
|
||||
http://audacityteam.org/download/source
|
||||
|
||||
Audacity is built upon other free libraries; some of these libraries may have
|
||||
come with Audacity in the lib-src directory. Others you are expected to install
|
||||
|
@ -8856,6 +8856,10 @@ void TrackPanel::OnChannelChange(wxCommandEvent & event)
|
||||
void TrackPanel::OnSwapChannels(wxCommandEvent & WXUNUSED(event))
|
||||
{
|
||||
Track *partner = mPopupMenuTarget->GetLink();
|
||||
Track *const focused = GetFocusedTrack();
|
||||
const bool hasFocus =
|
||||
(focused == mPopupMenuTarget || focused == partner);
|
||||
|
||||
SplitStereo(true);
|
||||
mPopupMenuTarget->SetChannel(Track::RightChannel);
|
||||
partner->SetChannel(Track::LeftChannel);
|
||||
@ -8868,6 +8872,9 @@ void TrackPanel::OnSwapChannels(wxCommandEvent & WXUNUSED(event))
|
||||
pMixerBoard->UpdateTrackClusters();
|
||||
}
|
||||
|
||||
if (hasFocus)
|
||||
SetFocusedTrack(partner);
|
||||
|
||||
MakeParentPushState(wxString::Format(_("Swapped Channels in '%s'"),
|
||||
mPopupMenuTarget->GetName().c_str()),
|
||||
_("Swap Channels"));
|
||||
@ -9360,6 +9367,7 @@ void TrackPanel::OnTimeTrackLogInt(wxCommandEvent & /*event*/)
|
||||
void TrackPanel::OnWaveformScaleType(wxCommandEvent &evt)
|
||||
{
|
||||
WaveTrack *const wt = static_cast<WaveTrack *>(mPopupMenuTarget);
|
||||
WaveTrack *const partner = static_cast<WaveTrack*>(wt->GetLink());
|
||||
const WaveformSettings::ScaleType newScaleType =
|
||||
WaveformSettings::ScaleType(
|
||||
std::max(0,
|
||||
@ -9368,6 +9376,8 @@ void TrackPanel::OnWaveformScaleType(wxCommandEvent &evt)
|
||||
)));
|
||||
if (wt->GetWaveformSettings().scaleType != newScaleType) {
|
||||
wt->GetIndependentWaveformSettings().scaleType = newScaleType;
|
||||
if (partner)
|
||||
partner->GetIndependentWaveformSettings().scaleType = newScaleType;
|
||||
UpdateVRuler(wt); // Is this really needed?
|
||||
MakeParentModifyState(true);
|
||||
Refresh(false);
|
||||
@ -9377,6 +9387,7 @@ void TrackPanel::OnWaveformScaleType(wxCommandEvent &evt)
|
||||
void TrackPanel::OnSpectrumScaleType(wxCommandEvent &evt)
|
||||
{
|
||||
WaveTrack *const wt = static_cast<WaveTrack *>(mPopupMenuTarget);
|
||||
WaveTrack *const partner = static_cast<WaveTrack*>(wt->GetLink());
|
||||
const SpectrogramSettings::ScaleType newScaleType =
|
||||
SpectrogramSettings::ScaleType(
|
||||
std::max(0,
|
||||
@ -9385,6 +9396,8 @@ void TrackPanel::OnSpectrumScaleType(wxCommandEvent &evt)
|
||||
)));
|
||||
if (wt->GetSpectrogramSettings().scaleType != newScaleType) {
|
||||
wt->GetIndependentSpectrogramSettings().scaleType = newScaleType;
|
||||
if (partner)
|
||||
partner->GetIndependentSpectrogramSettings().scaleType = newScaleType;
|
||||
UpdateVRuler(wt); // Is this really needed?
|
||||
MakeParentModifyState(true);
|
||||
Refresh(false);
|
||||
|
@ -170,10 +170,14 @@ const wxArrayString &SpectrogramSettings::GetScaleNames()
|
||||
// Keep in correspondence with enum SpectrogramSettings::ScaleType:
|
||||
theArray.Add(_("Linear"));
|
||||
theArray.Add(_("Logarithmic"));
|
||||
/* i18n-hint: The name of a frequency scale in psychoacoustics */
|
||||
theArray.Add(_("Mel"));
|
||||
/* i18n-hint: The name of a frequency scale in psychoacoustics, named for Heinrich Barkhausen */
|
||||
theArray.Add(_("Bark"));
|
||||
theArray.Add(_("Erb"));
|
||||
theArray.Add(_("Undertone"));
|
||||
/* i18n-hint: The name of a frequency scale in psychoacoustics, abbreviates Equivalent Rectangular Bandwidth */
|
||||
theArray.Add(_("ERB"));
|
||||
/* i18n-hint: A mathematical formula where f stands for frequency */
|
||||
theArray.Add(_("1 / f"));
|
||||
}
|
||||
|
||||
return theArray;
|
||||
|
@ -157,7 +157,8 @@ void SpectrumPrefs::PopulateOrExchange(ShuttleGui & S)
|
||||
{
|
||||
mDefaultsCheckbox = 0;
|
||||
if (mWt) {
|
||||
mDefaultsCheckbox = S.Id(ID_DEFAULTS).TieCheckBox(_("Defaults"), mDefaulted);
|
||||
/* i18n-hint: use is a verb */
|
||||
mDefaultsCheckbox = S.Id(ID_DEFAULTS).TieCheckBox(_("Use Preferences"), mDefaulted);
|
||||
}
|
||||
S.StartStatic(_("FFT Window"));
|
||||
{
|
||||
|
@ -73,7 +73,8 @@ void WaveformPrefs::PopulateOrExchange(ShuttleGui & S)
|
||||
{
|
||||
mDefaultsCheckbox = 0;
|
||||
if (mWt) {
|
||||
mDefaultsCheckbox = S.Id(ID_DEFAULTS).TieCheckBox(_("Defaults"), mDefaulted);
|
||||
/* i18n-hint: use is a verb */
|
||||
mDefaultsCheckbox = S.Id(ID_DEFAULTS).TieCheckBox(_("Use Preferences"), mDefaulted);
|
||||
}
|
||||
|
||||
S.StartStatic(_("Display"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user