Homebrew NXVinyl - Successor of Triplayer (development discussion)

  • Thread starter Thread starter SSmiles
  • Start date Start date
  • Views Views 588
  • Replies Replies 3
  • Likes Likes 4

SSmiles

Member
Newcomer
Joined
Dec 8, 2024
Messages
13
Reaction score
13
Trophies
0
Age
22
XP
87
Country
United States
I've been wanting a background music player for a long time, one that supports newer firmware (as well as atmosphere's firmware). Sys-tune and Triplayer we're the ones that paved background music playing. I reached out to TallBl0nde (developer of Triplayer) for permission to reuse code, I got the ok to do so. I'm currently still planning the whole pipeline and studying the codebase and additional libs I will be using.

Like Triplayer, this will be a .nsp/.ovl/.nro combo. The sysmodule (.nsp) is what actually does the music playing and the overlay and applet will just talk to it via IPC (I don't know what it stands for so I call it intercommunication). I'm aiming for ~3.5MB for the sysmodule. Unlike Triplayer, NXVinyl ditches JSON all together in favor of binary protocol via proto buffers in the form of .pb files. For each album we make a .pb file that contains the song's metadata, for each playlist we store a .pb file. We also store IPC commands in a .pb file for the sake of simplicity.

we're using the updated dr.lib for audio decoding, nanopb for protobuffers, libtag for metadata, miniIni for ini (duh), Aether for the GUI.
 
UPDATE: I at least have my file structure and make files done. I started working on the Github repository. I've never put stuff on Github so I'm learning how to do that. TLDR is that everything is in place for me to start writing the code. I'm making the .NRO first then immediately pass it along for testing and recommendations , it won't have any music playback capabilities with just the NRO but ya'll can at least test out the UI and scanning capabilities. Next I'll make the sysmodule then the overlay.
 
UPDATE: It's. . .going well. . .I think. I'm in the actual "writing the code" part. Iv'e been writing test programs then like copying the code. Expect a NRO test file soon (late June).
 
UPDATE: the first version (V0.1.0) will be a very much stripped down version of what I want. What do I mean? features like library scanning, game flagging, playlist making have all been pushed to the to-do list, so v0.1 will be folder based instead of metadata based for now then it'll just play music from the folder. Aether UI will not be implemented as of yet, it'll look more like nxdumptool (terminal looking). Why the sudden shift? ,I'm trying to incorporate too much for the first version. We will go down the to-do list as new versions release. Pushing a beta allows other smarter developers to hold the source code and add a chunk of their own code. The release date remains late June.
 
  • Like
Reactions: RumbelBoss

Site & Scene News

Popular threads in this forum