Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

/home/rdbrown/doxygen/cse125g1/src/modules/audio/Source.h

00001 /*
00002  *  Source.h
00003  *  MMAudio
00004  *
00005  *  Created by Rib Rdb on 4/4/05.
00006  *  Copyright 2005 __MyCompanyName__. All rights reserved.
00007  *
00008  */
00009 
00010 #include "audiocore.h"
00011 #include "AudioException.h"
00012 #include "math/vector3.h"
00013 
00014 namespace MMAudio {
00015     class StreamImpl;
00018 
00022     class Source {
00023           friend class StreamImpl;
00024 
00025         ALuint name;
00026 public:
00028         Source() /* throw (AlException) */;
00029         ~Source() /* throw (AlException) */;
00030         
00032         float getGain() const /* throw (AlException) */;
00034         void setGain(float) /* throw (AlException) */;
00035         
00037         float getRolloff() const  /* throw (AlException) */;
00039         void setRolloff(float) /* throw (AlException) */;
00040         
00042         Vector3 getPosition() const /* throw (AlException) */;
00044         void setPosition(Vector3) /* throw (AlException) */;
00045         
00047         Vector3 getVelocity() const /* throw (AlException) */;
00049         void setVelocity(Vector3) /* throw (AlException) */;
00050 
00056         void playSound(unsigned int sname) /* throw (AlException) */;
00061         void loopSound(unsigned int sname) /* throw (AlException) */;
00065         void stop() /* throw (AlException) */;
00066        
00067 private:
00068         
00069         bool isSourceRelative() const /* throw (AlException) */;
00070         void setSourceRelative(bool) /* throw (AlException) */;
00071         
00072         bool isLooping() const /* throw (AlException) */;
00073         void setLooping(bool)  /* throw (AlException) */;
00074         
00075         void setSong(unsigned int sname) /* throw (AlException) */;
00076         
00077         void play() /* throw (AlException) */;
00078         void pause() /* throw (AlException) */;
00079         void rewind() /* throw (AlException) */;
00080         
00081         void queueBuffer(ALuint) /* throw (AlException) */;
00082         ALuint unqueueBuffer() /* throw (AlException) */;
00083         
00084         int getState() const /* throw (AlException) */;
00085         int getQueuedBufferCount() const /* throw (AlException) */;
00086         int getProcessedBufferCount() const /* throw (AlException) */;
00087         
00088         ALuint getName() const { return name; }
00089         
00090         Source(const Source&);
00091         Source& operator=(const Source&);
00092     };
00094 }
00095 

Generated on Thu Aug 18 16:03:10 2005 for Robin Hood: Thieves & Knights by doxygen1.2.18