## gstmixertrack gstmixertrack — Basic mixer control object (volume slider, switch) |

## Synopsis

    #include <gst/interfaces/mixer.h>

    struct              GstMixerTrack;
    enum                GstMixerTrackFlags;
    #define             GST_MIXER_TRACK_HAS_FLAG            (channel,
                                                             flag)

## Object Hierarchy

      GObject
       +----GstMixerTrack
             +----GstMixerOptions

## Properties

      "flags"                    guint                 : Read
      "index"                    guint                 : Read / Write / Construct Only
      "label"                    gchar*                : Read
      "max-volume"               gint                  : Read
      "min-volume"               gint                  : Read
      "num-channels"             gint                  : Read
      "untranslated-label"       gchar*                : Read / Write / Construct Only

## Description

Basic mixer control object (note that it is a GObject and not a GstObject).

A mixer track represents a single slider control of none, one or more channels. A mixer track with no channels is usually interpreted as a on/off switch control.

Note the presence of both min_volume and max_volume fields. Applications must not assume that min_volume is 0 or max_volume is any particular value.

## Details

### struct GstMixerTrack

    struct GstMixerTrack;

### enum GstMixerTrackFlags

    typedef enum {
      GST_MIXER_TRACK_INPUT  = (1<<0),
      GST_MIXER_TRACK_OUTPUT = (1<<1),
      GST_MIXER_TRACK_MUTE   = (1<<2),
      GST_MIXER_TRACK_RECORD = (1<<3),
      GST_MIXER_TRACK_MASTER = (1<<4),
      GST_MIXER_TRACK_SOFTWARE = (1<<5),
      GST_MIXER_TRACK_NO_RECORD = (1<<6),
      GST_MIXER_TRACK_NO_MUTE = (1<<7),
      GST_MIXER_TRACK_WHITELIST = (1<<8),
      GST_MIXER_TRACK_READONLY = (1<<9),
      GST_MIXER_TRACK_WRITEONLY = (1<<10)
    } GstMixerTrackFlags;

Mixer track flags.

`GST_MIXER_TRACK_INPUT` | mixer track is for input
`GST_MIXER_TRACK_OUTPUT` | mixer track is for output
`GST_MIXER_TRACK_MUTE` | input or output is muted
`GST_MIXER_TRACK_RECORD` | input is audible in speakers attached to output (for GST_MIXER_TRACK_INPUT mixer tracks only)
`GST_MIXER_TRACK_MASTER` | this mixer track is likely to be the master control
`GST_MIXER_TRACK_SOFTWARE` | mixer track's' volume control is implemented in software (as opposed to a hardware control)
`GST_MIXER_TRACK_NO_RECORD` | input track lacks support for recordable. Since: 0.10.23
`GST_MIXER_TRACK_NO_MUTE` | play track doesn't support mute. Since: 0.10.23
`GST_MIXER_TRACK_WHITELIST` | track should be displayed "by default" in apps. Since: 0.10.23
`GST_MIXER_TRACK_READONLY` | track is read-only. Since: 0.10.25
`GST_MIXER_TRACK_WRITEONLY` | track is write-only. Since: 0.10.25

### GST_MIXER_TRACK_HAS_FLAG()

    #define             GST_MIXER_TRACK_HAS_FLAG(channel, flag)

## Property Details

### The `"flags"` property

      "flags"                    guint                 : Read

Flags indicating the type of mixer track.

Default value: 0

### The `"index"` property

      "index"                    guint                 : Read / Write / Construct Only

Index of the mixer track, if available. Mixer track implementations must set this at construct time. This can be used to discern between multiple tracks with identical labels.

Default value: 0

Since 0.10.21

### The `"label"` property

      "label"                    gchar*                : Read

The label assigned to the track (may be translated).

Default value: NULL

### The `"max-volume"` property

      "max-volume"               gint                  : Read

The maximum possible volume level.

Default value: 0

### The `"min-volume"` property

      "min-volume"               gint                  : Read

The minimum possible volume level.

Default value: 0

### The `"num-channels"` property

      "num-channels"             gint                  : Read

The number of channels contained within the track.

Allowed values: >= 0

Default value: 0

### The `"untranslated-label"` property

      "untranslated-label"       gchar*                : Read / Write / Construct Only

The untranslated label of the mixer track, if available. Mixer track implementations must set this at construct time. Applications may find this useful to determine icons for various kind of tracks. However, applications mustn't make any assumptions about the naming of tracks, the untranslated labels are purely informational and may change.

Default value: NULL

Since 0.10.13

## See Also

GstMixer, GstMixerOptions