Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OpenALSimpleSound.h
Go to the documentation of this file.
1 //
2 // C++ Interface: Audio::OpenALSimpleSound
3 //
4 #ifndef __AUDIO_OPENALSIMPLESOUND_H__INCLUDED__
5 #define __AUDIO_OPENALSIMPLESOUND_H__INCLUDED__
6 
7 #include "../../Exceptions.h"
8 #include "../../Types.h"
9 #include "../../Format.h"
10 #include "../../SimpleSound.h"
11 #include "../../SoundBuffer.h"
12 
13 #include "al.h"
14 
15 namespace Audio {
16 
26  {
27  ALBufferHandle bufferHandle;
28 
29  public:
31  OpenALSimpleSound(const std::string& name, VSFileSystem::VSFileType type = VSFileSystem::UnknownFile) throw();
32 
34  ALBufferHandle getAlBuffer() const { return bufferHandle; }
35 
36  public:
37  virtual ~OpenALSimpleSound();
38 
39  // The following section contains supporting methods for accessing the stream.
40  // Subclasses need not bother with actual stream management, they need only worry
41  // about sending the samples to where they're needed.
42  protected:
44  virtual void loadImpl(bool wait) throw(Exception);
45 
47  virtual void unloadImpl() throw();
48  };
49 
50 };
51 
52 #endif//__AUDIO_SIMPLESOUND_H__INCLUDED__