Files
dusklight/libs/JSystem/src/JAudio2/JASDriverIF.cpp
T
PJB3005 303a21a4a3 JAudio field name/comment pass
HUGE thanks to XAYRGA for their work documenting JAudio file formats
2026-03-14 13:45:55 +01:00

75 lines
1.8 KiB
C++

#include "JSystem/JSystem.h" // IWYU pragma: keep
#include "JSystem/JAudio2/JASDriverIF.h"
#include "JSystem/JAudio2/JASAiCtrl.h"
#include "JSystem/JAudio2/JASDSPInterface.h"
#include <os.h>
void JASDriver::setDSPLevel(f32 param_0) {
JASDsp::setDSPMixerLevel(param_0);
}
u16 JASDriver::MAX_MIXERLEVEL = 0x2EE0;
u16 JASDriver::getChannelLevel_dsp() {
return JASDriver::MAX_MIXERLEVEL;
}
f32 JASDriver::getChannelLevel() {
return MAX_MIXERLEVEL / 16383.5f;
}
f32 JASDriver::getDSPLevel() {
return JASDsp::getDSPMixerLevel();
}
u32 JASDriver::JAS_SYSTEM_OUTPUT_MODE = JAS_OUTPUT_STEREO;
void JASDriver::setOutputMode(u32 mode) {
JAS_SYSTEM_OUTPUT_MODE = mode;
}
u32 JASDriver::getOutputMode() {
return JASDriver::JAS_SYSTEM_OUTPUT_MODE;
}
void JASDriver::waitSubFrame() {
u32 r31 = getSubFrameCounter();
do {
OSYieldThread();
} while (r31 == getSubFrameCounter());
}
JASCallbackMgr JASDriver::sDspSyncCallback;
JASCallbackMgr JASDriver::sSubFrameCallback;
JASCallbackMgr JASDriver::sUpdateDacCallback;
int JASDriver::rejectCallback(DriverCallback callback, void* param_1) {
int r31 = sDspSyncCallback.reject(callback, param_1);
r31 += sSubFrameCallback.reject(callback, param_1);
r31 += sUpdateDacCallback.reject(callback, param_1);
return r31;
}
bool JASDriver::registerDspSyncCallback(DriverCallback callback, void* param_1) {
return sDspSyncCallback.regist(callback, param_1);
}
bool JASDriver::registerSubFrameCallback(DriverCallback callback, void* param_1) {
return sSubFrameCallback.regist(callback, param_1);
}
void JASDriver::subframeCallback() {
sSubFrameCallback.callback();
}
void JASDriver::DSPSyncCallback() {
sDspSyncCallback.callback();
}
void JASDriver::updateDacCallback() {
sUpdateDacCallback.callback();
}