AgsAudio

AgsAudio — A container of channels organizing them as input or output

Functions

Types and Values

Includes

#include <ags/audio/ags_audio.h>

Description

AgsAudio organizes AgsChannel objects either as input or output and is responsible of their alignment. The class can contain AgsRecall objects in order to perform computation on all channels or in audio context. Therefor exists AgsRecyclingContainer acting as tree context.

At least one AgsRecallID is assigned to it and has one more if AGS_AUDIO_OUTPUT_HAS_RECYCLING is set as flag.

If AGS_AUDIO_HAS_NOTATION is set as flag one AgsNotation is allocated per audio channel.

Functions

ags_audio_set_flags ()

void
ags_audio_set_flags (AgsAudio *audio,
                     guint flags);

Disable a feature of AgsAudio.

Parameters

audio

an AgsAudio

 

flags

see enum AgsAudioFlags

 

Since 0.4


ags_audio_unset_flags ()

void
ags_audio_unset_flags (AgsAudio *audio,
                       guint flags);


ags_audio_set_audio_channels ()

void
ags_audio_set_audio_channels (AgsAudio *audio,
                              guint audio_channels);

Resize audio channels AgsInput will be allocated first.

Parameters

audio

the AgsAudio

 

audio_channels

new audio channels

 

Since 0.3


ags_audio_set_pads ()

void
ags_audio_set_pads (AgsAudio *audio,
                    GType type,
                    guint pads);

Sets pad count for the apropriate type

Parameters

audio

an AgsAudio

 

type

AGS_TYPE_INPUT or AGS_TYPE_OUTPUT

 

pads

new pad count

 

Since 0.3


ags_audio_init_run ()

AgsRecallID *
ags_audio_init_run (AgsAudio *audio);

Is emitted as audio is initialized.

Parameters

audio

an AgsAudio

 

Returns

the current AgsRecallID

Since 0.4


ags_audio_tact ()

void
ags_audio_tact (AgsAudio *audio,
                AgsRecallID *recall_id);

Is emitted as audio is played.

Parameters

audio

an AgsAudio

 

recall_id

the current AgsRecallID

 

Since 0.4


ags_audio_done ()

void
ags_audio_done (AgsAudio *audio,
                AgsRecallID *recall_id);

Is emitted as playing audio is done.

Parameters

audio

an AgsAudio

 

recall_id

the current AgsRecallID

 

Since 0.4


ags_audio_set_sequence_length ()

void
ags_audio_set_sequence_length (AgsAudio *audio,
                               guint sequence_length);

Sets sequence length.

Parameters

audio

an AgsAudio

 

sequence_length

the sequence length

 

Since 0.4


ags_audio_set_devout ()

void
ags_audio_set_devout (AgsAudio *audio,
                      GObject *devout);

Sets a devout object on audio.

Parameters

audio

the AgsAudio

 

devout

an AgsDevout

 

Since 0.4


ags_audio_add_recycling_container ()

void
ags_audio_add_recycling_container (AgsAudio *audio,
                                   GObject *recycling_container);

Since 0.4


ags_audio_remove_recycling_container ()

void
ags_audio_remove_recycling_container (AgsAudio *audio,
                                      GObject *recycling_container);

Since 0.4


ags_audio_add_recall_id ()

void
ags_audio_add_recall_id (AgsAudio *audio,
                         GObject *recall_id);

Adds a recall id.

Parameters

audio

an AgsAudio

 

recall_id

the AgsRecallID

 

Since 0.4


ags_audio_remove_recall_id ()

void
ags_audio_remove_recall_id (AgsAudio *audio,
                            GObject *recall_id);

Removes a recall id.

Parameters

audio

an AgsAudio

 

recall_id

the AgsRecallID

 

Since 0.4


ags_audio_add_recall_container ()

void
ags_audio_add_recall_container (AgsAudio *audio,
                                GObject *recall_container);

Adds a recall container.

Parameters

audio

an AgsAudio

 

recall_container

the AgsRecallContainer

 

Since 0.4


ags_audio_remove_recall_container ()

void
ags_audio_remove_recall_container (AgsAudio *audio,
                                   GObject *recall_container);

Removes a recall container.

Parameters

audio

an AgsAudio

 

recall_container

the AgsRecallContainer

 

Since 0.4


