//====================================================================== // audio.h // // NOTE: Let's change the name of this file to RigAudio.h. //====================================================================== #ifndef __iop_audio_h__ #define __iop_audio_h__ #include #include "config.h" class RigAudio { public: RigAudio(AudioConfig& c): _config(c) {} void init() const; void muteRx() const; void unmuteRx() const; void muteAllTx() const; void muteMicIn() const; void unmuteMicIn() const; void muteLineIn() const; void unmuteLineIn() const; void muteUSBIn() const; void unmuteUSBIn() const; void muteTTIn() const; void unmuteTTIn() const; void muteSpkrOut() const; void unmuteSpkrOut() const; void muteLineOut() const; void unmuteLineOut() const; void muteUSBOut() const; void unmuteUSBOut() const; private: AudioConfig _config; }; //====================================================================== class IFilter { public: virtual ~IFilter() {} virtual void enable() = 0; virtual void disable() = 0; }; class BPFilter : public IFilter { public: BPFilter(double f1, double f2, bool use_center, short int window=-1, short int coeff=-1); void init(AudioFilterFIR* filter=NULL, short* coefficients=NULL); void setFreqLo(double f); void setFreqHi(double f); void setBand(double f1, double f2); void setCenter(double c); void setWidth(double w); void setCenterAndWidth(double c, double w); virtual void enable(); virtual void disable(); private: double _freq_lo; double _freq_hi; short int _window; short int _coeff; float _recovery; // recovery amplifier value AudioFilterFIR* _filter; // = &filterRX; short* _coefficients; }; //====================================================================== /* void audioInit(); void audioSelectTxInput(TxInput); void audioTransmit(); void audioReceive(); void audioCalibrate(AudioConfig *, char, char, char, float, bool); */ #endif //====================================================================== // EOF //======================================================================