Game
noice


3 years ago

I'm Putting All My OGGs in One Basket

I've added ogg support for music files. No more need to convert library (but recommended). and other updates


UPDATE: All the issues listed below have been fixed in v0.14!

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:

  • 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

That's just on this update. Previous updates added Discord Rich Presence, FC tracking and display, Quality of Life improvements like title displays during random gameplay and new List navigations. And a new splash screen as shown here



0 comments

Loading...

Next up

New Look

Quick Fix

New Quick Play Mode

Happy #WIPWednesday!

Are you working on a game?

Making some art?

Practicing a song?

Something else?

Tell us in the comments!

Version 0.3 available now

Happy #WIPWednesday!

Are you working on a game?

Making some art?

Practicing a song?

Something else?

Tell us in the comments!

Happy #WIPWednesday!

Are you working on a game?

Making some art?

Practicing a song?

Something else?

Tell us in the comments!

Successful landing

#screenshotsaturday

Family band complete!

Werehog transformation process. #sonicunleashed