Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
pool.h File Reference

Audio file pool. More...

#include "dsp/clip.h"
#include "utils/yaml.h"
Include dependency graph for pool.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  AudioPool
 An audio pool is a pool of audio files and their corresponding float arrays in memory that are referenced by regions. More...
 

Macros

#define AUDIO_POOL_SCHEMA_VERSION   1
 
#define AUDIO_POOL   (AUDIO_ENGINE->pool)
 

Functions

bool audio_pool_init_loaded (AudioPool *self, GError **error)
 Inits after loading a project.
 
AudioPoolaudio_pool_new (void)
 Creates a new audio pool.
 
int audio_pool_add_clip (AudioPool *self, AudioClip *clip)
 Adds an audio clip to the pool.
 
int audio_pool_duplicate_clip (AudioPool *self, int clip_id, bool write_file, GError **error)
 Duplicates the clip with the given ID and returns the duplicate.
 
AudioClipaudio_pool_get_clip (AudioPool *self, int clip_id)
 Returns the clip for the given ID.
 
void audio_pool_remove_clip (AudioPool *self, int clip_id, bool free_and_remove_file, bool backup)
 Removes the clip with the given ID from the pool and optionally frees it (and removes the file).
 
void audio_pool_remove_unused (AudioPool *self, bool backup)
 Removes and frees (and removes the files for) all clips not used by the project or undo stacks.
 
void audio_pool_ensure_unique_clip_name (AudioPool *pool, AudioClip *clip)
 Ensures that the name of the clip is unique.
 
MALLOC char * audio_pool_gen_name_for_recording_clip (AudioPool *pool, Track *track, int lane)
 Generates a name for a recording clip.
 
bool audio_pool_reload_clip_frame_bufs (AudioPool *self, GError **error)
 Loads the frame buffers of clips currently in use in the project from their files and frees the buffers of clips not currently in use.
 
bool audio_pool_write_to_disk (AudioPool *self, bool is_backup, GError **error)
 Writes all the clips to disk.
 
AudioPoolaudio_pool_clone (const AudioPool *src)
 To be used during serialization.
 
void audio_pool_print (const AudioPool *const self)
 
void audio_pool_free (AudioPool *self)
 

Detailed Description

Audio file pool.

Definition in file pool.h.