There a well know set of recalls described here. Additionally you might
want to take advantage of recalls interfacing plugin APIs like LADSPA, DSSI
or LV2. You can instantiate them simply with
GList* ags_fx_factory_create(AgsAudio*, AgsRecallContainer*, AgsRecallContainer*, gchar*, gchar *, gchar *, guint, guint, guint, guint, gint, guint, guint)
Example 10.1. Using ags_fx_factory_create()
#include <glib.h> #include <glib-object.h> #include <ags/libags.h> #include <ags/libags-audio.h> AgsAudio *audio; AgsRecallContainer *play_container, *recall_container; AgsApplicationContext *application_context; GObject *current_soundcard; GList *start_soundcard; GList *start_recall; guint audio_channels; guint output_pads, input_pads; ags_audio_application_context_new(); /* get application context and soundcard */ application_context = ags_application_context_get_instance(); start_soundcard = ags_sound_provider_get_soundcard(AGS_SOUND_PROVIDER(application_context)); current_soundcard = start_soundcard->data; /* creat audio and resize channels */ audio_channels = 2; output_pads = 1; input_pads = 88; audio = ags_audio_new(current_soundcard); ags_audio_set_audio_channels(audio, audio_channels); ags_audio_set_pads(audio, AGS_TYPE_OUTPUT, output_pads); ags_audio_set_pads(audio, AGS_TYPE_INPUT, input_pads); /* add ags-fx-notation */ play_container = ags_recall_container_new(); recall_container = ags_recall_container_new(); start_recall = ags_fx_factory_create(audio, play_container, recall_container, "ags-fx-notation", NULL, NULL, 0, 0, 0, 0, 0, (AGS_FX_FACTORY_ADD | AGS_FX_FACTORY_INPUT), 0); g_list_free_full(start_recall, (GDestroyNotify) g_object_unref); /* add ags-fx-volume */ play_container = ags_recall_container_new(); recall_container = ags_recall_container_new(); start_recall = ags_fx_factory_create(audio, play_container, recall_container, "ags-fx-volume", NULL, NULL, 0, audio_channels, 0, input_pads, 0, (AGS_FX_FACTORY_ADD | AGS_FX_FACTORY_INPUT), 0); g_list_free_full(start_recall, (GDestroyNotify) g_object_unref); g_list_free_full(start_soundcard, (GDestroyNotify) g_object_unref);
-
ags-fx-buffer
-
Buffer audio data, produces new destination as on source occurs AgsRecycling::add_audio_signal().
-
ags-fx-playback
-
Play or capture audio data and store it in wave objects.
-
ags-fx-volume
-
Adjust volume of audio data.
-
ags-fx-peak
-
Calculate peak of audio data.
-
ags-fx-eq10
-
Adjust 10 band equalizer.
-
ags-fx-analyse
-
Get frequency hints using FFTW3.
-
ags-fx-envelope
-
Apply envelope data per piano roll note or pattern note.
-
ags-fx-pattern
-
Play audio data based on boolean patterns.
-
ags-fx-notation
-
Play, capture and feed audio data based on notation.
-
ags-fx-ladspa
-
Interface LADSPA plugins.
-
ags-fx-dssi
-
Interface DSSI plugins.
-
ags-fx-lv2
-
Interface LV2 plugins.
-
ags-fx-vst3
-
Interface VST3 plugins - requires libags-vst.so to be available.