MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
Depot.hpp File Reference

Audio file loading and container management API. More...

+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Buffers
 
namespace  MayaFlux::Core
 
namespace  MayaFlux::IO
 
namespace  MayaFlux::Kakshya
 
namespace  MayaFlux::Nodes
 Contains the node-based computational processing system components.
 
namespace  MayaFlux::Nodes::Network
 

Typedefs

using MayaFlux::IO::TextureResolver = std::function< std::shared_ptr< Core::VKImage >(const std::string &)>
 Callable that maps a raw material texture path to a GPU image.
 

Functions

std::shared_ptr< Kakshya::SoundFileContainerMayaFlux::choose_audio ()
 Present a native open-file dialog filtered to audio formats and load the chosen file via IOManager::load_audio().
 
std::shared_ptr< Buffers::TextureBufferMayaFlux::choose_image ()
 Present a native open-file dialog filtered to image formats and load the chosen file via IOManager::load_image().
 
std::vector< std::shared_ptr< Buffers::MeshBuffer > > MayaFlux::choose_mesh ()
 Present a native open-file dialog filtered to 3D model formats and load the chosen file via IOManager::load_mesh().
 
std::shared_ptr< Nodes::Network::MeshNetworkMayaFlux::choose_mesh_network (IO::TextureResolver resolver=nullptr)
 Present a native open-file dialog filtered to 3D model formats and load the chosen file as a MeshNetwork via IOManager::load_mesh_network().
 
std::shared_ptr< Kakshya::VideoFileContainerMayaFlux::choose_video ()
 Present a native open-file dialog filtered to video formats and load the chosen file via IOManager::load_video().
 
template<typename ContainerType , typename... Args>
requires std::derived_from<ContainerType, Kakshya::SignalSourceContainer>
auto MayaFlux::create_container (Args &&... args) -> std::shared_ptr< ContainerType >
 creates a new container of the specified type
 
std::shared_ptr< IO::IOManagerMayaFlux::get_io_manager ()
 Retrieves the global IOManager instance for file loading and buffer management.
 
MAYAFLUX_API bool MayaFlux::is_audio (const std::filesystem::path &filepath)
 Checks if the given file is an audio file based on its extension.
 
MAYAFLUX_API bool MayaFlux::is_image (const std::filesystem::path &filepath)
 Checks if the given file is an image file based on its extension.
 
std::vector< std::shared_ptr< Buffers::SoundContainerBuffer > > MayaFlux::prepare_audio_buffers (const std::shared_ptr< Kakshya::SoundFileContainer > &container)
 Constructs and initializes per-channel SoundContainerBuffers without registering them.
 
bool MayaFlux::save_audio (const std::shared_ptr< Kakshya::SoundStreamContainer > &container, const std::string &suggested_name="output.wav")
 Present a native save-file dialog and write container to the chosen path via IOManager::write().
 
bool MayaFlux::save_image (const std::shared_ptr< Buffers::TextureBuffer > &buffer, const std::string &suggested_name, const IO::ImageWriteOptions &options)
 Present a native save-file dialog filtered to image formats and save buffer to the chosen path via IOManager::save_image().
 
bool MayaFlux::save_image (const std::shared_ptr< Buffers::TextureBuffer > &buffer, const std::string &suggested_name="output.png")
 Present a native save-file dialog filtered to image formats and save buffer to the chosen path via IOManager::save_image().
 

Detailed Description

Audio file loading and container management API.

This header provides the public API for working with IOManager, container creation, and file type checking within the MayaFlux engine. It includes:

  • create_container<ContainerType>(args...): Template function to create signal source containers.
  • is_audio(filepath): Check if a file is an audio file based on its extension.
  • is_image(filepath): Check if a file is an image file based on its extension.
  • get_io_manager(): Access the global IOManager instance for file loading and buffer management.

Definition in file Depot.hpp.