mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-01 16:19:43 +02:00
RealtimeEffectState needs only EffectClientInterface, not Effect
This commit is contained in:
parent
867e6a8d9e
commit
5caeaf520b
@ -472,7 +472,7 @@ bool Effect::RealtimeFinalize()
|
||||
return false;
|
||||
}
|
||||
|
||||
RealtimeEffectState::RealtimeEffectState( Effect &effect )
|
||||
RealtimeEffectState::RealtimeEffectState( EffectClientInterface &effect )
|
||||
: mEffect{ effect }
|
||||
{
|
||||
}
|
||||
|
@ -550,9 +550,9 @@ private:
|
||||
class RealtimeEffectState
|
||||
{
|
||||
public:
|
||||
explicit RealtimeEffectState( Effect &effect );
|
||||
explicit RealtimeEffectState( EffectClientInterface &effect );
|
||||
|
||||
Effect &GetEffect() const { return mEffect; }
|
||||
EffectClientInterface &GetEffect() const { return mEffect; }
|
||||
|
||||
bool RealtimeSuspend();
|
||||
bool RealtimeResume();
|
||||
@ -562,7 +562,7 @@ public:
|
||||
bool IsRealtimeActive();
|
||||
|
||||
private:
|
||||
Effect &mEffect;
|
||||
EffectClientInterface &mEffect;
|
||||
|
||||
std::vector<int> mGroupProcessor;
|
||||
int mCurrentProcessor;
|
||||
|
@ -564,7 +564,9 @@ void EffectRack::UpdateActive()
|
||||
}
|
||||
}
|
||||
|
||||
RealtimeEffectManager::Get().RealtimeSetEffects(mActive);
|
||||
RealtimeEffectManager::Get().RealtimeSetEffects(
|
||||
{ mActive.begin(), mActive.end() }
|
||||
);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -87,7 +87,7 @@ bool RealtimeEffectManager::RealtimeIsSuspended()
|
||||
return mRealtimeSuspended;
|
||||
}
|
||||
|
||||
void RealtimeEffectManager::RealtimeAddEffect(Effect *effect)
|
||||
void RealtimeEffectManager::RealtimeAddEffect(EffectClientInterface *effect)
|
||||
{
|
||||
// Block RealtimeProcess()
|
||||
RealtimeSuspend();
|
||||
@ -114,7 +114,7 @@ void RealtimeEffectManager::RealtimeAddEffect(Effect *effect)
|
||||
RealtimeResume();
|
||||
}
|
||||
|
||||
void RealtimeEffectManager::RealtimeRemoveEffect(Effect *effect)
|
||||
void RealtimeEffectManager::RealtimeRemoveEffect(EffectClientInterface *effect)
|
||||
{
|
||||
// Block RealtimeProcess()
|
||||
RealtimeSuspend();
|
||||
|
@ -15,13 +15,13 @@
|
||||
#include <vector>
|
||||
#include <wx/thread.h>
|
||||
|
||||
class Effect;
|
||||
using EffectArray = std::vector <Effect*> ;
|
||||
class EffectClientInterface;
|
||||
class RealtimeEffectState;
|
||||
|
||||
class AUDACITY_DLL_API RealtimeEffectManager final
|
||||
{
|
||||
public:
|
||||
using EffectArray = std::vector <EffectClientInterface*> ;
|
||||
|
||||
/** Get the singleton instance of the RealtimeEffectManager. **/
|
||||
static RealtimeEffectManager & Get();
|
||||
@ -29,8 +29,8 @@ public:
|
||||
// Realtime effect processing
|
||||
bool RealtimeIsActive();
|
||||
bool RealtimeIsSuspended();
|
||||
void RealtimeAddEffect(Effect *effect);
|
||||
void RealtimeRemoveEffect(Effect *effect);
|
||||
void RealtimeAddEffect(EffectClientInterface *effect);
|
||||
void RealtimeRemoveEffect(EffectClientInterface *effect);
|
||||
void RealtimeSetEffects(const EffectArray & mActive);
|
||||
void RealtimeInitialize(double rate);
|
||||
void RealtimeAddProcessor(int group, unsigned chans, float rate);
|
||||
|
Loading…
x
Reference in New Issue
Block a user