ags_audio_add_recall ()

void
ags_audio_add_recall (AgsAudio *audio,
                      GObject *recall,
                      gboolean play);

Adds a recall.

Parameters

audio

an AgsAudio

 

play

TRUE if simple playback.

 

Since 0.4


ags_audio_remove_recall ()

void
ags_audio_remove_recall (AgsAudio *audio,
                         GObject *recall,
                         gboolean play);

Removes a recall.

Parameters

audio

an AgsAudio

 

play

TRUE if simple playback.

 

Since 0.4


ags_audio_recall_change_state ()

void
ags_audio_recall_change_state (AgsAudio *audio,
                               gboolean enable);


ags_audio_duplicate_recall ()

void
ags_audio_duplicate_recall (AgsAudio *audio,
                            AgsRecallID *recall_id);

Duplicate all AgsRecall templates of this AgsAudio.

Parameters

audio

an AgsAudio

 

recall_id

an AgsRecallID

 

Since 0.4


ags_audio_init_recall ()

void
ags_audio_init_recall (AgsAudio *audio,
                       gint stage,
                       AgsRecallID *recall_id);

Initializes the recalls of audio

Parameters

audio

the AgsAudio

 

stage

stage benning at 0 up to 2, or just -1

 

recall_id

the AgsRecallID to use or NULL

 

Since 0.4


ags_audio_resolve_recall ()

void
ags_audio_resolve_recall (AgsAudio *audio,
                          AgsRecallID *recall_id);

Performs resolving of recalls.

Parameters

audio

the AgsAudio

 

recall_id

the AgsRecallID to use

 

Since 0.4


ags_audio_is_playing ()

gboolean
ags_audio_is_playing (AgsAudio *audio);

Determine if AgsAudio is playing.

Parameters

audio

the AgsAudio

 

Returns

TRUE if it's playing otherwise FALSE

Since 0.4


ags_audio_play ()

void
ags_audio_play (AgsAudio *audio,
                AgsRecallID *recall_id,
                gint stage);

Performs on single play call of appropriate stage.

Parameters

audio

the AgsAudio

 

recall_id

the AgsRecallID to apply to

 

stage

valid range is from 0 up to 2

 

Since 0.4


ags_audio_recursive_play_init ()

GList *
ags_audio_recursive_play_init (AgsAudio *audio,
                               gboolean playback,
                               gboolean sequencer,
                               gboolean notation);

Initializes AgsAudio in order to do playback, sequencer or notation.

Parameters

audio

the AgsAudio object

 

playback

if doing playback

 

sequencer

if doing sequencer

 

notation

if doing notation

 

Returns

a list containing all AgsRecallID

Since 0.4


ags_audio_cancel ()

void
ags_audio_cancel (AgsAudio *audio,
                  AgsRecallID *recall_id);

Cancel processing audio data.

Parameters

audio

the AgsAudio

 

recall_id

the AgsRecallID to apply to

 

Since 0.4


ags_audio_remove ()

void
ags_audio_remove (AgsAudio *audio,
                  AgsRecallID *recall_id);

Since 0.4


ags_audio_open_files ()

void
ags_audio_open_files (AgsAudio *audio,
                      GSList *filenames,
                      gboolean overwrite_channels,
                      gboolean create_channels);

Open some files.

Parameters

audio

the AgsAudio

 

filenames

the files to open

 

overwrite_channels

if existing channels should be assigned

 

create_channels

if new channels should be created as not fitting if combined with overwrite_channels

 

Since 0.4


ags_audio_find_port ()

GList *
ags_audio_find_port (AgsAudio *audio);

ags_audio_new ()

AgsAudio *
ags_audio_new ();

Creates an AgsAudio, with defaults of devout .

Returns

a new AgsAudio

Since 0.3

Types and Values

enum AgsAudioFlags

Members

AGS_AUDIO_OUTPUT_HAS_RECYCLING

   

AGS_AUDIO_INPUT_HAS_RECYCLING

   

AGS_AUDIO_INPUT_TAKES_FILE

   

AGS_AUDIO_HAS_NOTATION

   

AGS_AUDIO_SYNC

   

AGS_AUDIO_ASYNC

   

AGS_AUDIO_RUNNING

   

AGS_AUDIO_PLAYING

   

AGS_AUDIO_NOTATION_DEFAULT