Usage Examples#
Important
All examples are written for the Windows environment
(because I mostly use the script on Windows 10),
but all commands should work on the Linux and Mac OS platforms
(with Unix paths, e.g. /home/user/Downloads/).
In fact, Python 3.6.2+ is all what you need on any OS.
For current version, it’s assumed that you have Extended M3U file (i.e. M3U tags and file paths are on separate lines), for example:
#EXTM3U
#EXTINF:123, Sample artist - Sample title
C:\Documents and Settings\I\My Music\Sample with [brackets].mp3
#EXTINF:321,Example Artist - Example title
C:\Documents and Settings\I\My Music\Greatest Hits\Example #02.mp3
or simple playlist file with tracks on each line:
Stuff.mp3
D:\More Music\Foo.mp3
Basic#
How to display tracklist#
You can display (print) in a terminal only tracks from your playlist:
playlist-along --file "D:\tmp\tmp_m3u\AIMP-example.m3u8" display
or shorter, with the same result:
playlist-along -f "D:\tmp\tmp_m3u\AIMP-example.m3u8"
How to convert M3U for VLC for Android#
To convert only playlist (without copying files), use this command:
playlist-along --file "D:\tmp\tmp_m3u\AIMP-example.m3u8" convert --dest "D:\tmp\tmp_m3u\new destination"
or with short options:
playlist-along -f "D:\tmp\tmp_m3u\AIMP-example.m3u8" convert -d "D:\tmp\tmp_m3u\new destination"
If you want to rename converted playlist or save into another format, specify a full path for destination:
playlist-along -f "D:\tmp\tmp_m3u\AIMP-example.m3u8" convert -d "D:\tmp\tmp_m3u\new destination\my-phone.m3u"
Hint
All intermediate sub-directories for destination will be created automatically. You don’t have to worry about it.
Note
If you specify the same path as origin playlist for new destination,
script will NOT override your origin playlist.
Instead of this, it append suffix _vlc for converted playlist name.
How to convert playlist and copy its audio files#
For copying songs from origin playlist to folder with converted playlist, use option --copy
playlist-along -f "D:\tmp\tmp_m3u\AIMP-example.m3u8" convert -d "D:\tmp\tmp_m3u\new destination" --copy
Important
Currently script DOES NOT override existing audio files in destination folder.
There is a restriction for audio formats as well (only .mp3, .flac).
How to create M3U with tracks in a folder#
To create (generate) a playlist with absolute paths to audio files in certain folder and place this playlist somewhere, you can use this command:
playlist-along -f "D:\tmp\pls\new.m3u8" create --from "D:\tmp\tmp_mp3" --abs
If you want create a playlist with relative paths
and place it along with audio tracks (in the same folder),
you should use --here option.
In that case a full path to playlist can be omitted.
You need only its name and format.
Relative paths are by default:
playlist-along -f "name.m3u8" create -f "D:\tmp\tmp_mp3" --here
Do you like extended M3U? No problem.
Use option --ext-m3u:
playlist-along -f "name.m3u8" create -f "D:\tmp\tmp_mp3" --here --ext-m3u
Windows users could get used to ‘natural sort order’ in their Explorer windows. You can apply exact the same order for playlist as you see files in Windows Explorer:
playlist-along -f "D:\tmp\pls\new.m3u8" create --from "D:\tmp\tmp_mp3" --abs --nat-sort
Or maybe in reversed order? -REV will help you:
playlist-along -f "D:\tmp\pls\new.m3u8" create --from "D:\tmp\tmp_mp3" --abs --nat-sort -REV
Important
Script creates all playlist files only in UTF-8 encoding.
Is that a problem for you - let me know.
How to inject one M3U into another#
Assume you have origin playlist with the following content:
#EXTM3U
#EXTINF:11,Track 01
D:\tmp\tmp_mp3\Track 01.mp3
#EXTINF:22,Track 02
D:\tmp\tmp_mp3\Track 02.mp3
and playlist you want to inject (insert) with the content below:
D:\tmp\tmp_mp3\Track 03.mp3
D:\tmp\tmp_mp3\Track 04.mp3
You can execute the inject command
either with option --top or with option --bottom.
playlist-along -f "D:\tmp\pls\origin.m3u8" inject -f "D:\tmp\inj.m3u8" --top
playlist-along -f "D:\tmp\pls\origin.m3u8" inject -f "D:\tmp\inj.m3u8" --bottom
--top- to paste content of the injected file at the beginning of origin file. It’s by default and can be omitted.--bottom- to paste content of the injected file at the end (bottom) of origin file
Compare results:
#EXTM3U
D:\tmp\tmp_mp3\Track 03.mp3
D:\tmp\tmp_mp3\Track 04.mp3
#EXTINF:11,Track 01
D:\tmp\tmp_mp3\Track 02.mp3
#EXTINF:22,Track 02
D:\tmp\tmp_mp3\Track 02.mp3
#EXTM3U
#EXTINF:11,Track 01
D:\tmp\tmp_mp3\Track 01.mp3
#EXTINF:22,Track 02
D:\tmp\tmp_mp3\Track 02.mp3
D:\tmp\tmp_mp3\Track 03.mp3
D:\tmp\tmp_mp3\Track 04.mp3
This command also removes all blank lines in both files,
remains only one hashtag #EXTM3U
and adds a new line at the end of updated origin file.
An origin playlist can be blank, but injected can’t.
Advanced#
How to use folder with . (dot)#
For saving converted playlist and copying files
into a folder, containing . (dot) in its name,
you should tell script about your intention.
Use option --dir for convert command:
playlist-along -f "D:\tmp\tmp_m3u\AIMP-example.m3u8" convert -d "D:\tmp\tmp_m3u\pls.m3u" --dir --copy
Attention
Now, you cannot rename a converted playlist in this case. If you really want this feature, let me know in discussions
How to create an empty playlist#
For some reason you might need to create an empty playlist
and then add tracks into it manually in player.
Option --empty is just for this purpose:
playlist-along -f "D:\tmp\pls\blank.m3u8" create --empty
How to display a full content of playlist#
It’s easy with --full / -F option
of ‘display’ command:
playlist-along -f "D:\tmp\pls\origin.m3u8" display -F