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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user