/* * Copyright (C) 2014 Michal Ratajsky * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the licence, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see . */ #ifndef MATEMIXER_ENUMS_H #define MATEMIXER_ENUMS_H /* * GTypes are not generated by glib-mkenums, see: * https://bugzilla.gnome.org/show_bug.cgi?id=621942 */ /** * MateMixerState: * @MATE_MIXER_STATE_IDLE: * @MATE_MIXER_STATE_CONNECTING: * @MATE_MIXER_STATE_READY: * @MATE_MIXER_STATE_FAILED: * @MATE_MIXER_STATE_UNKNOWN: */ typedef enum { MATE_MIXER_STATE_IDLE, MATE_MIXER_STATE_CONNECTING, MATE_MIXER_STATE_READY, MATE_MIXER_STATE_FAILED, MATE_MIXER_STATE_UNKNOWN } MateMixerState; /** * MateMixerBackendType: * @MATE_MIXER_BACKEND_UNKNOWN: * Unknown or undefined backend type. * @MATE_MIXER_BACKEND_PULSEAUDIO: * PulseAudio sound system backend. It has the highest priority and * will be the first one to try unless you select a specific backend * to connect to. * @MATE_MIXER_BACKEND_ALSA: * @MATE_MIXER_BACKEND_OSS: * @MATE_MIXER_BACKEND_NULL: * Fallback backend which never fails to initialize, but provides no * functionality. This backend has the lowest priority and will be used * if you do not select a specific backend to connect to and all the * "real" backends fail to initialize. */ typedef enum { MATE_MIXER_BACKEND_UNKNOWN, MATE_MIXER_BACKEND_PULSEAUDIO, MATE_MIXER_BACKEND_ALSA, MATE_MIXER_BACKEND_OSS, MATE_MIXER_BACKEND_NULL } MateMixerBackendType; /** * MateMixerBackendFlags: */ typedef enum { /*< flags >*/ MATE_MIXER_BACKEND_NO_FLAGS = 0, MATE_MIXER_BACKEND_HAS_APPLICATION_CONTROLS, MATE_MIXER_BACKEND_CAN_SET_DEFAULT_INPUT_STREAM, MATE_MIXER_BACKEND_CAN_SET_DEFAULT_OUTPUT_STREAM } MateMixerBackendFlags; /** * MateMixerDirection: */ typedef enum { MATE_MIXER_DIRECTION_UNKNOWN, MATE_MIXER_DIRECTION_INPUT, MATE_MIXER_DIRECTION_OUTPUT, } MateMixerDirection; /** * MateMixerStreamControlFlags: * @MATE_MIXER_STREAM_CONTROL_NO_FLAGS: * @MATE_MIXER_STREAM_CONTROL_HAS_MUTE: * @MATE_MIXER_STREAM_CONTROL_HAS_VOLUME: * @MATE_MIXER_STREAM_CONTROL_HAS_DECIBEL: * @MATE_MIXER_STREAM_CONTROL_HAS_FLAT_VOLUME: * @MATE_MIXER_STREAM_CONTROL_CAN_SET_VOLUME: * @MATE_MIXER_STREAM_CONTROL_CAN_BALANCE: * @MATE_MIXER_STREAM_CONTROL_CAN_FADE: */ typedef enum { MATE_MIXER_STREAM_CONTROL_NO_FLAGS = 0, MATE_MIXER_STREAM_CONTROL_MUTE_READABLE = 1 << 0, MATE_MIXER_STREAM_CONTROL_MUTE_WRITABLE = 1 << 1, MATE_MIXER_STREAM_CONTROL_VOLUME_READABLE = 1 << 2, MATE_MIXER_STREAM_CONTROL_VOLUME_WRITABLE = 1 << 3, MATE_MIXER_STREAM_CONTROL_CAN_BALANCE = 1 << 4, MATE_MIXER_STREAM_CONTROL_CAN_FADE = 1 << 5, MATE_MIXER_STREAM_CONTROL_MOVABLE = 1 << 6, MATE_MIXER_STREAM_CONTROL_HAS_DECIBEL = 1 << 7, MATE_MIXER_STREAM_CONTROL_HAS_MONITOR = 1 << 8, MATE_MIXER_STREAM_CONTROL_STORED = 1 << 9 } MateMixerStreamControlFlags; typedef enum { MATE_MIXER_STREAM_CONTROL_ROLE_UNKNOWN, MATE_MIXER_STREAM_CONTROL_ROLE_MASTER, MATE_MIXER_STREAM_CONTROL_ROLE_APPLICATION, MATE_MIXER_STREAM_CONTROL_ROLE_PCM, MATE_MIXER_STREAM_CONTROL_ROLE_SPEAKER, MATE_MIXER_STREAM_CONTROL_ROLE_MICROPHONE, MATE_MIXER_STREAM_CONTROL_ROLE_PORT, MATE_MIXER_STREAM_CONTROL_ROLE_BOOST, MATE_MIXER_STREAM_CONTROL_ROLE_BASS, MATE_MIXER_STREAM_CONTROL_ROLE_TREBLE, MATE_MIXER_STREAM_CONTROL_ROLE_CD, MATE_MIXER_STREAM_CONTROL_ROLE_VIDEO, MATE_MIXER_STREAM_CONTROL_ROLE_MUSIC } MateMixerStreamControlRole; typedef enum { MATE_MIXER_STREAM_CONTROL_MEDIA_ROLE_UNKNOWN, MATE_MIXER_STREAM_CONTROL_MEDIA_ROLE_VIDEO, MATE_MIXER_STREAM_CONTROL_MEDIA_ROLE_MUSIC, MATE_MIXER_STREAM_CONTROL_MEDIA_ROLE_GAME, MATE_MIXER_STREAM_CONTROL_MEDIA_ROLE_EVENT, MATE_MIXER_STREAM_CONTROL_MEDIA_ROLE_PHONE, MATE_MIXER_STREAM_CONTROL_MEDIA_ROLE_ANIMATION, MATE_MIXER_STREAM_CONTROL_MEDIA_ROLE_PRODUCTION, MATE_MIXER_STREAM_CONTROL_MEDIA_ROLE_A11Y, MATE_MIXER_STREAM_CONTROL_MEDIA_ROLE_TEST, MATE_MIXER_STREAM_CONTROL_MEDIA_ROLE_ABSTRACT, MATE_MIXER_STREAM_CONTROL_MEDIA_ROLE_FILTER } MateMixerStreamControlMediaRole; typedef enum { /*< flags >*/ MATE_MIXER_SWITCH_NO_FLAGS = 0, MATE_MIXER_SWITCH_TOGGLE = 1 << 0, MATE_MIXER_SWITCH_ALLOWS_NO_ACTIVE_OPTION = 1 << 1 } MateMixerSwitchFlags; typedef enum { MATE_MIXER_SWITCH_ROLE_UNKNOWN, MATE_MIXER_SWITCH_ROLE_DEVICE_PROFILE, MATE_MIXER_SWITCH_ROLE_PORT, MATE_MIXER_SWITCH_ROLE_BOOST } MateMixerSwitchRole; /** * MateMixerChannelPosition: * @MATE_MIXER_CHANNEL_UNKNOWN: * @MATE_MIXER_CHANNEL_MONO: * @MATE_MIXER_CHANNEL_FRONT_LEFT: * @MATE_MIXER_CHANNEL_FRONT_RIGHT: * @MATE_MIXER_CHANNEL_FRONT_CENTER: * @MATE_MIXER_CHANNEL_LFE: * @MATE_MIXER_CHANNEL_BACK_LEFT: * @MATE_MIXER_CHANNEL_BACK_RIGHT: * @MATE_MIXER_CHANNEL_BACK_CENTER: * @MATE_MIXER_CHANNEL_FRONT_LEFT_CENTER: * @MATE_MIXER_CHANNEL_FRONT_RIGHT_CENTER: * @MATE_MIXER_CHANNEL_SIDE_LEFT: * @MATE_MIXER_CHANNEL_SIDE_RIGHT: * @MATE_MIXER_CHANNEL_TOP_FRONT_LEFT: * @MATE_MIXER_CHANNEL_TOP_FRONT_RIGHT: * @MATE_MIXER_CHANNEL_TOP_FRONT_CENTER: * @MATE_MIXER_CHANNEL_TOP_CENTER: * @MATE_MIXER_CHANNEL_TOP_BACK_LEFT: * @MATE_MIXER_CHANNEL_TOP_BACK_RIGHT: * @MATE_MIXER_CHANNEL_TOP_BACK_CENTER: */ typedef enum { MATE_MIXER_CHANNEL_UNKNOWN = 0, MATE_MIXER_CHANNEL_MONO, MATE_MIXER_CHANNEL_FRONT_LEFT, MATE_MIXER_CHANNEL_FRONT_RIGHT, MATE_MIXER_CHANNEL_FRONT_CENTER, MATE_MIXER_CHANNEL_LFE, MATE_MIXER_CHANNEL_BACK_LEFT, MATE_MIXER_CHANNEL_BACK_RIGHT, MATE_MIXER_CHANNEL_BACK_CENTER, MATE_MIXER_CHANNEL_FRONT_LEFT_CENTER, MATE_MIXER_CHANNEL_FRONT_RIGHT_CENTER, MATE_MIXER_CHANNEL_SIDE_LEFT, MATE_MIXER_CHANNEL_SIDE_RIGHT, MATE_MIXER_CHANNEL_TOP_FRONT_LEFT, MATE_MIXER_CHANNEL_TOP_FRONT_RIGHT, MATE_MIXER_CHANNEL_TOP_FRONT_CENTER, MATE_MIXER_CHANNEL_TOP_CENTER, MATE_MIXER_CHANNEL_TOP_BACK_LEFT, MATE_MIXER_CHANNEL_TOP_BACK_RIGHT, MATE_MIXER_CHANNEL_TOP_BACK_CENTER, MATE_MIXER_CHANNEL_MAX } MateMixerChannelPosition; #endif /* MATEMIXER_ENUMS_H */