## IpatchSampleStoreVirtual IpatchSampleStoreVirtual — Virtual sample storage object |

## Stability Level

Stable, unless otherwise indicated

## Synopsis

                        IpatchSampleStoreVirtual;
    IpatchSample *      ipatch_sample_store_virtual_new     (void);
    IpatchSampleList *  ipatch_sample_store_virtual_get_list
                                                            (IpatchSampleStoreVirtual *store,
                                                             guint chan);
    void                ipatch_sample_store_virtual_set_list
                                                            (IpatchSampleStoreVirtual *store,
                                                             guint chan,
                                                             IpatchSampleList *list);

## Object Hierarchy

      GObject
       +----IpatchItem
             +----IpatchSampleStore
                   +----IpatchSampleStoreVirtual

## Implemented Interfaces

IpatchSampleStoreVirtual implements IpatchSample.

## Properties

      "sample-lists"             GValueArray*          : Read / Write

## Description

A sample store that does in place sample conversions of other samples using sample lists (IpatchSampleList).

## Details

### IpatchSampleStoreVirtual

    typedef struct _IpatchSampleStoreVirtual IpatchSampleStoreVirtual;

### ipatch_sample_store_virtual_new ()

    IpatchSample *      ipatch_sample_store_virtual_new     (void);

Creates a new virtual sample store.

Returns : | New virtual sample store, cast as a IpatchSample for convenience.

### ipatch_sample_store_virtual_get_list ()

    IpatchSampleList *  ipatch_sample_store_virtual_get_list
                                                            (IpatchSampleStoreVirtual *store,
                                                             guint chan);

Gets a sample list from a virtual sample store.

`store` : | Virtual store to get sample list from
`chan` : | Which channel to get sample list from (0 = mono or left stereo channel, 1 = right stereo channel).
Returns : | The sample list for the corresponding channel or `NULL` if not assigned. The list is internal and should not be modified or freed and should be used only as long as `store`.

### ipatch_sample_store_virtual_set_list ()

    void                ipatch_sample_store_virtual_set_list
                                                            (IpatchSampleStoreVirtual *store,
                                                             guint chan,
                                                             IpatchSampleList *list);

Sets a sample list of a virtual sample store. Can only be assigned before the sample store is active. The size of `store` is set to that of `list`.

`store` : | Virtual store to set sample list of
`chan` : | Which channel to set sample list of (0 = mono or left stereo channel, 1 = right stereo channel).
`list` : | List to assign to virtual store. The allocation is taken over by the virtual store (if caller would like to continue using it beyond the life of `store` or modify it, it should be duplicated).

## Property Details

### The `"sample-lists"` property

      "sample-lists"             GValueArray*          : Read / Write

Sample lists.

## See Also

#IpatchSampleList