1 2 /* 3 * Diverse Bristol audio routines. 4 * Copyright (c) by Nick Copeland <nickycopeland@hotmail.com> 1996,2012 5 * 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 3 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, see <http://www.gnu.org/licenses/>. 19 * 20 */ 21 22 #define BME700LOCAL ((bme700mods *) baudio->mixlocals) 23 24 #define BME700_VIBRA_ENV 0x00000001 25 #define BME700_VIBRA_TRI1 0x00000002 26 #define BME700_VIBRA_TRI2 0x00000004 27 #define BME700_PWM_TRI 0x00000008 28 #define BME700_PWM_DOUBLE 0x00000010 29 30 #define BME700_GLIDE 0x00000020 31 32 #define BME700_PWM_MAN 0x00000040 33 #define BME700_PWM_ENV 0x00000080 34 35 #define BME700_FILT_TRI 0x00000100 36 #define BME700_FILT_MOD1 0x00000200 37 #define BME700_FILT_KBD 0x00000400 38 39 #define BME700_TREM_MOD1 0x00000800 40 #define BME700_TREM_TRI 0x00001000 41 42 #define BME700_LFO1_MULTI 0x00002000 43 #define BME700_LFO2_MULTI 0x00004000 44 #define BME700_NOISE_MULTI 0x00008000 45 46 typedef struct BME700Mods { 47 unsigned int flags; 48 49 float volume; 50 float oscmix; 51 float resmix; 52 float envmix1; 53 float envmix2; 54 float f_modmix; 55 float a_modmix; 56 float vibramix; 57 float vibra; 58 float pwm; 59 float glide; 60 61 float *lfo1_tri; 62 float *lfo1_sqr; 63 float *lfo2_tri; 64 float *lfo2_sqr; 65 float *freqbuf; 66 float *pwmbuf; 67 float *oscbuf; 68 float *noisebuf; 69 float *adsr1buf; 70 float *adsr2buf; 71 float *zerobuf; 72 float *scratch; 73 float *outbuf; 74 float *resbuf; 75 float *filtbuf; 76 } bme700mods; 77 78