Stepan Moskovchenko | 215e492 | 2005-04-15 06:08:55 +0000 | [diff] [blame] | 1 | /*************************************************************************** |
| 2 | * __________ __ ___. |
| 3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ |
| 4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / |
| 5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < |
| 6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ |
| 7 | * \/ \/ \/ \/ \/ |
Nils Wallménius | 0e49605 | 2007-09-24 15:57:32 +0000 | [diff] [blame] | 8 | * $Id$ |
Stepan Moskovchenko | 215e492 | 2005-04-15 06:08:55 +0000 | [diff] [blame] | 9 | * |
| 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énius | 6888db3 | 2007-09-27 20:17:38 +0000 | [diff] [blame] | 20 | extern const uint32_t gustable[]; |
Stepan Moskovchenko | 215e492 | 2005-04-15 06:08:55 +0000 | [diff] [blame] | 21 | |
| 22 | struct GWaveform |
| 23 | { |
Stepan Moskovchenko | 9ec1ff8 | 2005-04-20 21:07:13 +0000 | [diff] [blame] | 24 | 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 Moskovchenko | 215e492 | 2005-04-15 06:08:55 +0000 | [diff] [blame] | 38 | |
Stepan Moskovchenko | 9ec1ff8 | 2005-04-20 21:07:13 +0000 | [diff] [blame] | 39 | 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 Moskovchenko | 215e492 | 2005-04-15 06:08:55 +0000 | [diff] [blame] | 46 | |
Stepan Moskovchenko | 9ec1ff8 | 2005-04-20 21:07:13 +0000 | [diff] [blame] | 47 | unsigned int scaleFreq; |
| 48 | unsigned int scaleFactor; |
Stepan Moskovchenko | 215e492 | 2005-04-15 06:08:55 +0000 | [diff] [blame] | 49 | |
Stepan Moskovchenko | 9ec1ff8 | 2005-04-20 21:07:13 +0000 | [diff] [blame] | 50 | unsigned char * res; |
| 51 | signed char * data; |
Stepan Moskovchenko | 215e492 | 2005-04-15 06:08:55 +0000 | [diff] [blame] | 52 | }; |
| 53 | |
| 54 | |
| 55 | struct GPatch |
| 56 | { |
Stepan Moskovchenko | 9ec1ff8 | 2005-04-20 21:07:13 +0000 | [diff] [blame] | 57 | 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 Moskovchenko | 215e492 | 2005-04-15 06:08:55 +0000 | [diff] [blame] | 66 | |
| 67 | |
Stepan Moskovchenko | 9ec1ff8 | 2005-04-20 21:07:13 +0000 | [diff] [blame] | 68 | unsigned int instrID; |
| 69 | unsigned char * instrName; |
| 70 | unsigned int instrSize; |
| 71 | unsigned int layers; |
| 72 | unsigned char * instrRes; |
Stepan Moskovchenko | 215e492 | 2005-04-15 06:08:55 +0000 | [diff] [blame] | 73 | |
Stepan Moskovchenko | 9ec1ff8 | 2005-04-20 21:07:13 +0000 | [diff] [blame] | 74 | unsigned char layerDup; |
| 75 | unsigned char layerID; |
| 76 | unsigned int layerSize; |
| 77 | unsigned char numWaves; |
| 78 | unsigned char * layerRes; |
Stepan Moskovchenko | 215e492 | 2005-04-15 06:08:55 +0000 | [diff] [blame] | 79 | |
Stepan Moskovchenko | 9ec1ff8 | 2005-04-20 21:07:13 +0000 | [diff] [blame] | 80 | unsigned char noteTable[128]; |
| 81 | struct GWaveform * waveforms[255]; |
Stepan Moskovchenko | 215e492 | 2005-04-15 06:08:55 +0000 | [diff] [blame] | 82 | }; |
| 83 | |