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 /* 23 * This file is just the visible presentation code for the trilogy. The stratus 24 * was already architected to support the extra parameterisation for the trilogy 25 * so this just now needed a different layout of a few of the parameters. 26 * 27 * Check String options. 28 * 29 * P12 String pan 30 * P13 String harmonics 31 * P14 String spacialisation 32 * P15 String mod level 33 * P16 String TBD 34 */ 35 36 #include "brighton.h" 37 #include "brightonMini.h" 38 39 extern int stratusInit(); 40 extern int stratusConfigure(); 41 extern int stratusCallback(brightonWindow *, int, int, float); 42 extern int stratusModCallback(brightonWindow *, int, int, float); 43 extern int stratusMidiCallback(brightonWindow *, int, int, float); 44 45 #include "brightonKeys.h" 46 #include "brightoninternals.h" 47 48 #define DEVICE_COUNT 87 49 50 /* 51 * This structure is for device definition. The structure is defined in 52 * include/brighton.h, further definitions in brighton/brightonDevtable.h and 53 * include/brightoninternals.h 54 * 55 * typedef int (*brightonCallback)(int, float); 56 * typedef struct BrightonLocations { 57 * int device; 0=rotary, 1=scale, etc. 58 * float relx, rely; relative position with regards to 1000 by 1000 window 59 * float relw, relh; relative height. 60 * int from, to; 61 * brightonCallback callback; specific to this dev 62 * char *image; bitmap. If zero take a device default. 63 * int flags; 64 * } brightonLocations; 65 * 66 * This example is for a trilogyBristol type synth interface. 67 */ 68 #define S1 35 69 #define S2 110 70 #define S2b 15 71 #define S2c 80 72 #define S3 70 73 #define S4 600 74 75 #define BO 10 76 #define B2 6 77 78 #define R1 190 79 #define R2 560 80 #define R2a 545 81 #define R2b 685 82 83 #define D1 51 84 #define D2 43 85 #define D3 30 86 87 #define C1 26 88 #define C2 (C1 + D1) 89 #define C3 (C2 + D1) 90 #define C4 (C3 + D1) 91 #define C5 (C4 + D1) 92 #define C6 (C5 + D1) 93 #define C7 (C6 + D1) 94 #define C8 (C7 + D1) 95 #define C9 (C8 + D1) 96 #define C10 (C9 + D1) 97 #define C11 (C10 + D1) 98 #define C12 (C11 + D1) 99 #define C13 (C12 + D1) 100 #define C14 (C13 + D1) 101 #define C15 (C14 + D1) 102 #define C16 (C15 + D1) 103 #define C17 (C16 + D1) 104 #define C18 (C17 + D1) 105 #define C19 (C18 + D1) 106 #define C20 (C19 + D1) 107 108 static brightonLocations trilogyLocations[DEVICE_COUNT] = { 109 /* Organ */ 110 {"Organ-2'", 1, C1-10, 110, 90, 40, 0, 1, 0, "bitmaps/knobs/sliderblack.xpm", 0, 111 BRIGHTON_REVERSE|BRIGHTON_VERTICAL|BRIGHTON_NOSHADOW}, 112 {"Organ-4'", 1, C1-10, 180, 90, 40, 0, 1, 0, "bitmaps/knobs/sliderblack.xpm", 0, 113 BRIGHTON_REVERSE|BRIGHTON_VERTICAL|BRIGHTON_NOSHADOW}, 114 {"Organ-8'", 1, C1-10, 250, 90, 40, 0, 1, 0, "bitmaps/knobs/sliderblack.xpm", 0, 115 BRIGHTON_REVERSE|BRIGHTON_VERTICAL|BRIGHTON_NOSHADOW}, 116 {"Organ-15'", 1, C1-10, 320, 90, 40, 0, 1, 0, "bitmaps/knobs/sliderblack.xpm", 0, 117 BRIGHTON_REVERSE|BRIGHTON_VERTICAL|BRIGHTON_NOSHADOW}, 118 119 /* Filter - 4 */ 120 {"Filter-Env", 0, C3, R1, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 121 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_NOTCH}, 122 {"Filter-Cutoff", 0, C4, R1, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 123 "bitmaps/knobs/alpharotary.xpm", 0}, 124 {"Filter-Res", 0, C5, R1, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 125 "bitmaps/knobs/alpharotary.xpm", 0}, 126 {"Filter-Pedal", 0, C6, R1, S1, S2, 0, 1.01, 0, "bitmaps/knobs/knob4.xpm", 127 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_STEPPED}, 128 129 /* - 8 */ 130 {"Glide-Amout", 0, C7, R1, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 131 "bitmaps/knobs/alpharotary.xpm", 0}, 132 {"Glide-Speed", 0, C8, R1, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 133 "bitmaps/knobs/alpharotary.xpm", 0}, 134 {"Glide-Multi", 0, C9, R1, S1, S2, 0, 1.01, 0, "bitmaps/knobs/knob4.xpm", 135 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_STEPPED}, 136 {"Glide-Dir", 0, C10, R1, S1, S2, 0, 3, 0, "bitmaps/knobs/knob4.xpm", 137 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_STEPPED}, 138 139 /* - 12 */ 140 {"Osc1-Tuning", 0, C11, R1, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 141 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_NOTCH}, 142 {"Osc1-Sync", 2, C11 + (D2*1), R1, S2b+4, S2-10, 0, 1, 0, 143 "bitmaps/buttons/pressoff.xpm", "bitmaps/buttons/presson.xpm", 0}, 144 {"Osc1-Octave", 2, C11 + (D2*2), R1, S2b+4, S2-10, 0, 12, 0, 145 "bitmaps/buttons/pressoff.xpm", "bitmaps/buttons/presson.xpm", 0}, 146 147 /* - 15 */ 148 {"Osc2-Trill", 2, C11 + (D2*4) - 5, R1, S2b+4, S2-10, 0, 1, 0, 149 "bitmaps/buttons/pressoff.xpm", "bitmaps/buttons/presson.xpm", 0}, 150 {"Osc2-Octave", 2, C11 + (D2*3) - 3, R1, S2b+4, S2-10, 0, 12, 0, 151 "bitmaps/buttons/pressoff.xpm", "bitmaps/buttons/presson.xpm", 0}, 152 {"Osc2-Tuning", 0, C15, R1, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 153 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_NOTCH}, 154 155 /* - 18 */ 156 {"LFO-Routing", 0, C16+5, R1, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 157 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_STEPPED|BRIGHTON_NOTCH}, 158 {"LFO-Muli", 0, C17 + D1 / 2, R1, S1, S2, 0, 1.01, 0, "bitmaps/knobs/knob4.xpm", 159 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_STEPPED}, 160 {"LFO-Waveform", 0, C19-5, R1, S1, S2, 0, 3, 0, "bitmaps/knobs/knob4.xpm", 161 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_STEPPED}, 162 163 /* - 21 */ 164 {"Mix-Synth", 0, C1-5, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 165 "bitmaps/knobs/alpharotary.xpm", 0}, 166 {"Mix-Organ", 0, C2-5, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 167 "bitmaps/knobs/alpharotary.xpm", 0}, 168 {"Mix-String", 0, C3-5, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 169 "bitmaps/knobs/alpharotary.xpm", 0}, 170 171 /* - 24 String section */ 172 {"String-footage", 0, C4, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 173 "bitmaps/knobs/alpharotary.xpm", 0}, 174 {"String-Timbre", 0, C5, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 175 "bitmaps/knobs/alpharotary.xpm", 0}, 176 {"String-Attack", 0, C6, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 177 "bitmaps/knobs/alpharotary.xpm", 0}, 178 {"String-Decay", 0, C7, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 179 "bitmaps/knobs/alpharotary.xpm", 0}, 180 181 /* - 28 */ 182 {"Osc-Waveform", 0, C8, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 183 "bitmaps/knobs/alpharotary.xpm", 0}, 184 {"Osc-WaveAlt", 0, C9, R2, S1, S2, 0, 1.01, 0, "bitmaps/knobs/knob4.xpm", 185 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_STEPPED}, 186 {"Osc-WaveLegato", 0, C10, R2, S1, S2, 0, 1.01, 0, "bitmaps/knobs/knob4.xpm", 187 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_STEPPED}, 188 189 /* - 31 */ 190 {"LFO-Rate", 0, C16, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 191 "bitmaps/knobs/alpharotary.xpm", 0}, 192 {"LFO-Attack", 0, C17, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 193 "bitmaps/knobs/alpharotary.xpm", 0}, 194 {"LFO-Delay", 0, C18, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 195 "bitmaps/knobs/alpharotary.xpm", 0}, 196 {"LFO-Depth", 0, C19, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knobblue.xpm", 197 "bitmaps/knobs/alpharotary.xpm", 0}, 198 199 /* Dummies 12 - 35 */ 200 {"", 0, 0, 0, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 201 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 202 {"", 0, 0, 0, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 203 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 204 {"", 0, 0, 0, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 205 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 206 {"", 0, 0, 0, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 207 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 208 {"", 0, 0, 0, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 209 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 210 {"", 0, 0, 0, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 211 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 212 {"", 0, 0, 0, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 213 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 214 {"", 0, 0, 0, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 215 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 216 {"", 0, 0, 0, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 217 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 218 {"", 0, 0, 0, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 219 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 220 {"", 0, 0, 0, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 221 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 222 {"", 0, 0, 0, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 223 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 224 225 /* These are shadows for the opts parameters - 47 */ 226 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 227 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 228 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 229 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 230 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 231 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 232 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 233 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 234 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 235 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 236 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 237 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 238 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 239 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 240 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 241 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 242 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 243 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 244 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 245 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 246 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 247 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 248 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 249 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 250 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 251 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 252 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 253 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 254 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 255 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 256 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 257 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 258 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 259 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 260 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 261 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 262 {"", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 263 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 264 265 /* These are shadows for the envelope parameters from the mod panel - 66 */ 266 {"Attack", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 267 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 268 {"Decay", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 269 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 270 {"Sustain", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 271 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 272 {"Release", 0, 0, R2, S1, S2, 0, 1, 0, "bitmaps/knobs/knob4.xpm", 273 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 274 275 /* Memory - 40 */ 276 {"", 2, C11+(D3*1), R2a, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoff.xpm", 277 "bitmaps/buttons/presson.xpm", BRIGHTON_RADIOBUTTON}, 278 {"", 2, C11+(D3*2), R2a, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoff.xpm", 279 "bitmaps/buttons/presson.xpm", BRIGHTON_RADIOBUTTON}, 280 {"", 2, C11+(D3*3), R2a, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoff.xpm", 281 "bitmaps/buttons/presson.xpm", BRIGHTON_RADIOBUTTON}, 282 {"", 2, C11+(D3*4), R2a, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoff.xpm", 283 "bitmaps/buttons/presson.xpm", BRIGHTON_RADIOBUTTON}, 284 285 {"", 2, C11+(D3*1), R2b, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoff.xpm", 286 "bitmaps/buttons/presson.xpm", BRIGHTON_RADIOBUTTON}, 287 {"", 2, C11+(D3*2), R2b, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoff.xpm", 288 "bitmaps/buttons/presson.xpm", BRIGHTON_RADIOBUTTON}, 289 {"", 2, C11+(D3*3), R2b, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoff.xpm", 290 "bitmaps/buttons/presson.xpm", BRIGHTON_RADIOBUTTON}, 291 {"", 2, C11+(D3*4), R2b, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoff.xpm", 292 "bitmaps/buttons/presson.xpm", BRIGHTON_RADIOBUTTON}, 293 /* Load and Save */ 294 {"", 2, C11+(D3*5), R2a, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoffg.xpm", 295 "bitmaps/buttons/pressong.xpm", BRIGHTON_CHECKBUTTON}, 296 {"", 2, C11+(D3*5), R2b, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoffo.xpm", 297 "bitmaps/buttons/pressono.xpm", BRIGHTON_CHECKBUTTON}, 298 /* Bank Sel */ 299 {"", 2, C11+(D3*0), R2a, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoffg.xpm", 300 "bitmaps/buttons/pressong.xpm", BRIGHTON_CHECKBUTTON}, 301 /* Mem search buttons Down then Up */ 302 {"", 2, C11+(D3*6), R2b, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoff.xpm", 303 "bitmaps/buttons/presson.xpm", BRIGHTON_CHECKBUTTON}, 304 {"", 2, C11+(D3*6), R2a, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoff.xpm", 305 "bitmaps/buttons/presson.xpm", BRIGHTON_CHECKBUTTON}, 306 /* Search Free */ 307 {"", 2, C11+(D3*0), R2b, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoffg.xpm", 308 "bitmaps/buttons/pressong.xpm", BRIGHTON_CHECKBUTTON}, 309 310 /* Midi, perhaps eventually file import/export buttons */ 311 {"", 2, C11+(D3*7), R2b, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoffg.xpm", 312 "bitmaps/buttons/pressong.xpm", BRIGHTON_CHECKBUTTON}, 313 {"", 2, C11+(D3*7), R2a, S2b, S2c, 0, 1, 0, "bitmaps/buttons/pressoffg.xpm", 314 "bitmaps/buttons/pressong.xpm", BRIGHTON_CHECKBUTTON}, 315 316 {"", 3, C11 + 30, R2a - 90, 165, 70, 0, 1, 0, 0, 317 "bitmaps/images/alphadisplay3.xpm", 0} 318 }; 319 320 static brightonLocations trilogyOpts[19] = { 321 /* First one is index 47 */ 322 {"", 0, C1, 100, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm",// Master vol 323 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_NOTCH}, 324 {"", 0, C1, 380, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", // organ pan 325 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_NOTCH}, 326 {"", 0, C2 - 12, 380, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", // o wave 327 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_NOTCH}, 328 {"", 0, C3, 380, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", // o space 329 "bitmaps/knobs/alpharotary.xpm", 0}, 330 {"", 0, C4 - 25, 470, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", // o mod 331 "bitmaps/knobs/alpharotary.xpm", 0}, 332 333 {"", 0, 285, 32, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", // SynHarm 334 "bitmaps/knobs/alpharotary.xpm", 0}, 335 336 /* 53 */ 337 {"", 2, C1 - 15, 500, 20, 110, 0, 1, 0, // clicky 338 "bitmaps/buttons/touchoff.xpm", 339 "bitmaps/buttons/touch.xpm", BRIGHTON_NOSHADOW}, 340 341 {"", 0, C1 - 18, 650, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", // O tune 342 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_NOTCH}, 343 344 {"", 0, C7, 380, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", // syn pan 345 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_NOTCH}, 346 {"", 0, C7+10, 670, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", // syn tune 347 "bitmaps/knobs/alpharotary.xpm", BRIGHTON_NOTCH}, 348 {"", 0, 285, 606, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", // not used 349 "bitmaps/knobs/alpharotary.xpm", 0}, 350 /* 58 */ 351 {"", 2, C8, 380, 20, 110, 0, 1, 0, 352 "bitmaps/buttons/touchoff.xpm", 353 "bitmaps/buttons/touch.xpm", BRIGHTON_NOSHADOW}, // Env touch 354 {"", 2, C9 + 10, 380, 20, 110, 0, 4, 0, 355 "bitmaps/buttons/touchoff.xpm", 356 "bitmaps/buttons/touch.xpm", BRIGHTON_NOSHADOW}, // filter type 357 {"", 0, C10, 475, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", 358 "bitmaps/knobs/alpharotary.xpm", 0}, 359 360 /* 61 - string options */ 361 {"", 0, C13+8, 190, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", 362 "bitmaps/knobs/alpharotary.xpm", 0}, 363 {"", 0, C13+8, 490, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", 364 "bitmaps/knobs/alpharotary.xpm", 0}, 365 {"", 0, C13+20, 790, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", 366 "bitmaps/knobs/alpharotary.xpm", 0}, 367 368 {"", 0, C14+18, 380, 100, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", 369 "bitmaps/knobs/alpharotary.xpm", 0}, 370 {"", 0, C16-20, 450, S1, 100, 0, 1, 0, "bitmaps/knobs/smp.xpm", 371 "bitmaps/knobs/alpharotary.xpm", 0}, 372 }; 373 374 #define TRILOGY_MODCOUNT 7 375 static brightonLocations trilogyMods[TRILOGY_MODCOUNT] = { 376 {"Attack", 1, 440, 180, 80, 700, 0, 1, 0, 377 "bitmaps/knobs/sliderblack.xpm", 0, 0}, 378 {"Decay", 1, 580, 180, 80, 700, 0, 1, 0, 379 "bitmaps/knobs/sliderblack.xpm", 0, 0}, 380 {"Sustain", 1, 720, 180, 80, 700, 0, 1, 0, 381 "bitmaps/knobs/sliderblack.xpm", 0, 0}, 382 {"Release", 1, 860, 180, 80, 700, 0, 1, 0, 383 "bitmaps/knobs/sliderblack.xpm", 0, 0}, 384 385 /* View Opts button */ 386 {"", 2, 150, 800, 98, 170, 0, 1, 0, "bitmaps/buttons/pressoff.xpm", 387 "bitmaps/buttons/presson.xpm", 0}, 388 389 /* Joystick */ 390 {"", 5, 40, 160, 310, 500, 0, 1, 0, "bitmaps/images/sphere.xpm", 391 0, BRIGHTON_WIDE}, 392 /* Joystick dummy */ 393 {"", 0, 0, 0, 10, 10, 0, 1, 0, "bitmaps/knobs/sliderblack.xpm", 394 0, BRIGHTON_WITHDRAWN|BRIGHTON_NOSHADOW}, 395 }; 396 397 /* 398 * This is a set of globals for the main window rendering. Again taken from 399 * include/brighton.h 400 */ 401 brightonApp trilogyApp = { 402 "trilogy", 403 0, /* no blueprint on wood background. */ 404 "bitmaps/textures/metal6.xpm", 405 BRIGHTON_STRETCH, /*flags */ 406 stratusInit, 407 stratusConfigure, /* 3 callbacks, unused? */ 408 stratusMidiCallback, 409 destroySynth, 410 {5, 100, 1, 2, 5, 520, 0, 0}, 411 900, 385, 0, 0, 412 7, /* Panel count */ 413 { 414 { 415 "TRILOGY", 416 "bitmaps/blueprints/trilogy.xpm", 417 "bitmaps/textures/metal6.xpm", 418 BRIGHTON_STRETCH|BRIGHTON_REVERSE, /* flags */ 419 0, 420 0, 421 stratusCallback, 422 20, 100, 960, 550, 423 DEVICE_COUNT, 424 trilogyLocations 425 }, 426 { 427 "Keyboard", 428 0, 429 "bitmaps/newkeys/kbg.xpm", /* flags */ 430 0x020|BRIGHTON_STRETCH, 431 0, 432 0, 433 keyCallback, 434 200, 690, 785, 290, 435 KEY_COUNT, 436 keys 437 }, 438 { 439 "Mods", 440 "bitmaps/blueprints/trilogymods.xpm", 441 "bitmaps/blueprints/trilogymods.xpm", 442 BRIGHTON_STRETCH, 443 0, 444 0, 445 stratusModCallback, 446 30, 710, 160, 250, 447 TRILOGY_MODCOUNT, 448 trilogyMods 449 }, 450 { 451 "Options", 452 "bitmaps/blueprints/trilogyopts.xpm", 453 "bitmaps/images/pcb.xpm", 454 BRIGHTON_WITHDRAWN, 455 0, 456 0, 457 stratusModCallback, 458 25, 105, 950, 540, 459 19, 460 trilogyOpts 461 }, 462 { 463 "Logo", 464 "bitmaps/blueprints/trilogylogo.xpm", 465 0, 466 BRIGHTON_STRETCH, /*flags */ 467 0, 468 0, 469 0, 470 20, 0, 960, 100, 471 0, 472 0 473 }, 474 { 475 "Edge", 476 0, 477 "bitmaps/textures/wood.xpm", 478 BRIGHTON_STRETCH|BRIGHTON_VERTICAL, /* flags */ 479 0, 480 0, 481 0, 482 0, 0, 20, 1000, 483 0, 484 0 485 }, 486 { 487 "Edge", 488 0, 489 "bitmaps/textures/wood.xpm", 490 BRIGHTON_STRETCH|BRIGHTON_VERTICAL, /*flags */ 491 0, 492 0, 493 0, 494 980, 0, 20, 1000, 495 0, 496 0 497 }, 498 } 499 }; 500 501