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();
|
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)
|
void WaveTrack::Merge(const Track &orig)
|
||||||
{
|
{
|
||||||
if (orig.GetKind() == Wave)
|
if (orig.GetKind() == Wave)
|
||||||
|
@ -74,6 +74,12 @@ class AUDACITY_DLL_API WaveTrack final : public PlayableTrack {
|
|||||||
|
|
||||||
void Init(const WaveTrack &orig);
|
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;
|
Track::Holder Duplicate() const override;
|
||||||
|
|
||||||
friend class TrackFactory;
|
friend class TrackFactory;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user