- PowerShell 100%
| Copy-M3UPlaylist.ps1 | ||
| InstallPlaylistSyncTool.ps1 | ||
| playlist_sync_conf.xml | ||
| PlaylistSync.exe | ||
| playlistsync.ico | ||
| PlaylistSync.ps1 | ||
| README.md | ||
PlaylistSyncTool
A Windows utility for converting Navidrome-exported playlists into an AGPTEK-compatible format, syncing audio files automatically, and managing configuration with an installer-based setup.
Latest Version: Installer and compiled EXE now included
Language: PowerShell 5+/7
Platform: Windows 10+
Overview
PlaylistSyncTool makes AGPTEK MP3 players compatible with playlists generated by Navidrome or other music servers. It converts .m3u or .m3u8 files into the proper format and can optionally copy the referenced audio tracks to the device.
The project now includes a full installer, desktop shortcut, and an executable launcher, allowing for easy setup and one-click execution.
Features
- Converts Navidrome
.m3u/.m3u8playlists into AGPTEK-compatible format - Copies referenced music files to your device automatically
- Uses XML configuration (
playlist_sync_conf.xml) to control behavior - Installs cleanly into
%LOCALAPPDATA%/PlaylistSyncTool - Adds Start Menu and Desktop shortcuts with a custom icon (
playlistsync.ico) - Self-contained EXE launcher (
PlaylistSync.exe)—no need to run PowerShell manually
Installation
You can install the tool in several ways:
Option 1: MSI/EXE Installer (Recommended)
- Run
InstallPlaylistSyncTool.msiorInstallPlaylistSyncTool.exe. - The installer sets up all files under:
%LOCALAPPDATA%\PlaylistSyncTool - A shortcut named Playlist Sync Tool will appear on your desktop and in the Start Menu.
- The shortcut uses
playlistsync.icoand launchesPlaylistSync.exe.
Option 2: Script Installer
If you prefer, run the PowerShell installer directly:
pwsh .\InstallPlaylistSyncTool.ps1
This performs the same setup as the MSI/exe—creating the local installation folder and shortcuts.
Option 3: Manual Setup
- Clone or download the repository:
git clone https://github.com/optimuspryne/PlaylistSyncTool.git - Place it anywhere you like (e.g.
C:\Tools\PlaylistSyncTool). - Create or edit
playlist_sync_conf.xmlto match your environment.
Configuration
The file playlist_sync_conf.xml controls how playlists are processed. Example:
<config>
<m_src_path>
<path>C:\Users\You\</path>
</m_src_path>
<m_dest_path>
<path>E:\</path>
</m_dest_path>
<playlists_src_path>
<path>C:\Users\You\Playlists</path>
</playlists_src_path>
<first_run>
<flag>No</flag>
</first_run>
</config>
Key Parameters:
m_src_path– where your source music files live, script will look for 'Music' folder so make sure you don't select the 'Music' folder.m_dest_path– target folder, e.g. your AGPTEK player’s music directory, you only need to specify the drive letter as the script will look for a 'Music' folder at the destination.playlists_src_path– folder containing.m3uor.m3u8playlistsfirst_run– internal flag set by the installer after initial setup. If flag is set to 'Yes' then the program will ask you for the paths to src, dest and playlist files.
Usage
Option 1: One-click launch
Simply double-click the Playlist Sync Tool shortcut. It launches PlaylistSync.exe, which in turn runs the PowerShell backend with your saved configuration.
Option 2: Command line execution
You can also invoke the scripts manually for finer control:
# Convert playlists only
pwsh .\Copy-M3UPlaylistFiles.ps1 -ConvertOnly
# Convert playlists and sync all referenced files
pwsh .\Copy-M3UPlaylistFiles.ps1 -Sync
# Run with a specific config file
pwsh .\Copy-M3UPlaylistFiles.ps1 -Config "C:\path\to\playlist_sync_conf.xml"
Common Parameters:
-Config <path>— path to XML config file-ConvertOnly— convert playlists only-Sync— convert and copy referenced tracks-WhatIf— simulate actions without changes-Verbose— show detailed process output
File Breakdown
| File | Purpose |
|---|---|
InstallPlaylistSyncTool.ps1 |
PowerShell installer script – creates local install & shortcuts |
InstallPlaylistSyncTool.msi / .exe |
Packaged installer version of the script |
PlaylistSync.exe |
Compiled launcher that runs the PowerShell backend |
Copy-M3UPlaylistFiles.ps1 |
Core logic: parses playlists, rewrites paths, and copies files |
playlist_sync_conf.xml |
XML configuration for paths and options |
playlistsync.ico |
Custom shortcut icon |
Troubleshooting
- No tracks appear on device – Try switching between relative and absolute paths in your config.
- Copy fails – Ensure the device is mounted and writable.
- Shortcut not created – Re-run installer with PowerShell permissions or repair via MSI.
- Unicode/foreign filenames not showing – Use UTF‑8 encoded playlists (
.m3u8).
Uninstallation
Manually delete:
%LOCALAPPDATA%\PlaylistSyncTool
Contributing
PRs and issues are welcome! Include your PowerShell version, Windows version, and device model when reporting bugs.
Credits
Developed by OptimusPryne.
Designed for Navidrome + AGPTEK users.
Icon: playlistsync.ico.