8template <
typename FuncType>
18 if constexpr (std::is_same_v<FuncType, AudioProcessingFunction>) {
19 if (
auto audio_buf = std::dynamic_pointer_cast<AudioBuffer>(buffer)) {
23 if (
auto vk_buf = std::dynamic_pointer_cast<VKBuffer>(buffer)) {
29 void on_attach(
const std::shared_ptr<Buffer>& )
override
31 if constexpr (std::is_same_v<FuncType, AudioProcessingFunction>) {
40 if constexpr (std::is_same_v<FuncType, AudioProcessingFunction>) {
41 return std::dynamic_pointer_cast<AudioBuffer>(buffer) !=
nullptr;
43 return std::dynamic_pointer_cast<VKBuffer>(buffer) !=
nullptr;
ProcessingToken m_processing_token
Central computational transformation interface for continuous buffer processing.
QuickProcess(FuncType function)
void on_attach(const std::shared_ptr< Buffer > &) override
Called when this processor is attached to a buffer.
void processing_function(const std::shared_ptr< Buffer > &buffer) override
The core processing function that must be implemented by derived classes.
bool is_compatible_with(const std::shared_ptr< Buffer > &buffer) const override
Checks if this processor can handle the specified buffer type.
@ AUDIO_BACKEND
Standard audio processing backend configuration.
@ GRAPHICS_BACKEND
Standard graphics processing backend configuration.