AgsLv2Plugin

AgsLv2Plugin — The lv2 plugin class

Stability Level

Stable, unless otherwise indicated

Functions

Types and Values

Includes

#include <ags/plugin/ags_lv2_plugin.h>

Description

The AgsLv2Plugin loads/unloads a Lv2 plugin.

Functions

AGS_LV2_PLUGIN_DESCRIPTOR()

#define AGS_LV2_PLUGIN_DESCRIPTOR(ptr) ((LV2_Descriptor *)(ptr))

AGS_LV2_EVENT_BUFFER()

#define AGS_LV2_EVENT_BUFFER(ptr) ((LV2_Event_Buffer *)(ptr))

AGS_LV2_EVENT()

#define AGS_LV2_EVENT(ptr) ((LV2_Event *)(ptr))

AGS_LV2_EVENT_DATA()

#define AGS_LV2_EVENT_DATA(ptr) ((void *)(ptr + sizeof(LV2_Event)))

AGS_LV2_ATOM_SEQUENCE()

#define AGS_LV2_ATOM_SEQUENCE(ptr) ((LV2_Atom_Sequence *)(ptr))

AGS_LV2_ATOM_EVENT()

#define AGS_LV2_ATOM_EVENT(ptr) ((LV2_Atom_Event *)(ptr))

ags_lv2_plugin_test_flags ()

gboolean
ags_lv2_plugin_test_flags (AgsLv2Plugin *lv2_plugin,
                           guint flags);

Test flags to be set on recall .

Parameters

lv2_plugin

the AgsLv2Plugin

 

flags

the flags

 

Returns

TRUE if flags are set, else FALSE

Since: 3.0.0


ags_lv2_plugin_set_flags ()

void
ags_lv2_plugin_set_flags (AgsLv2Plugin *lv2_plugin,
                          guint flags);

Set flags.

Parameters

lv2_plugin

the AgsLv2Plugin

 

flags

the flags

 

Since: 3.0.0


ags_lv2_plugin_unset_flags ()

void
ags_lv2_plugin_unset_flags (AgsLv2Plugin *lv2_plugin,
                            guint flags);

Unset flags.

Parameters

lv2_plugin

the AgsLv2Plugin

 

flags

the flags

 

Since: 3.0.0


ags_lv2_plugin_event_buffer_alloc ()

LV2_Event_Buffer *
ags_lv2_plugin_event_buffer_alloc (guint buffer_size);

Allocate LV2_Event_Buffer struct.

Parameters

buffer_size

the data's buffer size

 

Returns

a new allocated LV2_Event_Buffer.

[type gpointer][transfer none]

Since: 3.0.0


ags_lv2_plugin_event_buffer_free ()

void
ags_lv2_plugin_event_buffer_free (gpointer event_buffer);

Free LV2_Event_Buffer struct.

Parameters

event_buffer

the LV2_Event_Buffer struct.

[type gpointer][transfer none]

Since: 3.3.0


ags_lv2_plugin_event_buffer_realloc_data ()

void
ags_lv2_plugin_event_buffer_realloc_data
                               (LV2_Event_Buffer *event_buffer,
                                guint buffer_size);

Reallocate LV2_Event_Buffer struct's data field.

Parameters

event_buffer

the LV2_Event_Buffer struct.

[type gpointer][transfer none]

buffer_size

the data's buffer size

 

Since: 3.0.0


ags_lv2_plugin_event_buffer_concat ()

LV2_Event_Buffer *
ags_lv2_plugin_event_buffer_concat (LV2_Event_Buffer *event_buffer,
                                    ...);

Concats the event buffers.

Parameters

event_buffer

the first buffer.

[type gpointer][transfer none]

...

NULL terminated variadict arguments

 

Returns

The newly allocated event buffer.

[type gpointer][transfer none]

Since: 3.0.0


ags_lv2_plugin_event_buffer_append_midi ()

gboolean
ags_lv2_plugin_event_buffer_append_midi
                               (gpointer event_buffer,
                                guint buffer_size,
                                snd_seq_event_t *events,
                                guint event_count);

Append MIDI data to event buffer.

Parameters

event_buffer

the event buffer

 

buffer_size

the event buffer size

 

events

the events to write.

[type gpointer][transfer none]

event_count

the number of events to write

 

Returns

TRUE on success otherwise FALSE

Since: 3.0.0


ags_lv2_plugin_event_buffer_remove_midi ()

gboolean
ags_lv2_plugin_event_buffer_remove_midi
                               (gpointer event_buffer,
                                guint buffer_size,
                                guint note);

Remove MIDI data from event buffer.

Parameters

event_buffer

the event buffer

 

buffer_size

the event buffer size

 

