IpatchDLS2Conn

IpatchDLS2Conn — DLS version 2 connection structures and functions

Stability Level

Stable, unless otherwise indicated

Functions

Types and Values

Object Hierarchy

    GBoxed
    ╰── IpatchDLS2Conn

Description

Defines structures and functions used for DLS version 2 instrument parameters (called connections in DLS terminology).

Functions

IPATCH_DLS2_CONN_ARE_IDENTICAL()

#define             IPATCH_DLS2_CONN_ARE_IDENTICAL(a, b)

ipatch_dls2_conn_new ()

IpatchDLS2Conn *
ipatch_dls2_conn_new (void);

Create a new connection

[skip]

Returns

New connection


ipatch_dls2_conn_free ()

void
ipatch_dls2_conn_free (IpatchDLS2Conn *conn);

Free an IpatchDLS2Conn structure

[skip]

Parameters

conn

Connection to free, should not be referenced by any zones.

 

ipatch_dls2_conn_duplicate ()

IpatchDLS2Conn *
ipatch_dls2_conn_duplicate (const IpatchDLS2Conn *conn);

Duplicate a connection

[skip]

Parameters

conn

DLS connection to duplicate

 

Returns

New duplicate connection


ipatch_dls2_conn_list_set ()

void
ipatch_dls2_conn_list_set (GSList **list,
                           const IpatchDLS2Conn *conn);

Set a connection in a connection list. The connection list is searched for any existing identical connection (same source, control and destination). If an identical connection is found, its values are overwritten with the new values, otherwise a new connection is added to the list and the values copied to it.

Parameters

list

Pointer to the root pointer of a connection list.

[element-type IpatchDLS2Conn][transfer none]

conn

DLS connection to set in list

 

ipatch_dls2_conn_list_unset ()

void
ipatch_dls2_conn_list_unset (GSList **list,
                             const IpatchDLS2Conn *conn);

Remove a connection from a connection list. The connection list is searched for an identical connection to conn (same source, control and destination). If a match is found, it is removed, otherwise nothing. This essentially sets a connection to its default value, for those connections which are defined.

Parameters

list

Pointer to the root pointer of a connection list.

[element-type IpatchDLS2Conn][transfer none]

conn

DLS connection to remove from list

 

ipatch_dls2_conn_list_duplicate ()

GSList *
ipatch_dls2_conn_list_duplicate (const GSList *list);

Duplicates a connection list (GSList and connection data).

Parameters

list

GSList of IpatchDLS2Conn structures to duplicate.

[element-type IpatchDLS2Conn][transfer none]

Returns

New duplicate connection list which should be freed with ipatch_dls2_conn_list_free() when finished with it.

[element-type IpatchDLS2Conn][transfer full]


ipatch_dls2_conn_list_duplicate_fast ()

GSList *
ipatch_dls2_conn_list_duplicate_fast (const GSList *list);

Like ipatch_dls2_conn_list_duplicate() but optimized for speed, new list is backwards from original.

[skip]

Parameters

list

GSList of IpatchDLS2Conn structures to duplicate.

[element-type IpatchDLS2Conn]

Returns

New duplicate connection list which should be freed with ipatch_dls2_conn_list_free() when finished with it.

[element-type IpatchDLS2Conn][transfer full]


ipatch_dls2_conn_list_free ()

void
ipatch_dls2_conn_list_free (GSList *list,
                            gboolean free_conns);

Free a list of connections

[skip]

Parameters

list

GSList of IpatchDLS2Conn structures to free.

[element-type IpatchDLS2Conn]

free_conns

If TRUE then the connections themselves are freed, FALSE makes this function act just like g_slist_free() (only the list is freed not the connections).

 

Types and Values

struct IpatchDLS2ConnInfo

struct IpatchDLS2ConnInfo {
    guint16 type;			/* IpatchDLS2ConnDestType */
    gint32 min;			/* minimum value allowed */
    gint32 max;			/* maximum value allowed */
    gint32 def;			/* default value */
    int unit;			/* #IpatchUnitType type */
    char *label;			/* short descriptive label */
    char *descr;			/* more complete description */
};

enum IpatchDLS2ConnSrcType

Members

IPATCH_DLS2_CONN_SRC_NONE

   

IPATCH_DLS2_CONN_SRC_LFO

   

IPATCH_DLS2_CONN_SRC_VELOCITY

   

IPATCH_DLS2_CONN_SRC_NOTE

   

IPATCH_DLS2_CONN_SRC_EG1

   

IPATCH_DLS2_CONN_SRC_EG2

   

IPATCH_DLS2_CONN_SRC_PITCH_WHEEL

   

IPATCH_DLS2_CONN_SRC_POLY_PRESSURE

   

IPATCH_DLS2_CONN_SRC_CHANNEL_PRESSURE

   

IPATCH_DLS2_CONN_SRC_VIBRATO

   

IPATCH_DLS2_CONN_SRC_CC1

   

IPATCH_DLS2_CONN_SRC_CC7

   

IPATCH_DLS2_CONN_SRC_CC10

   

