Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/SoundSystem/SND_IAudioDevice.h')
-rw-r--r--intern/SoundSystem/SND_IAudioDevice.h343
1 files changed, 0 insertions, 343 deletions
diff --git a/intern/SoundSystem/SND_IAudioDevice.h b/intern/SoundSystem/SND_IAudioDevice.h
deleted file mode 100644
index d6b3936e6ef..00000000000
--- a/intern/SoundSystem/SND_IAudioDevice.h
+++ /dev/null
@@ -1,343 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-#ifndef SND_IAUDIODEVICE
-#define SND_IAUDIODEVICE
-
-#include "SND_SoundObject.h"
-#include "SND_CDObject.h"
-#include "SND_WaveCache.h"
-#include "SND_WaveSlot.h"
-#include "MT_Matrix3x3.h"
-
-class SND_IAudioDevice
-{
-public:
-
- /**
- * constructor
- */
- SND_IAudioDevice() {};
-
- /**
- * destructor
- */
- virtual ~SND_IAudioDevice() {};
-
- /**
- * check to see if initialization was successfull
- *
- * @return indication of succes
- */
- virtual bool IsInitialized()=0;
-
- /**
- * get the wavecache (which does sample (un)loading)
- *
- * @return pointer to the wavecache
- */
- virtual SND_WaveCache* GetWaveCache() const =0;
-
- /**
- * loads a sample into the device
- *
- * @param samplename the name of the sample
- * @param memlocation pointer where the sample is stored
- * @param size size of the sample in memory
- *
- * @return pointer to the slot with sample data
- */
- virtual SND_WaveSlot* LoadSample(const STR_String& samplename,
- void* memlocation,
- int size)=0;
-
- /**
- * remove a sample from the wavecache
- *
- * @param filename pointer to filename
- */
-// virtual void RemoveSample(const char* filename)=0;
-
- /**
- * remove all samples from the wavecache
- */
- virtual void RemoveAllSamples()=0;
-
- /**
- * get a new id from the device
- *
- * @param pObject pointer to soundobject
- *
- * @return indication of success
- */
- virtual bool GetNewId(SND_SoundObject* pObject)=0;
-
- /**
- * clear an id
- *
- * @param pObject pointer to soundobject
- */
- virtual void ClearId(SND_SoundObject* pObject)=0;
-
- /**
- * initialize the listener
- */
- virtual void InitListener()=0;
-
- /**
- * set the value of the propagation speed relative to which the
- * source velocities are interpreted.
- * f' = DOPPLER_FACTOR * f * (DOPPLER_VELOCITY - Vl) / (DOPPLER_VELOCITY + Vo)
- * f: frequency in sample (soundobject)
- * f': effective Doppler shifted frequency
- * Vl: velocity listener
- * Vo: velocity soundobject
- *
- * @param dopplervelocity scaling factor for doppler effect
- */
- virtual void SetDopplerVelocity(MT_Scalar dopplervelocity) const =0;
-
- /**
- * set a scaling to exaggerate or deemphasize the Doppler (pitch)
- * shift resulting from the calculation.
- * f' = DOPPLER_FACTOR * f * (DOPPLER_VELOCITY - Listener_velocity )/(DOPPLER_VELOCITY + object_velocity )
- *
- * @param dopplerfactor scaling factor for doppler effect
- */
- virtual void SetDopplerFactor(MT_Scalar dopplerfactor) const =0;
-
- /**
- * set the roll-off factor
- *
- * @param rollofffactor a global volume scaling factor
- */
- virtual void SetListenerRollOffFactor(MT_Scalar rollofffactor) const =0;
-
- /**
- * make the context the current one
- */
- virtual void MakeCurrent() const =0;
-
- /**
- * update the device
- */
- virtual void NextFrame() const =0;
-
- /**
- * set the volume of the listener.
- *
- * @param gain the mastergain
- */
- virtual void SetListenerGain(float gain) const =0;
-
- /**
- * connect the buffer with the source
- *
- * @param id the id of the object
- * @param buffer the buffer the sample is stored in
- */
- virtual void SetObjectBuffer(int id, unsigned int buffer)=0;
-
- /**
- * pause playback of the cd
- * @param id the id of the object
- *
- * @return the state the object is in
- */
- virtual int GetPlayState(int id) =0;
-
- /**
- * play a sound belonging to an object.
- *
- * @param id the id of the object
- */
- virtual void PlayObject(int id) =0;
-
- /**
- * stop a sound belonging to an object.
- *
- * @param id the id of the object
- */
- virtual void StopObject(int id) const =0;
-
- /**
- * stop all sounds.
- */
- virtual void StopAllObjects()=0;
-
- /**
- * pause the sound belonging to an object.
- *
- * @param id the id of the object
- */
- virtual void PauseObject(int id) const =0;
-
- /**
- * set the sound to looping or non-looping.
- *
- * @param id the id of the object
- * @param loopmode type of looping (no loop, normal, bidirectional)
- */
- virtual void SetObjectLoop(int id, unsigned int loopmode) const =0;
-
- /**
- * set the looppoints of a sound
- *
- * @param id the id of the object
- * @param loopstart the startpoint of the loop (in samples)
- * @param loopend the endpoint of the loop (in samples)
- */
- virtual void SetObjectLoopPoints(int id, unsigned int loopstart, unsigned int loopend) const =0;
-
- /**
- * set the pitch of the sound.
- *
- * @param id the id of the object
- * @param pitch the pitch
- */
- virtual void SetObjectPitch(int id, MT_Scalar pitch) const =0;
-
- /**
- * set the gain of the sound.
- *
- * @param id the id of the object
- * @param gain the gain
- */
- virtual void SetObjectGain(int id, MT_Scalar gain) const =0;
-
- /**
- * ROLLOFF_FACTOR is per-Source parameter the application can use to increase or decrease
- * the range of a source by decreasing or increasing the attenuation, respectively. The
- * default value is 1. The implementation is free to optimize for a ROLLOFF_FACTOR value
- * of 0, which indicates that the application does not wish any distance attenuation on
- * the respective Source.
- *
- * @param id the id of the object
- * @param rolloff a per-source volume scaling factor
- */
- virtual void SetObjectRollOffFactor(int id, MT_Scalar rolloff) const =0;
-
- /**
- * min_gain indicates the minimal gain which is always guaranteed for this sound
- *
- * @param id the id of the object
- * @param mingain the minimum gain of the object
- */
- virtual void SetObjectMinGain(int id, MT_Scalar mingain) const =0;
-
- /**
- * max_gain indicates the maximal gain which is always guaranteed for this sound
- *
- * @param id the id of the object
- * @param maxgain the maximum gain of the object
- */
- virtual void SetObjectMaxGain(int id, MT_Scalar maxgain) const =0;
- /**
- * set the distance at which the Listener will experience gain.
- * G_dB = GAIN - 20*log10(1 + ROLLOFF_FACTOR*(dist-REFERENCE_DISTANCE)/REFERENCE_DISTANCE );
- *
- * @param id the id of the object
- * @param referencedistance the distance at which the listener will start hearing
- */
- virtual void SetObjectReferenceDistance(int id, MT_Scalar referencedistance) const =0;
-
- /**
- * set the position, velocity and orientation of a sound.
- *
- * @param id the id of the object
- * @param position the position of the object
- * @param velocity the velocity of the object
- * @param orientation the orientation of the object
- * @param lisposition the position of the listener
- * @param rollofffactor the rollofffactor of the object
- */
- virtual void SetObjectTransform(int id,
- const MT_Vector3& position,
- const MT_Vector3& velocity,
- const MT_Matrix3x3& orientation,
- const MT_Vector3& lisposition,
- const MT_Scalar& rollofffactor) const =0;
-
- /**
- * make a sound 2D
- *
- * @param id the id of the object
- */
- virtual void ObjectIs2D(int id) const =0;
-
- /**
- * tell the device we want cd suppport
- */
- virtual void UseCD() const =0;
-
- /**
- * start playback of the cd
- *
- * @param track the tracknumber to start playback from
- */
- virtual void PlayCD(int track) const =0;
-
- /**
- * pause playback of the cd (true == pause, false == resume)
- */
- virtual void PauseCD(bool pause) const =0;
-
- /**
- * stop playback of the cd
- */
- virtual void StopCD() const =0;
-
- /**
- * set the playbackmode of the cd
- * SND_CD_ALL play all tracks
- * SND_CD_TRACK play one track
- * SND_CD_TRACKLOOP play one track looped
- * SND_CD_RANDOM play all tracks in random order
- *
- * @param playmode playmode
- */
- virtual void SetCDPlaymode(int playmode) const =0;
-
- /**
- * set the volume playback of the cd
- *
- * @param gain the gain
- */
- virtual void SetCDGain(MT_Scalar gain) const =0;
-
- virtual void StartUsingDSP() =0;
- virtual float* GetSpectrum() =0;
- virtual void StopUsingDSP() =0;
-
-protected:
-
- virtual void RevokeSoundObject(SND_SoundObject* pObject)=0;
-};
-
-#endif //SND_IAUDIODEVICE
-