OK I know I said I wouldn't do anything big on code.org but I don't think this is super big.

[WUT] Music was a music player made on App Lab. Before it got deleted along with everything else on my account, it supported a modern layout with around 8 songs. It featured a basic start/stop function, skipping and restarting the song, and (on one song) realtime lyrics. I decided to remake that on Game Lab.

The Game Lab version is different, since each song is shown in a list. It also doesn't feature cover art, and instead uses a solid color because if it gets deleted, I don't want to have to re-add every single sprite.

Code.org is notorious for being slow, so I built it to keep itself fast. Every song is preloaded. Songs in the list that aren't visible onscreen are culled out. The gradient background automatically adjusts its complexity to the frame rate. It's not like it'll matter, since all the important stuff is measured by the exact millisecond, and not by frame.

It's super easy to change around the songs that appear in the app. The list of songs is stored as an array of objects, and the files for each song is stored in a separate app in case this app gets the hammer. Every song has its own play count as well, so you can see which songs are popular.

The songs that are featured in this app are all available in the Dance Party feature, so I'm about 90% sure that they're fine for non-commercial use on code.org.

I'm also planning on porting it to KA to test the waters there, except without the playcount feature.

https://studio.code.org/projects/gamelab/C4VsEOhlXmRIeeYLiJMO3s9ZXTTk_Vym4HNOrJKHdgc/

    aleast theses are in my playlist

    The secret to enjoying CDO at least a little bit is making something that doesn't have keyvalues.
    Like a game.
    People can and will hack it, but it won't matter because it won't affect anyone else.

      took a solid minute before the music started

      [WUT] Adam Oh so you got into this too? Me and Letti did something like that a little while back with a backend you can even load songs at specific time points if you don't mind the little hitch in waiting... along with being able to fetch song info and duration from the backend as well... i have 2 iterations the first is basically what you have with less fancy UI, and the 2nd is basically defunct now, i might fix it up in due time

      ackvonhuelio i mean it doesn't matter that much since it's just the number of times a song was played. someone could set it to an arbitrarily high or low value and it wouldn't matter because it's not going to impair the function of the app

      cdo isnt the best when it comes to sound, i was barley able to actually get it working in my more complex games

      Add a song called ??? and then rickroll people :rickroll:

      Update: Mouse controls! You can click on a song once to scroll to it, click on it again to play/stop. There's also a scrollbar on the side! It doesn't work perfectly, but it still works nonetheless. (I do wish I could get it to work perfectly though...)

      Also another update that isn't coming to the KA version: LiveListen! You can see how many people are currently listening to a specific song by looking at the headphones icon next to the play count.

      Welp looks like it's not coming to Khan Academy. You can't play any sound you want, only the allowed ones.

      i have just a few songs that might be a nice addition to the list. they're a little different but we all like some variation right? :) anyways, here's the list.

      Curses - The Crane Wives
      I Hear a Symphony - Cody Fry
      Passing Through - Kaden Mackay
      Home - JVKE
      Sunroof - Nicky Youre

      I tried to get a variation of artists so there's a few different feels to all of these. Great job on the music app btw! It's really polished!

      ackvonhuelio I don't feel like remaking 11 songs with basic sound effects.

      And why do you have to compare everything I make to an already-existing service? I know you don't believe in the definition of coexistence, but come on man, you could at least be a bit supportive of what I'm deciding to put my time into.

      Chat