Skip to content

aHuddini/UniPlaySong

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

312 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

UniPlaySong Playnite Extension

Version License Playnite SDK Total Downloads Latest Release Downloads

UniPlaySong

ko-fi

A Playnite extension that provides a console-like game music preview experience with controller-friendly song management. Music plays when browsing your game library, creating an immersive experience similar to PlayStation and Xbox game selection screens.

Designed for both Desktop and Fullscreen mode, with compatibility to modern themes (like ANIKI REMAKE).

Built with the help of Claude Code and Cursor IDE


What's New - v1.3.7

  • [Critical Fix] Live Effects Toggle โ€” Turning off Live Effects now properly disables all audio effects (reverb, chorus, etc.) even when the Visualizer or Peak Meter is enabled.

Previous Version

  • v1.3.6: Music Library Dashboard, Icon Glow Visualizer Effects (22 sidebar animations), Fade Out Before Song End, Pause on External Audio improvements

Release Availability Notice: Due to the GitHub account suspension, releases prior to v1.3.3 are no longer available for download. Changelog history for all versions is preserved for historical reference.


๐ŸŽฌ Demo

DEMOClip2.mp4

๐ŸŽต Features

  • Playback Customization - Fade effects, preview duration (15s-1min), random song selection
  • Live Reverb Effects - Real-time reverb effects with 18 Audacity-derived presets and custom controls to enhance preview audio (pairs well with Fullscreen theme aesthetics)
  • Audio-Reactive Visualizer - Real-time spectrum visualizer with 22 color themes including Dynamic game-art colors, tuning presets, and per-bar gradient rendering (Desktop mode)
  • Controller Support - Full Xbox controller navigation for music management in fullscreen mode
  • Audio Editing - Amplify/Trim tools, audio normalization, and batch operations
  • Theme Integration - UPS_MusicControl for theme developers and compatibility with modern themes
  • Migration Support - Seamless import/export from PlayniteSound with cleanup options
  • Desktop Controls - Optional top panel media controls and Now Playing information
  • Tagging & Filters - Tag games with music/no music for better music management

Demo Screenshot


๐Ÿ“‹ Requirements

Tool Purpose Download
yt-dlp Music searching and downloading GitHub Releases
Deno Required JS runtime for yt-dlp Deno.com
FFmpeg Audio processing Official Website

Note: Place deno.exe in the same folder as yt-dlp.exe for automatic detection.


๐Ÿ“ฆ Installation

Option 1: Direct Download

  1. Download the latest .pext file from Releases
  2. Double-click the downloaded file to install

Option 2: Playnite Add-on Database

Download or update directly from the Playnite add-on database, or browse Generic plugins in Playnite's Add-ons menu

Setup

  1. Download yt-dlp, Deno, and FFmpeg
  2. Place deno.exe in the same folder as yt-dlp.exe
  3. In Playnite: Settings โ†’ Add-ons โ†’ Extension Settings โ†’ UniPlaySong โ†’ Downloads Tab
  4. Set paths to yt-dlp.exe and ffmpeg.exe

๐ŸŽฎ Usage & Settings

Quick Start

  1. Install yt-dlp, Deno, and FFmpeg (see Requirements above)
  2. Right-click games for music search and download options via YouTube
  3. Use controller in fullscreen mode: Menu โ†’ Extensions โ†’ UniPlaySong

Settings Tabs

  • General: Music behavior, top panel media controls, taskbar thumbnail controls, now playing display, tags, troubleshooting
  • Playback: Volume, fade effects, preview mode, song randomization, default music (6 sources including custom folder/random game/rotation pool), completion fanfare, random game picker music, game property filter, filter mode, radio mode
  • Pauses: Pause on play, system lock, focus loss, minimize, system tray, external audio, idle/AFK
  • Live Effects: Real-time audio effects, reverb presets, spectrum visualizer
  • Audio Editing: EBU R128 volume normalization and silence trimming
  • Downloads: Tool paths, cookie source, YouTube search and download
  • Search: Search result caching and auto-search hints database
  • Migration: Import/export from PlayniteSound
  • Cleanup: Storage management, reset options, factory reset
  • Experimental: Media key control, song progress bar, peak meter, library statistics with audio metrics, icon glow

Music Location: %APPDATA%\Playnite\ExtraMetadata\UniPlaySong\Games\{GameId}\ Supported Formats: MP3, WAV, OGG, FLAC, M4A, WMA


๐Ÿ› ๏ธ Building from Source

dotnet clean -c Release && dotnet build -c Release
powershell -ExecutionPolicy Bypass -File .\scripts\package_extension.ps1 -Configuration Release

See docs/dev_docs/ for detailed build instructions.


๐Ÿ™ Credits

Inspired by PlayniteSound - Special thanks to the original developer for the foundation that made this project possible.

Libraries & Dependencies

  • Playnite SDK - Extension framework
  • SDL2 & SDL2_mixer - Audio playback (zlib license)
  • MaterialDesignThemes - WPF UI components (MIT)
  • HtmlAgilityPack, Newtonsoft.Json, NAudio, FuzzySharp - Core functionality (MIT)
  • TagLibSharp - Audio metadata (LGPL)
  • yt-dlp - Media searching and downloading (Unlicense)
  • FFmpeg - Audio processing (LGPL/GPL)

Third-Party Acknowledgments

See LICENSE file for component licenses and acknowledgments.


๐Ÿ“„ License

MIT License - See LICENSE file

๐Ÿ”— Links

About

A Playnite extension that provides a console-like game music preview experience with fullscreen controller support

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors