IpatchVBankRegion

IpatchVBankRegion — Virtual bank instrument region

Stability Level

Stable, unless otherwise indicated

Synopsis

                    IpatchVBankRegion;
enum                IpatchVBankRegionNoteRangeMode;
enum                IpatchVBankRegionRootNoteMode;
IpatchVBankRegion * ipatch_vbank_region_new             (void);
IpatchVBankRegion * ipatch_vbank_region_first           (IpatchIter *iter);
IpatchVBankRegion * ipatch_vbank_region_next            (IpatchIter *iter);
void                ipatch_vbank_region_set_id_props    (IpatchVBankRegion *region,
                                                         char **id_props);
char **             ipatch_vbank_region_get_id_props    (IpatchVBankRegion *region,
                                                         guint *n_elements);

Object Hierarchy

  GObject
   +----IpatchItem
         +----IpatchVBankRegion

Properties

  "file-index"               guint                 : Read
  "id-props"                 GValueArray*          : Read / Write
  "link-item"                IpatchItem*           : Read / Write
  "note-range"               IpatchRange*          : Read / Write
  "note-range-mode"          IpatchVBankRegionNoteRangeMode  : Read / Write
  "root-note"                gint                  : Read / Write
  "root-note-mode"           IpatchVBankRegionRootNoteMode  : Read / Write

Description

Virtual bank regions are children to IpatchVBankInst objects and reference synthesizable IpatchItem objects from other files. This object forms the bases for constructing new instruments from one or more items in other instrument bank files.

Details

IpatchVBankRegion

typedef struct _IpatchVBankRegion IpatchVBankRegion;

enum IpatchVBankRegionNoteRangeMode

typedef enum
{
  IPATCH_VBANK_REGION_NOTE_RANGE_MODE_INTERSECT = 0,
  IPATCH_VBANK_REGION_NOTE_RANGE_MODE_OVERRIDE = 1
} IpatchVBankRegionNoteRangeMode;

enum IpatchVBankRegionRootNoteMode

typedef enum
{
  IPATCH_VBANK_REGION_ROOT_NOTE_MODE_OFFSET = 0,
  IPATCH_VBANK_REGION_ROOT_NOTE_MODE_OVERRIDE = 1
} IpatchVBankRegionRootNoteMode;

ipatch_vbank_region_new ()

IpatchVBankRegion * ipatch_vbank_region_new             (void);

Create a new virtual bank region object.

Returns :

New virtual bank region 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_vbank_region_first ()

IpatchVBankRegion * ipatch_vbank_region_first           (IpatchIter *iter);

Gets the first item in a virtual bank region iterator. A convenience wrapper for ipatch_iter_first().

iter :

Patch item iterator containing IpatchVBankRegion items

Returns :

The first virtual bank region in iter or NULL if empty.

ipatch_vbank_region_next ()

IpatchVBankRegion * ipatch_vbank_region_next            (IpatchIter *iter);

Gets the next item in a virtual bank region iterator. A convenience wrapper for ipatch_iter_next().

iter :

Patch item iterator containing IpatchVBankRegion items

Returns :

The next virtual bank region in iter or NULL if at the end of the list.

ipatch_vbank_region_set_id_props ()

void                ipatch_vbank_region_set_id_props    (IpatchVBankRegion *region,
                                                         char **id_props);

Set the ID properties of a virtual bank region. These are used to uniquely identify an item in an external instrument file. This function is likely only used by the VBank loader before an item is resolved. Normal users will likely just assign to the "item-link" parameter.

region :

VBank region

id_props :

NULL terminated array of name/value string pairs

ipatch_vbank_region_get_id_props ()

char **             ipatch_vbank_region_get_id_props    (IpatchVBankRegion *region,
                                                         guint *n_elements);

Get ID properties which uniquely identify the referenced item. These are usually only available until the item gets resolved, at which point "item-link" is set.

region :

VBank region

n_elements :

Pointer to store count of elements in returned string array or NULL to ignore.

Returns :

NULL terminated array of name/value pair property strings or NULL if none. Free with g_strfreev() when finished using it.

Property Details

The "file-index" property

  "file-index"               guint                 : Read

File index.

Default value: 0


The "id-props" property

  "id-props"                 GValueArray*          : Read / Write

Identification properties.


The "link-item" property

  "link-item"                IpatchItem*           : Read / Write

Link item.


The "note-range" property

  "note-range"               IpatchRange*          : Read / Write

Note range.


The "note-range-mode" property

  "note-range-mode"          IpatchVBankRegionNoteRangeMode  : Read / Write

Note range mode.

Default value: IPATCH_VBANK_REGION_NOTE_RANGE_MODE_INTERSECT


The "root-note" property

  "root-note"                gint                  : Read / Write

Root note.

Allowed values: [-127,127]

Default value: 0


The "root-note-mode" property

  "root-note-mode"           IpatchVBankRegionRootNoteMode  : Read / Write

Root note mode.

Default value: IPATCH_VBANK_REGION_ROOT_NOTE_MODE_OFFSET

See Also

IpatchVBankInst, IpatchVBank