From 15318cad33835e4e2dc620d033e43cd930676cdd Mon Sep 17 00:00:00 2001 From: kergoth Date: Fri, 25 Jan 2002 22:14:26 +0000 Subject: Initial revision --- (limited to 'core/multimedia/opieplayer/audiodevice.h') diff --git a/core/multimedia/opieplayer/audiodevice.h b/core/multimedia/opieplayer/audiodevice.h new file mode 100644 index 0000000..928f134 --- a/dev/null +++ b/core/multimedia/opieplayer/audiodevice.h @@ -0,0 +1,71 @@ +/********************************************************************** +** Copyright (C) 2000 Trolltech AS. All rights reserved. +** +** This file is part of Qtopia Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ +#ifndef AUDIODEVICE_H +#define AUDIODEVICE_H + + +#include + + +class AudioDevicePrivate; + + +class AudioDevice : public QObject { + Q_OBJECT +public: + AudioDevice( unsigned int freq = 44000, unsigned int channels = 2, unsigned int bytesPerSample = 2 ); + ~AudioDevice(); + + unsigned int canWrite() const; + void write( char *buffer, unsigned int length ); + int bytesWritten(); + + unsigned int channels() const; + unsigned int frequency() const; + unsigned int bytesPerSample() const; + unsigned int bufferSize() const; + + // Each volume level is from 0 to 0xFFFF + static void getVolume( unsigned int& left, unsigned int& right, bool& muted ); + static void setVolume( unsigned int left, unsigned int right, bool muted ); + + static unsigned int leftVolume() { bool muted; unsigned int l, r; getVolume( l, r, muted ); return l; } + static unsigned int rightVolume() { bool muted; unsigned int l, r; getVolume( l, r, muted ); return r; } + static bool isMuted() { bool muted; unsigned int l, r; getVolume( l, r, muted ); return muted; } + + static void increaseVolume() { setVolume( leftVolume() + 1968, rightVolume() + 1968, isMuted() ); } + static void decreaseVolume() { setVolume( leftVolume() - 1966, rightVolume() - 1966, isMuted() ); } + +public slots: + // Convinence functions derived from above functions + void setVolume( unsigned int level ) { setVolume( level, level, isMuted() ); } + void mute() { setVolume( leftVolume(), rightVolume(), TRUE ); } + void volumeChanged( bool muted ); + +signals: + void completedIO(); + +private: + AudioDevicePrivate *d; +}; + + +#endif // AUDIODEVICE_H + -- cgit v0.9.0.2