64 lines · 2.1 KB · C
RawDownload
#pragma once #include <stdint.h>#include <stdbool.h>#include "pt2_replayer.h" // for the low-pass/high-pass filters in the SAMPLER screen#define FILTERS_BASE_FREQ (PAULA_PAL_CLK / 214.0) // too many bits makes little sense here #define BPM_FRAC_BITS 52#define BPM_FRAC_SCALE (1ULL << BPM_FRAC_BITS)#define BPM_FRAC_MASK (BPM_FRAC_SCALE-1) #define TICK_TIME_FRAC_BITS 52#define TICK_TIME_FRAC_SCALE (1ULL << TICK_TIME_FRAC_BITS)#define TICK_TIME_FRAC_MASK (TICK_TIME_FRAC_SCALE-1) typedef struct audio_t{	volatile bool locked, isSampling; 	bool ledFilterEnabled, oversamplingFlag;		uint32_t amigaModel, outputRate, audioBufferSize; 	uint32_t tickSampleCounter, samplesPerTickInt, samplesPerTickIntTab[(MAX_BPM-MIN_BPM)+1];	uint64_t tickSampleCounterFrac, samplesPerTickFrac, samplesPerTickFracTab[(MAX_BPM-MIN_BPM)+1]; 	// for audio sampling	bool rescanAudioDevicesSupported; 	// for audio/video syncing	bool resetSyncTickTimeFlag;	uint32_t tickTimeIntTab[(MAX_BPM-MIN_BPM)+1];	uint64_t tickTimeFracTab[(MAX_BPM-MIN_BPM)+1];} audio_t; void setAmigaFilterModel(uint8_t model);void toggleAmigaFilterModel(void);void setLEDFilter(bool state);void toggleLEDFilter(void); void updateReplayerTimingMode(void);void resetAudioDithering(void);void generateBpmTable(double dAudioFreq, bool vblankTimingFlag);uint16_t get16BitPeak(int16_t *sampleData, uint32_t sampleLength);uint32_t get32BitPeak(int32_t *sampleData, uint32_t sampleLength);float getFloatPeak(float *fSampleData, uint32_t sampleLength);double getDoublePeak(double *dSampleData, uint32_t sampleLength);void normalize16BitTo8Bit(int16_t *sampleData, uint32_t sampleLength);void normalize32BitTo8Bit(int32_t *sampleData, uint32_t sampleLength);void normalizeFloatTo8Bit(float *fSampleData, uint32_t sampleLength);void normalizeDoubleTo8Bit(double *dSampleData, uint32_t sampleLength);void toggleAmigaPanMode(void);void lockAudio(void);void unlockAudio(void);void audioSetStereoSeparation(uint8_t percentage);void outputAudio(int16_t *target, int32_t numSamples);bool setupAudio(void);void audioClose(void); extern audio_t audio; // pt2_audio.c

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t