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  * These need to be redone. Each white key should be placed first, then the
24  * black keys layered on top. That way we can get better graphics with shading
25  * on the white keys for each black key.
26  */
27 
28 #ifndef BRIGHTONKEYS_H
29 #define BRIGHTONKEYS_H
30 
31 #define KEY_COUNT 61
32 #define KEY_COUNT_2OCTAVE2 32
33 #define KEY_COUNT_2OCTAVE 29
34 #define KEY_COUNT_3OCTAVE 44
35 #define KEY_COUNT_3_OCTAVE 37
36 #define KEY_COUNT_4OCTAVE 49
37 #define KEY_COUNT_PEDAL 24
38 #define VKEY_COUNT 48
39 #define KEY_COUNT_5OCTAVE KEY_COUNT
40 #define KEY_COUNT_6_OCTAVE 73
41 
42 extern guimain global;
43 
44 extern brightonLocations keys[KEY_COUNT_5OCTAVE];
45 extern brightonLocations keysprofile[KEY_COUNT_5OCTAVE];
46 extern brightonLocations keysprofile2[KEY_COUNT_5OCTAVE];
47 extern brightonLocations keys6octave[KEY_COUNT_6_OCTAVE];
48 extern brightonLocations keys6hammond[KEY_COUNT_6_OCTAVE];
49 extern brightonLocations keys2octave[KEY_COUNT_2OCTAVE];
50 extern brightonLocations keys2octave2[KEY_COUNT_2OCTAVE2];
51 extern brightonLocations keys3_octave[KEY_COUNT_3_OCTAVE];
52 extern brightonLocations keys3octave[KEY_COUNT_3OCTAVE];
53 extern brightonLocations keys3octave2[KEY_COUNT_3OCTAVE];
54 extern brightonLocations keys4octave[KEY_COUNT_4OCTAVE];
55 extern brightonLocations keys4octave2[KEY_COUNT_4OCTAVE];
56 extern brightonLocations pedalBoard[KEY_COUNT_PEDAL];
57 extern brightonLocations vkeys[VKEY_COUNT];
58 extern brightonLocations mods[2];
59 extern int bristolMidiControl(int, int, int, int, int);
60 
61 extern int modCallback(brightonWindow *, int, int, float);
62 extern int keyCallback(brightonWindow *, int, int, float);
63 #endif /* BRIGHTONKEYS_H */
64 
65