AmbisonicPanner.h

Go to the documentation of this file.
00001 /*
00002  *  AmbisonicPanner.h
00003  *  CSL
00004  *
00005  *  Created by Bebelutz on 6/28/06.
00006  *  Copyright 2006 Jorge Castellanos. All rights reserved.
00007  *
00008  */
00009 
00010 #ifndef CSL_AMBISONIC_PANNER_H
00011 #define CSL_AMBISONIC_PANNER_H
00012 
00013 #include "CSL_Core.h"
00014 #include "Panner.h"
00015 #include "Ambisonic.h"
00016 #include "AmbisonicUtilities.h"
00017 #include "SpeakerLayout.h"
00018 
00019 namespace csl {
00020 
00024 class AmbisonicPanner : public Panner {
00025 public:
00026     AmbisonicPanner(unsigned order = 1, SpeakerLayout *layout = SpeakerLayout::defaultSpeakerLayout()); // Default constructor
00027     AmbisonicPanner(unsigned hOrder, unsigned vOrder, SpeakerLayout *layout = SpeakerLayout::defaultSpeakerLayout()); // Default constructor
00028     ~AmbisonicPanner();
00029 
00030     virtual void addSource(SpatSource &s);      
00031     virtual void removeSource(SpatSource &s);   
00032 
00033     void rotate(float amount); // AN ANGLE
00034     
00035     virtual void nextBuffer(Buffer &outputBuffer, unsigned outBufNum) throw (CException); 
00036 
00037     void dump() {}; 
00038 
00039 protected:
00040     AmbisonicMixer *mMixer;
00041     AmbisonicDecoder *mDecoder;
00042     AmbisonicRotator *mRotator;
00043 //  void initialize();
00044 
00045     virtual void *cache();      
00046     
00047 //  virtual void speakerLayoutChanged();    ///< called when the speaker layout changes, so panners update precalculated data   
00048 
00049 };
00050 
00051 
00052 } // end namespace
00053 
00054 #endif

Generated on Fri Apr 6 20:18:13 2007 for CSL by  doxygen 1.4.5-20051010