Export UTF-8 append data

Hello everyone,
User of the squeezebox system controlled with the LMS software (Logitech Media Server) I am facing a problem:
My playlists are generated under MP3TAG with actions.
To continue to benefit from LMS updates, I have to make it work in Docker.
Since then I have problems generating my playlists.
Let me explain :
For LMS under DOCKER the playlist files must be encoded in UTF-8.
When I create a first playlist file with MP3TAG no problem, the playlist is well seen under LMS.
When I add 1 or more titles to my playlist, they are not seen in LMS.
I finally figured out why:
When exporting, MP3TAG completes the existing playlist file (in the MP3TAG export function I checked the "attach data" option).
and systematically returns the UTF-8 recognition characters EF,BB,BF.
It's like I had 2 UTF-8 files attached instead of a single UTF-8 file and LMS only sees the first one.
I manually removed the second character set EF,BB,BF. My reading list is correctly seen in LMS.
Is there a way to have the characters EF,BB,BF only once at the beginning of the file?

There is a function to create playlists from selected or all files - so you don't have to use an export script.
Also, you can load a generated playlist in MP3tag, add further files and then save that playlist again as a new file and/or overwrite the old file.
And you could try in the Options for Export whether writing a BOM helps or not.

Good morning ohrenkino,
First of all thank you for your support.
I'm not sure if the playlist generated by MP3TAG is read by LMS because it doesn't seem to be in UTF-8 format.
Also, when I create a playlist, I populate a "PLAYLIST" field in the selected titles.
That's why I go through an export function.
In any case I try this evening at home the native function MP3TAG playlist and let you know.
Thanks again.

It would be nice to see the export script then.

You would have to use m3u8 as extension for the playlist to generate it in UTF-8:

Apparently it should work with the M3U8 extension.
However, I find it cumbersome to use MP3TAG's native PlayList function to add titles:

  • Load playlist.
  • Load the directory containing the new titles to add.
  • Select all the titles of the new playList.
  • Overwrite old Playlist.

"Actions" method
Load the directory containing the new titles to add.
Select the titles to add
"Action" icon to launch the "PlayList" action : format the "PlayList" field
then Export function :

I specify that I manage a playlist of several hundred titles.

How would you do that faster/easier?

Have you tried to write the export without BOM?

Sorry, I have to hit the road.
I will resume the discussion tonight or tomorrow.

I had not seen this parameter in MP3TAG.
I just tried it and it works. :grinning:
1000 thanks for your help

MP3TAG is good for creating playlist, but not for modifying playlist, especially for adding tracks.
As explained previously, it takes a lot of manipulations to add one or more tracks.
There should be an "Add Tracks to Playlist" submenu.
Finally, we may be out of the scope of MP3Tag, whose primary role is to tag songs.
But it's true that we want to control the entire "audio files" chain with a single software.
MP3Tag moves there slowly.
For example, resizing covers (no need to use image software anymore).
Native replayGain would also be better, although I managed to do without Foobar by creating a tool that uses RsGain 3.11 software
So let's hope that MP3TAG comes out a little more of its primary function

Actually, you can use drag and drop to add tracks to an existing playlist:

:How do I add new songs to an existing playlist in MP3Tag?

Hello Doug_Mackie

I have seen this function but it is not practical because it requires loading the playlist to modify it.
This can be annoying for long playlists
So I prefer to go through this type of action:
Example for "Generale" playlist for LMS under DOCKER (NAS SYNOLOGY)

$filename(m3u8,UTF-8)$loop(%_path%)#EXTINF:%_length_seconds%,%artist% - %title%

Target file:Generale.m3u8 (append data and box "write the BOM" unchecked :wink: thanks ohrenkino

I also created an action that generates a .BAT file to remove tracks from the playlist.
The bat file is launched by the tools menu (right click on a track) :

$filename(m3u,utf-8)@echo on
'rem This action generates the .bat file but does not execute it.
'rem Find "string to search" <"file in which to search for the string"> "search result file"
'rem Find /V  Show all lines not containing the specified string.
'rem Find /I Specifies that upper and lower case letters should not be distinguished during the search.
copy "\\SERVER\music\PlayList\Generale.m3u8" "\\SERVER\music\PlayList\TRAVAIL.TXT"
find /V /I "#EXTINF:%_length_seconds%,%artist% - %title%" <"\\SERVER\music\PlayList\TRAVAIL.TXT"> "\\SERVER\music\PlayList\Generale.m3u8"
copy "\\SERVER\music\PlayList\Generale.m3u8" "\\SERVER\music\PlayList\TRAVAIL.TXT"
find /V /I "$replace(%_path%,'\\server\music',..)" <"\\SERVER\music\PlayList\TRAVAIL.TXT"> "\\SERVER\music\PlayList\Generale.m3u8"
Del \\SERVER\music\PlayList\TRAVAIL.TXT
Del \\SERVER\music\PlayList\SupPlayListGenerale.bat

Obviously these 2 files are to be adapted according to its configuration.

I find this solution more flexible to use.

How is this any different than loading any other set of files into mp3tag already? Simply loading the playlist itself to start, then adding the additional files you wish to join into that list should suffice. Then resave the new playlist contents over the original playlist file from mp3tag. Seems pretty straightforward and simple to me.

1 Like

THis method has also the advantage that missing files will not be included when the playlist is saved again. So the batch file to remove files would not be necessary.

1 Like

Maybe easier for you but not for me.
I mainly work with a play list of around 400 titles.
When I tag a new album, this method allows me to only have this album on the screen and not my playlist+my new album.
So I stay focused on him.
Moreover, why load a play list if you can modify it "remotely"?
I also specify that I manage a "playlist" field for each title in the play list that I fill in when I add a title and that I delete if I delete a title.
So when I want to revise the play list I load my music library into MP3TAG and I add or delete tracks. The "PlayList" field lets me know if the title is already present or not.
Also, when I delete tracks from the playlist, I prefer to select the tracks to delete rather than the tracks to keep.
Example: 10 titles to be deleted embedded in a playlist of 400 titles: I go through the playlist and I delete the titles one by one.

I think that all suggestions are well-meaning just to point out that there are so many ways to skin a cat.
If you have a good workflow, then keep it.
If you find that something could be optmized - here you have seen suggestions to do it in a different way which not necessarily is the better way.
Just let us take it as a collection of alternatives.

I completely agree with you.

This is not a lot of titles for mp3tag to handle. Even after you have loaded a "new" album, you can quickly add the playlist and add to it right away. You can still add the PLAYLIST field at anytime as well. I was just suggesting a alternative solution directly from within mp3tag that should effectively do this.

Obviously you have your own workflow that works for your needs, but what you stated about any difficulty in modifying playlists isn't really accurate for the typical expected use case IMO. Certainly the process of exporting new playlists, and then processing that further with an external .bat file is more complex than the methods suggested above that are already available from within mp3tag.

I don't doubt the capability of MP3TAG but it's more a matter of screen visibility.

Try deleting 10 titles in a large playlist by both ways and judge.
MP3tag does not support removing tracks from a playlist, but rather keeping them. The nuance is subtle but important.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.