AgsFxLv2Audio

AgsFxLv2Audio — fx lv2 audio

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── AgsRecall
        ╰── AgsRecallAudio
            ╰── AgsFxNotationAudio
                ╰── AgsFxLv2Audio

Implemented Interfaces

AgsFxLv2Audio implements AgsConnectable.

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


AGS_FX_LV2_AUDIO()

#define AGS_FX_LV2_AUDIO(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_FX_LV2_AUDIO, AgsFxLv2Audio))

AGS_FX_LV2_AUDIO_CLASS()

#define AGS_FX_LV2_AUDIO_CLASS(class)        (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_FX_LV2_AUDIO, AgsFxLv2AudioClass))

AGS_FX_LV2_AUDIO_GET_CLASS()

#define AGS_FX_LV2_AUDIO_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS ((obj), AGS_TYPE_FX_LV2_AUDIO, AgsFxLv2AudioClass))

AGS_IS_FX_LV2_AUDIO()

#define AGS_IS_FX_LV2_AUDIO(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AGS_TYPE_FX_LV2_AUDIO))

AGS_IS_FX_LV2_AUDIO_CLASS()

#define AGS_IS_FX_LV2_AUDIO_CLASS(class)     (G_TYPE_CHECK_CLASS_TYPE ((class), AGS_TYPE_FX_LV2_AUDIO))

ags_fx_lv2_audio_get_type ()

GType
ags_fx_lv2_audio_get_type ();

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

AGS_TYPE_FX_LV2_AUDIO

#define AGS_TYPE_FX_LV2_AUDIO                (ags_fx_lv2_audio_get_type())

struct AgsFxLv2Audio

struct AgsFxLv2Audio;

struct AgsFxLv2AudioClass

struct AgsFxLv2AudioClass {
  AgsFxNotationAudioClass fx_notation_audio;
};