Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

Repository files navigation

Music Sync

Music Sync is a minimal macOS menu bar helper that keeps a local Swinsian library mirrored to a remote music share via rsync. The app adds a 🎵 icon to the menu bar; use it to trigger a sync on demand, review the last sync time, or open the configuration file for quick tweaks.

Requirements

  • macOS with the built-in rsync binary available.
  • Python 3.9+.
  • A working launchctl environment if you want the app to run automatically.
  • Access to the remote host defined in your ~/.music-sync/config.json.

Install

  1. Clone the repository and move into it:
    git clone <repo-url>
    cd music-sync
  2. Create the virtual environment and install dependencies:
    python3 -m venv venv
    source venv/bin/activate
    pip install --upgrade pip
    pip install rumps
  3. Prime the configuration file by starting the app once:
    python music_sync.py
    This writes ~/.music-sync/config.json. Adjust the settings to match your library root, remote server credentials, and Plex preferences.

Usage

  • Menu bar controls:
    • Sync Now kicks off rsync using the configured paths.
    • Last Sync updates after each successful transfer.
    • View Log… launches Terminal and runs tail -f ~/.music-sync/debug.log for live updates.
  • Logs and stdout/stderr land in ~/.music-sync/ (see debug.log, stdout.log, stderr.log) to help diagnose issues.

Launch Automatically (optional)

  1. Edit com.user.musicsync.plist so the ProgramArguments entry points at your checkout and user path.
  2. Copy it into ~/Library/LaunchAgents/.
  3. Load the agent:
    launchctl load ~/Library/LaunchAgents/com.user.musicsync.plist
    Reload after any changes with launchctl unload followed by launchctl load.

The agent runs launch.sh, which activates the virtual environment and executes music_sync.py. Update launch.sh if you relocate the project.

Troubleshooting

  • The sync button stays disabled: check ~/.music-sync/debug.log for the latest stack trace.
  • rsync failures generally stem from SSH connectivity; verify keys or credentials outside the app first.
  • If the app shows a dock icon, ensure LSUIElement remains set to true in the LaunchAgent plist.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages