# Gst::Preset Class Reference
[gstreamermm Interfaces]

A helper interface for element presets. More...

Inherits Glib::Interface.

Inherited by Gst::OggMux, Gst::TheoraEnc, and Gst::VorbisEnc.

Collaboration diagram for Gst::Preset:
[legend]

List of all members.

## Public Member Functions

virtual | ~Preset ()
GstPreset* | gobj ()
| Provides access to the underlying C GObject.
const GstPreset* | gobj () const
| Provides access to the underlying C GObject.
Glib::StringArrayHandle | get_preset_names () const
| Get a copy of preset names as a `0` terminated string array.
Glib::StringArrayHandle | get_property_names () const
| Get a the names of the GObject properties that can be used for presets.
bool | load_preset (const Glib::ustring& name)
| Load the given preset.
bool | save_preset (const Glib::ustring& name)
| Save the current object settings as a preset under the given name.
bool | rename_preset (const Glib::ustring& old_name, const Glib::ustring& new_name)
| Renames a preset.
bool | delete_preset (const Glib::ustring& name)
| Delete the given preset.
bool | set_meta (const Glib::ustring& name, const Glib::ustring& tag, const Glib::ustring&value)
| Sets a new value for an existing meta data item or adds a new item.
bool | get_meta (const Glib::ustring& name, const Glib::ustring& tag, Glib::ustring&value) const
| Gets the value for an existing meta data tag.
virtual Glib::StringArrayHandle | get_preset_names_vfunc () const
virtual Glib::StringArrayHandle | get_property_names_vfunc () const
virtual bool | load_preset_vfunc (const Glib::ustring& name)
virtual bool | save_preset_vfunc (const Glib::ustring& name) const
virtual bool | rename_preset_vfunc (const Glib::ustring& old_name, const Glib::ustring& new_name)
virtual bool | delete_preset_vfunc (const Glib::ustring& name)
virtual bool | set_meta_vfunc (const Glib::ustring& name, const Glib::ustring& tag, const Glib::ustring&value)
virtual bool | get_meta_vfunc (const Glib::ustring& name, const Glib::ustring& tag, Glib::ustring&value)

## Static Public Member Functions

static void | add_interface (GType gtype_implementer)

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gst::Preset > | wrap (GstPreset* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

A helper interface for element presets.

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 property_names_vfunc(). With that, one can control which properties are saved and in which order.

## Constructor & Destructor Documentation

virtual Gst::Preset::~Preset | ( |  | ) | `[virtual]`

## Member Function Documentation

static void Gst::Preset::add_interface | ( | GType | gtype_implementer | ) | `[static]`

bool Gst::Preset::delete_preset | ( | const Glib::ustring & | name | ) |

Delete the given preset.

Parameters:

  | name | Preset name to remove.

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

Since gstreamermm 0.10:
  .20.

virtual bool Gst::Preset::delete_preset_vfunc | ( | const Glib::ustring & | name | ) | `[virtual]`

bool Gst::Preset::get_meta | ( | const Glib::ustring & | name,
|  | const Glib::ustring & | tag,
|  | Glib::ustring & | value |
| ) |  |  | const

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:

  | name | Preset name.
  | tag | Meta data item name.
  | value | Value.

Returns:
  `true` for success, `false` if e.g. there is no preset with that name or no value for the given tag

Since gstreamermm 0.10:
  .20.

virtual bool Gst::Preset::get_meta_vfunc | ( | const Glib::ustring & | name,
|  | const Glib::ustring & | tag,
|  | Glib::ustring & | value |
| ) |  |  | `[virtual]`

Glib::StringArrayHandle Gst::Preset::get_preset_names | ( |  | ) | const

Get a copy of preset names as a `0` terminated string array.

Returns:
  List with names, ue Glib::strfreev() after usage.

Since gstreamermm 0.10:
  .20.

virtual Glib::StringArrayHandle Gst::Preset::get_preset_names_vfunc | ( |  | ) | const`[virtual]`

Glib::StringArrayHandle Gst::Preset::get_property_names | ( |  | ) | const

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::strfreev() after use.

Since gstreamermm 0.10:
  .20.

virtual Glib::StringArrayHandle Gst::Preset::get_property_names_vfunc | ( |  | ) | const`[virtual]`

const GstPreset* Gst::Preset::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

Reimplemented in Gst::OggMux, Gst::TheoraEnc, and Gst::VorbisEnc.

GstPreset* Gst::Preset::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

Reimplemented in Gst::OggMux, Gst::TheoraEnc, and Gst::VorbisEnc.

bool Gst::Preset::load_preset | ( | const Glib::ustring & | name | ) |

Load the given preset.

Parameters:

  | name | Preset name to load.

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

Since gstreamermm 0.10:
  .20.

virtual bool Gst::Preset::load_preset_vfunc | ( | const Glib::ustring & | name | ) | `[virtual]`

bool Gst::Preset::rename_preset | ( | const Glib::ustring & | old_name,
|  | const Glib::ustring & | new_name |
| ) |  |  |

Renames a preset.

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

Parameters:

  | old_name | Current preset name.
  | new_name | New preset name.

Returns:
  `true` for success, `false` if e.g. there is no preset with old_name

Since gstreamermm 0.10:
  .20.

virtual bool Gst::Preset::rename_preset_vfunc | ( | const Glib::ustring & | old_name,
|  | const Glib::ustring & | new_name |
| ) |  |  | `[virtual]`

bool Gst::Preset::save_preset | ( | const Glib::ustring & | 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:

  | name | Preset name to save.

Returns:
  `true` for success, `false`

Since gstreamermm 0.10:
  .20.

virtual bool Gst::Preset::save_preset_vfunc | ( | const Glib::ustring & | name | ) | const`[virtual]`

bool Gst::Preset::set_meta | ( | const Glib::ustring & | name,
|  | const Glib::ustring & | tag,
|  | const Glib::ustring & | value |
| ) |  |  |

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 `0` for the value will unset an existing value.

Parameters:

  | name | Preset name.
  | tag | Meta data item name.
  | value | New value.

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

Since gstreamermm 0.10:
  .20.

virtual bool Gst::Preset::set_meta_vfunc | ( | const Glib::ustring & | name,
|  | const Glib::ustring & | tag,
|  | const Glib::ustring & | value |
| ) |  |  | `[virtual]`

## Friends And Related Function Documentation

Glib::RefPtr< Gst::Preset > wrap | ( | GstPreset * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- gstreamermm/preset.h