IpatchDLS2Info

IpatchDLS2Info — DLS info lists.

Synopsis




typedef             IpatchDLS2Info;
                    IpatchDLS2InfoBag;
enum                IpatchDLS2InfoType;
char*               ipatch_dls2_info_get                (IpatchDLS2Info *info,
                                                         guint32 fourcc);
const char*         ipatch_dls2_info_peek               (IpatchDLS2Info *info,
                                                         guint32 fourcc);
void                ipatch_dls2_info_set                (IpatchDLS2Info **info,
                                                         guint32 fourcc,
                                                         const char *value);
void                ipatch_dls2_info_free               (IpatchDLS2Info *info);
IpatchDLS2Info*     ipatch_dls2_info_duplicate          (IpatchDLS2Info *info);
gboolean            ipatch_dls2_info_is_defined         (guint32 fourcc);
void                ipatch_dls2_info_install_class_properties
                                                        (GObjectClass *obj_class);
gboolean            ipatch_dls2_info_set_property       (IpatchDLS2Info **info_list,
                                                         guint property_id,
                                                         const GValue *value);
gboolean            ipatch_dls2_info_get_property       (IpatchDLS2Info *info_list,
                                                         guint property_id,
                                                         GValue *value);
void                ipatch_dls2_info_notify             (GObject *object,
                                                         guint32 fourcc);
IpatchDLS2InfoBag*  ipatch_dls2_info_bag_new            (void);
void                ipatch_dls2_info_bag_free           (IpatchDLS2InfoBag *bag);

Description

A list of info string values used in many objects in a DLS patch.

Details

IpatchDLS2Info

typedef GSList IpatchDLS2Info;

A list of IpatchDLS2InfoBag structures.


IpatchDLS2InfoBag

typedef struct {
  guint32 fourcc;		/* FOURCC int ID */
  char *value;			/* info string value */
} IpatchDLS2InfoBag;

Defines a DLS info value.

guint32 fourcc; Four character RIFF chunk code identifying the INFO type.
char *value; String value of the info parameter.

enum IpatchDLS2InfoType

typedef enum
{
  IPATCH_DLS2_ARCHIVE_LOCATION = IPATCH_DLS_FOURCC_IARL,
  IPATCH_DLS2_ARTIST           = IPATCH_DLS_FOURCC_IART,
  IPATCH_DLS2_COMMISSIONED     = IPATCH_DLS_FOURCC_ICMS,
  IPATCH_DLS2_COMMENT          = IPATCH_DLS_FOURCC_ICMT,
  IPATCH_DLS2_COPYRIGHT        = IPATCH_DLS_FOURCC_ICOP,
  IPATCH_DLS2_DATE             = IPATCH_DLS_FOURCC_ICRD,
  IPATCH_DLS2_ENGINEER         = IPATCH_DLS_FOURCC_IENG,
  IPATCH_DLS2_GENRE            = IPATCH_DLS_FOURCC_IGNR,
  IPATCH_DLS2_KEYWORDS         = IPATCH_DLS_FOURCC_IKEY,
  IPATCH_DLS2_MEDIUM           = IPATCH_DLS_FOURCC_IMED,
  IPATCH_DLS2_NAME             = IPATCH_DLS_FOURCC_INAM,
  IPATCH_DLS2_PRODUCT          = IPATCH_DLS_FOURCC_IPRD,
  IPATCH_DLS2_SUBJECT          = IPATCH_DLS_FOURCC_ISBJ,
  IPATCH_DLS2_SOFTWARE         = IPATCH_DLS_FOURCC_ISFT,
  IPATCH_DLS2_SOURCE           = IPATCH_DLS_FOURCC_ISRC,
  IPATCH_DLS2_SOURCE_FORM      = IPATCH_DLS_FOURCC_ISRF,
  IPATCH_DLS2_TECHNICIAN       = IPATCH_DLS_FOURCC_ITCH
} IpatchDLS2InfoType;


ipatch_dls2_info_get ()

char*               ipatch_dls2_info_get                (IpatchDLS2Info *info,
                                                         guint32 fourcc);

