1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-29 15:09:30 +02:00

Move AudacityProject::SetTrackPan and SetTrackGain

This commit is contained in:
Paul Licameli 2018-10-27 19:55:01 -04:00
parent edd23e2634
commit 83f504e30f
3 changed files with 32 additions and 34 deletions

View File

@ -5328,32 +5328,6 @@ void AudacityProject::DoTrackSolo(Track *t, bool exclusive)
mTrackPanel->Refresh(false);
}
void AudacityProject::SetTrackGain(WaveTrack * wt, LWSlider * slider)
{
wxASSERT(wt);
float newValue = slider->Get();
for (auto channel : TrackList::Channels(wt))
channel->SetGain(newValue);
PushState(_("Adjusted gain"), _("Gain"), UndoPush::CONSOLIDATE);
GetTrackPanel()->RefreshTrack(wt);
}
void AudacityProject::SetTrackPan(WaveTrack * wt, LWSlider * slider)
{
wxASSERT(wt);
float newValue = slider->Get();
for (auto channel : TrackList::Channels(wt))
channel->SetPan(newValue);
PushState(_("Adjusted Pan"), _("Pan"), UndoPush::CONSOLIDATE);
GetTrackPanel()->RefreshTrack(wt);
}
/// Removes the specified track. Called from HandleClosing.
void AudacityProject::RemoveTrack(Track * toRemove)
{

View File

@ -427,8 +427,6 @@ public:
void DoTrackMute(Track *pTrack, bool exclusive);
void DoTrackSolo(Track *pTrack, bool exclusive);
void SetTrackGain(WaveTrack * track, LWSlider * slider);
void SetTrackPan(WaveTrack * track, LWSlider * slider);
void RemoveTrack(Track * toRemove);

View File

@ -503,6 +503,32 @@ void DoSortTracks( AudacityProject &project, int flags )
pTracks->Permute(arr);
}
void SetTrackGain(AudacityProject &project, WaveTrack * wt, LWSlider * slider)
{
wxASSERT(wt);
float newValue = slider->Get();
for (auto channel : TrackList::Channels(wt))
channel->SetGain(newValue);
project.PushState(_("Adjusted gain"), _("Gain"), UndoPush::CONSOLIDATE);
project.GetTrackPanel()->RefreshTrack(wt);
}
void SetTrackPan(AudacityProject &project, WaveTrack * wt, LWSlider * slider)
{
wxASSERT(wt);
float newValue = slider->Get();
for (auto channel : TrackList::Channels(wt))
channel->SetPan(newValue);
project.PushState(_("Adjusted Pan"), _("Pan"), UndoPush::CONSOLIDATE);
project.GetTrackPanel()->RefreshTrack(wt);
}
}
namespace TrackActions {
@ -1084,7 +1110,7 @@ void OnTrackPan(const CommandContext &context)
if (track) track->TypeSwitch( [&](WaveTrack *wt) {
LWSlider *slider = trackPanel->PanSlider(wt);
if (slider->ShowDialog())
project.SetTrackPan(wt, slider);
SetTrackPan(project, wt, slider);
});
}
@ -1097,7 +1123,7 @@ void OnTrackPanLeft(const CommandContext &context)
if (track) track->TypeSwitch( [&](WaveTrack *wt) {
LWSlider *slider = trackPanel->PanSlider(wt);
slider->Decrease(1);
project.SetTrackPan(wt, slider);
SetTrackPan(project, wt, slider);
});
}
@ -1110,7 +1136,7 @@ void OnTrackPanRight(const CommandContext &context)
if (track) track->TypeSwitch( [&](WaveTrack *wt) {
LWSlider *slider = trackPanel->PanSlider(wt);
slider->Increase(1);
project.SetTrackPan(wt, slider);
SetTrackPan(project, wt, slider);
});
}
@ -1124,7 +1150,7 @@ void OnTrackGain(const CommandContext &context)
if (track) track->TypeSwitch( [&](WaveTrack *wt) {
LWSlider *slider = trackPanel->GainSlider(wt);
if (slider->ShowDialog())
project.SetTrackGain(wt, slider);
SetTrackGain(project, wt, slider);
});
}
@ -1137,7 +1163,7 @@ void OnTrackGainInc(const CommandContext &context)
if (track) track->TypeSwitch( [&](WaveTrack *wt) {
LWSlider *slider = trackPanel->GainSlider(wt);
slider->Increase(1);
project.SetTrackGain(wt, slider);
SetTrackGain(project, wt, slider);
});
}
@ -1150,7 +1176,7 @@ void OnTrackGainDec(const CommandContext &context)
if (track) track->TypeSwitch( [&](WaveTrack *wt) {
LWSlider *slider = trackPanel->GainSlider(wt);
slider->Decrease(1);
project.SetTrackGain(wt, slider);
SetTrackGain(project, wt, slider);
});
}