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

Version 0.3 available now

Quick Fix

New Look

Our 2024 Advent Calendar has opened! Day 18: @Otis_Le_PoOtis is the Creator of Bondee’s Barnyard and posts updates about their dev journey and their work on the sequel!) Accept the quest and give them a follow to get Coins and a seasonal sticker!

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!

@Miles_Games is a Jolter to Watch! They post great game dev updates about the holiday-themed platformer TEAM SLAY-BELLS! Follow them before the quest ends on December 24 and you'll get Coins!

Did you know that today is #InternationalJazzDay? 🎷😎

No? 😯 Well, we couldn't pass up this date!

And what better to celebrate this day than #Pecaminosa #OST? 🎷

Let us know what you think about it and have a great weekend!

Another house i made long time ago.

Quantum precognition is one of the most powerful cards. End game cards & equipment. Demo/alpha build boss is no match for this deck.