IpatchGigRegion

IpatchGigRegion — GigaSampler instrument region object.

Synopsis




                    IpatchGigDimension;
                    IpatchGigSubRegion;
                    IpatchGigRegion;
                    IpatchGigRegionClass;
enum                IpatchGigDimensionType;
IpatchGigRegion*    ipatch_gig_region_new               (void);
IpatchGigRegion*    ipatch_gig_region_first             (IpatchIter *iter);
IpatchGigRegion*    ipatch_gig_region_next              (IpatchIter *iter);
void                ipatch_gig_region_remove_dimension  (IpatchGigRegion *region,
                                                         int dim_index,
                                                         int split_index);
IpatchGigSubRegion* ipatch_gig_sub_region_new           (void);
void                ipatch_gig_sub_region_set_sample    (IpatchGigSubRegion *sub,
                                                         IpatchGigSample *sample);

Object Hierarchy


  GObject
   +----IpatchItem
         +----IpatchGigDimension

  GObject
   +----IpatchItem
         +----IpatchGigSubRegion

  GObject
   +----IpatchItem
         +----IpatchContainer
               +----IpatchGigRegion

Implemented Interfaces

IpatchGigSubRegion implements IpatchSample.

Properties


  "channel"                  gint                  : Read / Write
  "key-group"                gint                  : Read / Write
  "key-range"                IpatchRange           : Read / Write
  "layer-group"              gint                  : Read / Write
  "multi-channel"            gboolean              : Read / Write
  "phase-group"              gint                  : Read / Write
  "phase-master"             gboolean              : Read / Write
  "self-non-exclusive"       gboolean              : Read / Write
  "velocity-range"           IpatchRange           : Read / Write

Description

An object which defines a GigaSampler region.

Details

IpatchGigDimension

typedef struct _IpatchGigDimension IpatchGigDimension;


IpatchGigSubRegion

typedef struct _IpatchGigSubRegion IpatchGigSubRegion;


IpatchGigRegion

typedef struct _IpatchGigRegion IpatchGigRegion;


IpatchGigRegionClass

typedef struct {
  IpatchContainerClass parent_class;
} IpatchGigRegionClass;


enum IpatchGigDimensionType

typedef enum
{
  IPATCH_GIG_DIMENSION_NONE            = 0x00, /* not in use (is this in files?) */

  /* MIDI controllers - see IpatchGigControlType (IpatchGigEffects.h) */

  IPATCH_GIG_DIMENSION_MOD_WHEEL       = 0x01,
  IPATCH_GIG_DIMENSION_BREATH          = 0x02,
  IPATCH_GIG_DIMENSION_FOOT            = 0x04,
  IPATCH_GIG_DIMENSION_PORTAMENTO_TIME = 0x05,
  IPATCH_GIG_DIMENSION_EFFECT_1        = 0x0C,
  IPATCH_GIG_DIMENSION_EFFECT_2        = 0x0D,
  IPATCH_GIG_DIMENSION_GEN_PURPOSE_1   = 0x10,
  IPATCH_GIG_DIMENSION_GEN_PURPOSE_2   = 0x11,
  IPATCH_GIG_DIMENSION_GEN_PURPOSE_3   = 0x12,
  IPATCH_GIG_DIMENSION_GEN_PURPOSE_4   = 0x13,
  IPATCH_GIG_DIMENSION_SUSTAIN_PEDAL   = 0x40,
  IPATCH_GIG_DIMENSION_PORTAMENTO      = 0x41,
  IPATCH_GIG_DIMENSION_SOSTENUTO       = 0x42,
  IPATCH_GIG_DIMENSION_SOFT_PEDAL      = 0x43,
  IPATCH_GIG_DIMENSION_GEN_PURPOSE_5   = 0x50,
  IPATCH_GIG_DIMENSION_GEN_PURPOSE_6   = 0x51,
  IPATCH_GIG_DIMENSION_GEN_PURPOSE_7   = 0x52,
  IPATCH_GIG_DIMENSION_GEN_PURPOSE_8   = 0x53,
  IPATCH_GIG_DIMENSION_EFFECT_DEPTH_1  = 0x5B,
  IPATCH_GIG_DIMENSION_EFFECT_DEPTH_2  = 0x5C,
  IPATCH_GIG_DIMENSION_EFFECT_DEPTH_3  = 0x5D,
  IPATCH_GIG_DIMENSION_EFFECT_DEPTH_4  = 0x5E,
  IPATCH_GIG_DIMENSION_EFFECT_DEPTH_5  = 0x5F,

  IPATCH_GIG_DIMENSION_CHANNEL         = 0x80, /* sample has more than 1 channel */
  IPATCH_GIG_DIMENSION_LAYER           = 0x81, /* layer up to 8 zones (cross fade 2 or 4) */
  IPATCH_GIG_DIMENSION_VELOCITY        = 0x82, /* key velocity (only type that allows specific ranges) */
  IPATCH_GIG_DIMENSION_AFTER_TOUCH     = 0x83, /* channel MIDI after touch */
  IPATCH_GIG_DIMENSION_RELEASE_TRIG    = 0x84, /* trigger on key release */
  IPATCH_GIG_DIMENSION_KEYBOARD        = 0x85, /* key switching (FIXME WTF?) */
  IPATCH_GIG_DIMENSION_ROUND_ROBIN     = 0x86, /* selects zones in sequence */
  IPATCH_GIG_DIMENSION_RANDOM          = 0x87  /* selects random zone */
} IpatchGigDimensionType;


