Insert Music using Event Assembler

#Get S2EA.exe

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
4 Likes

does this work for samples too?

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.

I tried it, but got errors
No code named POIN2 found.
No code named POIN2 found.
No code named POIN2 found…

What is wrong?

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

No error occurred by adding this.
Thanks! It is a great work.