No description
  • PowerShell 100%
Find a file
2026-05-22 15:24:29 -07:00
Copy-M3UPlaylist.ps1 Upload files to "/" 2026-05-22 15:23:41 -07:00
InstallPlaylistSyncTool.ps1 Upload files to "/" 2026-05-22 15:24:29 -07:00
playlist_sync_conf.xml Upload files to "/" 2026-05-22 15:23:41 -07:00
PlaylistSync.exe Upload files to "/" 2026-05-22 15:23:41 -07:00
playlistsync.ico Upload files to "/" 2026-05-22 15:23:41 -07:00
PlaylistSync.ps1 Upload files to "/" 2026-05-22 15:23:41 -07:00
README.md Upload files to "/" 2026-05-22 15:23:59 -07:00

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/.m3u8 playlists 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:

  1. Run InstallPlaylistSyncTool.msi or InstallPlaylistSyncTool.exe.
  2. The installer sets up all files under:
    %LOCALAPPDATA%\PlaylistSyncTool
    
  3. A shortcut named Playlist Sync Tool will appear on your desktop and in the Start Menu.
  4. The shortcut uses playlistsync.ico and launches PlaylistSync.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

  1. Clone or download the repository:
    git clone https://github.com/optimuspryne/PlaylistSyncTool.git
    
  2. Place it anywhere you like (e.g. C:\Tools\PlaylistSyncTool).
  3. Create or edit playlist_sync_conf.xml to 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 players 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 .m3u or .m3u8 playlists
  • first_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 UTF8 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.