MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ hook_audio_container_to_buffers()

std::vector< std::shared_ptr< Buffers::SoundContainerBuffer > > MayaFlux::IO::IOManager::hook_audio_container_to_buffers ( const std::shared_ptr< Kakshya::SoundFileContainer > &  container)

Wire a SoundFileContainer to the audio buffer system.

Creates per-channel SoundContainerBuffers with AUDIO_BACKEND token, stores them keyed by container pointer, and returns them.

Parameters
containerLoaded SoundFileContainer to wire.
Returns
Per-channel SoundContainerBuffers, or empty on failure.

Definition at line 1104 of file IOManager.cpp.

1106{
1107 if (!container) {
1109 "hook_audio_container_to_buffers: null container");
1110 return {};
1111 }
1112
1113 MF_TRACE(
1116 "Setting up audio playback for {} channels...",
1117 container->get_num_channels());
1118
1119 auto created_buffers = Detail::create_audio_container_buffers(m_buffer_manager, container);
1120
1121 for (size_t channel = 0; channel < created_buffers.size(); ++channel) {
1122 MF_INFO(
1125 "✓ Created buffer for channel {}",
1126 channel);
1127 }
1128
1129 m_audio_buffers[container] = created_buffers;
1130
1131 return created_buffers;
1132}
#define MF_INFO(comp, ctx,...)
#define MF_ERROR(comp, ctx,...)
#define MF_TRACE(comp, ctx,...)
std::unordered_map< std::shared_ptr< Kakshya::SoundFileContainer >, std::vector< std::shared_ptr< Buffers::SoundContainerBuffer > > > m_audio_buffers
std::shared_ptr< Buffers::BufferManager > m_buffer_manager
std::vector< std::shared_ptr< Buffers::SoundContainerBuffer > > create_audio_container_buffers(const std::shared_ptr< Buffers::BufferManager > &buffer_manager, const std::shared_ptr< Kakshya::SoundFileContainer > &container)
@ BufferManagement
Buffer Management (Buffers::BufferManager, creating buffers)
@ Runtime
General runtime operations (default fallback)
@ API
MayaFlux/API Wrapper and convenience functions.

References MayaFlux::Journal::API, MayaFlux::Journal::BufferManagement, MayaFlux::IO::Detail::create_audio_container_buffers(), m_audio_buffers, m_buffer_manager, MF_ERROR, MF_INFO, MF_TRACE, and MayaFlux::Journal::Runtime.

+ Here is the call graph for this function: