|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
| MAYAFLUX_API std::shared_ptr< SoundFileContainer > MayaFlux::Kakshya::make_sound_file_container | ( | std::vector< std::vector< double > > | channel_data, |
| uint32_t | num_channels, | ||
| uint32_t | sample_rate = 48000, |
||
| OrganizationStrategy | org = OrganizationStrategy::PLANAR |
||
| ) |
Construct a fully populated SoundFileContainer from computed channel data.
Produces a fixed-capacity, non-circular container suitable for any workflow that requires a materialized, ready-to-play audio buffer: grain reconstruction, offline synthesis, file-derived transforms, or any other computed source.
The container is configured with org as its organization strategy, a ContiguousAccessProcessor as its default processor, and its processing state set to READY on return.
| channel_data | Per-channel sample vectors. Consumed by move; must be non-empty, each vector non-empty, and the outer size must equal num_channels. |
| num_channels | Number of audio channels. Must match channel_data.size(). |
| sample_rate | Sample rate in Hz used for temporal calculations. *defaults to 48000 Hz. |
| org | Memory organisation strategy for the container's data layout. Defaults to PLANAR. |
| std::invalid_argument | if channel_data is empty, any channel vector is empty, or num_channels does not match channel_data.size(). |
Definition at line 50 of file SoundFileContainer.cpp.
References MayaFlux::Journal::Configuration, MayaFlux::Journal::Kakshya, and size.