|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
A processing chain that reads audio data from a sound file container and writes it to a dynamic sound stream. More...
#include <FileBridgeBuffer.hpp>
Inheritance diagram for MayaFlux::Buffers::FileToStreamChain:
Collaboration diagram for MayaFlux::Buffers::FileToStreamChain:Public Member Functions | |
| FileToStreamChain (std::shared_ptr< Kakshya::SoundFileContainer > file_container, std::shared_ptr< Kakshya::DynamicSoundStream > capture_stream, uint32_t source_channel=0) | |
| std::shared_ptr< Kakshya::DynamicSoundStream > | get_capture_stream () const |
| void | attach_to_buffer (std::shared_ptr< Buffer > buffer) |
Public Member Functions inherited from MayaFlux::Buffers::BufferProcessingChain | |
| bool | add_processor (const std::shared_ptr< BufferProcessor > &processor, const std::shared_ptr< Buffer > &buffer, std::string *rejection_reason=nullptr) |
| Adds a processor to the transformation pipeline for a specific buffer. | |
| void | remove_processor (const std::shared_ptr< BufferProcessor > &processor, const std::shared_ptr< Buffer > &buffer) |
| Removes a processor from the pipeline for a specific buffer. | |
| void | process (const std::shared_ptr< Buffer > &buffer) |
| Applies the transformation pipeline to a buffer with intelligent execution. | |
| void | add_final_processor (const std::shared_ptr< BufferProcessor > &processor, const std::shared_ptr< Buffer > &buffer) |
| Sets a special processor to be applied after the main pipeline. | |
| bool | has_processors (const std::shared_ptr< Buffer > &buffer) const |
| Checks if a buffer has any processors in its pipeline. | |
| const std::vector< std::shared_ptr< BufferProcessor > > & | get_processors (const std::shared_ptr< Buffer > &buffer) const |
| Gets all processors in a buffer's transformation pipeline. | |
| std::unordered_map< std::shared_ptr< Buffer >, std::vector< std::shared_ptr< BufferProcessor > > > | get_chain () const |
| Gets the entire transformation pipeline structure. | |
| void | merge_chain (const std::shared_ptr< BufferProcessingChain > &other) |
| Combines another processing pipeline into this one with optimization. | |
| void | process_final (const std::shared_ptr< Buffer > &buffer) |
| Applies the final processor to a buffer with guaranteed execution. | |
| void | set_preferred_token (ProcessingToken token) |
| Sets the preferred processing token for this chain. | |
| ProcessingToken | get_preferred_token () const |
| Gets the preferred processing token for this chain. | |
| void | set_enforcement_strategy (TokenEnforcementStrategy strategy) |
| Sets the token enforcement strategy for this chain. | |
| TokenEnforcementStrategy | get_enforcement_strategy () const |
| Gets the current token enforcement strategy for this chain. | |
| void | optimize_for_tokens (const std::shared_ptr< Buffer > &buffer) |
| Optimizes the processing pipeline for improved performance. | |
| std::vector< TokenCompatibilityReport > | analyze_token_compatibility () const |
| Analyzes token compatibility across all processors in the chain. | |
| bool | validate_all_processors (std::vector< std::string > *incompatibility_reasons=nullptr) const |
| Validates all processors in the chain against the preferred processing token. | |
| void | enforce_chain_token_on_processors () |
| Enforces the chain's preferred processing token on all processors. | |
| bool | has_pending_operations () const |
| template<typename T > | |
| std::shared_ptr< T > | get_processor (const std::shared_ptr< Buffer > &buffer) const |
| Gets a processor of a specific type from the buffer's processing pipeline. | |
Private Member Functions | |
| void | setup_processors () |
Private Attributes | |
| std::shared_ptr< Kakshya::SoundFileContainer > | m_file_container |
| std::shared_ptr< Kakshya::DynamicSoundStream > | m_capture_stream |
| std::shared_ptr< ContainerToBufferAdapter > | m_container_adapter |
| std::shared_ptr< StreamWriteProcessor > | m_stream_writer |
| uint32_t | m_source_channel |
Additional Inherited Members | |
Protected Member Functions inherited from MayaFlux::Buffers::BufferProcessingChain | |
| bool | add_processor_direct (const std::shared_ptr< BufferProcessor > &processor, const std::shared_ptr< Buffer > &buffer, std::string *rejection_reason=nullptr) |
| void | remove_processor_direct (const std::shared_ptr< BufferProcessor > &processor, const std::shared_ptr< Buffer > &buffer) |
A processing chain that reads audio data from a sound file container and writes it to a dynamic sound stream.
This chain is used to bridge a sound file container to a dynamic sound stream, allowing the audio data from the file to be processed and played back in real-time.
Definition at line 22 of file FileBridgeBuffer.hpp.