getmusicbee.com

General => MusicBee Wishlist => Topic started by: CritterMan on May 22, 2016, 08:44:50 PM

Title: Sync .lrc to devices.
Post by: CritterMan on May 22, 2016, 08:44:50 PM
I would like to suggest adding the option to sync .lrc files to devices, much in the same way album art files can be synced now.

Under the sync settings for a device, in the artwork storage section, there are options for how to sync artwork. Most of these options, with the exception of resizing of course, would be handy for use with .lrc files.

I use MB on my desktop at home, portable MB on a thumb drive on my work-issued laptop, and a FiiO X5 gen 2 for my commute. I maintain my library on my desktop, and sync it to the thumb drive and SD card on the FiiO. It would be a big time saver to be able to sync the .lrc files along with any new or updated tracks, especially on the FiiO which is a bit finicky. (Also, it can't read lyrics from tags, .lrc only.)

When syncing the FiiO, I have it set to tweak the filenames on the fly to get under the 128-character limit for tracks on an imported playlist and combine all tracks in one directory. While it wouldn't be too bad to hand copy the .lrc files to my thumb drive, renaming every .lrc file manually and keeping it updated on the FiiO would be a daunting task indeed.

Thank you for the best music player/library manager available, Steven!
Title: Re: Sync .lrc to devices.
Post by: CharlieJiang on February 02, 2018, 05:29:17 AM
Apologize for replying such a old topic.
Same here. I'm using a Sony Walkman A45 here and a .lrc sync option will help much for me.
Title: Re: Sync .lrc to devices.
Post by: Steven on February 03, 2018, 05:22:20 PM
It would be a big time saver to be able to sync the .lrc files along with any new or updated tracks, especially on the FiiO which is a bit finicky. (Also, it can't read lyrics from tags, .lrc only.)
The filename for the lyrics would always need to be the same as the music file (.lrc) right?
I have always associated .lrc files with synchronished lyrics, so can you confirm the .lrc extension also works for standard lyrics
Title: Re: Sync .lrc to devices.
Post by: CritterMan on February 03, 2018, 10:17:15 PM
I performed some testing for you today using version 3.2.6605.


The filename for the lyrics would always need to be the same as the music file (.lrc) right?
Yes.
songname.flac
songname.lrc


I have always associated .lrc files with synchronished lyrics, so can you confirm the .lrc extension also works for standard lyrics

On a FiiO X5 III, yes.
.lrc is seen and displayed as standard lyrics.

What I'm really going for here is options to choose the way lyrics are synced to a given device.
-Embed the lyrics in the tags (even if they were in an .lrc or .txt originally).
-Sync to .lrc file (also choose synced or unsynced from track metadata since only one lrc file can be stored per track but both can be stored in metadata)
-Sync to .txt file (I assume there are players that need txt files, maybe just allow users to define the file extension for the .lrc option since it's all .txt format anyway?)

I think MB should identify lyrics in any supported storage method and allow the user to define how they are synced to a specific device in any of the above ways. It would also be nice if edits to the lyrics would trigger a re-sync of the .lrc file on the device at the next sync.

Thanks for looking at this.
Title: Re: Sync .lrc to devices.
Post by: Steven on February 05, 2018, 09:18:01 PM
you can now specify how the lyrics are synched:
http://musicbee.niblseed.com/V3_2/MusicBee32_Patched.zip
Title: Re: Sync .lrc to devices.
Post by: phred on February 05, 2018, 09:55:03 PM
When going to the device settings via the preferences menu, whether or not the device is connected, the new lyrics storage setting doesn't remain persistent. Using the settings menu direct from the device in the left navigator, the option sticks. Right now I have both settings windows open and from the left navigator it shows 'always embed lyrics in the music file' but in the settings window opened (and closed and opened) it shows default. Even with making the change, saving it, saving again, exiting MB, and restarting.
Title: Re: Sync .lrc to devices.
Post by: Steven on February 05, 2018, 10:13:40 PM
redownload and try again
Title: Re: Sync .lrc to devices.
Post by: phred on February 05, 2018, 10:35:45 PM
Thanks. That takes care of it.
Title: Re: Sync .lrc to devices.
Post by: phred on February 06, 2018, 03:12:40 AM
All my lyrics within the MB library are saved as external .txt files (music filename.txt). In my testing using a virtual drive, I have lyrics storage set to always copy to .lrc file. Yet after looking at the completed sync there are no .lrc files. Must the original lyric files be embedded in order for this new option to work? If that's the case, how difficult would it be allow the sync to convert the external .txt files to synced .lrc files?

If that can't be done, is there an easy way to convert all my lyric text files to embedded? Or a way to allow -both- embedded -and- text files per track?

Thanks.
Title: Re: Sync .lrc to devices.
Post by: Steven on February 06, 2018, 05:57:43 PM
It will only apply to files that are copied for the sync ie. wont backfill the lyrics file for tracks on the device not updated
However, I can see a mistake in the code if the files are being re-encoded, then the lyrics file wont get copied. That should be fixed for the next update.
Given what i said, do you think that explains the result you had?


http://musicbee.niblseed.com/V3_2/MusicBee32_Patched.zip
Title: Re: Sync .lrc to devices.
Post by: phred on February 06, 2018, 08:30:52 PM
Given what i said, do you think that explains the result you had?
No, I don't think it explains my result. I specifically looked on the device for tracks that had not been synced before. But before you do anything else, I will run a couple of more tests, but with a small set of tracks.
Title: Re: Sync .lrc to devices.
Post by: phred on February 06, 2018, 08:45:46 PM
Given what i said, do you think that explains the result you had?
No, I don't think it explains my result. I specifically looked on the device for tracks that had not been synced before. But before you do anything else, I will run a couple of more tests, but with a small set of tracks.
I synced two albums to a new virtual device and I now see the .lrc files along with the music files. So I think it's now working as expected. Now I have started a sync of 19.5k tracks to my FiiO device. I'm not expecting any issue, but will report back either way once it's completed.

Thanks.
Title: Re: Sync .lrc to devices.
Post by: CritterMan on February 07, 2018, 03:56:02 AM
I've run a few tests, looks to be functioning as intended. I noticed that if a file has both synced and unsynced tags in the metadata, the unsynced lyrics are written to the .lrc file that is created. This makes sense, if one has synced why would the keep unsynced lyrics? But, I do keep both. Any chance of adding a radio button or something to set a preference for syncing specifically synced or unsynced lyrics to the .lrc?
Title: Re: Sync .lrc to devices.
Post by: Steven on February 07, 2018, 06:51:52 PM
I noticed that if a file has both synced and unsynced tags in the metadata, the unsynced lyrics are written to the .lrc file that is created.
that shouldnt be the case ie. synchronised lyrics should be given preference. What is the source music file format and what is the format on the device. Also would you mind sending me a link to one file where it gave preference to the unsynched lyrics?
Title: Re: Sync .lrc to devices.
Post by: CritterMan on February 08, 2018, 01:11:15 AM
Test files sent by PM, but I think I found the problem.


Using a test file with both embedded synced and unsynced lyrics as well as an .lrc file containing synced lyrics:

Default: track and .lrc synced to device without change
Embed: only synced lyrics appear in the track on the device, unsynced lyrics are lost (possibly undesired behavior), no .lrc is created on the device as expected
.lrc: same result as default, track and .lrc synced to device without change (this may be undesired to some as the lyrics in the metadata remain)

Now, I remove the .lrc file from my desktop for the test file and run all three sync options again, deleting the synced files after each test:

Default: track is synced to the device without change
Embed: undesired behavior occurs, unsynced lyrics are embedded under the synced lyrics tag in the metadata on the device
.lrc: track metadata is synced to the device unchanged, but undesired behavior occurs as the .lrc file on the device contains unsynced lyrics

I hope that helps.
Title: Re: Sync .lrc to devices.
Post by: Steven on February 08, 2018, 07:59:45 PM
Test files sent by PM, but I think I found the problem.
thanks, this should address the issue:
http://musicbee.niblseed.com/V3_2/MusicBee32_Patched.zip
Title: Re: Sync .lrc to devices.
Post by: CritterMan on February 09, 2018, 02:07:45 AM
One more issue, but I think it will be trivial to correct.

Running the same tests as my most recent post in this thread, a flac file with both synced and unsynced lyrics in the metadata, no lrc file. When syncing embed only or lrc (does not occur with default), this is written into the synced lyrics tag or lrc file as applicable:
Code
Unsynced Lyrics; [00:00.00]Synced Lyrics

Title: Re: Sync .lrc to devices.
Post by: Steven on February 09, 2018, 06:56:12 PM
The file has "LYRICS" and "UNSYNCHEDLYRICS" as tags. I realise there is no official standard, but somewhere there was an attempt at a standard either on hyrdogenaudio or xiph.org which just had LYRICS as the tag, so thats the "official" tag MB uses. However MB does also read "UNSYNCHEDLYRICS" for wider compatibility. So for the tagged value, because you are using both then they get concatenated.
However the logic in MB gives preference to synched lyrics and for flac files, the only "offical" way is either a .lrc file or having the "LYRICS" tag set to the synched lyrics.
So if you had a .lrc file it should have worked. It did in my testing
Title: Re: Sync .lrc to devices.
Post by: CritterMan on February 10, 2018, 12:45:16 AM
So if you had a .lrc file it should have worked. It did in my testing

Yes, only when I removed the .lrc file did I see that concatenated result. I guess I'm just an odd use case. But, I think I can deal with that through batch tag editing since unsynced lyrics really seem to just be a legacy support thing, I've yet to need them for compatibility. Thanks for the explanation.
Title: Re: Sync .lrc to devices.
Post by: Steven on February 10, 2018, 08:26:23 AM
i am going to make a change such that "UNSYNCHEDLYRICS" is not appended if the "LYRICS" tag is present. You would need to rescan the files

http://musicbee.niblseed.com/V3_2/MusicBee32_Patched.zip
Title: Re: Sync .lrc to devices.
Post by: CritterMan on February 11, 2018, 01:56:38 AM
Looks good, this is a great feature!
Title: Re: Sync .lrc to devices.
Post by: christmw2503 on March 29, 2018, 03:27:01 PM
Need help here. My library has lrc embedded in music files. I wanted to sync lrc files separately from music files and I've successfully done so on USB drives and virtual devices. But for some reason, it doesn't work when syncing to a phone. I tried with a moto and galaxy phones no lrc file is copied to the phones. I even tried syncing some mp3 which had separate lrc, but with the same negative result. Is there any setting I'm missing?
Title: Re: Sync .lrc to devices.
Post by: Steven on March 29, 2018, 04:04:09 PM
the answer is in the other topic you set up