libinstpatch Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces |
IpatchSF2Zone; #define IPATCH_SF2_ZONE_UNUSED_FLAG_SHIFT #define IPATCH_SF2_ZONE_GEN_AMT (zone, genid) #define IPATCH_SF2_ZONE_GEN_TEST_FLAG (zone, genid) #define IPATCH_SF2_ZONE_GEN_SET_FLAG (zone, genid) #define IPATCH_SF2_ZONE_GEN_CLEAR_FLAG (zone, genid) IpatchSF2Zone * ipatch_sf2_zone_first (IpatchIter *iter
); IpatchSF2Zone * ipatch_sf2_zone_next (IpatchIter *iter
); void ipatch_sf2_zone_set_link_item (IpatchSF2Zone *zone
,IpatchItem *item
); gboolean ipatch_sf2_zone_set_link_item_no_notify (IpatchSF2Zone *zone
,IpatchItem *item
,IpatchItem **olditem
); IpatchItem * ipatch_sf2_zone_get_link_item (IpatchSF2Zone *zone
); IpatchItem * ipatch_sf2_zone_peek_link_item (IpatchSF2Zone *zone
);
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).
#define IPATCH_SF2_ZONE_UNUSED_FLAG_SHIFT (IPATCH_ITEM_UNUSED_FLAG_SHIFT + 2)
IpatchSF2Zone * ipatch_sf2_zone_first (IpatchIter *iter
);
Gets the first item in a zone iterator. A convenience
wrapper for ipatch_iter_first()
.
|
Patch item iterator containing IpatchSF2Zone items |
Returns : |
The first zone in iter or NULL if empty.
|
IpatchSF2Zone * ipatch_sf2_zone_next (IpatchIter *iter
);
Gets the next item in a zone iterator. A convenience wrapper
for ipatch_iter_next()
.
|
Patch item iterator containing IpatchSF2Zone items |
Returns : |
The next zone in iter or NULL if at the end of
the list.
|
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.
|
Zone to set zone item of |
|
New item for zone to use |
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 (shouldn't normally be used outside of derived types),
and the old value can be retrieved with the olditem
parameter.
|
Zone to set zone item of |
|
New item for zone to use |
|
Pointer to store old item pointer or NULL to ignore. Caller owns
reference if specified.
|
Returns : |
TRUE if property was changed, FALSE otherwise (invalid inputs) |
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()
.
|
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.
|
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.
|
Zone to get referenced item of |
Returns : |
Zone's linked item. Remember that the item has NOT been referenced. |