Example

Midi File Reader

7

SP4CEBAR 2021-04-30 20:12 (Edited)

This program can read and interpret midi files. To load in a midi file, you can open a .mid file in a hex editor. In the hex editor you can copy the hex data and paste it in this program. I've loaded a midi file for the nyan cat song in rom location 5.

I've also made a midi file player: https://lowresnx.inutilis.com/topic.php?id=1877

I've moved this project to MidiTools: https://lowresnx.inutilis.com/topic.php?id=1883

Big thanks to Timo for helping me with the midi file system https://lowresnx.inutilis.com/topic.php?id=1872


G-9 2021-04-30 20:26

Very, very, very very veeeeeery very nice !
You made the impossible, ur a god !!!
Thank you, thank u !!!!!!!!!!!! !!!!!!!!!! !!!!!!!!!!


Timo 2021-04-30 21:36

Ah, I forgot that you could create your own player instead of using the Sound Composer format :O
You could use ON VBL CALL to create a MIDI player which plays without affecting the main program.


SP4CEBAR 2021-05-01 07:52 (Edited)

@G-9 thanks
@Timo thanks, good idea, but I'm probably still going to make a converter, now that the program can read midi it shouldn't be that hard


SP4CEBAR 2022-01-21 11:27 (Edited)

So I want to get back to this project and make a scheduler so that it can play multiple tracks at once, I've already designed a nice system to do that but... my code in this midi reader is such a mess, it's kind of hard to change the order of operations (instead of reading delta times, waiting that amount, and executing commands, it's gonna have to execute the command, and then read a delta time for the next command (so the scheduler knows how long it's gonna take))


SP4CEBAR 2022-01-21 16:19 (Edited)

Long blocks of code are the worst to work with
Breaking it up into subprograms made it so much more maintainable


Log in to reply.