ipatch_gig_region_new ()

IpatchGigRegion*    ipatch_gig_region_new               (void);

Create a new GigaSampler instrument region.

Returns : New GigaSampler region with a ref count of 1 which the caller owns.

ipatch_gig_region_first ()

IpatchGigRegion*    ipatch_gig_region_first             (IpatchIter *iter);

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

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

ipatch_gig_region_next ()

IpatchGigRegion*    ipatch_gig_region_next              (IpatchIter *iter);

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

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

ipatch_gig_region_remove_dimension ()

void                ipatch_gig_region_remove_dimension  (IpatchGigRegion *region,
                                                         int dim_index,
                                                         int split_index);

Removes a dimension from a GigaSampler region, including all related sub regions (except those that correspond to the split_index), and re-organizes sub regions for new dimension map.

region : GigaSampler region
dim_index : Index of an existing dimension to remove (0-4)
split_index : Split index to use in the dimension to remove

ipatch_gig_sub_region_new ()

IpatchGigSubRegion* ipatch_gig_sub_region_new           (void);

Create a new GigaSampler sub region.

Returns : New GigaSampler sub region with a ref count of 1 which the caller owns.

ipatch_gig_sub_region_set_sample ()

void                ipatch_gig_sub_region_set_sample    (IpatchGigSubRegion *sub,
                                                         IpatchGigSample *sample);

Set the referenced sample of a sub region.

sub : GigaSampler sub region to set sample of
sample : Sample to assign to the sub region

Property Details

The "channel" property

  "channel"                  gint                  : Read / Write

DLS audio channel identifier.

Allowed values: [0,262143]

Default value: 0


The "key-group" property

  "key-group"                gint                  : Read / Write

Percussion key group.

Allowed values: [0,15]

Default value: 0


The "key-range" property

  "key-range"                IpatchRange           : Read / Write

MIDI key range.


The "layer-group" property

  "layer-group"              gint                  : Read / Write

Layer group.

Allowed values: [0,65535]

Default value: 0


The "multi-channel" property

  "multi-channel"            gboolean              : Read / Write

Multi channel.

Default value: FALSE


The "phase-group" property

  "phase-group"              gint                  : Read / Write

Phase locked sample group.

Allowed values: [0,65535]

Default value: 0


The "phase-master" property

  "phase-master"             gboolean              : Read / Write

Multi channel phase lock master.

Default value: FALSE


The "self-non-exclusive" property

  "self-non-exclusive"       gboolean              : Read / Write

Self non exclusive.

Default value: FALSE


The "velocity-range" property

  "velocity-range"           IpatchRange           : Read / Write

MIDI velocity range.