note

the key to remove

 

Returns

TRUE on success otherwise FALSE

Since: 3.0.0


ags_lv2_plugin_clear_event_buffer ()

void
ags_lv2_plugin_clear_event_buffer (gpointer event_buffer,
                                   guint buffer_size);

Clear the event buffer.

Parameters

event_buffer

the event buffer

 

buffer_size

size of event_buffer

 

Since: 3.0.0


ags_lv2_plugin_alloc_atom_sequence ()

gpointer
ags_lv2_plugin_alloc_atom_sequence (guint sequence_size);

Allocates a LV2_Atom_Sequence

Parameters

sequence_size

the requested size

 

Returns

the new atom sequence

Since: 3.0.0


ags_lv2_plugin_atom_sequence_free ()

void
ags_lv2_plugin_atom_sequence_free (gpointer atom_sequence);

Free atom sequence.

Parameters

atom_sequence

the atom sequence

 

Since: 3.3.0


ags_lv2_plugin_atom_sequence_append_midi ()

gboolean
ags_lv2_plugin_atom_sequence_append_midi
                               (gpointer atom_sequence,
                                guint sequence_size,
                                snd_seq_event_t *events,
                                guint event_count);

Append MIDI data to atom sequence.

Parameters

atom_sequence

the atom sequence

 

sequence_size

the atom sequence size

 

events

the events to write.

[type gpointer][transfer none]

event_count

the number of events to write

 

Returns

TRUE on success otherwise FALSE

Since: 3.0.0


ags_lv2_plugin_atom_sequence_remove_midi ()

gboolean
ags_lv2_plugin_atom_sequence_remove_midi
                               (gpointer atom_sequence,
                                guint sequence_size,
                                guint note);

Remove MIDI data from atom sequence.

Parameters

atom_sequence

the atom sequence

 

sequence_size

the atom sequence size

 

note

the key to remove

 

Returns

TRUE on success otherwise FALSE

Since: 3.0.0


ags_lv2_plugin_clear_atom_sequence ()

void
ags_lv2_plugin_clear_atom_sequence (gpointer atom_sequence,
                                    guint sequence_size);

Clear the atom sequence.

Parameters

atom_sequence

the atom sequence

 

sequence_size

size of atom_sequence

 

Since: 3.0.0


ags_lv2_plugin_find_uri ()

GList *
ags_lv2_plugin_find_uri (GList *lv2_plugin,
                         gchar *uri);

Find uri in lv2_plugin GList

Parameters

lv2_plugin

a GList containig AgsLv2Plugin.

[element-type AgsAudio.Lv2Plugin][transfer none]

uri

the uri to find

 

Returns

the matching GList containing AgsLv2Plugin.

[element-type AgsAudio.Lv2Plugin][transfer none]

Since: 3.0.0


ags_lv2_plugin_find_pname ()

GList *
ags_lv2_plugin_find_pname (GList *lv2_plugin,
                           gchar *pname);

Find pname in lv2_plugin GList

Parameters

lv2_plugin

a GList containig AgsLv2Plugin.

[element-type AgsAudio.Lv2Plugin][transfer none]

pname

the pname to find

 

Returns

the matching GList containing AgsLv2Plugin.

[element-type AgsAudio.Lv2Plugin][transfer none]

Since: 3.0.0


ags_lv2_plugin_change_program ()

void
ags_lv2_plugin_change_program (AgsLv2Plugin *lv2_plugin,
                               gpointer lv2_handle,
                               guint bank_index,
                               guint program_index);

Change program of lv2_handle .

Parameters

lv2_plugin

the AgsLv2Plugin

 

lv2_handle

the lv2 handle

 

bank_index

the bank index

 

program_index

the program index

 

Since: 3.0.0


ags_lv2_plugin_new ()

AgsLv2Plugin *
ags_lv2_plugin_new (AgsTurtle *turtle,
                    gchar *filename,
                    gchar *effect,
                    gchar *uri,
                    guint effect_index);

Creates an AgsLv2Plugin

Parameters

turtle

the AgsTurtle

 

filename

the plugin .so

 

effect

the effect's string representation

 

uri

the effect's uri

 

effect_index

the effect's index

 

Returns

a new AgsLv2Plugin

Since: 3.0.0

Types and Values

enum AgsLv2PluginFlags

Enum values to control the behavior or indicate internal state of AgsLv2Plugin by enable/disable as flags.

Members

AGS_LV2_PLUGIN_IS_SYNTHESIZER

plugin is synthesizer

 

AGS_LV2_PLUGIN_NEEDS_WORKER

plugin needs worker

 

AGS_LV2_PLUGIN_HAS_PROGRAM_INTERFACE

plugin has program interface