ref: d3af5e372ff9b2d0861f700b3e5af683f8ca758a
dir: /src/Organya.h/
#pragma once //Below are Organya song data structures struct NOTELIST { NOTELIST *from; //Previous address NOTELIST *to; //Next address long x; //Position unsigned char length; //Sound length unsigned char y; //Sound height unsigned char volume; //Volume unsigned char pan; }; //Track data * 8 struct TRACKDATA { unsigned short freq; //Frequency (1000 is default) unsigned char wave_no; //Waveform No. signed char pipi; unsigned short note_num; //Number of notes NOTELIST *note_p; NOTELIST *note_list; }; //Unique information held in songs struct MUSICINFO { unsigned short wait; bool loaded; bool playing; unsigned char line; //Number of lines in one measure unsigned char dot; //Number of dots per line unsigned short alloc_note; //Number of allocated notes long repeat_x; //Repeat long end_x; //End of song (Return to repeat) TRACKDATA tdata[16]; }; bool MakeOrganyaWave(signed char track, signed char wave_no, signed char pipi); void OrganyaPlayData(); void SetPlayPointer(long x); void LoadOrganya(const char *name); void SetOrganyaPosition(unsigned int x); unsigned int GetOrganyaPosition(); void PlayOrganyaMusic(); bool ChangeOrganyaVolume(signed int volume); void StopOrganyaMusic(); void SetOrganyaFadeout(); void OrganyaStartTimer(unsigned int wait); void OrganyaEndTimer(); void StartOrganya(); void EndOrganya();