IpatchDLS2Inst

IpatchDLS2Inst — DLS instrument object.

Synopsis




                    IpatchDLS2Inst;
                    IpatchDLS2InstClass;
#define             IPATCH_DLS2_INST_BANK_MASK
IpatchDLS2Inst*     ipatch_dls2_inst_new                (void);
#define             ipatch_dls2_inst_get_regions        (inst)
IpatchDLS2Inst*     ipatch_dls2_inst_first              (IpatchIter *iter);
IpatchDLS2Inst*     ipatch_dls2_inst_next               (IpatchIter *iter);
char*               ipatch_dls2_inst_get_info           (IpatchDLS2Inst *inst,
                                                         guint32 fourcc);
void                ipatch_dls2_inst_set_info           (IpatchDLS2Inst *inst,
                                                         guint32 fourcc,
                                                         const char *val);
void                ipatch_dls2_inst_set_midi_locale    (IpatchDLS2Inst *inst,
                                                         int bank,
                                                         int program);
void                ipatch_dls2_inst_get_midi_locale    (IpatchDLS2Inst *inst,
                                                         int *bank,
                                                         int *program);
int                 ipatch_dls2_inst_compare            (const IpatchDLS2Inst *p1,
                                                         const IpatchDLS2Inst *p2);
GSList*             ipatch_dls2_inst_get_conns          (IpatchDLS2Inst *inst);
void                ipatch_dls2_inst_set_conn           (IpatchDLS2Inst *inst,
                                                         const IpatchDLS2Conn *conn);
void                ipatch_dls2_inst_unset_conn         (IpatchDLS2Inst *inst,
                                                         const IpatchDLS2Conn *conn);
void                ipatch_dls2_inst_unset_all_conns    (IpatchDLS2Inst *inst);
guint               ipatch_dls2_inst_conn_count         (IpatchDLS2Inst *inst);

Object Hierarchy


  GObject
   +----IpatchItem
         +----IpatchContainer
               +----IpatchDLS2Inst

Properties


  "archive-location"         gchararray            : Read / Write
  "artist"                   gchararray            : Read / Write
  "bank"                     gint                  : Read / Write
  "comment"                  gchararray            : Read / Write
  "commissioned"             gchararray            : Read / Write
  "copyright"                gchararray            : Read / Write
  "date"                     gchararray            : Read / Write
  "engineer"                 gchararray            : Read / Write
  "genre"                    gchararray            : Read / Write
  "keywords"                 gchararray            : Read / Write
  "medium"                   gchararray            : Read / Write
  "name"                     gchararray            : Read / Write
  "percussion"               gboolean              : Read / Write
  "product"                  gchararray            : Read / Write
  "program"                  gint                  : Read / Write
  "software"                 gchararray            : Read / Write
  "source"                   gchararray            : Read / Write
  "source-form"              gchararray            : Read / Write
  "subject"                  gchararray            : Read / Write
  "technician"               gchararray            : Read / Write

Description

This object defines a DLS instrument. This object is a container for IpatchDLS2Region objects and also manages the MIDI locale (bank:program numbers) of the instrument (equivalent to IpatchSF2Preset objects in SoundFont patches).

Details

IpatchDLS2Inst

typedef struct _IpatchDLS2Inst IpatchDLS2Inst;


IpatchDLS2InstClass

typedef struct {
  IpatchContainerClass parent_class;
} IpatchDLS2InstClass;


IPATCH_DLS2_INST_BANK_MASK

#define IPATCH_DLS2_INST_BANK_MASK  0x3FFF

Mask for the bank number of the bank field (IPATCH_DLS2_INST_BANK_PERCUSSION bit is also in this field).


ipatch_dls2_inst_new ()

IpatchDLS2Inst*     ipatch_dls2_inst_new                (void);

Create a new DLS instrument object.

Returns : New DLS instrument with a reference count of 1. Caller owns the reference and removing it will destroy the item, unless another reference is added (if its parented for example).

ipatch_dls2_inst_get_regions()

#define             ipatch_dls2_inst_get_regions(inst)

Get a DLS instrument's regions.

inst : DLS instrument object
Returns : Iterator populated with the instrument's regions.

ipatch_dls2_inst_first ()

IpatchDLS2Inst*     ipatch_dls2_inst_first              (IpatchIter *iter);

Gets the first item in an instrument iterator. A convenience wrapper for ipatch_iter_first().

iter : Patch item iterator containing IpatchDLS2Inst items
Returns : The first instrument in iter or NULL if empty.

ipatch_dls2_inst_next ()

IpatchDLS2Inst*     ipatch_dls2_inst_next               (IpatchIter *iter);

Gets the next item in an instrument iterator. A convenience wrapper for ipatch_iter_next().

iter : Patch item iterator containing IpatchDLS2Inst items
Returns : The next instrument in iter or NULL if at the end of the list.

ipatch_dls2_inst_get_info ()

char*               ipatch_dls2_inst_get_info           (IpatchDLS2Inst *inst,
                                                         guint32 fourcc);

Get a DLS instrument info string by FOURCC integer ID (integer representation of a 4 character RIFF chunk ID, see IpatchRiffParser).

inst : DLS instrument to get info from
fourcc : FOURCC integer id of INFO to get
Returns : New allocated info string value or NULL if no info with the given fourcc ID. String should be freed when finished with it.

ipatch_dls2_inst_set_info ()

void                ipatch_dls2_inst_set_info           (IpatchDLS2Inst *inst,
                                                         guint32 fourcc,
                                                         const char *val);

Sets an INFO value in a DLS instrument object. Emits changed signal.

inst : DLS instrument to set info of
fourcc : FOURCC integer ID of INFO to set
val : Value to set info to or NULL to unset (clear) info.

ipatch_dls2_inst_set_midi_locale ()

