gst.preset_mixin

Module for [Preset] interface mixin

Templates 2

tmplPresetT()

This interface offers methods to query and manipulate parameter preset sets. A preset is a bunch of property settings, together with meta data and a name. The name of a preset serves as key for subsequent method calls to manipulate single presets. All instances of one type will share the list of presets. The list is created on demand, if presets are not used, the list is not created.

The interface comes with a default implementation that serves most plugins. Wrapper plugins will override most methods to implement support for the native preset format of those wrapped plugins. One method that is useful to be overridden is [gst.preset.Preset.getPropertyNames]. With that one can control which properties are saved and in which order. When implementing support for read-only presets, one should set the vmethods for [gst.preset.Preset.savePreset] and [gst.preset.Preset.deletePreset] to null. Applications can use [gst.preset.Preset.isEditable] to check for that.

The default implementation supports presets located in a system directory, application specific directory and in the users home directory. When getting a list of presets individual presets are read and overlaid in 1) system, 2) application and 3) user order. Whenever an earlier entry is newer, the later entries will be updated. Since 1.8 you can also provide extra paths where to find presets through the GST_PRESET_PATH environment variable. Presets found in those paths will be considered as "app presets".

Functions
bool deletePreset(string name)

Delete the given preset.

Parameters

namepreset name to remove

Returns

true for success, false if e.g. there is no preset with that name
bool getMeta(string name, string tag, out string value)

Gets the value for an existing meta data tag. Meta data tag names can be something like e.g. "comment". Returned values need to be released when done.

Parameters

namepreset name
tagmeta data item name
valuevalue

Returns

true for success, false if e.g. there is no preset with that name

or no value for the given tag

string[] getPresetNames()

Get a copy of preset names as a null terminated string array.

Returns

list with names, use [glib.global.strfreev] after usage.
string[] getPropertyNames()

Get a the names of the GObject properties that can be used for presets.

Returns

an

array of property names which should be freed with [glib.global.strfreev] after use.

bool isEditable()

Check if one can add new presets, change existing ones and remove presets.

Returns

true if presets are editable or false if they are static
bool loadPreset(string name)

Load the given preset.

Parameters

namepreset name to load

Returns

true for success, false if e.g. there is no preset with that name
bool renamePreset(string oldName, string newName)

Renames a preset. If there is already a preset by the new_name it will be overwritten.

Parameters

oldNamecurrent preset name
newNamenew preset name

Returns

true for success, false if e.g. there is no preset with old_name
bool savePreset(string name)

Save the current object settings as a preset under the given name. If there is already a preset by this name it will be overwritten.

Parameters

namepreset name to save

Returns

true for success, false
bool setMeta(string name, string tag, string value = null)

Sets a new value for an existing meta data item or adds a new item. Meta data tag names can be something like e.g. "comment". Supplying null for the value will unset an existing value.

Parameters

namepreset name
tagmeta data item name
valuenew value

Returns

true for success, false if e.g. there is no preset with that name
tmplPresetGidBuilderT()