1 /** 2 * Impulse Response Processor model implementation 3 * Low Latency Version 4 * 5 * Copyright (C) 2006-2018 Teru Kamogashira 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 */ 21 22 #ifndef _FV3_IRMODEL2ZL_HPP 23 #define _FV3_IRMODEL2ZL_HPP 24 25 #include <cstdio> 26 #include <cstdlib> 27 #include <cstring> 28 #include <cmath> 29 #include <vector> 30 #include <new> 31 32 #include "freeverb/frag.hpp" 33 #include "freeverb/delay.hpp" 34 #include "freeverb/blockDelay.hpp" 35 #include "freeverb/efilter.hpp" 36 #include "freeverb/utils.hpp" 37 #include "freeverb/irmodel2.hpp" 38 #include "freeverb/fv3_defs.h" 39 40 namespace fv3 41 { 42 43 #define _fv3_float_t float 44 #define _FV3_(name) name ## _f 45 #include "freeverb/irmodel2zl_t.hpp" 46 #undef _FV3_ 47 #undef _fv3_float_t 48 49 #define _fv3_float_t double 50 #define _FV3_(name) name ## _ 51 #include "freeverb/irmodel2zl_t.hpp" 52 #undef _FV3_ 53 #undef _fv3_float_t 54 55 #define _fv3_float_t long double 56 #define _FV3_(name) name ## _l 57 #include "freeverb/irmodel2zl_t.hpp" 58 #undef _FV3_ 59 #undef _fv3_float_t 60 61 }; 62 63 #endif 64