# newInstance

creates a new instance of the type

          typedef void* TypeInstanceID;

            TypeInstanceID newInstance
            void

## Description

The `newInstance` function creates a new instance of the type. The return value is an identifier with the same memory layout as a pointer. It identifies the typeobject in subsequent calls to the functions of the same type. In most cases this will be a pointer to the memory area allocated to hold the value of the object, but it is not garanteed that this is true. There are different identification mechanisms possible.

The type objects created by this constructor must be destroyed with a call to the same types `deleteInstance` function. Before calling `shutDown` all instances must be deleted.

The created type object has a value, the default value.

## Return Value

The function `newInstance` returns a object with the size of a pointer that identifies the type object. This should only passed as an identifier to the type api methods of the same plugin. The caller must ensure not to mix these identifier with the ones of different types.