CrystalSpace

Public API Reference

isound/driver.h

00001 /*
00002     Copyright (C) 1998, 1999 by Nathaniel 'NooTe' Saint Martin
00003     Copyright (C) 1998, 1999 by Jorrit Tyberghein
00004     Written by Nathaniel 'NooTe' Saint Martin
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Library General Public
00008     License as published by the Free Software Foundation; either
00009     version 2 of the License, or (at your option) any later version.
00010 
00011     This library is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     Library General Public License for more details.
00015 
00016     You should have received a copy of the GNU Library General Public
00017     License along with this library; if not, write to the Free
00018     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00019 */
00020 
00021 #ifndef __CS_ISOUND_DRIVER_H__
00022 #define __CS_ISOUND_DRIVER_H__
00023 
00024 #include "csutil/scf.h"
00025 
00026 struct iSoundRender;
00027 
00028 SCF_VERSION (iSoundDriver, 0, 0, 1);
00029 
00035 struct iSoundDriver : public iBase
00036 {
00038   virtual bool Open(iSoundRender*, int frequency, bool bit16, bool stereo) = 0;
00040   virtual void Close () = 0;
00042   virtual void LockMemory (void **mem, int *memsize) = 0;
00044   virtual void UnlockMemory () = 0;
00046   virtual bool IsBackground () = 0;
00048   virtual bool Is16Bits () = 0;
00050   virtual bool IsStereo () = 0;
00052   virtual int GetFrequency () = 0;
00057   virtual bool IsHandleVoidSound () = 0;
00058   // @@@ temporary
00059   virtual bool ThreadAware (){ return false; }
00060 };
00061 
00062 #endif // __CS_ISOUND_DRIVER_H__

Generated for Crystal Space by doxygen 1.4.6