| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- /*
- * Copyright (c) 1983-2013 Trevor Wishart and Composers Desktop Project Ltd
- * http://www.trevorwishart.co.uk
- * http://www.composersdesktop.com
- *
- This file is part of the CDP System.
- The CDP System is free software; you can redistribute it
- and/or modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
- The CDP System is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public
- License along with the CDP System; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA
- *
- */
- /***************************** FILTERS ******************************/
- #define BSIZE (128)
- #define MINQ (0.001)
- #define MAXQ (10000.0)
- #define MIN_ACUITY (1.0/MAXQ)
- #define MAX_ACUITY (1.0)
- #define FLT_MINGAIN (0.001)
- #define FLT_MAXGAIN (10000.0)
- #define MINMIDI (0.0)
- #define MAXMIDI (127.0)
- //RWD was a whopping 10Hz!
- #define FLT_MINFRQ (0.1)
- #define FLT_MAXFRQ ((double)srate/2.0)
- #define FLT_MAX_FILTERS (2000)
- #define MINFILTAMP (0.001) /* Filter can't have zero gain (causes divide by zero) */
- /* This is near enough to zero to allow the maths to work */
- /* without the filter component biting */
- #define FLT_MAX_PSHIFT (48.0) /* 4 8vas in semitones */
- /* FLITITER */
- #define ITER_MONO (1)
- #define ITER_STEREO (2)
- #define MN_SHIFT (3)
- #define ST_SHIFT (4)
- #define ST_FLT_INTP_SHIFT (5)
- #define MN_FLT_INTP_SHIFT (6)
- #define FIXED_AMP (10) /* Converts flags above to flags below */
- #define U_MONO (11)
- #define U_STEREO (12)
- #define U_MN_SHIFT (13)
- #define U_ST_SHIFT (14)
- #define U_ST_INTP_SHIFT (15)
- #define U_MN_INTP_SHIFT (16)
- #define MIN_SHORT (-32768)
- #define MAX_SHORT (32767)
- #define FLT_SAFETY (512)
- #define FLT_OUTBUF (2)
- #define FLT_OVFLWBUF (3)
- /* FLTSWEEP */
- #define FLT_MINSWEEP (0.0001)
- #define FLT_MAXSWEEP (200.0)
- /* FSTATVAR */
- #define FLT_DEFAULT_FRQ (440.0)
- #define FLT_DEFAULT_LOFRQ (100.0)
- #define FLT_DEFAULT_HIFRQ (4000.0)
- #define FLT_DEFAULT_SWPFRQ (0.5)
- #define FLT_MININT (.25) /* 1/4 of a semitone: min step between filters */
- #define FLT_MAXINT (8.0 * SEMITONES_PER_OCTAVE)
- #define FLT_MINPRESCALE (-1.0)
- #define FLT_MAXPRESCALE (1.0)
- #define FLT_MAXEQPRESCALE (200.0)
- #define FLT_MINEQPRESCALE (1.0/FLT_MAXEQPRESCALE)
- #define FLT_MAXHARMS (200.0)
- #define FLT_DEFAULT_BW (200.0)
- #define FLT_DEFAULT_Q (20.0)
- #define FLT_DEFAULT_OFFSET (40.0)
- #define FLT_DEFAULT_INCOUNT (8.0)
- #define FLT_DEFAULT_INTSIZE (5.0)
- #define FLT_DEFAULT_HCNT (1.0)
- #define FLT_DEFAULT_ROLLOFF (-6.0)
- #define FLT_DEFAULT_ITERDELAY (1.0)
- #define FLT_DEFAULT_ALLPASSDELAY (10.0) /* MS */
- #define FLT_DEFAULT_SWPPHASE (0.25)
- #define FLT_MINDBGAIN (MIN_DB_ON_16_BIT)
- #define FLT_MAXDBGAIN (36.0) /* arbitrary!! */
- #define FLT_DEFAULT_LOHIPASS (1000.0)
- #define FLT_DEFAULT_LOHISTOP (600.0)
- #define FLT_DEFAULT_LOHIPASSMIDI (84.0)
- #define FLT_DEFAULT_LOHISTOPMIDI (72.0)
- #define FLT_DEFAULT_LOHI_ATTEN (-60.0)
- #define FLT_LBF (200)
- #define FLT_DEFAULT_LPHP_PRESCALE (0.9)
- #define FLT_MAXDELAY (32767.0)
- #define FLT_SPLICELEN (15.0)
- #define FLT_TAIL (20.0) /* 1 second allowed for filter to die to zero */
|