Okay, here's the next update. This version fixes the issues playing MIDI files – there were two problems: I was freeing memory twice in one place, and the libdragon system memory allocator didn't properly check for running out of memory. Note that when libWildMidi runs out of memory while parsing a MIDI track, it won't play the track, but if it runs out of memory while loading the instruments, it will… but with the instruments already loaded. So if you play a song and one or more instruments are wildly incorrect (say a piano instead of a tomtom), the N64 ran out of memory. I'm looking into some smaller instruments, but right now, you really need the memory expansion pak for most MIDI tracks. I also lowered the MIDI output sample rate to 22kHz for lower CPU usage.
This version enables a few more profiles in the AAC decoder. Also, the AAC player stops playing a track when it runs into an error in the bitstream like other players do rather than attempting to skip over the error. It was causing too much trouble, and every player I use just stops playing a track on finding an error, so it's not like I'm the only one not trying to deal with errors.
More info : http://www.neoflash.com/forum/index.php/topic,6323.msg48616.html#msg48616
Leave a Reply
You must be logged in to post a comment.