## GstBtPropertyMeta

GstBtPropertyMeta — helper interface for extended gstreamer element meta data

## Functions

gchar * | gstbt_property_meta_describe_property ()

## Types and Values

struct | GstBtPropertyMetaInterface
extern GQuark | gstbt_property_meta_quark
extern GQuark | gstbt_property_meta_quark_min_val
extern GQuark | gstbt_property_meta_quark_max_val
extern GQuark | gstbt_property_meta_quark_def_val
extern GQuark | gstbt_property_meta_quark_no_val
enum | GstBtPropertyMetaFlags
| GstBtPropertyMeta

## Object Hierarchy

        GInterface
        ╰── GstBtPropertyMeta

## Known Implementations

GstBtPropertyMeta is implemented by GstBtSidSyn and GstBtSidSynV.

## Includes

    #include <libgstbuzztrax/propertymeta.h>

## Description

This interface standardises some additional meta-data that is attached to GObject properties.

Furthermore it adds the `gstbt_property_meta_describe_property()` method that builds a string description of a property value.

## Functions

### gstbt_property_meta_describe_property ()

    gchar *
    gstbt_property_meta_describe_property (GstBtPropertyMeta *self,
                                           guint property_id,
                                           const GValue *value);

Formats the gives value as a human readable string. The method is useful to pretty print a property value to be shown in a user interface. It provides a default implementation.

#### Parameters

self | a GObject that implements GstBtPropertyMeta |
property_id | the property index |
value | the current property value |

#### Returns

a string with the value in human readable form, free memory when done

## Types and Values

### struct GstBtPropertyMetaInterface

    struct GstBtPropertyMetaInterface {
      GTypeInterface parent;

      gchar *(*describe_property) (GstBtPropertyMeta *self, guint property_id, const GValue *value);
    };

Interface structure.

#### Members

GTypeInterface `parent`; | parent type |
`describe_property` () | vmethod for returning a human readable property value description |

### gstbt_property_meta_quark

    extern GQuark gstbt_property_meta_quark;

Only if this is set to TRUE, there is property meta data for this property..

### gstbt_property_meta_quark_min_val

    extern GQuark gstbt_property_meta_quark_min_val;

Minimum property value (excluding default and no-value).

### gstbt_property_meta_quark_max_val

    extern GQuark gstbt_property_meta_quark_max_val;

Maximum property value (excluding default and no-value).

### gstbt_property_meta_quark_def_val

    extern GQuark gstbt_property_meta_quark_def_val;

Default property value (used initialy).

### gstbt_property_meta_quark_no_val

    extern GQuark gstbt_property_meta_quark_no_val;

Property value (used in trigger style properties, when there is no current value)

### enum GstBtPropertyMetaFlags

Parameter flags to describe their behaviour.

#### Members

GSTBT_PROPERTY_META_WAVE | parameter value references a wavetable slot |
GSTBT_PROPERTY_META_STATE | parameter is continuously changing (not used for notes and triggers) |
GSTBT_PROPERTY_META_TICK_ON_EDIT | need to call tick after editing it |

### GstBtPropertyMeta

    typedef struct _GstBtPropertyMeta GstBtPropertyMeta;

Opaque interface handle.