gigatron/rom/Contrib/at67/audio.h
2025-01-28 19:17:01 +03:00

62 lines
1.3 KiB
C++

#ifndef AUDIO_H
#define AUDIO_H
#define GIGA_NUM_CHANNELS 4
#define GIGA_CHANNELS_MASK 3
#define GIGA_CHANNEL_OFFSET 0x0100
#define GIGA_SOUND_TIMER 0x002C
#define GIGA_CH0_WAV_A 0x01FA
#define GIGA_CH0_WAV_X 0x01FB
#define GIGA_CH0_KEY_L 0x01FC
#define GIGA_CH0_KEY_H 0x01FD
#define GIGA_CH0_OSC_L 0x01FE
#define GIGA_CH0_OSC_H 0x01FF
#define GIGA_CH1_WAV_A 0x02FA
#define GIGA_CH1_WAV_X 0x02FB
#define GIGA_CH1_KEY_L 0x02FC
#define GIGA_CH1_KEY_H 0x02FD
#define GIGA_CH1_OSC_L 0x02FE
#define GIGA_CH1_OSC_H 0x02FF
#define GIGA_CH2_WAV_A 0x03FA
#define GIGA_CH2_WAV_X 0x03FB
#define GIGA_CH2_KEY_L 0x03FC
#define GIGA_CH2_KEY_H 0x03FD
#define GIGA_CH2_OSC_L 0x03FE
#define GIGA_CH2_OSC_H 0x03FF
#define GIGA_CH3_WAV_A 0x04FA
#define GIGA_CH3_WAV_X 0x04FB
#define GIGA_CH3_KEY_L 0x04FC
#define GIGA_CH3_KEY_H 0x04FD
#define GIGA_CH3_OSC_L 0x04FE
#define GIGA_CH3_OSC_H 0x04FF
#define AUDIO_CONFIG_INI "audio_config.ini"
namespace Audio
{
#ifndef STAND_ALONE
bool getRealTimeAudio(void);
void initialise(void);
void initialiseChannels(void);
void saveWaveTables(void);
void restoreWaveTables(void);
void initialiseEditor(void);
void fillCallbackBuffer(void);
void fillBuffer(void);
void playBuffer(void);
void playSample(void);
void clearQueue(void);
void process(void);
#endif
}
#endif