| libinstpatch Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
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 (IpatchItem *item, guint32 fourcc, const GValue *new_value, const GValue *old_value); IpatchDLS2InfoBag * ipatch_dls2_info_bag_new (void); void ipatch_dls2_info_bag_free (IpatchDLS2InfoBag *bag);
Structure and functions used for storing DLS informational properties at many levels of the format.
typedef struct {
guint32 fourcc; /* FOURCC int ID */
char *value; /* info string value */
} IpatchDLS2InfoBag;
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;
char * ipatch_dls2_info_get (IpatchDLS2Info *info, guint32 fourcc);
Gets the value of the info specified by the fourcc ID from an info list.
|
DLS2 info list |
|
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.
|
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.
|
DLS2 info list |
|
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.
|
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.
|
DLS2 info list |
|
FOURCC info ID |
|
String value to set info to or NULL to unset
|
void ipatch_dls2_info_free (IpatchDLS2Info *info);
Free a DLS info list.
|
DLS2 info list |
IpatchDLS2Info * ipatch_dls2_info_duplicate (IpatchDLS2Info *info);
Duplicate a DLS2 info list.
|
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.
|
gboolean ipatch_dls2_info_is_defined (guint32 fourcc);
Checks if a FOURCC INFO id is a defined INFO id.
|
FOURCC INFO id to check if defined |
Returns : |
TRUE if fourcc INFO id is defined, FALSE otherwise
|
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.
|
GObjectClass to install INFO properties on |
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.
|
Pointer to a list of IpatchDLS2Info structures |
|
FOURCC INFO property id to set value of |
|
A string GValue to set INFO value to |
Returns : |
TRUE if property_id is a valid INFO id, FALSE otherwise
|
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.
|
A list of IpatchDLS2Info structures |
|
FOURCC INFO property id to get value of |
|
A string GValue to store the value of the info to |
Returns : |
TRUE if property_id is a valid INFO id, FALSE otherwise
|
void ipatch_dls2_info_notify (IpatchItem *item, guint32 fourcc, const GValue *new_value, const GValue *old_value);
Notify a changed INFO property on item for the given fourcc ID.
A convenience function to objects that implement a IpatchDLS2Info list.
|
Item with INFO properties to notify property change on |
|
FOURCC property ID of info that has changed |
|
New value assigned to the property |
|
Old value of property |
IpatchDLS2InfoBag * ipatch_dls2_info_bag_new (void);
Create a new DLS info bag structure.
Returns : |
Newly allocated info bag. |
void ipatch_dls2_info_bag_free (IpatchDLS2InfoBag *bag);
Free a DLS info bag allocated with ipatch_dls2_info_bag_new().
|
Info bag structure to free |