10#ifndef __AUDIO_POOL_H__
11#define __AUDIO_POOL_H__
24#define AUDIO_POOL_SCHEMA_VERSION 1
26#define AUDIO_POOL (AUDIO_ENGINE->pool)
117 bool free_and_remove_file,
178audio_pool_print (
const AudioPool *
const self);
int audio_pool_add_clip(AudioPool *self, AudioClip *clip)
Adds an audio clip to the pool.
void audio_pool_ensure_unique_clip_name(AudioPool *pool, AudioClip *clip)
Ensures that the name of the clip is unique.
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 buffe...
bool audio_pool_write_to_disk(AudioPool *self, bool is_backup, GError **error)
Writes all the clips to disk.
AudioPool * audio_pool_clone(const AudioPool *src)
To be used during serialization.
bool audio_pool_init_loaded(AudioPool *self, GError **error)
Inits after loading a project.
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.
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.
MALLOC char * audio_pool_gen_name_for_recording_clip(AudioPool *pool, Track *track, int lane)
Generates a name for a recording clip.
AudioClip * audio_pool_get_clip(AudioPool *self, int clip_id)
Returns the clip for the given ID.
AudioPool * audio_pool_new(void)
Creates a new audio pool.
Audio clips for the pool.
An audio pool is a pool of audio files and their corresponding float arrays in memory that are refere...
size_t clips_size
Array sizes.
int num_clips
Clip counter.
AudioClip ** clips
Audio clips.
Track to be inserted into the Project's Tracklist.