re3/src/audio/SampleManager.h

68 lines
1.5 KiB
C
Raw Normal View History

2019-06-15 22:20:55 +00:00
#pragma once
2019-07-08 19:44:32 +00:00
#include "common.h"
2019-07-02 18:35:47 +00:00
struct tSample {
int m_nOffset;
unsigned int m_nSize;
int m_nFrequency;
int m_nLoopStart;
int m_nLoopEnd;
};
2019-06-15 22:20:55 +00:00
2019-07-02 18:35:47 +00:00
class CSampleManager
{
2019-06-15 22:20:55 +00:00
public:
2019-07-12 16:27:12 +00:00
void SetChannelFrequency(int32, int32);
void SetChannelEmittingVolume(int32, uint32);
void SetChannel3DPosition(int32, float, float, float);
void SetChannelLoopCount(int32, int32);
void SetChannel3DDistances(int32, int32, int32);
void SetChannelReverbFlag(int32, uint8);
int32 GetSampleLength(int32);
bool InitialiseChannel(int32, int32, uint32, uint32 something = 0);
void SetChannelLoopPoints(int32, int32, int32);
2019-07-08 19:44:32 +00:00
bool CheckForAnAudioFileOnCD();
int32 GetSampleBaseFrequency(int32);
int32 GetSampleLoopStartOffset(int32);
int32 GetSampleLoopEndOffset(int32);
2019-07-05 19:15:32 +00:00
bool IsSampleBankLoaded(uint8);
void UnloadSampleBank(uint8);
void Terminate();
bool Initialise();
int32 GetActiveSamples();
2019-06-30 21:58:24 +00:00
void ReleaseDigitalHandle();
2019-06-30 22:07:58 +00:00
void RequireDigitalHandle();
2019-07-02 18:35:47 +00:00
char AutoDetect3DProviders();
uint8 GetCDAudioDriveLetter();
void SetEffectsMasterVolume(uint8 volume);
void SetMusicMasterVolume(uint8 volume);
void SetEffectsFadeVol(uint8 volume);
void SetMusicFadeVol(uint8 volume);
void SetSpeakerConfig(uint32 config);
bool GetChannelUsedFlag(int32 id);
2019-07-12 16:27:12 +00:00
void StartChannel(int32 id);
2019-07-02 18:35:47 +00:00
void StopChannel(int32 id);
static bool IsMP3RadioChannelAvailable();
2019-06-15 22:20:55 +00:00
};
2019-07-02 18:35:47 +00:00
extern uint32 &nNumOfMp3Files;
extern uint8 &num3DProvidersAvailable;
2019-07-19 21:35:21 +00:00
extern char **asName3DProviders;
2019-07-02 18:35:47 +00:00
2019-06-15 22:20:55 +00:00
extern CSampleManager &cSampleManager;