blob: fecf2245fa4c05f139ad915716cda58b57f43e1d [file] [log] [blame]
Stepan Moskovchenko215e4922005-04-15 06:08:55 +00001/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
Nils Wallménius0e496052007-09-24 15:57:32 +00008 * $Id$
Stepan Moskovchenko215e4922005-04-15 06:08:55 +00009 *
10 * Copyright (C) 2005 Stepan Moskovchenko
11 *
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
19
Nils Wallménius6888db32007-09-27 20:17:38 +000020extern const uint32_t gustable[];
Stepan Moskovchenko215e4922005-04-15 06:08:55 +000021
22struct GWaveform
23{
Stepan Moskovchenko9ec1ff82005-04-20 21:07:13 +000024 unsigned char * name;
25 unsigned char fractions;
26 unsigned int wavSize;
27 unsigned int numSamples;
28 unsigned int startLoop;
29 unsigned int endLoop;
30 unsigned int sampRate;
31 unsigned int lowFreq;
32 unsigned int highFreq;
33 unsigned int rootFreq;
34 unsigned int tune;
35 unsigned int balance;
36 unsigned char * envRate;
37 unsigned char * envOffset;
Stepan Moskovchenko215e4922005-04-15 06:08:55 +000038
Stepan Moskovchenko9ec1ff82005-04-20 21:07:13 +000039 unsigned char tremSweep;
40 unsigned char tremRate;
41 unsigned char tremDepth;
42 unsigned char vibSweep;
43 unsigned char vibRate;
44 unsigned char vibDepth;
45 unsigned char mode;
Stepan Moskovchenko215e4922005-04-15 06:08:55 +000046
Stepan Moskovchenko9ec1ff82005-04-20 21:07:13 +000047 unsigned int scaleFreq;
48 unsigned int scaleFactor;
Stepan Moskovchenko215e4922005-04-15 06:08:55 +000049
Stepan Moskovchenko9ec1ff82005-04-20 21:07:13 +000050 unsigned char * res;
51 signed char * data;
Stepan Moskovchenko215e4922005-04-15 06:08:55 +000052};
53
54
55struct GPatch
56{
Stepan Moskovchenko9ec1ff82005-04-20 21:07:13 +000057 unsigned int patchNumber;
58 unsigned char * header;
59 unsigned char * gravisid;
60 unsigned char * desc;
61 unsigned char inst, voc, chan;
62 unsigned int numWaveforms;
63 unsigned int datSize;
64 unsigned int vol;
65 unsigned char * res;
Stepan Moskovchenko215e4922005-04-15 06:08:55 +000066
67
Stepan Moskovchenko9ec1ff82005-04-20 21:07:13 +000068 unsigned int instrID;
69 unsigned char * instrName;
70 unsigned int instrSize;
71 unsigned int layers;
72 unsigned char * instrRes;
Stepan Moskovchenko215e4922005-04-15 06:08:55 +000073
Stepan Moskovchenko9ec1ff82005-04-20 21:07:13 +000074 unsigned char layerDup;
75 unsigned char layerID;
76 unsigned int layerSize;
77 unsigned char numWaves;
78 unsigned char * layerRes;
Stepan Moskovchenko215e4922005-04-15 06:08:55 +000079
Stepan Moskovchenko9ec1ff82005-04-20 21:07:13 +000080 unsigned char noteTable[128];
81 struct GWaveform * waveforms[255];
Stepan Moskovchenko215e4922005-04-15 06:08:55 +000082};
83