Gets the value of the info specified by the fourcc ID from an info list.

info : DLS2 info list
fourcc : FOURCC info ID
Returns : Newly allocated info string value or NULL if the specified info is not set. Should be freed when no longer needed.

ipatch_dls2_info_peek ()

const char*         ipatch_dls2_info_peek               (IpatchDLS2Info *info,
                                                         guint32 fourcc);

Gets the value of the info specified by the fourcc ID from an info list. Like ipatch_dls2_info_get but returns the string value without duplicating it.

info : DLS2 info list
fourcc : FOURCC info ID
Returns : Info string value or NULL if the specified info is not set. Value is internal and should not be modified or freed.

ipatch_dls2_info_set ()

void                ipatch_dls2_info_set                (IpatchDLS2Info **info,
                                                         guint32 fourcc,
                                                         const char *value);

Sets the info specified by the fourcc ID in an info list to a string value.

info : DLS2 info list
fourcc : FOURCC info ID
value : String value to set info to or NULL to unset

ipatch_dls2_info_free ()

void                ipatch_dls2_info_free               (IpatchDLS2Info *info);

Free a DLS info list.

info : DLS2 info list

ipatch_dls2_info_duplicate ()

IpatchDLS2Info*     ipatch_dls2_info_duplicate          (IpatchDLS2Info *info);

Duplicate a DLS2 info list.

info : DLS2 info list to duplicate
Returns : Newly created info list or NULL if info was NULL. Free it with ipatch_dls2_info_free() when finished with it.

ipatch_dls2_info_is_defined ()

gboolean            ipatch_dls2_info_is_defined         (guint32 fourcc);

Checks if a FOURCC INFO id is a defined INFO id.

fourcc : FOURCC INFO id to check if defined
Returns : TRUE if fourcc INFO id is defined, FALSE otherwise

ipatch_dls2_info_install_class_properties ()

void                ipatch_dls2_info_install_class_properties
                                                        (GObjectClass *obj_class);

Installs INFO properties for the supplied obj_class. Used for class construction of objects implementing IpatchDLS2InfoType properties.

obj_class : GObjectClass to install INFO properties on

ipatch_dls2_info_set_property ()

gboolean            ipatch_dls2_info_set_property       (IpatchDLS2Info **info_list,
                                                         guint property_id,
                                                         const GValue *value);

A function used by object set_property methods that implement a IpatchDLS2Info list to set an INFO property.

info_list : Pointer to a list of IpatchDLS2Info structures
property_id : FOURCC INFO property id to set value of
value : A string GValue to set INFO value to
Returns : TRUE if property_id is a valid INFO id, FALSE otherwise

ipatch_dls2_info_get_property ()

gboolean            ipatch_dls2_info_get_property       (IpatchDLS2Info *info_list,
                                                         guint property_id,
                                                         GValue *value);

A function used by object set_property methods that implement a IpatchDLS2Info list to get an INFO property.

info_list : A list of IpatchDLS2Info structures
property_id : FOURCC INFO property id to get value of
value : A string GValue to store the value of the info to
Returns : TRUE if property_id is a valid INFO id, FALSE otherwise

ipatch_dls2_info_notify ()

void                ipatch_dls2_info_notify             (GObject *object,
                                                         guint32 fourcc);

Notify a changed INFO property on object for the given fourcc ID. Used by objects that implement a IpatchDLS2Info list.

object : Object with INFO properties to notify property change on
fourcc : FOURCC of INFO id that has changed

ipatch_dls2_info_bag_new ()

IpatchDLS2InfoBag*  ipatch_dls2_info_bag_new            (void);

Create a new DLS info bag structure.

Returns : Newly allocated info bag.

ipatch_dls2_info_bag_free ()

void                ipatch_dls2_info_bag_free           (IpatchDLS2InfoBag *bag);

Free a DLS info bag allocated with ipatch_dls2_info_bag_new().

bag : Info bag structure to free

See Also

IpatchDLS2, IpatchDLS2Inst, IpatchDLS2Sample, IpatchDLS2Region