krähemann.com

AgsFxVst3Audio

AgsFxVst3Audio — fx vst3 audio

Stability Level

Stable, unless otherwise indicated

Object Hierarchy

    GObject
    ╰── AgsRecall
        ╰── AgsRecallAudio
            ╰── AgsFxNotationAudio
                ╰── AgsFxVst3Audio

Includes

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

Description

The AgsFxVst3Audio class provides ports to the effect processor.

Functions

AGS_FX_VST3_AUDIO_SCOPE_DATA()

#define AGS_FX_VST3_AUDIO_SCOPE_DATA(ptr) ((AgsFxVst3AudioScopeData *) (ptr))

AGS_FX_VST3_AUDIO_SCOPE_DATA_GET_STRCT_MUTEX()

#define AGS_FX_VST3_AUDIO_SCOPE_DATA_GET_STRCT_MUTEX(ptr) (&(((AgsFxVst3AudioScopeData *)(ptr))->strct_mutex))

AGS_FX_VST3_AUDIO_CHANNEL_DATA()

#define AGS_FX_VST3_AUDIO_CHANNEL_DATA(ptr) ((AgsFxVst3AudioChannelData *) (ptr))

AGS_FX_VST3_AUDIO_CHANNEL_DATA_GET_STRCT_MUTEX()

#define AGS_FX_VST3_AUDIO_CHANNEL_DATA_GET_STRCT_MUTEX(ptr) (&(((AgsFxVst3AudioChannelData *)(ptr))->strct_mutex))

AGS_FX_VST3_AUDIO_INPUT_DATA()

#define AGS_FX_VST3_AUDIO_INPUT_DATA(ptr) ((AgsFxVst3AudioInputData *) (ptr))

AGS_FX_VST3_AUDIO_INPUT_DATA_GET_STRCT_MUTEX()

#define AGS_FX_VST3_AUDIO_INPUT_DATA_GET_STRCT_MUTEX(ptr) (&(((AgsFxVst3AudioInputData *)(ptr))->strct_mutex))

ags_fx_vst3_audio_scope_data_alloc ()

AgsFxVst3AudioScopeData *
ags_fx_vst3_audio_scope_data_alloc ();

Allocate AgsFxVst3AudioScopeData

Returns

the new AgsFxVst3AudioScopeData

Since: 3.10.5


ags_fx_vst3_audio_scope_data_free ()

void
ags_fx_vst3_audio_scope_data_free (AgsFxVst3AudioScopeData *scope_data);

Free scope_data .

Parameters

scope_data

the AgsFxVst3AudioScopeData

 

Since: 3.10.5


ags_fx_vst3_audio_channel_data_alloc ()

AgsFxVst3AudioChannelData *
ags_fx_vst3_audio_channel_data_alloc ();

Allocate AgsFxVst3AudioChannelData

Returns

the new AgsFxVst3AudioChannelData

Since: 3.10.5


ags_fx_vst3_audio_channel_data_free ()

void
ags_fx_vst3_audio_channel_data_free (AgsFxVst3AudioChannelData *channel_data);

Free channel_data .

Parameters

channel_data

the AgsFxVst3AudioChannelData

 

Since: 3.10.5


ags_fx_vst3_audio_input_data_alloc ()

AgsFxVst3AudioInputData *
ags_fx_vst3_audio_input_data_alloc ();

Allocate AgsFxVst3AudioInputData

Returns

the new AgsFxVst3AudioInputData

Since: 3.10.5


ags_fx_vst3_audio_input_data_free ()

void
ags_fx_vst3_audio_input_data_free (AgsFxVst3AudioInputData *input_data);

Free input_data .

Parameters

input_data

the AgsFxVst3AudioInputData

 

Since: 3.10.5


ags_fx_vst3_audio_test_flags ()

gboolean
ags_fx_vst3_audio_test_flags (AgsFxVst3Audio *fx_vst3_audio,
                              guint flags);

