|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
External buffer supply, mixing, and interleaved data I/O. More...
#include <BufferSupplyMixing.hpp>
Collaboration diagram for MayaFlux::Buffers::BufferSupplyMixing:Public Member Functions | |
| BufferSupplyMixing (TokenUnitManager &unit_manager, BufferAccessControl &access_control) | |
| Creates a new supply/mixing control handler. | |
| ~BufferSupplyMixing ()=default | |
| bool | supply_audio_buffer_to (const std::shared_ptr< AudioBuffer > &buffer, ProcessingToken token, uint32_t channel, double mix=1.0) |
| Supplies an external audio buffer to a specific token and channel. | |
| bool | remove_supplied_audio_buffer (const std::shared_ptr< AudioBuffer > &buffer, ProcessingToken token, uint32_t channel) |
| Removes a previously supplied buffer from a token and channel. | |
| void | fill_audio_from_interleaved (const double *interleaved_data, uint32_t num_frames, ProcessingToken token, uint32_t num_channels) |
| Fills audio token channels from interleaved source data. | |
| void | fill_audio_interleaved (double *interleaved_data, uint32_t num_frames, ProcessingToken token, uint32_t num_channels) const |
| Fills interleaved buffer from audio token channels. | |
| std::vector< std::shared_ptr< AudioBuffer > > | clone_audio_buffer_for_channels (const std::shared_ptr< AudioBuffer > &buffer, const std::vector< uint32_t > &channels, ProcessingToken token) |
| Clones an audio buffer for each channel in the specified list. | |
Private Attributes | |
| TokenUnitManager & | m_unit_manager |
| Reference to the token/unit manager. | |
| BufferAccessControl & | m_access_control |
| Reference to the buffer access control. | |
External buffer supply, mixing, and interleaved data I/O.
Manages operations for supplying external buffers to channels, mixing buffers, and converting between interleaved and channel-separated formats. This enables advanced routing patterns where the same buffer feeds multiple channels, or data is imported/exported in different formats.
Design Principles:
This class encapsulates all buffer supply and data I/O logic.
Definition at line 28 of file BufferSupplyMixing.hpp.