2011-12-07 15:05:38 +01:00
|
|
|
///
|
|
|
|
/// @file audio.h @brief Audio module headerfile
|
|
|
|
///
|
2013-02-11 16:53:51 +01:00
|
|
|
/// Copyright (c) 2009 - 2013 by Johns. All Rights Reserved.
|
2011-12-07 15:05:38 +01:00
|
|
|
///
|
|
|
|
/// Contributor(s):
|
|
|
|
///
|
|
|
|
/// License: AGPLv3
|
|
|
|
///
|
|
|
|
/// This program is free software: you can redistribute it and/or modify
|
|
|
|
/// it under the terms of the GNU Affero General Public License as
|
|
|
|
/// published by the Free Software Foundation, either version 3 of the
|
|
|
|
/// License.
|
|
|
|
///
|
|
|
|
/// This program 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 Affero General Public License for more details.
|
|
|
|
///
|
|
|
|
/// $Id$
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/// @addtogroup Audio
|
|
|
|
/// @{
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
// Prototypes
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
extern void AudioEnqueue(const void *, int); ///< buffer audio samples
|
2012-01-08 21:46:00 +01:00
|
|
|
extern void AudioFlushBuffers(void); ///< flush audio buffers
|
|
|
|
extern void AudioPoller(void); ///< poll audio events/handling
|
|
|
|
extern int AudioFreeBytes(void); ///< free bytes in audio output
|
2012-03-02 18:16:20 +01:00
|
|
|
extern int AudioUsedBytes(void); ///< used bytes in audio output
|
2012-03-10 15:00:58 +01:00
|
|
|
extern int64_t AudioGetDelay(void); ///< get current audio delay
|
2011-12-08 20:48:57 +01:00
|
|
|
extern void AudioSetClock(int64_t); ///< set audio clock base
|
2011-12-10 00:15:38 +01:00
|
|
|
extern int64_t AudioGetClock(); ///< get current audio clock
|
2012-01-16 15:42:17 +01:00
|
|
|
extern void AudioSetVolume(int); ///< set volume
|
2012-01-22 16:54:22 +01:00
|
|
|
extern int AudioSetup(int *, int *, int); ///< setup audio output
|
2011-12-07 15:05:38 +01:00
|
|
|
|
2012-02-12 20:14:43 +01:00
|
|
|
extern void AudioPlay(void); ///< play audio
|
|
|
|
extern void AudioPause(void); ///< pause audio
|
2011-12-07 15:05:38 +01:00
|
|
|
|
2012-02-21 20:55:28 +01:00
|
|
|
extern void AudioSetBufferTime(int); ///< set audio buffer time
|
2012-04-17 16:45:27 +02:00
|
|
|
extern void AudioSetSoftvol(int); ///< enable/disable softvol
|
|
|
|
extern void AudioSetNormalize(int, int); ///< set normalize parameters
|
|
|
|
extern void AudioSetCompression(int, int); ///< set compression parameters
|
|
|
|
extern void AudioSetStereoDescent(int); ///< set stereo loudness descent
|
2012-02-21 20:55:28 +01:00
|
|
|
|
2012-01-16 15:42:17 +01:00
|
|
|
extern void AudioSetDevice(const char *); ///< set PCM audio device
|
2013-02-11 16:53:51 +01:00
|
|
|
|
|
|
|
/// set pass-through device
|
|
|
|
extern void AudioSetPassthroughDevice(const char *);
|
2012-02-09 16:01:36 +01:00
|
|
|
extern void AudioSetChannel(const char *); ///< set mixer channel
|
2011-12-07 15:05:38 +01:00
|
|
|
extern void AudioInit(void); ///< setup audio module
|
|
|
|
extern void AudioExit(void); ///< cleanup and exit audio module
|
|
|
|
|
2012-02-04 16:38:10 +01:00
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
// Variables
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
extern char AudioAlsaDriverBroken; ///< disable broken driver message
|
2014-01-29 10:07:07 +01:00
|
|
|
extern char AudioAlsaNoCloseOpen; ///< disable alsa close/open fix
|
|
|
|
extern char AudioAlsaCloseOpenDelay; ///< enable alsa close/open delay fix
|
2012-02-04 16:38:10 +01:00
|
|
|
|
2011-12-07 15:05:38 +01:00
|
|
|
/// @}
|