I'm Putting All My OGGs in One Basket


Finally got Ogg working thanks to FFmpeg. It's far from perfect and I'm still working on it, but I wanted to get it out. FFmpeg is also a bit overkill for just playing Ogg (plus it added 15mb to the build), maybe if I keep staring at it I can figure out how to make my own implementation. On the flip side, I can add support for any audio file

There are limitations and also features I haven't programmed yet as listed:

EDIT: These are mostly fixed already for the next release coming soon
EDIT 2: These have been fixed and a new build has been published!

  • Seeking does not work… with multitracks

    This is because multitracks go out of sync when jumping to a location on the track. I'm working on a solution. Game plays fine as long as you don't use the Pause feature

  • Song previews start at the beginning of the track

    Because of the sync issue, if I jump ahead in the song, the tracks get out of sync. Single track and native files work fine. Also not an issue if a "preview.ogg" file is included

  • No smooth transitions

    Things like Fade-In/Fade-Out are not implemented… yet. But not sure If I'll be able to. As is, just changing the volume causes Pops

  • No instrument muting and no crowd sing-a-long

    I just haven't implemented these features for the Ogg player. As noted above, I hope when I do, it doesn't cause pops when muting them. Also I don't have a fade transition for the crowd, so it would be a bit jarring to just turn it on and off

  • New Bug caused by a race condition

    My implementation of ffmpeg created a race condition because when the player "stops" the ogg stream gets delocated from memory. Noice might crash when code tries to access the stream after this happens. It is stable enough for now

There are 2 different players engines at work here. M4a, AAC and MP3s are still handled the same way and have no issues. 

I've also fixed a few things like sometimes when you beat the high score it would say you tied it. This was caused by a race condition where the old score was getting updated with the new score and then compared to itself. The correct score was always saved and displayed and the highest score was always saved tho. I never did figure out why this happened and it was very hard to test because it only happened when beating the high score on 5 starred songs and very rarely. But it's been around for a while and I finally fixed it.

Also fixed a condition where a song preview would keep playing after selecting another song or even after changing menus. This was always annoying and again caused by raced conditions triggered by animation actions

Files

noice_v013.zip 31 MB
Feb 12, 2022

Get noice

Leave a comment

Log in with itch.io to leave a comment.