Jan 31 2009, 18:57
Post
#1
|
|
![]() Member Group: Full Members Posts: 176 Joined: 2-November 07 Member No.: 5868 Mp3tag Version: 2.43 |
Mp3tag doesn’t (yet?) have built-in support for playlists with files that have Unicode filenames.
Unfortunately, the ».m3u« playlist format was an »ad-hoc« creation by Nullsoft (the former Winamp people) a long time ago, and there are no official specs. Nevertheless, the general consensus nowadays seems to be that M3U only supports the Latin-1 (ISO-8859-1) character set while the (newer) ».m3u8« format supports UTF-8 encoding. Many programs like Mp3tag will even silently try to convert UTF-encoded file paths to ISO-8859-1 (and fail), resulting in entries like: CODE #EXTINF:30,Alfred E. Moonbase - Test #08: HebRus / ????? / ??????? D:\Temp\Testdaten\MusicIP\Moonbase, Alfred E. - Test #08_ HebRus _ ????? _ ???????.mp3 (from my test case), which should have been: CODE #EXTINF:30,Alfred E. Moonbase - Test #08: HebRus / עברית / Русский D:\Temp\Testdaten\MusicIP\Moonbase, Alfred E. - Test #08_ HebRus _ עברית _ Русский.mp3 Programs like iTunes, Winamp, foobar2000 and the like also tend to differentiate between ».m3u« and ».m3u8« playlists and simply skip any non-Latin-1 entries in ».m3u« files. So for those of you who really need playlists that support UTF-8 (Unicode) encoding (for instance if you use Unicode filenames like above), here are two exports that do exactly that: M3U8 Playlist, absolute file paths.mte CODE $filename(m3u8,utf-8)#EXTM3U $loop(%_counter%)#EXTINF:%_length_seconds%,%artist% - %title% %_path% $loopend() M3U8 Playlist, relative file paths.mte CODE $filename(m3u8,utf-8)#EXTM3U $loop(%_counter%)#EXTINF:%_length_seconds%,%artist% - %title% %_filename_rel% $loopend() These need to be copied to the folder %APPDATA%\Mp3tag\export\ for Mp3tag to recognise. This is usually something like C:\Documents and Settings\yourusername\Application Data\Mp3tag\export\. In Mp3tag, you can now sort and mark files however you wish, right-click on the selected items, select »Export…« and »M3U8 Playlist, absolute file paths« (or »M3U8 Playlist, relative file paths«). Then give the new playlist a name and save it. Presto! The playlist will be saved as ".m3u8" format, with UTF-8 encoding. Under Tools -> Options -> Export, you should probably select [x] Write BOM so programs like Mp3tag, Windows Editor and Winamp can easily detect the encoding. At least on my system here, Mp3tag (v2.42c) can even read ".m3u8" files back correctly. This post has been edited by Moonbase: Jan 31 2009, 19:09 -------------------- Moonbase: The Problem Solver | Der Problemlöser
|
|
|
|
![]() |
Mar 1 2010, 04:51
Post
#2
|
|
|
Member Group: Members Posts: 1 Joined: 1-March 10 Member No.: 11982 Mp3tag Version: 2.45a |
Mp3tag doesn’t (yet?) have built-in support for playlists with files that have Unicode filenames. M3U8 Playlist, absolute file paths.mte CODE $filename(m3u8,utf-8)#EXTM3U $loop(%_counter%)#EXTINF:%_length_seconds%,%artist% - %title% %_path% $loopend() M3U8 Playlist, relative file paths.mte CODE $filename(m3u8,utf-8)#EXTM3U $loop(%_counter%)#EXTINF:%_length_seconds%,%artist% - %title% %_filename_rel% $loopend() These need to be copied to the folder %APPDATA%\Mp3tag\export\ for Mp3tag to recognise. This is usually something like C:\Documents and Settings\yourusername\Application Data\Mp3tag\export\. So I have taken the above code and used it to export playlist on my Sansa running Rockbox which works well enough except that in defining the relative path the playlist end up looking like this: CODE #EXTINF:3258,Amber MacArthur and Leo Laporte - net@night 140: Please Rob Me F:\MUSIC\Amber MacArthur and Leo Laporte\TWiT.TV\net@night 140 Please Rob Me.mp3 Where I need them to look like this when stored on the MicroSD card: CODE #EXTIN\<microSD1>3483,Amber MacArthur and Leo Laporte - net@night 140: Please Rob Me \<microSD1>\MUSIC\Amber MacArthur and Leo Laporte\TWiT.TV\net@night 140 Please Rob Me.mp3 And like this when stored on the internal memory: CODE ..\MUSIC\Amber MacArthur and Leo Laporte\TWiT.TV\net@night 140 Please Rob Me.mp3 ..\MUSIC\Amber MacArthur and Leo Laporte\net@night\net@night 140 Please Rob Me.mp3 The last thing I am is a coder however I'm not completly lost here but could use some help in defining out the variables in the code above to create two new export scripts, one for internal and one for microsd stored music. How would I edit the above code to write "\<microSD1>\" or ".." and lose the drive lettering from the relative path? I played with this for a bit and came up with this that works for my internal memory (ugly but works): CODE $filename(m3u8,utf-8)#EXTM3U $loop(%_counter%)#EXTINF:%_length_seconds%,%artist% - %title% ..\MUSIC\%artist%\%album%\%_filename%.mp3 $loopend() In doing that I'm not sure similar will work for my SDHC card as I don't just drop the music on it but have it placed in folders based on the years: 80s, 70s, 2k. So to write a similar rule I would have to pickup on the full path to note the /2k/ but I wouldn't want the preceding drive letter also in the playlist. This post has been edited by TechHelp: Mar 1 2010, 05:36 |
|
|
|
Moonbase M3U8 Playlist export (UTF-8 encoded playlists) Jan 31 2009, 18:57
supertagger Hi Moonbase,
thank you for creating this very use... May 16 2009, 08:39
Moonbase Unfortunately not. The above is just a kludge unti... May 17 2009, 15:21![]() ![]() |
|
Lo-Fi Version | Time is now: 20th June 2013 - 04:39 |