AgsLv2Plugin

AgsLv2Plugin — The lv2 plugin class

Functions

Properties

AgsTurtle * manifest Read / Write
gchar * pname Read / Write
AgsTurtle * turtle Read / Write
gchar * ui-uri Read / Write
gchar * uri Read / Write

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── AgsBasePlugin
        ╰── AgsLv2Plugin

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_event_buffer_alloc ()

LV2_Event_Buffer *
ags_lv2_plugin_event_buffer_alloc (guint buffer_size);

ags_lv2_plugin_event_buffer_alloc is deprecated and should not be used in newly-written code.

Allocate LV2_Event_Buffer struct.

Parameters

buffer_size

the data's buffer size

 

Returns

a new allocated LV2_Event_Buffer

Since: 1.0.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

 

buffer_size

the data's buffer size

 

Since: 1.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

 

...

NULL terminated variadict arguments

 

Returns

The newly allocated event buffer

Since: 1.0.0


ags_lv2_plugin_event_buffer_append_midi ()

gboolean
ags_lv2_plugin_event_buffer_append_midi
                               (void *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

 

event_count

the number of events to write

 

Returns

TRUE on success otherwise FALSE

Since: 1.0.0


ags_lv2_plugin_event_buffer_remove_midi ()

gboolean
ags_lv2_plugin_event_buffer_remove_midi
                               (void *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: 1.0.0


ags_lv2_plugin_clear_event_buffer ()

void
ags_lv2_plugin_clear_event_buffer (void *event_buffer,
                                   guint buffer_size);

Clear the event buffer.

Parameters

event_buffer

the event buffer

 

buffer_size

size of event_buffer

 

Since: 1.0.0


ags_lv2_plugin_alloc_atom_sequence ()

void *
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: 1.0.0


ags_lv2_plugin_concat_atom_sequence ()

void *
ags_lv2_plugin_concat_atom_sequence (void *sequence,
                                     guint sequence_size,
                                     ...);

ags_lv2_plugin_atom_sequence_append_midi ()

gboolean
ags_lv2_plugin_atom_sequence_append_midi
                               (void *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

 

event_count

the number of events to write

 

Returns

TRUE on success otherwise FALSE

Since: 1.0.0


ags_lv2_plugin_atom_sequence_remove_midi ()

gboolean
ags_lv2_plugin_atom_sequence_remove_midi
                               (void *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: 1.0.0


ags_lv2_plugin_clear_atom_sequence ()

void
ags_lv2_plugin_clear_atom_sequence (void *atom_sequence,
                                    guint sequence_size);

Clear the atom sequence.

Parameters

atom_sequence

the atom sequence

 

sequence_size

size of atom_sequence

 

Since: 1.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

 

pname

the pname to find

 

Returns

the matching GList containing AgsLv2Plugin

Since: 1.0.0.8


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: 1.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 turtle

 

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: 1.0.0


AGS_IS_LV2_PLUGIN()

#define AGS_IS_LV2_PLUGIN(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AGS_TYPE_LV2_PLUGIN))

AGS_LV2_PLUGIN()

#define AGS_LV2_PLUGIN(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_LV2_PLUGIN, AgsLv2Plugin))

AGS_LV2_PLUGIN_CLASS()

#define AGS_LV2_PLUGIN_CLASS(class)        (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_LV2_PLUGIN, AgsLv2PluginClass))

AGS_LV2_PLUGIN_GET_CLASS()

#define AGS_LV2_PLUGIN_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS ((obj), AGS_TYPE_LV2_PLUGIN, AgsLv2PluginClass))

ags_lv2_plugin_get_type ()

GType
ags_lv2_plugin_get_type (void);

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

 

AGS_TYPE_LV2_PLUGIN

#define AGS_TYPE_LV2_PLUGIN                (ags_lv2_plugin_get_type())

struct AgsLv2Plugin

struct AgsLv2Plugin;

struct AgsLv2PluginClass

struct AgsLv2PluginClass {
  AgsBasePluginClass base_plugin;

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

Property Details

The “manifest” property

  “manifest”                 AgsTurtle *

The assigned manifest.

Flags: Read / Write

Since: 1.0.0


The “pname” property

  “pname”                    gchar *

The assigned pname.

Flags: Read / Write

Default value: NULL

Since: 1.0.0


The “turtle” property

  “turtle”                   AgsTurtle *

The assigned turtle.

Flags: Read / Write

Since: 1.0.0


The “ui-uri” property

  “ui-uri”                   gchar *

The assigned ui-uri.

Flags: Read / Write

Default value: NULL

Since: 1.0.0


The “uri” property

  “uri”                      gchar *

The assigned uri.

Flags: Read / Write

Default value: NULL

Since: 1.0.0

Signal Details

The “change-program” signal

void
user_function (AgsLv2Plugin *lv2_plugin,
               gpointer      lv2_handle,
               guint         bank,
               guint         program,
               gpointer      user_data)

The ::change-program signal creates a new instance of plugin.

Parameters

lv2_plugin

the plugin to change-program

 

lv2_handle

the Lv2 handle

 

bank

the bank number

 

program

the program number

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 1.0.0