How apj72/dj-meta-manager works
DJ MetaManager is a local web application for turning recordings and existing audio files into a tagged DJ library. Its main workflow extracts audio from recordings, optionally analyses and normalises it, fetches metadata and artwork, then tags and exports the result. Other branches cover editing and inspecting files, batch conversion and fixing, loudness normalisation, lossless analysis, and Music.app playlist capture. The graph reflects documented workflows and indexed module references; some UI-to-route wiring and unsampled implementations are represented only at the subsystem level.
Main entry points: app.js Local Web UI · app.py Extract recordings · manager.py Capture coordinator · routes.py Capture API
Components 26
Extract and Library
- Extract recordings
app.py - Audio processing
audio.py
Metadata and Analysis
- Tag and artwork
metadata.py - Metadata sources
scrapers.py - Lossless analysis
spectral.py - Mix Tags
cue.py
Playlist Capture
- Capture API
capture/routes.py - Capture coordinator
capture/manager.py - Session state
capture/models.py - Session manifests
capture/storage.py - Music.app control
capture/music.py - Recorder interface
capture/backends/base.py - OBS recorder
capture/backends/obs.py - BlackHole recorder
capture/backends/blackhole.py - Track processing
capture/processing.py
Browser Interface
- Local Web UI
static/app.js - Fix and Inspect
static/fix.js - Bulk Fix
static/bulk-fix.js - Fix List
static/fix-list.js - WAV/AIFF conversion
static/convert.js - Normalise
static/normalise.js - Lossless Check UI
static/lossless-check.js - Audio preview
static/player.js - Capture Playlist UI
static/capture.js
Settings
- Settings
config.py
Other components
- DJ or Librarian
Connections 35
- DJ or Librarian → Local Web UI: uses
README.md - Local Web UI → Extract recordings: requests extraction
README.md - Extract recordings → Audio processing: processes audio
app.py - Extract recordings → Metadata sources: fetches metadata
app.py - Extract recordings → Tag and artwork: writes tags
app.py - Extract recordings → Lossless analysis: analyses audio
app.py - Extract recordings → Settings: reads options
README.md - Fix and Inspect → Tag and artwork: edits tags
README.md - Bulk Fix → Tag and artwork: batch fixes
README.md - Fix List → Metadata sources: searches metadata
README.md - WAV/AIFF conversion → Audio processing: converts files
README.md - Normalise → Audio processing: normalises files
README.md - Lossless Check UI → Lossless analysis: checks spectra
README.md - Audio preview → Extract recordings: streams audio
README.md - Settings → Extract recordings: configures output
README.md - DJ or Librarian → Capture Playlist UI: starts capture
README.md - Capture Playlist UI → Capture API: calls capture API
capture/routes.py - Capture API → Capture coordinator: dispatches commands
capture/routes.py - Capture coordinator → Session state: updates session
capture/manager.py - Capture coordinator → Session manifests: persists session
capture/manager.py - Capture coordinator → Music.app control: controls playback
capture/manager.py - Capture coordinator → Recorder interface: records audio
capture/manager.py - Capture coordinator → Track processing: processes tracks
capture/manager.py - OBS recorder → Recorder interface: implements interface
capture/backends/obs.py - BlackHole recorder → Recorder interface: implements interface
capture/backends/blackhole.py - Capture API → OBS recorder: selects backend
capture/routes.py - Capture API → BlackHole recorder: selects backend
capture/routes.py - Track processing → Tag and artwork: applies tags
capture/processing.py - Local Web UI → Fix and Inspect: opens tools
README.md - Local Web UI → Bulk Fix: opens tools
README.md - Local Web UI → Fix List: opens tools
README.md - Local Web UI → WAV/AIFF conversion: opens tools
README.md - Local Web UI → Normalise: opens tools
README.md - Local Web UI → Lossless Check UI: opens tools
README.md - Local Web UI → Audio preview: provides preview
README.md