|
|
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.1.9 ! root 6:
! 7: Matthias Arndt 2008-08-15
! 8: - cleanup to have definitions and declarations for both sound cores in one place
1.1 root 9: */
10:
1.1.1.3 root 11: #ifndef HATARI_SOUND_H
12: #define HATARI_SOUND_H
13:
14:
1.1.1.9 ! root 15: /* definitions common for all sound rendering engines */
! 16:
1.1.1.4 root 17: #define MIXBUFFER_SIZE 8192 /* Size of circular buffer to store sample to (44Khz) */
1.1 root 18:
1.1.1.9 ! root 19: extern Uint8 SoundRegs[ 14 ]; /* store YM regs 0 to 13 */
! 20: extern int nGeneratedSamples;
! 21: extern bool bEnvelopeFreqFlag;
! 22: extern Sint16 MixBuffer[MIXBUFFER_SIZE][2];
! 23:
! 24: /* STSound sound renderer active */
! 25: #include <SDL_types.h>
! 26:
! 27:
! 28: /* Internal data types */
! 29:
! 30: typedef Sint64 yms64;
! 31:
! 32: typedef Sint8 yms8;
! 33: typedef Sint16 yms16;
! 34: typedef Sint32 yms32;
1.1.1.3 root 35:
1.1.1.9 ! root 36: typedef Uint8 ymu8;
! 37: typedef Uint16 ymu16;
! 38: typedef Uint32 ymu32;
! 39:
! 40: typedef yms16 ymsample; /* Output samples are mono 16bits signed PCM */
! 41:
! 42:
! 43: #define YM_LINEAR_MIXING 1 /* Use ymout1c5bit[] to build ymout5[] */
! 44: #define YM_TABLE_MIXING 2 /* Use volumetable_original to build ymout5[] */
! 45:
! 46: extern int YmVolumeMixing;
! 47: extern bool UseLowPassFilter;
1.1 root 48:
49: extern void Sound_Init(void);
50: extern void Sound_Reset(void);
1.1.1.7 root 51: extern void Sound_ResetBufferIndex(void);
1.1.1.9 ! root 52: extern void Sound_MemorySnapShot_Capture(bool bSave);
1.1 root 53: extern void Sound_Update(void);
54: extern void Sound_Update_VBL(void);
1.1.1.9 ! root 55: extern void Sound_WriteReg( int reg , Uint8 data );
! 56: extern bool Sound_BeginRecording(char *pszCaptureFileName);
1.1.1.6 root 57: extern void Sound_EndRecording(void);
1.1.1.9 ! root 58: extern bool Sound_AreWeRecording(void);
! 59:
1.1.1.3 root 60:
61: #endif /* HATARI_SOUND_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.