Annotation of hatari/src/includes/sound.h, revision 1.1.1.13

1.1       root        1: /*
1.1.1.4   root        2:   Hatari - sound.h
                      3: 
1.1.1.13! root        4:   This file is distributed under the GNU General Public License, version 2
        !             5:   or at 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.10  root       17: #define MIXBUFFER_SIZE    16384                        /* Size of circular buffer to store sample to (44Khz) */
1.1       root       18: 
1.1.1.10  root       19: extern Uint8   SoundRegs[ 14 ];                /* store YM regs 0 to 13 */
1.1.1.9   root       20: extern int     nGeneratedSamples;
                     21: extern bool    bEnvelopeFreqFlag;
                     22: extern Sint16  MixBuffer[MIXBUFFER_SIZE][2];
1.1.1.11  root       23: extern bool    Sound_BufferIndexNeedReset;
1.1.1.9   root       24: 
                     25: /* STSound sound renderer active */
                     26: #include <SDL_types.h>
                     27: 
                     28: 
                     29: /* Internal data types */
                     30: 
                     31: typedef         Sint64                 yms64;
                     32: 
                     33: typedef                Sint8                   yms8;
                     34: typedef                Sint16                  yms16;
                     35: typedef                Sint32                  yms32;
1.1.1.3   root       36: 
1.1.1.9   root       37: typedef                Uint8                   ymu8;
                     38: typedef                Uint16                  ymu16;
                     39: typedef                Uint32                  ymu32;
                     40: 
                     41: typedef                yms16                   ymsample;       /* Output samples are mono 16bits signed PCM */
                     42: 
                     43: 
                     44: #define YM_LINEAR_MIXING               1               /* Use ymout1c5bit[] to build ymout5[] */
                     45: #define YM_TABLE_MIXING                        2               /* Use volumetable_original to build ymout5[] */
1.1.1.12  root       46: #define YM_MODEL_MIXING                        3               /* Use circuit analysis model to build ymout5[] */
1.1.1.9   root       47: 
                     48: extern int     YmVolumeMixing;
                     49: extern bool    UseLowPassFilter;
1.1       root       50: 
                     51: extern void Sound_Init(void);
                     52: extern void Sound_Reset(void);
1.1.1.7   root       53: extern void Sound_ResetBufferIndex(void);
1.1.1.9   root       54: extern void Sound_MemorySnapShot_Capture(bool bSave);
1.1.1.11  root       55: extern void Sound_Update(bool FillFrame);
1.1       root       56: extern void Sound_Update_VBL(void);
1.1.1.9   root       57: extern void Sound_WriteReg( int reg , Uint8 data );
                     58: extern bool Sound_BeginRecording(char *pszCaptureFileName);
1.1.1.6   root       59: extern void Sound_EndRecording(void);
1.1.1.9   root       60: extern bool Sound_AreWeRecording(void);
1.1.1.11  root       61: extern void Sound_SetYmVolumeMixing(void);
1.1.1.12  root       62: extern ymsample Subsonic_IIR_HPF_Left(ymsample x0);
                     63: extern ymsample Subsonic_IIR_HPF_Right(ymsample x0);
1.1.1.9   root       64: 
1.1.1.3   root       65: 
                     66: #endif  /* HATARI_SOUND_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.