AgsFxLv2Audio

AgsFxLv2Audio — fx lv2 audio

Stability Level

Stable, unless otherwise indicated

Functions

Types and Values

Includes

#include <ags/audio/fx/ags_fx_lv2_audio.h>

Description

The AgsFxLv2Audio class provides ports to the effect processor.

Functions

AGS_FX_LV2_AUDIO_SCOPE_DATA()

#define AGS_FX_LV2_AUDIO_SCOPE_DATA(ptr) ((AgsFxLv2AudioScopeData *) (ptr))

AGS_FX_LV2_AUDIO_SCOPE_DATA_GET_STRCT_MUTEX()

#define AGS_FX_LV2_AUDIO_SCOPE_DATA_GET_STRCT_MUTEX(ptr) (&(((AgsFxLv2AudioScopeData *)(ptr))->strct_mutex))

AGS_FX_LV2_AUDIO_CHANNEL_DATA()

#define AGS_FX_LV2_AUDIO_CHANNEL_DATA(ptr) ((AgsFxLv2AudioChannelData *) (ptr))

AGS_FX_LV2_AUDIO_CHANNEL_DATA_GET_STRCT_MUTEX()

#define AGS_FX_LV2_AUDIO_CHANNEL_DATA_GET_STRCT_MUTEX(ptr) (&(((AgsFxLv2AudioChannelData *)(ptr))->strct_mutex))

AGS_FX_LV2_AUDIO_INPUT_DATA()

#define AGS_FX_LV2_AUDIO_INPUT_DATA(ptr) ((AgsFxLv2AudioInputData *) (ptr))

AGS_FX_LV2_AUDIO_INPUT_DATA_GET_STRCT_MUTEX()

#define AGS_FX_LV2_AUDIO_INPUT_DATA_GET_STRCT_MUTEX(ptr) (&(((AgsFxLv2AudioInputData *)(ptr))->strct_mutex))

ags_fx_lv2_audio_scope_data_alloc ()

AgsFxLv2AudioScopeData *
ags_fx_lv2_audio_scope_data_alloc ();

Allocate AgsFxLv2AudioScopeData

Returns

the new AgsFxLv2AudioScopeData

Since: 3.3.0


ags_fx_lv2_audio_scope_data_free ()

void
ags_fx_lv2_audio_scope_data_free (AgsFxLv2AudioScopeData *scope_data);

Free scope_data .

Parameters

scope_data

the AgsFxLv2AudioScopeData

 

Since: 3.3.0


ags_fx_lv2_audio_channel_data_alloc ()

AgsFxLv2AudioChannelData *
ags_fx_lv2_audio_channel_data_alloc ();

Allocate AgsFxLv2AudioChannelData

Returns

the new AgsFxLv2AudioChannelData

Since: 3.3.0


ags_fx_lv2_audio_channel_data_free ()

void
ags_fx_lv2_audio_channel_data_free (AgsFxLv2AudioChannelData *channel_data);

Free channel_data .

Parameters

channel_data

the AgsFxLv2AudioChannelData

 

Since: 3.3.0


ags_fx_lv2_audio_input_data_alloc ()

AgsFxLv2AudioInputData *
ags_fx_lv2_audio_input_data_alloc ();

Allocate AgsFxLv2AudioInputData

Returns

the new AgsFxLv2AudioInputData

Since: 3.3.0


ags_fx_lv2_audio_input_data_free ()

void
ags_fx_lv2_audio_input_data_free (AgsFxLv2AudioInputData *input_data);

Free input_data .

Parameters

input_data

the AgsFxLv2AudioInputData

 

Since: 3.3.0


ags_fx_lv2_audio_test_flags ()

gboolean
ags_fx_lv2_audio_test_flags (AgsFxLv2Audio *fx_lv2_audio,
                             guint flags);

Test flags of fx_lv2_audio .

Parameters

fx_lv2_audio

the AgsFxLv2Audio

 

flags

the flags

 

Returns

TRUE on success, otherwise FALSE

Since: 3.3.0


ags_fx_lv2_audio_set_flags ()

void
ags_fx_lv2_audio_set_flags (AgsFxLv2Audio *fx_lv2_audio,
                            guint flags);

Set flags of fx_lv2_audio .

Parameters

fx_lv2_audio

the AgsFxLv2Audio

 

flags

the flags

 

Since: 3.3.0


ags_fx_lv2_audio_unset_flags ()

void
ags_fx_lv2_audio_unset_flags (AgsFxLv2Audio *fx_lv2_audio,
                              guint flags);

Unset flags of fx_lv2_audio .

Parameters

fx_lv2_audio

the AgsFxLv2Audio

 

flags

the flags

 

Since: 3.3.0


ags_fx_lv2_audio_load_plugin ()

void
ags_fx_lv2_audio_load_plugin (AgsFxLv2Audio *fx_lv2_audio);

Load plugin of fx_lv2_audio .

Parameters

fx_lv2_audio

the AgsFxLv2Audio

 

Since: 3.3.0


ags_fx_lv2_audio_load_port ()

void
ags_fx_lv2_audio_load_port (AgsFxLv2Audio *fx_lv2_audio);

ags_fx_lv2_audio_change_program ()

void
ags_fx_lv2_audio_change_program (AgsFxLv2Audio *fx_lv2_audio,
                                 guint bank_index,
                                 guint program_index);

Change program of fx_lv2_audio .

Parameters

fx_lv2_audio

the AgsFxLv2Audio

 

bank_index

the bank index

 

program_index

the program index

 

Since: 3.3.0


ags_fx_lv2_audio_new ()

AgsFxLv2Audio *
ags_fx_lv2_audio_new (AgsAudio *audio);

Create a new instance of AgsFxLv2Audio

Parameters

audio

the AgsAudio

 

Returns

the new AgsFxLv2Audio

Since: 3.3.0

Types and Values

AGS_FX_LV2_AUDIO_DEFAULT_MIDI_LENGHT

#define AGS_FX_LV2_AUDIO_DEFAULT_MIDI_LENGHT (8 * 256)

enum AgsFxLv2AudioFlags

Members

AGS_FX_LV2_AUDIO_LIVE_INSTRUMENT

   

struct AgsFxLv2AudioScopeData

struct AgsFxLv2AudioScopeData {
  GRecMutex strct_mutex;

  gpointer parent;

  guint audio_channels;

  AgsFxLv2AudioChannelData **channel_data;
};

struct AgsFxLv2AudioChannelData

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

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;
};