aboutsummaryrefslogtreecommitdiffstats
path: root/src/gaudout/sys_defs.h
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2014-03-11 17:13:31 +1000
committerinmarket <andrewh@inmarket.com.au>2014-03-11 17:13:31 +1000
commitea5a1b849df6e5085a92957ad387f9e653674415 (patch)
tree72ede5ed78263a6fdba25039398b5c2a55bd1d3a /src/gaudout/sys_defs.h
parent944c33cbff5f2cfb1c80f48193aa2161574864fd (diff)
downloaduGFX-ea5a1b849df6e5085a92957ad387f9e653674415.tar.gz
uGFX-ea5a1b849df6e5085a92957ad387f9e653674415.tar.bz2
uGFX-ea5a1b849df6e5085a92957ad387f9e653674415.zip
Combine GAUDIN and GAUDOUT into a single GAUDIO module.
Simplify GAUDIN (now GAUDIO RECORD) api. Update audio demo's to match. Port Win32 driver to new audio api.
Diffstat (limited to 'src/gaudout/sys_defs.h')
-rw-r--r--src/gaudout/sys_defs.h217
1 files changed, 0 insertions, 217 deletions
diff --git a/src/gaudout/sys_defs.h b/src/gaudout/sys_defs.h
deleted file mode 100644
index 75cda243..00000000
--- a/src/gaudout/sys_defs.h
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * This file is subject to the terms of the GFX License. If a copy of
- * the license was not distributed with this file, you can obtain one at:
- *
- * http://ugfx.org/license.html
- */
-
-/**
- * @file src/gaudout/sys_defs.h
- *
- * @addtogroup GAUDOUT
- *
- * @brief Module to output audio data (under development)
- *
- * @{
- */
-
-#ifndef _GAUDOUT_H
-#define _GAUDOUT_H
-
-#include "gfx.h"
-
-#if GFX_USE_GAUDOUT || defined(__DOXYGEN__)
-
-/* Include the driver defines */
-#include "gaudout_lld_config.h"
-
-
-/*===========================================================================*/
-/* Type definitions */
-/*===========================================================================*/
-
-/**
- * @brief Contains Audio Data Samples
- * @note This structure is followed immediately by the sample data itself.
- * When allocating the buffers for the sample data put this structure
- * at the beginning of the buffer.
- */
-typedef struct GAudioData {
- gfxQueueASyncItem next; // @< Used for queuing the buffers
- size_t size; // @< The size of the buffer area following this structure (in bytes)
- size_t len; // @< The length of the data in the buffer area (in bytes)
-} GAudioData;
-
-
-// Event types for GAUDOUT
-#define GEVENT_AUDIO_OUT (GEVENT_GAUDOUT_FIRST+0)
-
-/**
- * @brief The Audio output event structure.
- * @{
- */
-typedef struct GEventAudioOut_t {
- #if GFX_USE_GEVENT || defined(__DOXYGEN__)
- /**
- * @brief The type of this event (GEVENT_AUDIO_OUT)
- */
- GEventType type;
- #endif
- /**
- * @brief The event flags
- */
- uint16_t flags;
- /**
- * @brief The event flag values.
- * @{
- */
- #define GAUDOUT_LOSTEVENT 0x0001 /**< @brief The last GEVENT_AUDIO_OUT event was lost */
- #define GAUDOUT_PLAYING 0x0002 /**< @brief The audio out system is currently playing */
- #define GAUDOUT_FREEBLOCK 0x0004 /**< @brief An audio buffer has been freed */
- /** @} */
-} GEventAudioOut;
-/** @} */
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief Allocate some audio buffers and put them on the free list
- * @return TRUE is it succeeded. FALSE on allocation failure.
- *
- * @param[in] num The number of buffers to allocate
- * @param[in] size The size (in bytes) of each buffer
- *
- * @api
- */
-bool_t gaudioAllocBuffers(unsigned num, size_t size);
-
-/**
- * @brief Get an audio buffer from the free list
- * @return A GAudioData pointer or NULL if the timeout is exceeded
- *
- * @params[in] ms The maximum amount of time in milliseconds to wait for a buffer if one is not available.
- *
- * @api
- */
-GAudioData *gaudioGetBuffer(delaytime_t ms);
-
-/**
- * @brief Release a buffer back to the free list
- *
- * @param[in] paud The buffer to put (back) on the free-list.
- *
- * @note This call should be used to return any buffers that were taken from
- * the free-list once they have been finished with. It can also be used
- * to put new buffers onto the free-list. Just make sure the "size" field
- * of the GAudioData structure has been filled in first.
- *
- * @api
- */
-void gaudioReleaseBuffer(GAudioData *paud);
-
-/**
- * @brief Set the audio device to play on the specified channel and with the specified
- * sample frequency.
- * @return TRUE is successful, FALSE if the driver doesn't accept those parameters.
- *
- * @param[in] channel The audio output channel to use.
- * @param[in] frequency The audio sample rate in samples per second
- * @param[in] format The audio sample format
- *
- * @note Some channels are mono, and some are stereo. See your driver config file
- * to determine which channels to use and whether they are stereo or not.
- * @note Only one channel can be playing at a time. Calling this will stop any
- * currently playing channel.
- *
- * @api
- */
-bool_t gaudioPlayInit(uint16_t channel, uint32_t frequency, ArrayDataFormat format);
-
-/**
- * @brief Play the specified sample data.
- * @details The sample data is output to the audio channel. On completion the buffer is returned to the free-list.
- * @pre @p gaudioPlayInit must have been called first to set the channel and sample frequency.
- *
- * @param[in] paud The audio sample buffer to play. It can be NULL (used to restart paused audio)
- *
- * @note Calling this will cancel any pause.
- * @note Before calling this function the len field of the GAudioData structure must be
- * specified (in bytes).
- * @note For stereo channels the sample data is interleaved in the buffer.
- * @note This call returns before the data has completed playing. Subject to available buffers (which
- * can be obtained from the free-list), any number of buffers may be played. They will be queued
- * for playing in the order they are supplied to this routine and played when previous buffers are
- * complete. In this way continuous playing can be obtained without audio gaps.
- *
- * @api
- */
-void gaudioPlay(GAudioData *paud);
-
-/**
- * @brief Pause any currently playing sounds.
- *
- * @note If nothing is currently playing this routine does nothing. To restart playing call @p gaudioPlay()
- * with or without a new sample buffer.
- * @note Some drivers will not respond until a buffer boundary.
- *
- * @api
- */
-void gaudioPlayPause(void);
-
-/**
- * @brief Stop any currently playing sounds.
- *
- * @note This stops any playing sounds and returns any currently queued buffers back to the free-list.
- * @note Some drivers will not respond until a buffer boundary.
- *
- * @api
- */
-void gaudioPlayStop(void);
-
-/**
- * @brief Set the output volume.
- * @return TRUE if successful.
- *
- * @param[in] 0->255 (0 = muted)
- *
- * @note Some drivers may not support this. They will return FALSE.
- * @note For stereo devices, both channels are set to the same volume.
- *
- * @api
- */
-bool_t gaudioPlaySetVolume(uint8_t vol);
-
-#if GFX_USE_GEVENT || defined(__DOXYGEN__)
- /**
- * @brief Turn on sending results to the GEVENT sub-system.
- * @details Returns a GSourceHandle to listen for GEVENT_AUDIO_OUT events.
- *
- * @note The audio output will not use the GEVENT system unless this is
- * called first. This saves processing time if the application does
- * not want to use the GEVENT sub-system for audio output.
- * Once turned on it can only be turned off by calling @p gaudioPlayInit() again.
- * @note The audio output is capable of signalling via this method and other methods
- * at the same time.
- *
- * @return The GSourceHandle
- *
- * @api
- */
- GSourceHandle gaudioPlayGetSource(void);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* GFX_USE_GAUDOUT */
-
-#endif /* _GAUDOUT_H */
-/** @} */
-