## IpatchVirtualContainer

IpatchVirtualContainer — Virtual container object

## Stability Level

Stable, unless otherwise indicated

## Synopsis

    #define             IPATCH_VIRTUAL_CONTAINER_CREATE     (type_under, TypeCase, name, blurb, childtype)
                        IpatchVirtualContainer;
    void                (*IpatchVirtualContainerConformFunc)
                                                            (GObject *object);

## Object Hierarchy

      GObject
       +----IpatchItem
             +----IpatchVirtualContainer

## Description

Virtual containers are used in user interfaces to group items in containers that aren't actually present in the hierarchy, such as "Instruments", "Melodic Presets", "Percussion Presets" in SF2 files.

## Details

### IPATCH_VIRTUAL_CONTAINER_CREATE()

    #define             IPATCH_VIRTUAL_CONTAINER_CREATE(type_under, TypeCase, name, blurb, childtype)

`type_under` : | Type string in the form "type_name"
`TypeCase` : | Type string in the form "TypeName"
`name` : | Name type property
`blurb` : | Blurb type property (more detailed description)
`childtype` : | Child type of this virtual container type

### IpatchVirtualContainer

    typedef struct _IpatchVirtualContainer IpatchVirtualContainer;

### IpatchVirtualContainerConformFunc ()

    void                (*IpatchVirtualContainerConformFunc)
                                                            (GObject *object);

A function type used to make an item conform to the criteria of a virtual container (force a SoundFont preset to be a percussion preset for example).

`object` : | Object to conform to a virtual container criteria.