1
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
4
* Copyright (C) Kevin DeKorte 2006 <kdekorte@gmail.com>
6
* gm_audio.h is free software.
8
* You may redistribute it and/or modify it under the terms of the
9
* GNU General Public License, as published by the Free Software
10
* Foundation; either version 2 of the License, or (at your option)
13
* gm_audio.h is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
* See the GNU General Public License for more details.
18
* You should have received a copy of the GNU General Public License
19
* along with playlist.c. If not, write to:
20
* The Free Software Foundation, Inc.,
21
* 51 Franklin Street, Fifth Floor
22
* Boston, MA 02110-1301, USA.
30
#include <glib/gi18n.h>
32
#ifndef __GM_AUDIO_H__
33
#define __GM_AUDIO_H__
37
AUDIO_TYPE_SOFTVOL, // use mplayer software volume control for non-alsa and non-pulse devices
42
typedef struct _AudioDevice {
43
gchar *description; // use this as a key to look up the information
47
gchar *alsa_device_name;
48
gchar *alsa_mixer; // this is not looked up
62
gboolean gm_audio_query_devices();
63
gboolean gm_audio_free();
64
gboolean gm_audio_update_device(AudioDevice * device);
65
gdouble gm_audio_get_volume(AudioDevice * device);
66
gboolean gm_audio_set_volume(AudioDevice * device, gdouble volume);
67
void gm_audio_set_server_volume_update_callback(AudioDevice * device, void *callback);