No description
  • C# 54.2%
  • HTML 24.8%
  • TypeScript 18.1%
  • JavaScript 1.7%
  • CSS 1.1%
  • Other 0.1%
Find a file
Bruno Hunziker 0f6fb69464 Update TODO
2026-05-30 09:23:44 +02:00
.opencode Add API and Server to the solution 2026-05-18 14:58:06 +02:00
Flacify.Analysis Enhance player and song handling: add song-level metadata fields (e.g., TrackGain, Key, Channels), refactor player logic, and implement audio analysis updates with key detection. 2026-05-28 21:46:50 +02:00
Flacify.API Add initial CHANGELOG.md, and include MIT license file. Transition Flacify.Console to Terminal.Glue framework. Refactor Razor components and update project metadata. 2026-05-25 14:33:08 +02:00
Flacify.ClientApi Initialize Flacify Mobile project: add Expo setup, mobile player context, API hook, and initial configurations. 2026-05-29 23:15:53 +02:00
Flacify.Console 1.4.0 — Audio analysis pipeline, howler.js player, caching, fixes 2026-05-28 22:15:45 +02:00
Flacify.Core Remove artist biography across the app 2026-05-29 11:17:33 +02:00
Flacify.Infrastructure Add support for radio stations and playlists: creation, editing, deletion, and playback. Update home screen with "Recently Played" and "Most Played" sections. 2026-05-30 08:35:36 +02:00
Flacify.Mobile Add "Starred" screen: display starred songs, albums, and artists with play and navigation functionality. 2026-05-30 09:07:26 +02:00
Flacify.Server Add play history feature: API, navigation, and UI updates. Extend home screen with "Play History" and integrate /api/play-history endpoint. 2026-05-30 08:41:12 +02:00
Flacify.Tests Add support for creating test radio stations in TestData.cs and increase radio station song limits to int.MaxValue in Subsonic endpoints. 2026-05-29 10:43:26 +02:00
Flacify.Web Implement scrobbling at 80% playback and enhance search with debounced search3 API integration. Update EAS build configuration for APK builds. 2026-05-29 23:52:52 +02:00
Tools/ScrapeDriveOffsets Add API and Server to the solution 2026-05-18 14:58:06 +02:00
.gitignore Initial commit 2026-05-15 10:50:20 +02:00
AGENTS.md Add support for creating test radio stations in TestData.cs and increase radio station song limits to int.MaxValue in Subsonic endpoints. 2026-05-29 10:43:26 +02:00
CHANGELOG.md Implement scrobbling at 80% playback and enhance search with debounced search3 API integration. Update EAS build configuration for APK builds. 2026-05-29 23:52:52 +02:00
docker-compose.yml Enhance ScanService with progress tracking, improved artist enrichment, and MusicBrainz metadata handling. Integrate ArtistInfoService for artist enrichment. Update UI components for scanning visibility and playback improvements. Adjust API settings and database setup for production readiness. 2026-05-19 22:17:50 +02:00
drive-offsets.bin Move API Description to Webpage 2026-05-18 22:24:28 +02:00
Flacify.sln Refactor ripping process: implement persistent rendering for dashboard and progress overlays, improve multi-disc handling with modal dialogs, and centralize audio analysis with ReplayGain, BPM, and key detection. 2026-05-28 14:08:56 +02:00
LICENSE Add initial CHANGELOG.md, and include MIT license file. Transition Flacify.Console to Terminal.Glue framework. Refactor Razor components and update project metadata. 2026-05-25 14:33:08 +02:00
README.md Add initial CHANGELOG.md, and include MIT license file. Transition Flacify.Console to Terminal.Glue framework. Refactor Razor components and update project metadata. 2026-05-25 14:33:08 +02:00
TODO.md Update TODO 2026-05-30 09:23:44 +02:00

Flacify

Multi-project music toolbox: CD ripper, music server, CRC database, project website. Built for Linux with .NET 10.

Quick start

dotnet build
dotnet run --project Flacify.Console             # CD ripper
dotnet run --project Flacify.Console -- --test    # rip single track (dev)
dotnet run --project Flacify.API                  # CRC database API
dotnet run --project Flacify.Server               # music server
dotnet run --project Flacify.Web                  # project website

Projects

Flacify.Console — CD → FLAC ripper (v1.1.0)

Linux CD ripper with MusicBrainz metadata lookup, AccurateRip CRC verification, and a keyboard-driven Terminal.Glue TUI. Multi-disc album support, automatic drive offset correction (4,798 drives from AccurateRip), genre management, and first-run setup wizard.

Dependencies: cdparanoia, flac, eject

Flacify.Server — Music server (v1.0.2)

Subsonic-compatible music server with Blazor frontend. Stream your library over the network. 30 Subsonic endpoints, play tracking with listening history, radio stations, starring/favorites, artist discography sync from MusicBrainz, and a stats dashboard.

docker build -t flacify-server Flacify.Server

Flacify.API — CRC database (v1.0.0)

Open CRC database for CD rip verification. Accepts and serves AccurateRip CRCs submitted by users.

Method Endpoint Description
GET /api/v1/health Server status and counts
POST /api/v1/submit Submit CRC data (100/hr per IP)
GET /api/v1/lookup Lookup a disc by CRC ID or TOC fields

Flacify.Web — Project website

Blazor Server landing page with project cards, live stats, CD ripper docs with screenshots, CRC database lookup, manifest format specification, and API reference.

Project structure

Directory Description
Flacify.Console/ CD ripper (Terminal.Glue TUI)
Flacify.Server/ Subsonic music server (Blazor)
Flacify.API/ CRC database REST API
Flacify.Core/ Shared models and interfaces
Flacify.Infrastructure/ Data layer, scanner, infrastructure
Flacify.Web/ Project website
Flacify.Tests/ Integration tests
Tools/ ScrapeDriveOffsets utility

License

MIT — see LICENSE.