mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-04 22:49:07 +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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
RealtimeEffectState::RealtimeEffectState( Effect &effect )
|
RealtimeEffectState::RealtimeEffectState( EffectClientInterface &effect )
|
||||||
: mEffect{ effect }
|
: mEffect{ effect }
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -550,9 +550,9 @@ private:
|
|||||||
class RealtimeEffectState
|
class RealtimeEffectState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit RealtimeEffectState( Effect &effect );
|
explicit RealtimeEffectState( EffectClientInterface &effect );
|
||||||
|
|
||||||
Effect &GetEffect() const { return mEffect; }
|
EffectClientInterface &GetEffect() const { return mEffect; }
|
||||||
|
|
||||||
bool RealtimeSuspend();
|
bool RealtimeSuspend();
|
||||||
bool RealtimeResume();
|
bool RealtimeResume();
|
||||||
@ -562,7 +562,7 @@ public:
|
|||||||
bool IsRealtimeActive();
|
bool IsRealtimeActive();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Effect &mEffect;
|
EffectClientInterface &mEffect;
|
||||||
|
|
||||||
std::vector<int> mGroupProcessor;
|
std::vector<int> mGroupProcessor;
|
||||||
int mCurrentProcessor;
|
int mCurrentProcessor;
|
||||||
|
@ -564,7 +564,9 @@ void EffectRack::UpdateActive()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RealtimeEffectManager::Get().RealtimeSetEffects(mActive);
|
RealtimeEffectManager::Get().RealtimeSetEffects(
|
||||||
|
{ mActive.begin(), mActive.end() }
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -87,7 +87,7 @@ bool RealtimeEffectManager::RealtimeIsSuspended()
|
|||||||
return mRealtimeSuspended;
|
return mRealtimeSuspended;
|
||||||
}
|
}
|
||||||
|
|
||||||
void RealtimeEffectManager::RealtimeAddEffect(Effect *effect)
|
void RealtimeEffectManager::RealtimeAddEffect(EffectClientInterface *effect)
|
||||||
{
|
{
|
||||||
// Block RealtimeProcess()
|
// Block RealtimeProcess()
|
||||||
RealtimeSuspend();
|
RealtimeSuspend();
|
||||||
@ -114,7 +114,7 @@ void RealtimeEffectManager::RealtimeAddEffect(Effect *effect)
|
|||||||
RealtimeResume();
|
RealtimeResume();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RealtimeEffectManager::RealtimeRemoveEffect(Effect *effect)
|
void RealtimeEffectManager::RealtimeRemoveEffect(EffectClientInterface *effect)
|
||||||
{
|
{
|
||||||
// Block RealtimeProcess()
|
// Block RealtimeProcess()
|
||||||
RealtimeSuspend();
|
RealtimeSuspend();
|
||||||
|
@ -15,13 +15,13 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <wx/thread.h>
|
#include <wx/thread.h>
|
||||||
|
|
||||||
class Effect;
|
class EffectClientInterface;
|
||||||
using EffectArray = std::vector <Effect*> ;
|
|
||||||
class RealtimeEffectState;
|
class RealtimeEffectState;
|
||||||
|
|
||||||
class AUDACITY_DLL_API RealtimeEffectManager final
|
class AUDACITY_DLL_API RealtimeEffectManager final
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
using EffectArray = std::vector <EffectClientInterface*> ;
|
||||||
|
|
||||||
/** Get the singleton instance of the RealtimeEffectManager. **/
|
/** Get the singleton instance of the RealtimeEffectManager. **/
|
||||||
static RealtimeEffectManager & Get();
|
static RealtimeEffectManager & Get();
|
||||||
@ -29,8 +29,8 @@ public:
|
|||||||
// Realtime effect processing
|
// Realtime effect processing
|
||||||
bool RealtimeIsActive();
|
bool RealtimeIsActive();
|
||||||
bool RealtimeIsSuspended();
|
bool RealtimeIsSuspended();
|
||||||
void RealtimeAddEffect(Effect *effect);
|
void RealtimeAddEffect(EffectClientInterface *effect);
|
||||||
void RealtimeRemoveEffect(Effect *effect);
|
void RealtimeRemoveEffect(EffectClientInterface *effect);
|
||||||
void RealtimeSetEffects(const EffectArray & mActive);
|
void RealtimeSetEffects(const EffectArray & mActive);
|
||||||
void RealtimeInitialize(double rate);
|
void RealtimeInitialize(double rate);
|
||||||
void RealtimeAddProcessor(int group, unsigned chans, float rate);
|
void RealtimeAddProcessor(int group, unsigned chans, float rate);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user