Ulf@538: #include "CARFAC.h" Ulf@538: #include "CAR.h" Ulf@538: #include "IHC.h" Ulf@538: #include "AGC.h" Ulf@538: Ulf@538: #include "CARFAC_common_typedefs.h" Ulf@538: Ulf@544: CARFAC::CARFAC(int fs = kDefaultFs, Ulf@544: CAR_parameters* car_params = new CAR_parameters(), Ulf@544: IHC_parameters* ihc_params = new IHC_parameters(), Ulf@544: AGC_parameters* agc_params = new AGC_parameters(), Ulf@544: float erb_break_freq = kDefaultErbBreakFreq, Ulf@544: float erb_q = kDefaultErbQ){ Ulf@538: Ulf@544: // for now, design is to take ownership. Preferences? Make copies, call by value, etc? Ulf@544: car_params_ = car_params; Ulf@544: ihc_params_ = ihc_params; Ulf@544: agc_params_ = agc_params; Ulf@538: Ulf@544: FloatArray pole_freqs; //TODO: do it Ulf@544: car_coeffs_ = new CAR_coefficients(car_params_, fs, pole_freqs); Ulf@538: Ulf@544: int n_ch = 10; // TODO: do the design loops Ulf@544: agc_coeffs_ = new AGC_coefficients(agc_params_, fs, n_ch); Ulf@542: Ulf@544: ihc_coeffs_ = new IHC_coefficients(ihc_params_, fs, n_ch); Ulf@538: } Ulf@538: Ulf@538: CARFAC::~CARFAC() { Ulf@544: delete car_coeffs_; Ulf@544: delete ihc_coeffs_; Ulf@544: delete agc_coeffs_; Ulf@539: Ulf@544: //delete car_params_; Ulf@544: //delete ihc_params_; Ulf@544: //delete agc_params_; Ulf@538: }