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

output.hpp

Go to the documentation of this file.
00001 #ifndef OUTPUT_HPP
00002 #define OUTPUT_HPP
00003 
00004 
00005 // disable 'identifier too long' warning
00006 #ifdef _MSC_VER
00007 #pragma warning(disable : 4786)
00008 #endif
00009 
00010 
00011 #include <utility>
00012 #include <list>
00013 #include <string>
00014 #include "audiere.h"
00015 
00016 
00017 // types
00018 
00019 class IOutputStream;
00020 class ISampleSource;
00021 
00022 class IOutputContext
00023 {
00024 public:
00025   virtual ~IOutputContext() { };
00026   virtual void Update() = 0;
00027   virtual IOutputStream* OpenStream(ISampleSource* source) = 0;
00028 };
00029 
00030 class IOutputStream
00031 {
00032 public:
00033   virtual ~IOutputStream() { }
00034   virtual void Play() = 0;
00035   virtual void Stop() = 0;
00036   virtual void Reset() = 0;
00037   virtual bool IsPlaying() = 0;
00038   virtual void SetVolume(int volume) = 0;
00039   virtual int  GetVolume() = 0;
00040 };
00041 
00042 
00043 // functions
00044 
00045 extern IOutputContext* OpenContext(
00046   const char* output_device,
00047   const char* parameters);
00048 
00049 // helper function to parse parameters
00050 typedef std::pair<std::string, std::string> Parameter;
00051 typedef std::list<Parameter> ParameterList;
00052 
00053 extern void ParseParameters(
00054   const char* parameter_string,
00055   ParameterList& parameters);
00056 
00057 
00058 #endif

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