rockbox/apps/plugins/midi/guspat.h
Nils Wallménius 6888db3240 Do not duplicate const table, make getEvent function static inline, gives about a ~1.5% speedup, put tick function in iram, ~3.5% speedup
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14873 a1c6a512-1295-4272-9138-f99709370657
2007-09-27 20:17:38 +00:00

83 lines
2.2 KiB
C

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2005 Stepan Moskovchenko
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
extern const uint32_t gustable[];
struct GWaveform
{
unsigned char * name;
unsigned char fractions;
unsigned int wavSize;
unsigned int numSamples;
unsigned int startLoop;
unsigned int endLoop;
unsigned int sampRate;
unsigned int lowFreq;
unsigned int highFreq;
unsigned int rootFreq;
unsigned int tune;
unsigned int balance;
unsigned char * envRate;
unsigned char * envOffset;
unsigned char tremSweep;
unsigned char tremRate;
unsigned char tremDepth;
unsigned char vibSweep;
unsigned char vibRate;
unsigned char vibDepth;
unsigned char mode;
unsigned int scaleFreq;
unsigned int scaleFactor;
unsigned char * res;
signed char * data;
};
struct GPatch
{
unsigned int patchNumber;
unsigned char * header;
unsigned char * gravisid;
unsigned char * desc;
unsigned char inst, voc, chan;
unsigned int numWaveforms;
unsigned int datSize;
unsigned int vol;
unsigned char * res;
unsigned int instrID;
unsigned char * instrName;
unsigned int instrSize;
unsigned int layers;
unsigned char * instrRes;
unsigned char layerDup;
unsigned char layerID;
unsigned int layerSize;
unsigned char numWaves;
unsigned char * layerRes;
unsigned char noteTable[128];
struct GWaveform * waveforms[255];
};