Test flags of fx_vst3_audio .

Parameters

fx_vst3_audio

the AgsFxVst3Audio

 

flags

the flags

 

Returns

TRUE on success, otherwise FALSE

Since: 3.10.5


ags_fx_vst3_audio_set_flags ()

void
ags_fx_vst3_audio_set_flags (AgsFxVst3Audio *fx_vst3_audio,
                             guint flags);

Set flags of fx_vst3_audio .

Parameters

fx_vst3_audio

the AgsFxVst3Audio

 

flags

the flags

 

Since: 3.10.5


ags_fx_vst3_audio_unset_flags ()

void
ags_fx_vst3_audio_unset_flags (AgsFxVst3Audio *fx_vst3_audio,
                               guint flags);

Unset flags of fx_vst3_audio .

Parameters

fx_vst3_audio

the AgsFxVst3Audio

 

flags

the flags

 

Since: 3.10.5


ags_fx_vst3_audio_load_plugin ()

void
ags_fx_vst3_audio_load_plugin (AgsFxVst3Audio *fx_vst3_audio);

Load plugin of fx_vst3_audio .

Parameters

fx_vst3_audio

the AgsFxVst3Audio

 

Since: 3.10.5


ags_fx_vst3_audio_load_port ()

void
ags_fx_vst3_audio_load_port (AgsFxVst3Audio *fx_vst3_audio);

Load port of fx_vst3_audio .

Parameters

fx_vst3_audio

the AgsFxVst3Audio

 

Since: 3.10.5


ags_fx_vst3_audio_change_program ()

void
ags_fx_vst3_audio_change_program (AgsFxVst3Audio *fx_vst3_audio,
                                  guint port_index,
                                  guint program_list_id,
                                  guint program_index);

Change program of fx_vst3_audio .

Parameters

fx_vst3_audio

the AgsFxVst3Audio

 

port_index

the port index

 

program_list_id

the program list id

 

program_index

the program index

 

Since: 3.10.10


ags_fx_vst3_audio_new ()

AgsFxVst3Audio *
ags_fx_vst3_audio_new (AgsAudio *audio);

Create a new instance of AgsFxVst3Audio

Parameters

audio

the AgsAudio

 

Returns

the new AgsFxVst3Audio

Since: 3.10.5

Types and Values

AGS_FX_VST3_AUDIO_DEFAULT_MIDI_LENGHT

#define AGS_FX_VST3_AUDIO_DEFAULT_MIDI_LENGHT (8 * 256)

enum AgsFxVst3AudioFlags

Members

AGS_FX_VST3_AUDIO_LIVE_INSTRUMENT

   

struct AgsFxVst3AudioScopeData

struct AgsFxVst3AudioScopeData {
  GRecMutex strct_mutex;

  gpointer parent;

  guint audio_channels;

  AgsFxVst3AudioChannelData **channel_data;
};

struct AgsFxVst3AudioChannelData

struct AgsFxVst3AudioChannelData {
  GRecMutex strct_mutex;

  gpointer parent;

  guint event_count;

  float *output;
  float *input;

  AgsVstIComponent *icomponent;
  AgsVstIEditController *iedit_controller;
  AgsVstIAudioProcessor *iaudio_processor;

  AgsVstProcessData *process_data;
  AgsVstIEventList *input_event;

  AgsFxVst3AudioInputData* input_data[AGS_SEQUENCER_MAX_MIDI_KEYS];
};

struct AgsFxVst3AudioInputData

struct AgsFxVst3AudioInputData {
  GRecMutex strct_mutex;

  gpointer parent;

  float *output;
  float *input;

  AgsVstIComponent *icomponent;
  AgsVstIEditController *iedit_controller;
  AgsVstIAudioProcessor *iaudio_processor;

  AgsVstProcessData *process_data;
  AgsVstIEventList *input_event;

  snd_seq_event_t *event_buffer;
  guint key_on;
};