1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-09 14:43:57 +01:00

Realtime preview round 2

This changes the realtime preview from using 1 effect for all tracks
to an effect per track (logical track).  This should clear up the 
bad audio when more than one track (or a stereo track) is present.

An unfortunate side effect is that meter effects no longer work since
the one presented to the user is not the one doing the actual work.
Suggestions on how to remedy this are welcome.
This commit is contained in:
lllucius
2014-10-30 14:04:48 +00:00
parent a94bfed0cc
commit d50e9fee52
8 changed files with 249 additions and 136 deletions

View File

@@ -94,12 +94,11 @@ class AUDACITY_DLL_API EffectManager
#if defined(EXPERIMENTAL_REALTIME_EFFECTS)
// Realtime effect processing
void RealtimeInitialize(int numChannels, float sampleRate);
void RealtimeInitialize(const WaveTrackArray *tracks);
void RealtimeFinalize();
void RealtimeSuspend();
void RealtimeResume();
void RealtimeProcessMono(float *buffer, sampleCount numSamples);
void RealtimeProcessStereo(float *buffer, sampleCount numSamples);
sampleCount RealtimeProcess(int index, float **buffers, sampleCount numSamples);
void SetRealtime(const EffectArray & mActive);
int GetRealtimeLatency();
#endif
@@ -164,6 +163,11 @@ private:
int mRealtimeLatency;
bool mRealtimeActive;
bool mRealtimeSuspended;
const WaveTrackArray *mRealtimeTracks;
float **inbuffers;
float **outbuffers;
#endif
#ifdef EFFECT_CATEGORIES