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

Dialog-backed loading and file-type helpers. More...

+ Include dependency graph for Depot.hpp:
+ 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::SoundFileContainer > MayaFlux::choose_audio ()
 Present a native open-file dialog filtered to audio formats and load the chosen file via IOManager::load_audio().
 
std::shared_ptr< Kakshya::DynamicSoundStream > MayaFlux::choose_audio_bounded (uint64_t max_frames=0, bool truncate=false)
 Present a native open-file dialog filtered to audio formats and load the chosen file via IOManager::load_audio_bounded().
 
std::shared_ptr< Kakshya::CameraContainer > MayaFlux::choose_camera (bool choose_mode=true)
 Let the user pick a camera, and optionally a capture mode, then open it via IOManager::open_camera().
 
std::shared_ptr< Kakshya::CompositeContainer > MayaFlux::choose_composite ()
 Choose a CSV or TSV file and load it as a CompositeContainer.
 
std::shared_ptr< Kakshya::CompositeContainer > MayaFlux::choose_composite (const Kakshya::CompositeLayout &layout, size_t batch_size=1)
 Choose a CSV or TSV file and load it with an exact field layout.
 
std::shared_ptr< Buffers::TextureBuffer > MayaFlux::choose_image (int desired_channels=4, std::optional< Kakshya::Region > region=std::nullopt)
 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::MeshNetwork > MayaFlux::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().
 
IO::VideoLoadResult MayaFlux::choose_video (const IO::VideoLoadConfig &config)
 Present a native open-file dialog filtered to video formats and load the chosen file via IOManager::load_video(path, config).
 
std::shared_ptr< Buffers::VolumeGridBuffer > MayaFlux::choose_volume ()
 Present a native open-file dialog filtered to volume formats and load the chosen file via IOManager::load_volume().
 
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< Buffers::VideoContainerBuffer > MayaFlux::get_associated_buffer (const std::shared_ptr< Kakshya::VideoStreamContainer > &container)
 The buffer a video or camera container was hooked to.
 
std::vector< std::shared_ptr< Buffers::SoundContainerBuffer > > MayaFlux::get_associated_buffers (const std::shared_ptr< Kakshya::SoundFileContainer > &container)
 The per-channel buffers an audio container was hooked to.
 
std::vector< std::shared_ptr< Buffers::SoundContainerBuffer > > MayaFlux::get_associated_buffers (const std::shared_ptr< Kakshya::VideoFileContainer > &container)
 The audio buffers of a video file's extracted sound track.
 
std::shared_ptr< IO::IOManager > MayaFlux::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_composite (const std::filesystem::path &filepath)
 Check whether an existing file has a supported Composite format.
 
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_composite (const std::shared_ptr< Kakshya::CompositeContainer > &container, const std::string &suggested_name="output.csv")
 Choose a CSV or TSV destination and save a CompositeContainer.
 
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().
 
bool MayaFlux::save_mesh (const std::shared_ptr< Buffers::MeshBuffer > &buffer, const std::string &suggested_name, const IO::ModelWriteOptions &options)
 Present a native save-file dialog filtered to 3D model formats and save buffer to the chosen path via IOManager::save_mesh().
 
bool MayaFlux::save_mesh (const std::shared_ptr< Buffers::MeshBuffer > &buffer, const std::string &suggested_name="output.gltf")
 Present a native save-file dialog filtered to 3D model formats and save buffer to the chosen path via IOManager::save_mesh().
 
bool MayaFlux::save_mesh (const std::shared_ptr< Nodes::Network::MeshNetwork > &network, const std::string &suggested_name, const IO::ModelWriteOptions &options)
 Present a native save-file dialog filtered to 3D model formats and save network to the chosen path via IOManager::save_mesh().
 
bool MayaFlux::save_mesh (const std::shared_ptr< Nodes::Network::MeshNetwork > &network, const std::string &suggested_name="output.gltf")
 Present a native save-file dialog filtered to 3D model formats and save network to the chosen path via IOManager::save_mesh().
 
bool MayaFlux::save_spatial (std::vector< IO::SpatialCaptureSource > sources, const std::string &suggested_name="output.abc")
 Present a native save-file dialog filtered to Alembic and write every source once via IOManager::save_spatial_snapshot().
 
bool MayaFlux::save_volume (const std::shared_ptr< Buffers::VolumeGridBuffer > &volume, const std::string &suggested_name, const IO::VolumeWriteOptions &options)
 Present a native save-file dialog filtered to volume formats and save volume to the chosen path via IOManager::save_volume().
 
bool MayaFlux::save_volume (const std::shared_ptr< Buffers::VolumeGridBuffer > &volume, const std::string &suggested_name="output.vdb")
 Present a native save-file dialog filtered to volume formats and save volume to the chosen path via IOManager::save_volume().
 

Detailed Description

Dialog-backed loading and file-type helpers.

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), is_image(filepath), and is_composite(filepath): Check supported file categories.
  • get_io_manager(): Access the global IOManager instance for file loading and buffer management.

Definition in file Depot.hpp.