void                ipatch_dls2_inst_set_midi_locale    (IpatchDLS2Inst *inst,
                                                         int bank,
                                                         int program);

Sets the MIDI locale of a DLS instrument (bank and program numbers).

inst : DLS instrument to set MIDI locale of
bank : MIDI bank number to assign to instrument
program : MIDI program number to assign to instrument

ipatch_dls2_inst_get_midi_locale ()

void                ipatch_dls2_inst_get_midi_locale    (IpatchDLS2Inst *inst,
                                                         int *bank,
                                                         int *program);

Gets the MIDI locale of a DLS instrument (bank and program numbers).

inst : Instrument to get MIDI locale from
bank : Location to store instrument's MIDI bank number or NULL
program : Location to store instrument's MIDI program number or NULL

ipatch_dls2_inst_compare ()

int                 ipatch_dls2_inst_compare            (const IpatchDLS2Inst *p1,
                                                         const IpatchDLS2Inst *p2);

Instrument comparison function for sorting. Compare two instruments by their MIDI bank:program numbers. Note that this function is compatible with GCompareFunc and can therefore be used with g_list_sort, etc.

FIXME: Also note that percussion instruments are sorted after regular ones.

p1 : First instrument in comparison
p2 : Second instrument in comparison
Returns : Comparison result that is less than, equal to, or greater than zero if p1 is found, respectively, to be less than, to match, or be greater than p2.

ipatch_dls2_inst_get_conns ()

GSList*             ipatch_dls2_inst_get_conns          (IpatchDLS2Inst *inst);

Gets a list of connections from a DLS instrument. List should be freed with ipatch_dls2_conn_list_free() (free_conns set to TRUE) when finished with it.

inst : Instrument to get connections from
Returns : New list of connections (IpatchDLS2Conn) in inst or NULL if no connections. Remember to free it when finished.

ipatch_dls2_inst_set_conn ()

void                ipatch_dls2_inst_set_conn           (IpatchDLS2Inst *inst,
                                                         const IpatchDLS2Conn *conn);

Set a global DLS connection in an instrument. See ipatch_dls2_conn_list_set() for more details.

inst : DLS instrument
conn : Connection

ipatch_dls2_inst_unset_conn ()

void                ipatch_dls2_inst_unset_conn         (IpatchDLS2Inst *inst,
                                                         const IpatchDLS2Conn *conn);

Remove a global DLS connection from an instrument. See ipatch_dls2_conn_list_unset() for more details.

inst : DLS instrument
conn : Connection

ipatch_dls2_inst_unset_all_conns ()

void                ipatch_dls2_inst_unset_all_conns    (IpatchDLS2Inst *inst);

Remove all global connections in an instrument.

inst : DLS instrument

ipatch_dls2_inst_conn_count ()

guint               ipatch_dls2_inst_conn_count         (IpatchDLS2Inst *inst);

Count number of connections in a instrument

inst : Instrument to count connections in
Returns : Count of connections

Property Details

The "archive-location" property

  "archive-location"         gchararray            : Read / Write

Location of archived material.

Default value: NULL


The "artist" property

  "artist"                   gchararray            : Read / Write

Artist of the original subject material.

Default value: NULL


The "bank" property

  "bank"                     gint                  : Read / Write

MIDI bank number consisting of the MIDI locale bank and the IPATCH_DLS2_INST_BANK_PERCUSSION flag.

Allowed values: [0,16383]

Default value: 0


The "comment" property

  "comment"                  gchararray            : Read / Write

A comment.

Default value: NULL


The "commissioned" property

  "commissioned"             gchararray            : Read / Write

Person or organization who commissioned the material.

Default value: NULL


The "copyright" property

  "copyright"                gchararray            : Read / Write

Copyright information.

Default value: NULL


The "date" property

  "date"                     gchararray            : Read / Write

Creation date in YYYY-MM-DD format.

Default value: NULL


The "engineer" property

  "engineer"                 gchararray            : Read / Write

Name of the engineer who worked on material (if multiple engineers separate with semicolon and a blank).

Default value: NULL


The "genre" property

  "genre"                    gchararray            : Read / Write

Describes the genre of the original work such as electro industrial, gothic, instrumental surf, psycho-billy, EBM, rock, etc.

Default value: NULL


The "keywords" property

  "keywords"                 gchararray            : Read / Write

Keywords that refere to the material. Multiple keywords separated by a semicolon and a blank (example: FX; barnyard; animal).

Default value: NULL


The "medium" property

  "medium"                   gchararray            : Read / Write

Describes the original medium of the material, such as, CD, MP3, etc.

Default value: NULL


The "name" property

  "name"                     gchararray            : Read / Write

Stores the title of the material.

Default value: "untitled"


The "percussion" property

  "percussion"               gboolean              : Read / Write

Percussion instrument?.

Default value: FALSE


The "product" property

  "product"                  gchararray            : Read / Write

The name of the product the material is intended for.

Default value: NULL


The "program" property

  "program"                  gint                  : Read / Write

MIDI locale program number.

Allowed values: [0,127]

Default value: 0


The "software" property

  "software"                 gchararray            : Read / Write

Identifies the software used to create the material.

Default value: NULL


The "source" property

  "source"                   gchararray            : Read / Write

Identifies the name of the person or organization who supplied the original material.

Default value: NULL


The "source-form" property

  "source-form"              gchararray            : Read / Write

The original form of the material that was digitally sampled. Not necessarily the same as "medium".

Default value: NULL


The "subject" property

  "subject"                  gchararray            : Read / Write

Defines the subject of the material such as "Music to milk by".

Default value: NULL


The "technician" property

  "technician"               gchararray            : Read / Write

The technician who sampled the material.

Default value: NULL

See Also

IpatchDLS2Region