mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-23 07:40:05 +02:00
Define WaveTrack::Reinit()
This commit is contained in:
parent
6e75ae58ac
commit
89d8fe18b1
@ -163,6 +163,33 @@ void WaveTrack::Init(const WaveTrack &orig)
|
||||
mDisplayLocationsCache.clear();
|
||||
}
|
||||
|
||||
void WaveTrack::Reinit(const WaveTrack &orig)
|
||||
{
|
||||
Init(orig);
|
||||
|
||||
{
|
||||
auto &settings = orig.mpSpectrumSettings;
|
||||
if (settings)
|
||||
mpSpectrumSettings = std::make_unique<SpectrogramSettings>(*settings);
|
||||
else
|
||||
mpSpectrumSettings.reset();
|
||||
}
|
||||
|
||||
{
|
||||
auto &settings = orig.mpWaveformSettings;
|
||||
if (settings)
|
||||
mpWaveformSettings = std::make_unique<WaveformSettings>(*settings);
|
||||
else
|
||||
mpWaveformSettings.reset();
|
||||
}
|
||||
|
||||
this->SetOffset(orig.GetOffset());
|
||||
|
||||
#ifdef EXPERIMENTAL_OUTPUT_DISPLAY
|
||||
// To do: mYv, mHeightV, mPerY, mVirtualStereo
|
||||
#endif
|
||||
}
|
||||
|
||||
void WaveTrack::Merge(const Track &orig)
|
||||
{
|
||||
if (orig.GetKind() == Wave)
|
||||
|
@ -74,6 +74,12 @@ class AUDACITY_DLL_API WaveTrack final : public PlayableTrack {
|
||||
|
||||
void Init(const WaveTrack &orig);
|
||||
|
||||
public:
|
||||
// overwrite data excluding the sample sequence but including display
|
||||
// settings
|
||||
void Reinit(const WaveTrack &orig);
|
||||
|
||||
private:
|
||||
Track::Holder Duplicate() const override;
|
||||
|
||||
friend class TrackFactory;
|
||||
|
Loading…
x
Reference in New Issue
Block a user