1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-16 08:09:32 +02:00

Define EffectClientInterface::GetBlockSize()

This commit is contained in:
Paul Licameli 2019-06-23 19:19:32 -04:00
parent ab5a98003a
commit 0f62046313
11 changed files with 37 additions and 0 deletions

View File

@ -156,7 +156,9 @@ public:
virtual int GetMidiOutCount() = 0;
virtual void SetSampleRate(double rate) = 0;
// Suggest a block size, but the return is the size that was really set:
virtual size_t SetBlockSize(size_t maxBlockSize) = 0;
virtual size_t GetBlockSize() const = 0;
virtual sampleCount GetLatency() = 0;
virtual size_t GetTailSize() = 0;

View File

@ -373,6 +373,16 @@ size_t Effect::SetBlockSize(size_t maxBlockSize)
return mBlockSize;
}
size_t Effect::GetBlockSize() const
{
if (mClient)
{
return mClient->GetBlockSize();
}
return mBlockSize;
}
sampleCount Effect::GetLatency()
{
if (mClient)

View File

@ -121,6 +121,7 @@ class AUDACITY_DLL_API Effect /* not final */ : public wxEvtHandler,
void SetSampleRate(double rate) override;
size_t SetBlockSize(size_t maxBlockSize) override;
size_t GetBlockSize() const override;
bool IsReady() override;
bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap = NULL) override;

View File

@ -1359,6 +1359,11 @@ size_t VSTEffect::SetBlockSize(size_t maxBlockSize)
return mBlockSize;
}
size_t VSTEffect::GetBlockSize() const
{
return mBlockSize;
}
void VSTEffect::SetSampleRate(double rate)
{
mSampleRate = (float) rate;

View File

@ -132,6 +132,7 @@ class VSTEffect final : public wxEvtHandler,
void SetSampleRate(double rate) override;
size_t SetBlockSize(size_t maxBlockSize) override;
size_t GetBlockSize() const override;
bool IsReady() override;
bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap = NULL) override;

View File

@ -1192,6 +1192,11 @@ size_t AudioUnitEffect::SetBlockSize(size_t maxBlockSize)
return mBlockSize;
}
size_t AudioUnitEffect::GetBlockSize() const
{
return mBlockSize;
}
sampleCount AudioUnitEffect::GetLatency()
{
// Retrieve the latency (can be updated via an event)

View File

@ -79,6 +79,7 @@ public:
void SetSampleRate(double rate) override;
size_t SetBlockSize(size_t maxBlockSize) override;
size_t GetBlockSize() const override;
sampleCount GetLatency() override;
size_t GetTailSize() override;

View File

@ -889,6 +889,11 @@ size_t LadspaEffect::SetBlockSize(size_t maxBlockSize)
return mBlockSize;
}
size_t LadspaEffect::GetBlockSize() const
{
return mBlockSize;
}
sampleCount LadspaEffect::GetLatency()
{
if (mUseLatency && mLatencyPort >= 0 && !mLatencyDone)

View File

@ -77,6 +77,7 @@ public:
void SetSampleRate(double rate) override;
size_t SetBlockSize(size_t maxBlockSize) override;
size_t GetBlockSize() const override;
sampleCount GetLatency() override;
size_t GetTailSize() override;

View File

@ -728,6 +728,11 @@ size_t LV2Effect::SetBlockSize(size_t maxBlockSize)
return mBlockSize;
}
size_t LV2Effect::GetBlockSize() const
{
return mBlockSize;
}
sampleCount LV2Effect::GetLatency()
{
if (mUseLatency && mLatencyPort >= 0 && !mLatencyDone)

View File

@ -137,6 +137,7 @@ public:
void SetSampleRate(double rate) override;
size_t SetBlockSize(size_t maxBlockSize) override;
size_t GetBlockSize() const override;
sampleCount GetLatency() override;
size_t GetTailSize() override;