#include <stdio.h>
#include <switch.h>
#define LIST_LINES 30
static u32 g_selected = 0;
static PLSR_RC _exampleInit(
const char* sarPath) {
}
static void _exampleExit() {
}
g_soundId = PLSR_PLAYER_INVALID_SOUND;
.index = g_selected
};
}
u32 displayMin = g_selected < (LIST_LINES/2) ? 0 : g_selected - (LIST_LINES/2);
u32 displayMax = displayMin + LIST_LINES;
printf(CONSOLE_ESC(10;1H) CONSOLE_ESC(0J));
printf("---- %04u / %04u ----\n", g_selected + 1, plsrBFSARSoundCount(&g_bfsar));
char label[0x100];
const char* desc;
for(u32 i = displayMin; i < plsrBFSARSoundCount(&g_bfsar) && i <= displayMax; i++) {
if(soundInfo.
hasStringIndex) {
} else {
strcpy(label, "???");
}
case PLSR_BFSARSoundType_Wave:
desc = "WAV";
break;
case PLSR_BFSARSoundType_Sequence:
desc = "SEQ";
break;
case PLSR_BFSARSoundType_Stream:
desc = "STM";
break;
default:
desc = "???";
break;
}
printf("%c %s [%s]\n", g_selected == i ? '>' : ' ', label, desc);
}
printf("---------------------\n");
}
int main(int argc, char *argv[]) {
consoleInit(NULL);
padConfigureInput(1, HidNpadStyleSet_NpadStandard);
PadState pad;
padInitializeDefault(&pad);
printf("romfsMountDataStorageFromProgram: 0x%x\n", romfsMountDataStorageFromProgram(0x0100000000001000, "qlaunch"));
const char* sarPath = argc > 1 ? argv[1] : "qlaunch:/sound/qlaunch.bfsar";
PLSR_RC initRC = _exampleInit(sarPath);
printf("sarPath: %s\n", sarPath);
printf("_exampleInit() = 0x%08X\n\n", initRC);
printf("Press + to exit\n");
if(R_SUCCEEDED(initRC)) {
printf("Press A to play a sound\n");
printf("Press UP or DOWN to change your selection\n");
printf("Use the RIGHT STICK to scroll faster\n\n");
_exampleList();
}
while(appletMainLoop()) {
padUpdate(&pad);
u64 kDown = padGetButtonsDown(&pad);
u64 kHeld = padGetButtons(&pad);
if(kDown & HidNpadButton_Plus) {
break;
}
if(R_SUCCEEDED(initRC)) {
if(kDown & HidNpadButton_A) {
printf("_examplePlay() = 0x%08X\n", _examplePlay());
printf(CONSOLE_ESC(1A));
}
if(((kDown & (HidNpadButton_Up | HidNpadButton_StickLUp)) || (kHeld & HidNpadButton_StickRUp)) && g_selected > 0) {
g_selected--;
_exampleList();
}
if(((kDown & (HidNpadButton_Down | HidNpadButton_StickLDown)) || (kHeld & HidNpadButton_StickRDown)) && g_selected < plsrBFSARSoundCount(&g_bfsar) - 1) {
g_selected++;
_exampleList();
}
}
consoleUpdate(NULL);
}
_exampleExit();
consoleExit(NULL);
return 0;
}