How fraoustin/nocp works
NOCP is a terminal music player for Navidrome, with configurable podcast feeds. The principal workflow is keyboard-driven browsing of server catalogs or podcast episodes, selecting audio, and playing it through VLC; users can also adjust volume and download items. The sampled implementation places the client, browser, and interaction logic in one module, so those responsibilities share its path. Some playback, download, and podcast-fetching details were omitted from the excerpts; only documented capabilities and clearly supported connections are shown.
Main entry points: __main__.py Music browser · locales Translations
Components 16
Terminal interface
- CLI entry
nocp/__main__.py - Music browser
nocp/__main__.py - Help overlay
nocp/__main__.py - Volume controls
nocp/__main__.py - Translations
nocp/locales
Catalog browsing
- Navidrome client
nocp/__main__.py - Artist albums
nocp/__main__.py - Radio stations
nocp/__main__.py - Playlists
nocp/__main__.py - Podcast episodes
nocp/__main__.py
Playback and downloads
- Audio playback
nocp/__main__.py - Audio downloads
nocp/__main__.py
External services
- Navidrome server
- VLC engine
- Podcast feeds
Other components
- Listener
Connections 17
- Listener → CLI entry: starts
- CLI entry → Music browser: opens
- Listener → Music browser: controls
- Music browser → Help overlay: opens
- Music browser → Volume controls: opens
- Music browser → Navidrome client: requests catalogs
- Navidrome client → Navidrome server: fetches catalog
- Music browser → Artist albums: browses
- Music browser → Radio stations: browses
- Music browser → Playlists: browses
- Music browser → Podcast episodes: loads
- Podcast episodes → Podcast feeds: reads episodes
- Music browser → Audio playback: selects audio
- Audio playback → Navidrome client: gets stream URL
- Audio playback → VLC engine: plays audio
- Music browser → Audio downloads: dispatches download
- CLI entry → Translations: selects language