IFND XMODULE_I XMODULE_I SET 1 ** ** XModule replay routine 1.0 ** ** Copyright (C) 1995 Bernardo Innocenti ** ** Assembler structure definitions for player ** IFND EXEC_TYPES_I include exec/types.i ENDC ; EXEC_TYPES_I IFND EXEC_NODES_I include exec/nodes.i ENDC ; EXEC_NODES_I MAXINSTRUMENTS EQU 64 ; Maximum number of instruments loaded MAXTABLENOTE EQU (12*3) ; Number of entries in note conversion table MAXTABLEEFFECTS EQU 20 ; Number of entries in effect conversion table MAXPATTERNS EQU 128 ; Maximum number of patterns MAXTRACKS EQU 32 ; Maximum number of tracks in a pattern MAXPATTLINES EQU 32768 ; Maximum number of lines in a pattern MAXPOSITIONS EQU 32768 ; Maximum number of song positions MAXINSTNAME EQU 32 MAXSONGNAME EQU 32 MAXAUTHNAME EQU 64 MAXPATTNAME EQU 16 PATHNAME_MAX EQU 256 ************************************************************************** ** Some definitions transcripted from "XModule.h" ************************************************************************** ENUM 0 EITEM EFF_NULL EITEM EFF_PORTAMENTOUP EITEM EFF_PORTAMENTODOWN EITEM EFF_TONEPORTAMENTO EITEM EFF_VIBRATO EITEM EFF_TONEPVOLSLIDE EITEM EFF_VIBRATOVOLSLIDE EITEM EFF_TREMOLO EITEM EFF_UNUSED EITEM EFF_SAMPLEOFFSET EITEM EFF_VOLSLIDE EITEM EFF_POSJUMP EITEM EFF_SETVOLUME EITEM EFF_PATTERNBREAK EITEM EFF_MISC EITEM EFF_SETSPEED EITEM EFF_SETTEMPO EITEM EFF_ARPEGGIO EITEM EFF_COUNT STRUCTURE Note,0 UBYTE note_Note UBYTE note_Inst UBYTE note_Vol UBYTE note_Pad UBYTE note_EffNum UBYTE note_EffVal LABEL Note_SIZEOF STRUCTURE Instrument,0 UWORD in_InstType ; Instrument type (See defs) UWORD in_Volume ; Volume (max $40) STRUCT in_Name,MAXINSTNAME ; Instrument Name APTR in_SampleData ; Sampled data ULONG in_Length ; Length of instr ULONG in_Repeat ; Loop start (No loop = 0) ULONG in_Replen ; Loop size (No loop = 1) WORD in_FineTune ; Instrument FineTune (-8..+7) UWORD in_Flags ; Unused LABEL in_SIZEOF STRUCTURE Pattern,0 UWORD pa_Tracks ; Support for variable number of tracks UWORD pa_Lines ; Number of lines in pattern STRUCT pa_PattName,MAXPATTNAME ; Pattern Name STRUCT pa_Notes,MAXTRACKS * 4 ; Pointers to the lines LABEL pa_SIZEOF STRUCTURE SongInfo,LN_SIZE UWORD si_Length ; Number of positions in song UWORD si_MaxTracks ; Number of tracks in song UWORD si_NumPatterns ; Number of patterns in song UWORD si_NumInstruments ; Unused UWORD si_GlobalSpeed ; Default song speed UWORD si_GlobalTempo ; Default song tempo UWORD si_Restart ; Position to restart from UWORD si_CurrentPatt UWORD si_CurrentPos UWORD si_CurrentInst UWORD si_Flags ; See definitions below ULONG si_Changes ; Number of changes made to this song APTR si_Sequence ; *UWORD: Pointer to song sequence STRUCT si_PattData,pa_SIZEOF*MAXPATTERNS STRUCT si_Inst,in_SIZEOF*MAXINSTRUMENTS STRUCT si_ActiveTracks,MAXTRACKS ; UBYTE []: Active Tracks (0 = disabled) STRUCT si_SongName,MAXSONGNAME ; UBYTE []: Song name STRUCT si_Author,MAXAUTHNAME ; Author of song STRUCT si_SongPath,PATHNAME_MAX; ; Original song path APTR si_Pool ; The memory pool where song data ; must be allocated from. LABEL si_SIZEOF ENDC ; !XMODULE_I