gstreamermm  1.10.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
Gst::Preset Class Reference

A helper interface for element presets. More...

#include <gstreamermm/preset.h>

Inheritance diagram for Gst::Preset:
Inheritance graph
[legend]

Public Member Functions

 Preset (Preset&& src) noexcept
 
Presetoperator= (Preset&& src) noexcept
 
 ~Preset () noexcept override
 
GstPreset* gobj ()
 Provides access to the underlying C GObject. More...
 
const GstPreset* gobj () const
 Provides access to the underlying C GObject. More...
 
Glib::StringArrayHandle get_preset_names () const
 Get a copy of preset names as a nullptr terminated string array. More...
 
Glib::StringArrayHandle get_property_names () const
 Get a the names of the GObject properties that can be used for presets. More...
 
bool load_preset (const Glib::ustring& name)
 Load the given preset. More...
 
bool save_preset (const Glib::ustring& name)
 Save the current object settings as a preset under the given name. More...
 
bool rename_preset (const Glib::ustring& old_name, const Glib::ustring& new_name)
 Renames a preset. More...
 
bool delete_preset (const Glib::ustring& name)
 Delete the given preset. More...
 
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. More...
 
bool is_editable () const
 Check if one can add new presets, change existing ones and remove presets. More...
 
bool get_meta (const Glib::ustring& name, const Glib::ustring& tag, Glib::ustring& value) const
 Gets the value for an existing meta data tag. More...
 
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) const
 
- Public Member Functions inherited from Glib::Interface
 Interface ()
 
 Interface (Interface &&src) noexcept
 
Interfaceoperator= (Interface &&src) noexcept
 
 Interface (const Glib::Interface_Class &interface_class)
 
 Interface (GObject *castitem)
 
 ~Interface () noexcept override
 
 Interface (const Interface &)=delete
 
Interfaceoperator= (const Interface &)=delete
 
GObject * gobj ()
 
const GObject * gobj () const
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (const ObjectBase &)=delete
 
void set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
 
void get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
 
void set_property (const Glib::ustring &property_name, const PropertyType &value)
 
void get_property (const Glib::ustring &property_name, PropertyType &value) const
 
void connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void > &slot)
 
void connect_property_changed (const Glib::ustring &property_name, sigc::slot< void > &&slot)
 
sigc::connection connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot< void > &slot)
 
sigc::connection connect_property_changed_with_return (const Glib::ustring &property_name, sigc::slot< void > &&slot)
 
void freeze_notify ()
 
void thaw_notify ()
 
virtual void reference () const
 
virtual void unreference () const
 
GObject * gobj ()
 
const GObject * gobj () const
 
GObject * gobj_copy () const
 
- Public Member Functions inherited from sigc::trackable
 trackable () noexcept
 
 trackable (const trackable &src) noexcept
 
 trackable (trackable &&src)
 
 ~trackable ()
 
void add_destroy_notify_callback (void *data, func_destroy_notify func) const
 
void notify_callbacks ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src)
 
void remove_destroy_notify_callback (void *data) const
 

Static Public Member Functions

static void add_interface (GType gtype_implementer)
 
static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 

Protected Member Functions

 Preset ()
 You should derive from this class to use it. More...
 
- Protected Member Functions inherited from Glib::ObjectBase
 ObjectBase ()
 
 ObjectBase (const char *custom_type_name)
 
 ObjectBase (const std::type_info &custom_type_info)
 
 ObjectBase (ObjectBase &&src) noexcept
 
ObjectBaseoperator= (ObjectBase &&src) noexcept
 
virtual ~ObjectBase () noexcept=0
 
void initialize (GObject *castitem)
 
void initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gst::Presetwrap (GstPreset* object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Additional Inherited Members

- Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify
 

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.

Last reviewed on 2016-06-06 (1.8.0)

Constructor & Destructor Documentation

◆ Preset() [1/2]

Gst::Preset::Preset ( )
protected

You should derive from this class to use it.

◆ Preset() [2/2]

Gst::Preset::Preset ( Preset&&  src)
noexcept

◆ ~Preset()

Gst::Preset::~Preset ( )
overridenoexcept

Member Function Documentation

◆ add_interface()

static void Gst::Preset::add_interface ( GType  gtype_implementer)
static

◆ delete_preset()

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

◆ delete_preset_vfunc()

virtual bool Gst::Preset::delete_preset_vfunc ( const Glib::ustring name)
virtual

◆ get_meta()

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
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.

◆ get_meta_vfunc()

virtual bool Gst::Preset::get_meta_vfunc ( const Glib::ustring name,
const Glib::ustring tag,
Glib::ustring value 
) const
virtual

◆ get_preset_names()

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

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

Returns
List with names.

◆ get_preset_names_vfunc()

virtual Glib::StringArrayHandle Gst::Preset::get_preset_names_vfunc ( ) const
virtual

◆ get_property_names()

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.

◆ get_property_names_vfunc()

virtual Glib::StringArrayHandle Gst::Preset::get_property_names_vfunc ( ) const
virtual

◆ get_type()

static GType Gst::Preset::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

◆ gobj() [1/2]

GstPreset* Gst::Preset::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GstPreset* Gst::Preset::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ is_editable()

bool Gst::Preset::is_editable ( ) const

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.

◆ load_preset()

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

◆ load_preset_vfunc()

virtual bool Gst::Preset::load_preset_vfunc ( const Glib::ustring name)
virtual

◆ operator=()

Preset& Gst::Preset::operator= ( Preset&&  src)
noexcept

◆ rename_preset()

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_nameCurrent preset name.
new_nameNew preset name.
Returns
true for success, false if e.g. there is no preset with old_name.

◆ rename_preset_vfunc()

virtual bool Gst::Preset::rename_preset_vfunc ( const Glib::ustring old_name,
const Glib::ustring new_name 
)
virtual

◆ save_preset()

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
namePreset name to save.
Returns
true for success, false.

◆ save_preset_vfunc()

virtual bool Gst::Preset::save_preset_vfunc ( const Glib::ustring name) const
virtual

◆ set_meta()

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 nullptr 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.

◆ set_meta_vfunc()

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

◆ wrap()

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

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

Parameters
objectThe C instance.
take_copyFalse 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.