
Storytime: Cucky's original SDL2 port work involved using SDL2's threading API to emulate the original WinAPI threading. I can't be assed with that stuff, so I used the same trick Cucky did for the Wii port, and hooked Organya up to the SDL2 audio callback. This actually opens up the possibility for perfectly-synchronised Organya playback. By that I mean, instead of needing a super low-latency audio callback, I can have the callback synchronise its audio mixing with Organya itself. I haven't done it yet, I plan to soon.
25 lines
659 B
C
25 lines
659 B
C
#pragma once
|
|
|
|
#include "WindowsWrapper.h"
|
|
|
|
#define MAXTRACK 16
|
|
#define MAXMELODY 8
|
|
#define MAXDRAM 8
|
|
|
|
extern unsigned short organya_timer;
|
|
|
|
extern BOOL g_mute[MAXTRACK]; // Used by the debug Mute menu
|
|
|
|
BOOL MakeOrganyaWave(signed char track, signed char wave_no, signed char pipi);
|
|
void OrganyaPlayData();
|
|
void SetPlayPointer(long x);
|
|
BOOL LoadOrganya(const char *name);
|
|
void SetOrganyaPosition(unsigned int x);
|
|
unsigned int GetOrganyaPosition();
|
|
void PlayOrganyaMusic();
|
|
BOOL ChangeOrganyaVolume(signed int volume);
|
|
void StopOrganyaMusic();
|
|
void SetOrganyaFadeout();
|
|
BOOL StartOrganya(const char *wave_filename);
|
|
void EndOrganya();
|
|
void UpdateOrganya(void);
|