This tool lets you install songs with Event Assembler instead of Sappy, meaning no more writing down offsets to keep track of your free space.
As with the Sappy method, drag your midi onto mid2agb (not included), and you will get a .s file.
Now drag your .s file onto s2ea, and you will get a .event file. Make sure to keep a copy of MPlayDefs.event in the same folder as this file.
You will need to open up the .event file and change voicegroup000 to the location of the instrument map you are using. Alternatively, you may wish to label the Native Instrument Map as voicegroup000.
Here is an example installer:
//example code
#ifdef _FE8_ //macro definitions for setting the song table
#define SongTableOffset 0x224470
#define SongTable(index,SongPointer,Group) "ORG SongTableOffset+(8*index); POIN SongPointer; SHORT Group Group"
#endif
//
voicegroup000:
#incbin "FE8_NI_Map.bin" //now voicegroup000 is your instrument map
//
#include "my_song.event" //this installs your song
PUSH
SongTable(1,my_song,0)
POP
Samples are just dmp files that don’t need any pointers so you can just use #incbin to insert them.
For a sound effect using only instrument 0, you can put this in some free space and change voicegroup000 to SFXVoicemap001:
SFXVoicemap001: //voicemap with the sample as instrument 0
WORD $3c00
POIN Sample001
WORD $FF00FF
Sample001:
#incbin "sample001.dmp" //the actual sample
With a bit of POIN and label manipulation you could do a full voicemap or a multi instrument too, but you do need Sappy to turn the samples into binary data and rip them.
You need the latest version of Event Assembler, or alternatively add this to the bottom of Event Assembler/Language Raws/Pointer.txt
##Makes a GBA pointer pointing to offset without requiring word alignment.
POIN2, 0, 4, -game:FE6:FE7:FE8 -repeatable -priority:pointer -indexMode:8 -offsetMod:1
##Offset to point to.
Offset, 0, 4, -pointer:unknown