MusicCat is a service that reads TPP's music library, searches for the respective song files on disk, and offers an API to play those on WinAMP using AjaxAMP. It is a C# rewrite of musiccat (Python).
- Windows (required for WinAMP)
- .NET 8.0 SDK
- A local copy of the music library (metadata).
- A local copy of the music library songfiles (not publicly available).
- WinAMP with AjaxAMP plugin (AjaxAMP DLL included under src/MusicCat/Plugins/). You need to configure it (WinAMP: Options > Preferences > Plug-ins > General Purpose > AjaxAMP Remote Control Plugin). Some defaults work fine, but under "library" you need to configure the song file root path, otherwise nothing plays.
Once you're set up and running, MusicCat will be reachable at e.g. http://localhost:7337. It comes with a Swagger-UI to test stuff out in the browser.
A GitHub workflow automatically builds the service so you don't need to build it yourself. You can download the latest artifacts from the most recent 'build' job on the master branch.
If you're not logged into GitHub, you may use this nightly.link to the latest MusicCat-win-x64.zip.
If you do want to build MusicCat yourself, follow these steps:
- Clone the repository
- Build the project:
dotnet build
- Publish the application for Windows:
dotnet publish -c Release -r win-x64
- The published files will be in
artifacts/publish/MusicCat.WebService/release_win-x64
You need to put a appsettings.json file next to MusicCat.WebService.exe.
The appsettings.Development.json file can help as a template. It is advisable to be careful not to expose the service publicly.
Directly execute MusicCat.WebService.exe.
If you are a developer, you may also run it as follows:
dotnet run --project src/MusicCat.WebServiceTo install as a Windows service:
- Run PowerShell as Administrator
- Run the installation script (located under scripts/):
./Install-MusicCat-Service.ps1
- Enter the full path to the MusicCat directory when prompted
- After successful installation, enable the service in Windows' Service Manager
To uninstall the service (requires Powershell 6+):
./Uninstall-MusicCat-Service.ps1To see the API documentation, please see the OpenAPI specification api-spec.json. You may use online tools to parse and visualize them for you, e.g. Swagger-UI