|
|
1.1 root 1: /*
2: Hatari
3: */
4:
1.1.1.3 ! root 5: #ifndef HATARI_SOUND_H
! 6: #define HATARI_SOUND_H
! 7:
! 8:
1.1 root 9: /* Envelope shape table */
10: typedef struct {
11: int WaveStart[4],WaveDelta[4];
12: } ENVSHAPE;
13:
14: #define MIXBUFFER_SIZE 4096 /* Size of circular buffer to store sample to (44Khz) */
15: #define MIXBUFFER_LENGTH (MIXBUFFER_SIZE-1)
16:
17: #define SAMPLES_BUFFER_SIZE 1024
18: #define SAMPLES_PER_FRAME SoundPlayBackFreqFrameLengths[OutputAudioFreqIndex][0] /* Number of generated samples per frame(eg 44Khz=882) */
19: #define SAMPLES_FREQ (SAMPLES_PER_FRAME*50) /* Frequency of generated samples */
20: #define YM_FREQ (2000000/SAMPLES_FREQ) /* YM Frequency 2Mhz */
21:
1.1.1.3 ! root 22:
1.1 root 23: extern BOOL bWriteEnvelopeFreq,bWriteChannelAAmp,bWriteChannelBAmp,bWriteChannelCAmp;
24: extern BOOL bEnvelopeFreqFlag;
1.1.1.3 ! root 25: extern int SoundCycles;
! 26:
1.1 root 27:
28: extern void Sound_Init(void);
29: extern void Sound_Reset(void);
30: extern void Sound_ClearMixBuffer(void);
31: extern void Sound_MemorySnapShot_Capture(BOOL bSave);
32: extern void Sound_CreateLogTables(void);
33: extern void Sound_CreateEnvelopeShapes(void);
34: extern void Sound_CreateSoundMixClipTable(void);
35: extern void Sound_GenerateYMFrameSamples(void);
1.1.1.2 root 36: extern void Sound_PassYMSamplesToAudio(void);
1.1 root 37: extern void Sound_UpdateHBL(void);
38: extern void Sound_Update(void);
39: extern void Sound_Update_VBL(void);
1.1.1.2 root 40: extern BOOL Sound_BeginRecording(char *pszCaptureFileName);
41: extern void Sound_EndRecording();
1.1 root 42: extern BOOL Sound_AreWeRecording(void);
1.1.1.3 ! root 43:
! 44: #endif /* HATARI_SOUND_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.