| Top |
| #define | AGS_FX_LV2_AUDIO_DEFAULT_MIDI_LENGHT |
| enum | AgsFxLv2AudioFlags |
| struct | AgsFxLv2AudioScopeData |
| struct | AgsFxLv2AudioChannelData |
| struct | AgsFxLv2AudioInputData |
| #define | AGS_TYPE_FX_LV2_AUDIO |
| struct | AgsFxLv2Audio |
| struct | AgsFxLv2AudioClass |
#define AGS_FX_LV2_AUDIO_SCOPE_DATA(ptr) ((AgsFxLv2AudioScopeData *) (ptr))
#define AGS_FX_LV2_AUDIO_SCOPE_DATA_GET_STRCT_MUTEX(ptr) (&(((AgsFxLv2AudioScopeData *)(ptr))->strct_mutex))
#define AGS_FX_LV2_AUDIO_CHANNEL_DATA(ptr) ((AgsFxLv2AudioChannelData *) (ptr))
#define AGS_FX_LV2_AUDIO_CHANNEL_DATA_GET_STRCT_MUTEX(ptr) (&(((AgsFxLv2AudioChannelData *)(ptr))->strct_mutex))
#define AGS_FX_LV2_AUDIO_INPUT_DATA(ptr) ((AgsFxLv2AudioInputData *) (ptr))
#define AGS_FX_LV2_AUDIO_INPUT_DATA_GET_STRCT_MUTEX(ptr) (&(((AgsFxLv2AudioInputData *)(ptr))->strct_mutex))
AgsFxLv2AudioScopeData * ags_fx_lv2_audio_scope_data_alloc ();
Allocate AgsFxLv2AudioScopeData
Since: 3.3.0
void
ags_fx_lv2_audio_scope_data_free (AgsFxLv2AudioScopeData *scope_data);
Free scope_data
.
Since: 3.3.0
AgsFxLv2AudioChannelData * ags_fx_lv2_audio_channel_data_alloc ();
Allocate AgsFxLv2AudioChannelData
Since: 3.3.0
void
ags_fx_lv2_audio_channel_data_free (AgsFxLv2AudioChannelData *channel_data);
Free channel_data
.
Since: 3.3.0
AgsFxLv2AudioInputData * ags_fx_lv2_audio_input_data_alloc ();
Allocate AgsFxLv2AudioInputData
Since: 3.3.0
void
ags_fx_lv2_audio_input_data_free (AgsFxLv2AudioInputData *input_data);
Free input_data
.
Since: 3.3.0
gboolean ags_fx_lv2_audio_test_flags (AgsFxLv2Audio *fx_lv2_audio,guint flags);
Test flags
of fx_lv2_audio
.
Since: 3.3.0
void ags_fx_lv2_audio_set_flags (AgsFxLv2Audio *fx_lv2_audio,guint flags);
Set flags
of fx_lv2_audio
.
Since: 3.3.0
void ags_fx_lv2_audio_unset_flags (AgsFxLv2Audio *fx_lv2_audio,guint flags);
Unset flags
of fx_lv2_audio
.
Since: 3.3.0
void
ags_fx_lv2_audio_load_plugin (AgsFxLv2Audio *fx_lv2_audio);
Load plugin of fx_lv2_audio
.
Since: 3.3.0
void ags_fx_lv2_audio_change_program (AgsFxLv2Audio *fx_lv2_audio,guint bank_index,guint program_index);
Change program of fx_lv2_audio
.
Since: 3.3.0
AgsFxLv2Audio *
ags_fx_lv2_audio_new (AgsAudio *audio);
Create a new instance of AgsFxLv2Audio
Since: 3.3.0
#define AGS_FX_LV2_AUDIO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_FX_LV2_AUDIO, AgsFxLv2Audio))
#define AGS_FX_LV2_AUDIO_CLASS(class) (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_FX_LV2_AUDIO, AgsFxLv2AudioClass))
#define AGS_FX_LV2_AUDIO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AGS_TYPE_FX_LV2_AUDIO, AgsFxLv2AudioClass))
#define AGS_IS_FX_LV2_AUDIO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AGS_TYPE_FX_LV2_AUDIO))
#define AGS_IS_FX_LV2_AUDIO_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), AGS_TYPE_FX_LV2_AUDIO))
struct AgsFxLv2AudioScopeData {
GRecMutex strct_mutex;
gpointer parent;
guint audio_channels;
AgsFxLv2AudioChannelData **channel_data;
};
struct AgsFxLv2AudioChannelData {
GRecMutex strct_mutex;
gpointer parent;
guint event_count;
float *output;
float *input;
gpointer event_port;
gpointer atom_port;
LV2_Handle *lv2_handle;
AgsFxLv2AudioInputData* input_data[AGS_SEQUENCER_MAX_MIDI_KEYS];
};
struct AgsFxLv2AudioInputData {
GRecMutex strct_mutex;
gpointer parent;
float *output;
float *input;
gpointer event_port;
gpointer atom_port;
LV2_Handle *lv2_handle;
snd_seq_event_t *event_buffer;
guint key_on;
};