Individual Artist & Album Sync

Feature description:

If possible, it would be incredibly nice to have an option to manually do a partial sync for artist or individual albums, from the 3 dots menu, adding an option to “Sync from Provider”. (At least for Jellyfin)

Problem solved:

This solves the issue of needing to sync an entire provider just to see a change for a single song, artist, or album. Often I will make a singular change to metadata to a song on the Jellyfin side, which I can simply reload the metadata for just that song. But to make the change show up in Symfonium, I have to do a whole provider sync. Examples could be metadata change on a single song, or an artist gets a single album and you want to just refresh that one artist to see the album, or you change images from provider side.

Brought benefits:

This brings the benefit of not having to wait to sync the entire provider again to see changes just for a single album or artist, which wastes time, battery, and resources. In my case specifically, it takes ~30 minutes to sync from my Jellyfin server, due to the sheer amount of content I have. Being able to sync an individual artist or album would allow a user to make changes on the provider side, and quickly see them in Symfonium, as I’m frequently making little changes here and there to metadata for songs or albums.

P.S. This is the best music app I’ve ever used by far, thanks for making it better all the time :slight_smile:

Unfortunately this is not really possible as everything is interconnected via IDs and other data and there’s no way to ensure integrity.

Adding something to just refresh a couple of metadata for individual entries would not make sense as it would just be a small gain of time for the vast majority of users.

Unfortunate, but understood. I guess the largest benefit here would be if you added new music to an artist and want to see it immediately, but you are probably right in that 99% of users don’t have the amount of content I do and it is much less of an annoyance for them.

However, I did notice something cool, I was adding new lyrics to some existing songs, and they seemed to have showed up immediately in Symfonium? Is this a result of using Jellyfin’s new lyrics API?

Probably yes, bla bla 20 chars.

1 Like

Newly added lyrics are displayed without syncing for non-cached files with Emby too.

I feel you. With my collection, syncs take ~50ish min, which is why I limited jellyfin rescans to once a week (which automatically trigger a Symfonium sync in turn). Especially since we have a few wifis and a phone switching between wifis aborts the sync without the option to resume. Aborted syncs also rarely lead to only a portion of the songs showing up in Symfonium until the next successful sync, which can be annoying.

Our current (not ideal) solution is to simply use Plex or local players (MusicBee) to listen to the latest stuff until the weekly scan adds it to Symfonium.

The only real solution to the sync problems with big libraries would be differential syncs, but so far no provider (except kodi I think) supports these.

One possible workaround I have thought about but not tested yet is having 2 libraries and 2 provider instances. One for the bulk where changes rarely occur, which syncs once a week, and one for only the latest additions, syncing whenever something gets added.
You could then script for stuff to be moved from the latest library to the bulk library after X days to prevent the latest library from blowing up.

Thanks for bringing this again, so I can again for the 10th time ask you for the logs to be able to fix ?

I’ve told you before, I don’t know how to force it (during which part of the sync I have to walk around the house and between which of the 3 APs and 2 routers) and considering that it happens every few months, it’s not worth the effort of me walking around the house like a clown for hours until it happens. I could leave logs on all the time and wait for it to happen but that would lead to literal GBs of logs. If you want to fix the root issue you could implement a grace period of like 30 seconds to account for switching networks instead of aborting the sync every time it happens.

The grace is much more than that and if the sync fails it’s easy to reproduce that part.

For the other issue it should never ever happen as all is done via transactions and any error cancel them. So I do not care about 8gb log if it can fix something as major as this. But not it’s tied to a grace period.

Alright, I’ll leave debug logs on then and try to remember to clear them after each successful sync to keep them as small as possible. Might be months before it happens the next time tho. Since I’m the only one (I know of) to ever report this happening it might be unique to my setup and not even worth fixing on your part, but time will tell.

I meant a grace period when the network connection is lost to allow for switching the network. The last time I tested it, the sync stopped the same second I manually switched wifi networks and also the same second I walked out of range of wifi 1, prompting my phone to automatically switch to wifi 2.
Having to leave the phone stationary for 50min+ each sync is pretty inconvenient even without the (rare) possibility of tracks being “lost” when it fails.

As said there’s 2 different issues here.

The first one is about sync stop on changing wifi, this seems 100% reproductible and so can have small logs in a couple of minutes :slight_smile:

The other one is effectively virtually impossible so it way more complicated, but very very very rare + no more sync stop on wifi changing would make this virtually non existent even if I can’t fix due to you not able to log it.

So it’s not supposed to stop the sync when I change the wifi or walk around the house and it switches automatically?
I thought that was by design to prevent inconsistent data when a sync is interrupted for too long and the data of the provider has changed in the meantime.

No it’s not supposed to fail, there’s retry and small pauses.
But yes it does not wait indefinitively depending on if this cause timeouts or instant failures there’s between 2 mins and 10 mins to recover.

1 Like