|
|
1.1 root 1: /* 1.1.1.4 ! root 2: Hatari - sound.h ! 3: ! 4: This file is distributed under the GNU Public License, version 2 or at ! 5: your option any later version. Read the file gpl.txt for details. 1.1 root 6: */ 7: 1.1.1.3 root 8: #ifndef HATARI_SOUND_H 9: #define HATARI_SOUND_H 10: 11: 1.1 root 12: /* Envelope shape table */ 1.1.1.4 ! root 13: typedef struct ! 14: { ! 15: int WaveStart[4], WaveDelta[4]; 1.1 root 16: } ENVSHAPE; 17: 1.1.1.4 ! root 18: #define MIXBUFFER_SIZE 8192 /* Size of circular buffer to store sample to (44Khz) */ 1.1 root 19: 20: #define SAMPLES_BUFFER_SIZE 1024 1.1.1.4 ! root 21: /* Number of generated samples per frame (eg. 44Khz=882) : */ ! 22: #define SAMPLES_PER_FRAME ((SoundPlayBackFrequencies[OutputAudioFreqIndex]+25)/50) ! 23: /* Frequency of generated samples: */ ! 24: #define SAMPLES_FREQ (SoundPlayBackFrequencies[OutputAudioFreqIndex]) 1.1 root 25: #define YM_FREQ (2000000/SAMPLES_FREQ) /* YM Frequency 2Mhz */ 26: 1.1.1.3 root 27: 1.1 root 28: extern BOOL bWriteEnvelopeFreq,bWriteChannelAAmp,bWriteChannelBAmp,bWriteChannelCAmp; 29: extern BOOL bEnvelopeFreqFlag; 1.1.1.4 ! root 30: extern char MixBuffer[MIXBUFFER_SIZE]; 1.1.1.3 root 31: extern int SoundCycles; 1.1.1.4 ! root 32: extern int nGeneratedSamples; 1.1 root 33: 34: extern void Sound_Init(void); 35: extern void Sound_Reset(void); 36: extern void Sound_ClearMixBuffer(void); 37: extern void Sound_MemorySnapShot_Capture(BOOL bSave); 38: extern void Sound_CreateLogTables(void); 39: extern void Sound_CreateEnvelopeShapes(void); 40: extern void Sound_CreateSoundMixClipTable(void); 41: extern void Sound_GenerateYMFrameSamples(void); 42: extern void Sound_UpdateHBL(void); 43: extern void Sound_Update(void); 44: extern void Sound_Update_VBL(void); 1.1.1.2 root 45: extern BOOL Sound_BeginRecording(char *pszCaptureFileName); 46: extern void Sound_EndRecording(); 1.1 root 47: extern BOOL Sound_AreWeRecording(void); 1.1.1.3 root 48: 49: #endif /* HATARI_SOUND_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.