Mercurial > codedump
comparison win95kggui/dep/ft2play/pmp_mix.h @ 126:8e4ee43d3b81
remove submodules
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Sun, 01 Oct 2023 03:48:43 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
125:5cc85ef3a675 | 126:8e4ee43d3b81 |
---|---|
1 #pragma once | |
2 | |
3 #include <stdint.h> | |
4 #include <stdbool.h> | |
5 #include "pmplay.h" | |
6 | |
7 enum | |
8 { | |
9 Status_SetVol = 1, | |
10 Status_SetPan = 2, | |
11 Status_SetFrq = 4, | |
12 Status_StartTone = 8, | |
13 Status_StopTone = 16, | |
14 Status_QuickVol = 32, | |
15 | |
16 SType_Fwd = 1, | |
17 SType_Rev = 2, | |
18 SType_RevDir = 4, | |
19 SType_Off = 8, | |
20 SType_16 = 16, | |
21 SType_Fadeout = 32 | |
22 }; | |
23 | |
24 typedef struct | |
25 { | |
26 const void *SBase, *SRevBase; | |
27 uint8_t SType, SPan, SVol; | |
28 int32_t SLVol1, SRVol1, SLVol2, SRVol2, SLVolIP, SRVolIP, SVolIPLen; | |
29 int32_t SLen, SRepS, SRepL, SPos, SMixType; | |
30 uint32_t SPosDec, SFrq; | |
31 } CIType; | |
32 | |
33 typedef struct | |
34 { | |
35 const void *SBase; | |
36 uint8_t Status, SType; | |
37 int16_t SVol, SPan; | |
38 int32_t SFrq, SLen, SRepS, SRepL, SStartPos; | |
39 } WaveChannelInfoType; | |
40 | |
41 extern int16_t chnReloc[32]; | |
42 extern int32_t *CDA_MixBuffer; | |
43 extern CIType CI[32 * 2]; | |
44 | |
45 void P_SetSpeed(uint16_t bpm); | |
46 void P_StartTone(sampleTyp *s, int32_t smpStartPos); | |
47 | |
48 // 8bb: added these two | |
49 bool mix_Init(int32_t audioBufferSize); | |
50 void mix_Free(void); | |
51 // ------------------- | |
52 | |
53 void mix_ClearChannels(void); | |
54 void mix_UpdateBuffer(int16_t *buffer, int32_t numSamples); | |
55 | |
56 bool dump_Init(int32_t frq, int32_t amp, int16_t songPos); | |
57 void dump_Close(void); | |
58 bool dump_EndOfTune(int32_t endSongPos); | |
59 int32_t dump_GetFrame(int16_t *p); |