IPATCH_DLS2_CONN_SRC_CC11

   

IPATCH_DLS2_CONN_SRC_CC91

   

IPATCH_DLS2_CONN_SRC_CC93

   

IPATCH_DLS2_CONN_SRC_RPN0

   

IPATCH_DLS2_CONN_SRC_RPN1

   

IPATCH_DLS2_CONN_SRC_RPN2

   

enum IpatchDLS2ConnDestType

Members

IPATCH_DLS2_CONN_DEST_NONE

   

IPATCH_DLS2_CONN_DEST_GAIN

   

IPATCH_DLS2_CONN_DEST_RESERVED

   

IPATCH_DLS2_CONN_DEST_PITCH

   

IPATCH_DLS2_CONN_DEST_PAN

   

IPATCH_DLS2_CONN_DEST_NOTE

   

IPATCH_DLS2_CONN_DEST_LEFT

   

IPATCH_DLS2_CONN_DEST_RIGHT

   

IPATCH_DLS2_CONN_DEST_CENTER

   

IPATCH_DLS2_CONN_DEST_LFE_CHANNEL

   

IPATCH_DLS2_CONN_DEST_LEFT_REAR

   

IPATCH_DLS2_CONN_DEST_RIGHT_REAR

   

IPATCH_DLS2_CONN_DEST_CHORUS

   

IPATCH_DLS2_CONN_DEST_REVERB

   

IPATCH_DLS2_CONN_DEST_LFO_FREQ

   

IPATCH_DLS2_CONN_DEST_LFO_DELAY

   

IPATCH_DLS2_CONN_DEST_VIB_FREQ

   

IPATCH_DLS2_CONN_DEST_VIB_DELAY

   

IPATCH_DLS2_CONN_DEST_EG1_ATTACK

   

IPATCH_DLS2_CONN_DEST_EG1_DECAY

   

IPATCH_DLS2_CONN_DEST_EG1_RESERVED

   

IPATCH_DLS2_CONN_DEST_EG1_RELEASE

   

IPATCH_DLS2_CONN_DEST_EG1_SUSTAIN

   

IPATCH_DLS2_CONN_DEST_EG1_DELAY

   

IPATCH_DLS2_CONN_DEST_EG1_HOLD

   

IPATCH_DLS2_CONN_DEST_EG1_SHUTDOWN

   

IPATCH_DLS2_CONN_DEST_EG2_ATTACK

   

IPATCH_DLS2_CONN_DEST_EG2_DECAY

   

IPATCH_DLS2_CONN_DEST_EG2_RESERVED

   

IPATCH_DLS2_CONN_DEST_EG2_RELEASE

   

IPATCH_DLS2_CONN_DEST_EG2_SUSTAIN

   

IPATCH_DLS2_CONN_DEST_EG2_DELAY

   

IPATCH_DLS2_CONN_DEST_EG2_HOLD

   

IPATCH_DLS2_CONN_DEST_FILTER_CUTOFF

   

IPATCH_DLS2_CONN_DEST_FILTER_Q

   

IPATCH_DLS2_CONN_OUTPUT_TRANS_NONE

#define IPATCH_DLS2_CONN_OUTPUT_TRANS_NONE 0

enum IpatchDLS2ConnTransformType

Members

IPATCH_DLS2_CONN_TRANS_LINEAR

   

IPATCH_DLS2_CONN_TRANS_CONCAVE

   

IPATCH_DLS2_CONN_TRANS_CONVEX

   

IPATCH_DLS2_CONN_TRANS_SWITCH

   

enum IpatchDLS2ConnPolarityType

Members

IPATCH_DLS2_CONN_POLARITY_UNI

   

IPATCH_DLS2_CONN_POLARITY_BI

   

enum IpatchDLS2ConnTransformMasks

Members

IPATCH_DLS2_CONN_MASK_OUTPUT_TRANS

   

IPATCH_DLS2_CONN_MASK_CTRLSRC_TRANS

   

IPATCH_DLS2_CONN_MASK_CTRLSRC_POLARITY

   

IPATCH_DLS2_CONN_MASK_CTRLSRC_INVERT

   

IPATCH_DLS2_CONN_MASK_SRC_TRANS

   

IPATCH_DLS2_CONN_MASK_SRC_POLARITY

   

IPATCH_DLS2_CONN_MASK_SRC_INVERT

   

enum IpatchDLS2ConnTransformShifts

Members

IPATCH_DLS2_CONN_SHIFT_OUTPUT_TRANS

   

IPATCH_DLS2_CONN_SHIFT_CTRLSRC_TRANS

   

IPATCH_DLS2_CONN_SHIFT_CTRLSRC_POLARITY

   

IPATCH_DLS2_CONN_SHIFT_CTRLSRC_INVERT

   

IPATCH_DLS2_CONN_SHIFT_SRC_TRANS

   

IPATCH_DLS2_CONN_SHIFT_SRC_POLARITY

   

IPATCH_DLS2_CONN_SHIFT_SRC_INVERT