Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

output_oss.hpp

Go to the documentation of this file.
00001 #ifndef OUTPUT_OSS_HPP
00002 #define OUTPUT_OSS_HPP
00003 
00004 
00005 #include <memory>
00006 #include "output.hpp"
00007 #include "mixer.hpp"
00008 
00009 
00010 class OSSOutputContext : public IOutputContext
00011 {
00012 public:
00013   OSSOutputContext();
00014   ~OSSOutputContext();
00015 
00016   bool Initialize(const char* parameters);
00017   void Update();
00018   IOutputStream* OpenStream(ISampleSource* source);
00019 
00020 private:
00021   int m_output_device;
00022 
00023   Mixer m_mixer;
00024 };
00025 
00026 
00027 class OSSOutputStream : public IOutputStream
00028 {
00029 private:
00030   OSSOutputStream(Mixer* mixer, ISampleSource* source);
00031   ~OSSOutputStream();
00032 
00033 public:
00034   // IOutputStream
00035   void Play();
00036   void Stop();
00037   void Reset();
00038   bool IsPlaying();
00039   void SetVolume(int volume);
00040   int  GetVolume();
00041 
00042 private:
00043   Mixer* m_mixer;
00044   ISampleSource* m_source;
00045   int m_volume;
00046 
00047   friend class OSSOutputContext;
00048 };
00049 
00050 
00051 #endif

Generated at Mon Jun 10 02:55:12 2002 for audiere by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001