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