## IpatchGigSubRegion

IpatchGigSubRegion — GigaSampler sub region object

## Stability Level

Stable, unless otherwise indicated

## Synopsis

                        IpatchGigSubRegion;
    enum                IpatchGigSubRegionFlags;
    #define             IPATCH_GIG_SUB_REGION_UNUSED_FLAG_SHIFT
    IpatchGigSubRegion * ipatch_gig_sub_region_new          (void);
    IpatchGigSubRegion * ipatch_gig_sub_region_first        (IpatchIter *iter);
    IpatchGigSubRegion * ipatch_gig_sub_region_next         (IpatchIter *iter);
    IpatchGigSample *   ipatch_gig_sub_region_get_sample    (IpatchGigSubRegion *subregion);
    void                ipatch_gig_sub_region_set_sample    (IpatchGigSubRegion *subregion,
                                                             IpatchGigSample *sample);

## Object Hierarchy

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

## Implemented Interfaces

IpatchGigSubRegion implements IpatchSample.

## Properties

      "fine-tune"                gint                  : Read / Write
      "flags"                    IpatchDLS2SampleFlags  : Read / Write
      "gain"                     gint                  : Read / Write
      "link-item"                IpatchGigSample*      : Read / Write
      "loop-end"                 guint                 : Read / Write
      "loop-start"               guint                 : Read / Write
      "loop-type"                IpatchSampleLoopType  : Read / Write
      "root-note"                gint                  : Read / Write
      "sample-info-override"     gboolean              : Read / Write

## Description

Defines a GigaSampler sub region object which are children of IpatchGigRegion objects and define how a referenced IpatchGigSample is synthesized in a IpatchGigInst.

## Details

### IpatchGigSubRegion

    typedef struct _IpatchGigSubRegion IpatchGigSubRegion;

### enum IpatchGigSubRegionFlags

    typedef enum
    {
      IPATCH_GIG_SUB_REGION_SAMPLE_INFO_OVERRIDE = 1 << IPATCH_ITEM_UNUSED_FLAG_SHIFT
    } IpatchGigSubRegionFlags;

### IPATCH_GIG_SUB_REGION_UNUSED_FLAG_SHIFT

    #define             IPATCH_GIG_SUB_REGION_UNUSED_FLAG_SHIFT

### 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_first ()

    IpatchGigSubRegion * ipatch_gig_sub_region_first        (IpatchIter *iter);

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

`iter` : | Patch item iterator containing IpatchGigSubRegion items
Returns : | The first sub region in `iter` or `NULL` if empty.

### ipatch_gig_sub_region_next ()

    IpatchGigSubRegion * ipatch_gig_sub_region_next         (IpatchIter *iter);

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

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

### ipatch_gig_sub_region_get_sample ()

    IpatchGigSample *   ipatch_gig_sub_region_get_sample    (IpatchGigSubRegion *subregion);

`subregion` : | GigaSampler sub region to get sample of
Returns : | The sub region's sample, referenced for the caller, unref it when finished.

### ipatch_gig_sub_region_set_sample ()

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

Set the referenced sample of a sub region.

`subregion` : | GigaSampler sub region to set sample of
`sample` : | Sample to assign to the sub region

## Property Details

### The `"fine-tune"` property

      "fine-tune"                gint                  : Read / Write

Fine tuning in cents.

Allowed values: [-99,99]

Default value: 0

### The `"flags"` property

      "flags"                    IpatchDLS2SampleFlags  : Read / Write

Sample flags.

### The `"gain"` property

      "gain"                     gint                  : Read / Write

Gain in DLS relative gain units.

Default value: 0

### The `"link-item"` property

      "link-item"                IpatchGigSample*      : Read / Write

Link item.

### The `"loop-end"` property

      "loop-end"                 guint                 : Read / Write

Loop end in frames (after loop).

Default value: 0

### The `"loop-start"` property

      "loop-start"               guint                 : Read / Write

Start of loop in frames.

Default value: 0

### The `"loop-type"` property

      "loop-type"                IpatchSampleLoopType  : Read / Write

Loop method type.

Default value: IPATCH_SAMPLE_LOOP_NONE

### The `"root-note"` property

      "root-note"                gint                  : Read / Write

Root MIDI note.

Allowed values: [0,127]

Default value: 60

### The `"sample-info-override"` property

      "sample-info-override"     gboolean              : Read / Write

Override sample info.

Default value: FALSE

## See Also

#IpatchGigRegion