Skip to content

Latest commit

 

History

124 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MusicCat

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).

Requirements

  • 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.

Setup

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.

Installation

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:

  1. Clone the repository
  2. Build the project:
    dotnet build
  3. Publish the application for Windows:
    dotnet publish -c Release -r win-x64
  4. The published files will be in artifacts/publish/MusicCat.WebService/release_win-x64

Configuration

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.

Running as an Application

Directly execute MusicCat.WebService.exe. If you are a developer, you may also run it as follows:

dotnet run --project src/MusicCat.WebService

Running as a Windows Service

To install as a Windows service:

  1. Run PowerShell as Administrator
  2. Run the installation script (located under scripts/):
    ./Install-MusicCat-Service.ps1
  3. Enter the full path to the MusicCat directory when prompted
  4. After successful installation, enable the service in Windows' Service Manager

To uninstall the service (requires Powershell 6+):

./Uninstall-MusicCat-Service.ps1

API Endpoints

To 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

About

C# version of musiccat

Resources

Stars

0 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages