IpatchSampleStoreCache

IpatchSampleStoreCache — Sample store object for cached samples in RAM

Stability Level

Stable, unless otherwise indicated

Synopsis

                    IpatchSampleStoreCache;
#define             ipatch_sample_store_cache_get_location(store)
#define             ipatch_sample_store_cache_get_channel_map(store)
#define             ipatch_sample_store_cache_get_open_count(store)
#define             IPATCH_SAMPLE_STORE_CACHE_UNUSED_FLAG_SHIFT
IpatchSample *      ipatch_sample_store_cache_new       (gpointer location);
void                ipatch_sample_store_cache_open      (IpatchSampleStoreCache *store);
void                ipatch_sample_store_cache_close     (IpatchSampleStoreCache *store);

Object Hierarchy

  GObject
   +----IpatchItem
         +----IpatchSampleStore
               +----IpatchSampleStoreCache

Implemented Interfaces

IpatchSampleStoreCache implements IpatchSample.

Properties

  "location"                 gpointer              : Read / Write

Description

This sample store type is tightly integrated with IpatchSampleData to provide managed cached samples in RAM.

Details

IpatchSampleStoreCache

typedef struct _IpatchSampleStoreCache IpatchSampleStoreCache;

ipatch_sample_store_cache_get_location()

#define             ipatch_sample_store_cache_get_location(store)

Macro to quickly fetch a cache sample store's data location pointer.

store :

Sample store to get sample data location from

Returns :

Sample data pointer.

ipatch_sample_store_cache_get_channel_map()

#define             ipatch_sample_store_cache_get_channel_map(store)

Macro to quickly fetch a cache sample store's channel map value. Cached samples store a channel map in reference to the native sample of their parent IpatchSampleData.

store :

Sample store to get channel map from

Returns :

Channel map value.

ipatch_sample_store_cache_get_open_count()

#define             ipatch_sample_store_cache_get_open_count(store)

IPATCH_SAMPLE_STORE_CACHE_UNUSED_FLAG_SHIFT

#define             IPATCH_SAMPLE_STORE_CACHE_UNUSED_FLAG_SHIFT

ipatch_sample_store_cache_new ()

IpatchSample *      ipatch_sample_store_cache_new       (gpointer location);

Creates a new cached RAM sample store. If location is provided, its allocation is taken over by the store.

NOTE: This store type should not be used outside of the IpatchSampleData implementation, as it is tightly coupled with it.

location :

Location of existing sample data or NULL if the sample buffer should be allocated (in which case the sample must be written to first).

Returns :

New cached RAM sample store, cast as a IpatchSample for convenience.

ipatch_sample_store_cache_open ()

void                ipatch_sample_store_cache_open      (IpatchSampleStoreCache *store);

A dummy open function which can be used if the location pointer will be accessed directly, rather than opening a IpatchSampleHandle. Keeping a cached sample store open will ensure it isn't destroyed. Call ipatch_sample_store_cache_close() when done with it.

store :

Sample cache store

ipatch_sample_store_cache_close ()

void                ipatch_sample_store_cache_close     (IpatchSampleStoreCache *store);

A dummy close function which is called after a sample store cache is no longer needed after opening it with ipatch_sample_store_cache_open().

store :

Sample cache store

Property Details

The "location" property

  "location"                 gpointer              : Read / Write

Sample data pointer.

See Also

IpatchSampleData