IpatchSF2Zone

IpatchSF2Zone — Abstract base class for SoundFont zones

Stability Level

Stable, unless otherwise indicated

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── IpatchItem
        ╰── IpatchSF2Zone
            ├── IpatchSF2IZone
            ╰── IpatchSF2PZone

Description

Zones are children of IpatchSF2Preset and IpatchSF2Inst and define synthesis parameters and a linked item (IpatchSF2Inst in the case of IpatchSF2PZone and IpatchSF2Sample in the case of IpatchSF2IZone).

Functions

IPATCH_SF2_ZONE_GEN_AMT()

#define             IPATCH_SF2_ZONE_GEN_AMT(zone, genid)

IPATCH_SF2_ZONE_GEN_TEST_FLAG()

#define             IPATCH_SF2_ZONE_GEN_TEST_FLAG(zone, genid)

IPATCH_SF2_ZONE_GEN_SET_FLAG()

#define             IPATCH_SF2_ZONE_GEN_SET_FLAG(zone, genid)

IPATCH_SF2_ZONE_GEN_CLEAR_FLAG()

#define             IPATCH_SF2_ZONE_GEN_CLEAR_FLAG(zone, genid)

ipatch_sf2_zone_first ()

IpatchSF2Zone *
ipatch_sf2_zone_first (IpatchIter *iter);

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

[skip]

Parameters

iter

Patch item iterator containing IpatchSF2Zone items

 

Returns

The first zone in iter or NULL if empty.


ipatch_sf2_zone_next ()

IpatchSF2Zone *
ipatch_sf2_zone_next (IpatchIter *iter);

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

[skip]

Parameters

iter

Patch item iterator containing IpatchSF2Zone items

 

Returns

The next zone in iter or NULL if at the end of the list.


ipatch_sf2_zone_set_link_item ()

void
ipatch_sf2_zone_set_link_item (IpatchSF2Zone *zone,
                               IpatchItem *item);

Sets the referenced item of a zone (a IpatchSF2Inst for preset zones, IpatchSF2Sample for instrument zones). The type specific item set routines for each zone type may be preferred, as this one doesn't do strict type checking.

Parameters

zone

Zone to set zone item of

 

item

New item for zone to use.

[nullable]

ipatch_sf2_zone_set_link_item_no_notify ()

gboolean
ipatch_sf2_zone_set_link_item_no_notify
                               (IpatchSF2Zone *zone,
                                IpatchItem *item,
                                IpatchItem **olditem);

Like ipatch_sf2_zone_set_link_item() but performs no property or item change notifications for "link-item" property (shouldn't normally be used outside of derived types), and the old value can be retrieved with the olditem parameter.

Parameters

zone

Zone to set zone item of

 

item

New item for zone to use.

[nullable]

olditem

Pointer to store old item pointer or NULL to ignore. Caller owns reference if specified.

[out][optional][transfer full]

Returns

TRUE if property was changed, FALSE otherwise (invalid inputs)


ipatch_sf2_zone_get_link_item ()

IpatchItem *
ipatch_sf2_zone_get_link_item (IpatchSF2Zone *zone);

Gets the referenced item from a zone (a IpatchSF2Inst for preset zones, IpatchSF2Sample for instrument zones). The type specific item set routines for each zone type may be preferred, as this one doesn't do strict type checking. The returned item's reference count is incremented and the caller is responsible for unrefing it with g_object_unref().

Parameters

zone

Zone to get referenced item of

 

Returns

Zone's referenced item or NULL if global zone. Remember to unreference the item with g_object_unref() when done with it.

[transfer full]


ipatch_sf2_zone_peek_link_item ()

IpatchItem *
ipatch_sf2_zone_peek_link_item (IpatchSF2Zone *zone);

Like ipatch_sf2_zone_get_link_item() but does not add a reference to the returned item. This function should only be used if a reference of the returned item is ensured or only the pointer value is of interest.

[skip]

Parameters

zone

Zone to get referenced item of

 

Returns

Zone's linked item. Remember that the item has NOT been referenced.

[transfer none]

Types and Values

IPATCH_SF2_ZONE_UNUSED_FLAG_SHIFT

#define IPATCH_SF2_ZONE_UNUSED_FLAG_SHIFT  (IPATCH_ITEM_UNUSED_FLAG_SHIFT + 2)