14enum libsnd2_ss_tick_enum
26enum libsnd2_ss_play_enum
39enum libsnd2_ss_mix_enum
45enum libsnd2_ss_serial_enum
51enum libsnd2_ss_mute_enum
64enum libsnd2_ss_rev_type_enum
66 SS_REV_TYPE_CHECK = -1,
80enum libsnd2_ss_skip_enum
89#define SS_SEQ_TABSIZ 0xb0
91#define SND_VOLL (1 << 0)
92#define SND_VOLR (1 << 1)
93#define SND_ADSR1 (1 << 2)
94#define SND_ADSR2 (1 << 3)
95#define SND_ADDR (1 << 4)
96#define SND_PITCH (1 << 5)
98enum libsnd2_control_enum
116enum libsnd2_ccentry_enum
155 unsigned int reserved1;
167 unsigned int m_fake_prog_idx;
168 u16 m_vag_spu_addr_hi;
169 u16 m_vag_spu_addr_lo;
232typedef void (*SsMarkCallbackProc)(s16, s16, s16);
236 void (*noteon)(s16, s16, u8, u8);
237 void (*programchange)(s16, s16, u8);
238 void (*pitchbend)(s16, s16);
239 void (*metaevent)(s16, s16, u8);
240 void (*control[CC_MAX])(s16, s16, u8);
241 void (*ccentry[DE_MAX])(s16, s16, s16,
VagAtr, s16, u8);
244extern void _SsContBankChange(s16 sep_no, s16 seq_no, u8 control_value);
245extern void _SsContDataEntry(s16 sep_no, s16 seq_no, u8 control_value);
246extern void _SsContMainVol(s16 sep_no, s16 seq_no, u8 control_value);
247extern void _SsContPanpot(s16 sep_no, s16 seq_no, u8 control_value);
248extern void _SsContExpression(s16 sep_no, s16 seq_no, u8 control_value);
249extern void _SsContDamper(s16 sep_no, s16 seq_no, u8 control_value);
250extern void _SsContExternal(s16 sep_no, s16 seq_no, u8 control_value);
251extern void _SsContNrpn1(s16 sep_no, s16 seq_no, u8 control_value);
252extern void _SsContNrpn2(s16 sep_no, s16 seq_no, u8 control_value);
253extern void _SsContRpn1(s16 sep_no, s16 seq_no, u8 control_value);
254extern void _SsContRpn2(s16 sep_no, s16 seq_no, u8 control_value);
255extern void _SsContResetAll(s16 sep_no, s16 seq_no, u8 control_value);
256extern void _SsSetNrpnVabAttr0(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
257extern void _SsSetNrpnVabAttr1(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
258extern void _SsSetNrpnVabAttr2(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
259extern void _SsSetNrpnVabAttr3(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
260extern void _SsSetNrpnVabAttr4(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
261extern void _SsSetNrpnVabAttr5(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
262extern void _SsSetNrpnVabAttr6(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
263extern void _SsSetNrpnVabAttr7(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
264extern void _SsSetNrpnVabAttr8(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
265extern void _SsSetNrpnVabAttr9(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
266extern void _SsSetNrpnVabAttr10(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
267extern void _SsSetNrpnVabAttr11(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
268extern void _SsSetNrpnVabAttr12(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
269extern void _SsSetNrpnVabAttr13(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
270extern void _SsSetNrpnVabAttr14(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
271extern void _SsSetNrpnVabAttr15(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
272extern void _SsSetNrpnVabAttr16(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
273extern void _SsSetNrpnVabAttr17(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
274extern void _SsSetNrpnVabAttr18(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
275extern void _SsSetNrpnVabAttr19(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
276extern void _SsSetPitchBend(s16 sep_no, s16 seq_no);
277extern void _SsSetControlChange(s16 sep_no, s16 seq_no, u8 control_value);
278extern void _SsGetMetaEvent(s16 sep_no, s16 seq_no, u8 meta_event);
279extern void _SsNoteOn(s16 sep_no, s16 seq_no, u8 note, u8 vollr);
280extern void _SsSetProgramChange(s16 sep_no, s16 seq_no, u8 prog);
281extern void SsSeqSetAccelerando(s16 seq_no,
int tempo,
int v_time);
282extern void SsSepSetAccelerando(s16 seq_no, s16 sep_no,
int tempo,
int v_time);
283extern void SsSeqCalledTbyT(
void);
284extern void SsSeqClose(s16 seq_sep_no);
285extern void SsSepClose(s16 seq_sep_no);
286extern void SsChannelMute(s16 sep_no, s16 seq_no,
int channels);
287extern int SsGetChannelMute(s16 sep_no, s16 seq_no);
288extern void SsSeqSetCrescendo(s16 sep_no, s16 vol,
int v_time);
289extern void SsSepSetCrescendo(s16 sep_no, s16 seq_no, s16 vol,
int v_time);
290extern void SsSeqSetDecrescendo(s16 sep_no, s16 vol,
int v_time);
291extern void SsSepSetDecrescendo(s16 sep_no, s16 seq_no, s16 vol,
int v_time);
292extern void SsEnd(
void);
293extern char SsGetMute(
void);
295extern s16 SsGetNck(
void);
297extern char SsGetSerialAttr(
char s_num,
char attr);
298extern void SsGetSerialVol(
char s_num,
SndVolume *s_vol);
299extern void SsInit(
void);
300extern void SsPitchCorrect(s16 pitch_correct);
301extern void SsInitHot(
void);
302extern void SsSetLoop(s16 sep_no, s16 seq_no, s16 l_count);
303extern s16 SsIsEos(s16 sep_no, s16 seq_no);
304extern void SsSetMarkCallback(s16 sep_no, s16 seq_no, SsMarkCallbackProc proc);
305extern void SsSetNext(s16 sep_no1, s16 seq_no1, s16 sep_no2, s16 seq_no2);
306extern void SsSeqSetNext(s16 sep_no1, s16 sep_no2);
307extern void SsSetNoiseOff(
void);
308extern void SsSetNoiseOn(s16 voll, s16 volr);
309extern s16 SsSepOpen(
unsigned int *addr, s16 vab_id, s16 seq_cnt);
310extern s16 SsSeqOpen(
unsigned int *addr, s16 vab_id);
311extern s16 SsSepOpenJ(
unsigned int *addr, s16 vab_id, s16 seq_cnt);
312extern s16 SsSeqOpenJ(
unsigned int *addr, s16 vab_id);
313extern void SsSeqPause(s16 sep_no);
314extern void SsSepPause(s16 sep_no, s16 seq_no);
315extern void SsSeqPlay(s16 sep_no,
char play_mode, s16 l_count);
316extern void SsSepPlay(s16 sep_no, s16 seq_no,
char play_mode, s16 l_count);
317extern void SsPlayBack(s16 sep_no, s16 seq_no, s16 l_count);
318extern void SsQuit(
void);
319extern void SsSeqReplay(s16 sep_no);
320extern void SsSepReplay(s16 sep_no, s16 seq_no);
321extern void SsSeqSetRitardando(s16 sep_no,
int tempo,
int v_time);
322extern void SsSepSetRitardando(s16 sep_no, s16 seq_no,
int tempo,
int v_time);
323extern int SsSeqSkip(s16 sep_no, s16 seq_no,
char unit, s16
count);
324extern int SsSetCurrentPoint(s16 sep_no, s16 seq_no, u8 *point);
325extern void SsSeqPlayPtoP(s16 sep_no, s16 seq_no, u8 *start_point, u8 *end_point,
char play_mode, s16 l_count);
326extern void SsSetSerialAttr(
char s_num,
char attr,
char mode);
327extern void SsSetMute(
char mode);
328extern void SsSetMVol(s16 voll, s16 volr);
329extern void SsSetNck(s16 n_clock);
330extern void SsSetRVol(s16 voll, s16 volr);
331extern void SsStart(
void);
332extern void SsStart2(
void);
333extern void SsSeqStop(s16 sep_no);
334extern void SsSepStop(s16 sep_no, s16 seq_no);
335extern void SsSetSerialVol(
char s_num, s16 voll, s16 volr);
336extern void SsSetTableSize(
char *table, s16 s_max, s16 t_max);
337extern void SsSetTempo(s16 sep_no, s16 seq_no, s16 tempo);
338extern void SsSetTickMode(
int tick_mode);
339extern void *SsSetTickCallback(
void (*cb)(
void));
340extern int SsVoKeyOff(
int vab_pro,
int pitch);
341extern int SsVoKeyOn(
int vab_pro,
int pitch, u16 voll, u16 volr);
342extern void SsSeqSetVol(s16 sep_no, s16 voll, s16 volr);
343extern void SsSepSetVol(s16 sep_no, s16 seq_no, s16 voll, s16 volr);
344extern void SsSeqGetVol(s16 sep_no, s16 seq_no, s16 *voll, s16 *volr);
345extern void dmy_nothing1(s16 seq_no, s16 sep_no, u8 note, u8 vollr);
346extern void dmy_SsNoteOn(s16 sep_no, s16 seq_no, u8 note, u8 vollr);
347extern void dmy_SsSetProgramChange(s16 sep_no, s16 seq_no, u8 prog);
348extern void dmy_SsGetMetaEvent(s16 sep_no, s16 seq_no, u8 meta_event);
349extern void dmy_SsSetPitchBend(s16 sep_no, s16 seq_no);
350extern void dmy_SsSetControlChange(s16 sep_no, s16 seq_no, u8 control_value);
351extern void dmy_SsContBankChange(s16 sep_no, s16 seq_no, u8 control_value);
352extern void dmy_SsContDataEntry(s16 sep_no, s16 seq_no, u8 control_value);
353extern void dmy_SsContMainVol(s16 sep_no, s16 seq_no, u8 control_value);
354extern void dmy_SsContPanpot(s16 sep_no, s16 seq_no, u8 control_value);
355extern void dmy_SsContExpression(s16 sep_no, s16 seq_no, u8 control_value);
356extern void dmy_SsContDamper(s16 sep_no, s16 seq_no, u8 control_value);
357extern void dmy_SsContExternal(s16 sep_no, s16 seq_no, u8 control_value);
358extern void dmy_SsContNrpn1(s16 sep_no, s16 seq_no, u8 control_value);
359extern void dmy_SsContNrpn2(s16 sep_no, s16 seq_no, u8 control_value);
360extern void dmy_SsContRpn1(s16 sep_no, s16 seq_no, u8 control_value);
361extern void dmy_SsContRpn2(s16 sep_no, s16 seq_no, u8 control_value);
362extern void dmy_SsContResetAll(s16 sep_no, s16 seq_no, u8 control_value);
363extern void dmy_SsSetNrpnVabAttr0(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
364extern void dmy_SsSetNrpnVabAttr1(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
365extern void dmy_SsSetNrpnVabAttr2(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
366extern void dmy_SsSetNrpnVabAttr3(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
367extern void dmy_SsSetNrpnVabAttr4(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
368extern void dmy_SsSetNrpnVabAttr5(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
369extern void dmy_SsSetNrpnVabAttr6(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
370extern void dmy_SsSetNrpnVabAttr7(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
371extern void dmy_SsSetNrpnVabAttr8(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
372extern void dmy_SsSetNrpnVabAttr9(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
373extern void dmy_SsSetNrpnVabAttr10(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
374extern void dmy_SsSetNrpnVabAttr11(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
375extern void dmy_SsSetNrpnVabAttr12(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
376extern void dmy_SsSetNrpnVabAttr13(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
377extern void dmy_SsSetNrpnVabAttr14(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
378extern void dmy_SsSetNrpnVabAttr15(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
379extern void dmy_SsSetNrpnVabAttr16(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
380extern void dmy_SsSetNrpnVabAttr17(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
381extern void dmy_SsSetNrpnVabAttr18(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
382extern void dmy_SsSetNrpnVabAttr19(s16 vab_id, s16 prog, s16 tone,
VagAtr vag_attr, s16 fn_idx, u8 attribute_value);
383extern u8 *SsGetCurrentPoint(s16 sep_no, s16 seq_no);
384extern void SsSetVoiceMask(
unsigned int s_voice);
385extern unsigned int SsGetVoiceMask(
void);
386extern void SsUtAllKeyOff(s16 mode);
387extern s16 SsUtAutoPan(s16 vc, s16 start_pan, s16 end_pan, s16 delta_time);
388extern s16 SsUtAutoVol(s16 vc, s16 start_vol, s16 end_vol, s16 delta_time);
389extern s16 SsUtChangeADSR(s16 vc, s16 vab_id, s16 prog, s16 old_note, u16 adsr1, u16 adsr2);
390extern s16 SsUtChangePitch(s16 vc, s16 vab_id, s16 prog, s16 old_note, s16 old_fine, s16 new_note, s16 new_fine);
391extern void SsUtFlush(
void);
392extern s16 SsUtGetProgAtr(s16 vab_id, s16 prog,
ProgAtr *prog_attr_ptr);
393extern s16 SsUtGetVagAtr(s16 vab_id, s16 prog, s16 tone,
VagAtr *vag_attr_ptr);
394extern int SsUtGetVagAddr(s16 vab_id, s16 vag_id);
395extern unsigned int SsUtGetVagAddrFromTone(s16 vab_id, s16 prog, s16 tone);
396extern unsigned int SsUtGetVBaddrInSB(s16 vab_id);
397extern s16 SsUtGetVabHdr(s16 vab_id,
VabHdr *vab_hdr_ptr);
398extern s16 SsUtKeyOn(s16 vab_id, s16 prog, s16 tone, s16 note, s16 fine, s16 voll, s16 volr);
399extern s16 SsUtKeyOff(s16 vc, s16 vab_id, s16 prog, s16 tone, s16 note);
400extern s16 SsUtKeyOnV(s16 vc, s16 vab_id, s16 prog, s16 tone, s16 note, s16 fine, s16 voll, s16 volr);
401extern s16 SsUtKeyOffV(s16 vc);
402extern s16 SsUtPitchBend(s16 vc, s16 vab_id, s16 prog, s16 note, s16 pbend);
403extern void SsUtSetReverbDelay(s16 delay);
404extern void SsUtSetReverbDepth(s16 ldepth, s16 rdepth);
405extern s16 SsUtSetReverbType(s16 type);
406extern s16 SsUtGetReverbType(
void);
407extern void SsUtSetReverbFeedback(s16 feedback);
408extern void SsUtReverbOff(
void);
409extern void SsUtReverbOn(
void);
410extern s16 SsUtSetProgAtr(s16 vab_id, s16 prog,
const ProgAtr *prog_attr_ptr);
411extern s16 SsUtSetVagAtr(s16 vab_id, s16 prog, s16 tone,
const VagAtr *vag_attr_ptr);
412extern s16 SsUtSetVabHdr(s16 vab_id,
const VabHdr *vab_hdr_ptr);
413extern s16 SsUtGetDetVVol(s16 vc, s16 *detvoll, s16 *detvolr);
414extern s16 SsUtSetDetVVol(s16 vc, s16 detvoll, s16 detvolr);
415extern s16 SsUtGetVVol(s16 vc, s16 *voll, s16 *volr);
416extern s16 SsUtSetVVol(s16 vc, s16 voll, s16 volr);
417extern u16 SsPitchFromNote(s16 note, s16 fine, u8 center, u8 shift);
418extern void SsSetAutoKeyOffMode(s16 mode);
419extern void SsSetMono(
void);
420extern void SsSetStereo(
void);
421extern char SsSetReservedVoice(
char voices);
422extern void SsVabClose(s16 vab_id);
423extern s16 SsVabFakeBody(s16 vab_id);
424extern s16 SsVabOpenHeadSticky(u8 *addr, s16 vab_id,
unsigned int sbaddr);
425extern s16 SsVabFakeHead(u8 *addr, s16 vab_id,
unsigned int sbaddr);
426extern s16 SsVabOpenHead(u8 *addr, s16 vab_id);
427extern s16 SsVabTransfer(u8 *vh_addr, u8 *vb_addr, s16 vab_id, s16 i_flag);
428extern s16 SsVabTransBody(u8 *addr, s16 vab_id);
429extern s16 SsVabTransBodyPartly(u8 *addr,
unsigned int bufsize, s16 vab_id);
430extern s16 SsVabTransCompleted(s16 immediate_flag);
431extern char SsBlockVoiceAllocation(
void);
432extern char SsUnBlockVoiceAllocation(
void);
433extern int SsAllocateVoices(u8 voices, u8 priority);
434extern void SsQueueKeyOn(
int voices);
435extern void SsQueueReverb(
int voices,
int reverb);
437extern s16 SsGetActualProgFromProg(s16 vab_id, s16 prog);
438extern void SsSetVoiceSettings(
int vc,
const SndVoiceStats *snd_v_attr);
439extern s16 SsVoiceCheck(
int vc,
int vab_id, s16 note);
u32 count
start sector of fragmented bd/file