//
// Rhythm kits
//
// Author: P.J. Drongowski
// Version: 1.0
// Date: 11 July 2016
//
// Copyright (c) 2016 Paul J. Drongowski
// Permission granted to distribute and modify
// A rhythm kit consists of one to eight rhythm instruments.
// The kit identifies the instrument waveform and associated
// waveform size. A kit also defines symbolic names for the
// bit position (within a pattern element) for each
// instrument.
//
// SH kit
//
#define SH_BD 0b10000000
#define SH_SD 0b01000000
#define SH_CH 0b00100000
#define SH_OH 0b00010000
#define SH_CP 0b00001000
#define SH_CL 0b00000100
#define SH_HT 0b00000010
#define SH_LT 0b00000001
const int8_t* const shWaveforms[8] PROGMEM = {
LTSamples, HTSamples, CLSamples, CPSamples,
OHSamples, CHSamples, SDSamples, BDSamples
} ;
const int16_t PROGMEM shWaveformSizes[8] = {
LTSAMPLESSIZE, HTSAMPLESSIZE, CLSAMPLESSIZE, CPSAMPLESSIZE,
OHSAMPLESSIZE, CHSAMPLESSIZE, SDSAMPLESSIZE, BDSAMPLESSIZE
} ;
//
// CT kit
//
#define CT_BD 0b10000000
#define CT_SD 0b01000000
#define CT_RS 0b00100000
#define CT_CP 0b00010000
#define CT_CB 0b00001000
#define CT_CY 0b00000100
#define CT_OH 0b00000010
#define CT_CH 0b00000001
const int8_t* const ctWaveforms[8] PROGMEM = {
CHSamples, OHSamples, CYSamples, CBSamples,
CPSamples, RSSamples, SDSamples, BDSamples
} ;
const int16_t PROGMEM ctWaveformSizes[8] = {
CHSAMPLESSIZE, OHSAMPLESSIZE, CYSAMPLESSIZE, CBSAMPLESSIZE,
CPSAMPLESSIZE, RSSAMPLESSIZE, SDSAMPLESSIZE, BDSAMPLESSIZE
} ;
//
// AD kit
//
#define AD_BD 0b10000000
#define AD_SD 0b01000000
#define AD_LT 0b00100000
#define AD_MT 0b00010000
#define AD_HT 0b00001000
#define AD_RS 0b00000100
#define AD_CP 0b00000010
#define AD_CH 0b00000001
const int8_t* const adWaveforms[8] PROGMEM = {
CHSamples, CPSamples, RSSamples, HTSamples,
MTSamples, LTSamples, SDSamples, BDSamples
} ;
const int16_t PROGMEM adWaveformSizes[8] = {
CHSAMPLESSIZE, CPSAMPLESSIZE, RSSAMPLESSIZE, HTSAMPLESSIZE,
MTSAMPLESSIZE, LTSAMPLESSIZE, SDSAMPLESSIZE, BDSAMPLESSIZE
} ;
//
// VR kit
//
#define VR_BD 0b10000000
#define VR_SD 0b01000000
#define VR_LC 0b00100000
#define VR_MC 0b00010000
#define VR_HC 0b00001000
#define VR_RS 0b00000100
#define VR_OH 0b00000010
#define VR_CH 0b00000001
const int8_t* const vrWaveforms[8] PROGMEM = {
CHSamples, OHSamples, RSSamples, HCSamples,
MCSamples, LCSamples, SDSamples, BDSamples
} ;
const int16_t PROGMEM vrWaveformSizes[8] = {
CHSAMPLESSIZE, OHSAMPLESSIZE, RSSAMPLESSIZE, HCSAMPLESSIZE,
MCSAMPLESSIZE, LCSAMPLESSIZE, SDSAMPLESSIZE, BDSAMPLESSIZE
} ;