Welcome to Incremental Social! Learn more about this project here!
Check out lemmyverse to find more communities to join from here!

@lyoko@lemm.ee avatar

lyoko

@lyoko@lemm.ee

This profile is from a federated server and may be incomplete. Browse more on the original instance.

lyoko ,
@lyoko@lemm.ee avatar

I have the same problem with navidrome so I've written a new Opensubsonic server in Rust with a permision model. You can check it out here: https://github.com/vnghia/nghe

lyoko ,
@lyoko@lemm.ee avatar

If you have some times, you could try my new Opensubsonic server, which is written with performance in mind (I've tried to do a lot of things in compile-time) especially if you are transcoding the song a lot.

lyoko OP ,
@lyoko@lemm.ee avatar

Never thought about it. Is there an inside joke am i missing @@

lyoko OP , (edited )
@lyoko@lemm.ee avatar

I see. Indeen I gave up teaching people pronounce my name correctly long time ago and told them just to call me by my family name so you coulld pronounce whatever you like. If you know a Vietnamese guy around just ask them to teach you and give them a headache

lyoko OP ,
@lyoko@lemm.ee avatar

Is Rust that much better than Go?

IMHO, rust and go are two differents things. The reason I choose Rust is because it is fast and calling C code from rust is supported really well since Rust's goal is to become a system language. Navidrome is just calling the ffmpeg binary. While in my project, I've compiled the neccessary parts of ffmpeg myself (thanks to vcpkg) and call the function directly from Rust. It leads to smaller and fully static final binary (because no ffmpeg bin) as well as faster transcoding time since we don't have to wait for the ffmpeg binary to finish transcoding the whole file before load the result from the filesystem to the memory.

Would it have been impossible to submit your changes to Navidrome as pull requests?

You can see here. This is the biggest reason why I've decided to start my own implementation. Beside, I share my server with several friends so I want a mechanism to prevent mixing musics from different people.

Does this import the Navidrome database?

This could be a feature request in the future. I could add a python script to import users/songs/playlists/playcount/etc from Navidrome.

lyoko OP ,
@lyoko@lemm.ee avatar

Thank you very much for your kind word! I've seen that scanner already but decided to reimplement anyway because I want to choose a different design from the start and have the flexibility to add some new features myself (some kind of ML integration like immich and S3 integration). At worse case, I will still use this so no problems :D

lyoko OP ,
@lyoko@lemm.ee avatar

Thank you! Please give it a try and give me some feedbacks XD

lyoko OP ,
@lyoko@lemm.ee avatar

I am trying adding a FreeBSD CI. Will let you know later if it is working or not

lyoko OP ,
@lyoko@lemm.ee avatar

In the opensubsonic response there will be two fields for artist, one is artistid with only one artist (this is for compatible with old subsonic) and the other is artists with a list of artist ids. The server only sends back the list of artists ids and only these two clients read that field.

lyoko OP ,
@lyoko@lemm.ee avatar

Not sure what do you mean by filtering but this is my Symfonium UI

https://lemm.ee/pictrs/image/8035e080-973c-4b00-81a9-1e1406d05db1.webp

lyoko OP , (edited )
@lyoko@lemm.ee avatar

Here you go. But setting up a testing environment on github actions is too hard so it is built only for now.

Edit: test is added now

lyoko OP ,
@lyoko@lemm.ee avatar

Thank you! I just want to make my server as much cross-platform as possible :D

lyoko OP ,
@lyoko@lemm.ee avatar

Sorry to make you feel that way. You are the first commenter and the first star on github so I am really appreciate it. "Nghe" could be decompose into two parts: "ngh" and "e". The "e" part sound like "eh" but the "ngh" part is just "difficulty level: asian" so I put a video here: https://www.youtube.com/watch?v=ttA8ukm8lwI ("ngh" and "ng" have the same pronounciation). Thank you very much!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • incremental_games
  • meta
  • All magazines