cliamp

repository·main·Indexed 25 days ago

https://github.com/bjarneo/cliamp

A retro terminal-based music player inspired by Winamp. It supports local files, online radio stations, and streaming services including YouTube and Spotify. Features include a spectrum visualizer, parametric EQ, and a companion Quickshell widget for Linux. The tool includes comprehensive playlist management (import/export via M3U/PLS), a setup wizard for remote providers, and support for various audio formats via optional ffmpeg and yt-dlp dependencies.

Tokens
32.5K
Snippets
84
Records
242
Agent score
81%

What's inside cliamp

  1. Overview of the cliamp quickshell widget

    main

    The cliamp quickshell widget is a compact (300 x 72) "now playing" card designed for Quickshell. It displays media information (title, artist, time) and features a 10-band Winamp 2-style spectrum visualizer.

    Key Features:

    • Automatic Visibility: Hides itself when cliamp is not running.
    • Live Theming: Colors are pulled from the active Omarchy theme (~/.config/omarchy/current/theme/colors.toml) and update live when the theme changes.
    • Interactivity: Click the card to seek; press Esc or Q to quit the widget.
    • Visualizer: Uses a 10-band spectrum driven by cliamp visstream via IPC.

    Requirements:

    • Linux only.
    • Quickshell 0.2+.
    • cliamp running with its default MPRIS service enabled (org.mpris.MediaPlayer2.cliamp).
  2. Features of the Quickshell Now-Playing Widget

    main

    The widget provides a notification-sized 'now playing' card with the following capabilities:

    • Visuals: A 300 x 72 card centered at the bottom of every screen featuring a Winamp 2-style LED spectrum analyzer with falling peak caps.
    • Controls: Track title and artist display, a click-to-seek progress bar with time readout, and vector transport icons (prev / play-pause / next).
    • Theme Integration: Automatically follows the active Omarchy theme (background, foreground, accent, color1..color8, selection_background). The card border tracks the Omarchy selection_background (falling back to color8).
    • Dismissal: Click the card and press Esc or Q to dismiss it.
  3. Platform Support for Media Controls

    main

    Cliamp integrates with operating system media control infrastructure to allow external control of playback, metadata, and volume.

    • Linux: Uses MPRIS2 over D-Bus. Requires a running D-Bus session bus.
    • macOS: Uses MPNowPlayingInfoCenter and MPRemoteCommandCenter. No additional requirements as frameworks are built-in.
    • Other platforms: Uses a no-op stub.
  4. Explore community plugins for cliamp

    main

    A variety of community-built plugins are available to extend cliamp functionality, primarily focusing on audio visualization and service integration.

    Available Plugins:

    • Audio Visualizers:

      • cliamp-plugin-led-burst: Stereo LED matrix visualizer
      • cliamp-plugin-block-burst: Stereo LED block matrix visualizer
      • cliamp-plugin-vu-meter: Analog multi VU meter style visualizer
      • cliamp-plugin-nightrider: Nightrider style visualizer
      • cliamp-plugin-tubeamp: Vacuum-tube amplifier visualizer
      • cliamp-plugin-nova: Concentric-ring spectrum visualizer
      • cliamp-plugin-mandelbrot: Zooming psychedelic Mandelbrot set visualizer (features braille rendering and bass reactivity)
    • Service Integrations:

      • cliamp-lastfm: Last.fm scrobbling
  5. File browser operations

    main

    Navigate and manage local files:

    • / or j / k: Move cursor
    • / or h / l or Enter: Back / open directory or file
    • /: Filter files
    • Space: Select or unselect file/directory
    • a: Select/unselect all visible audio files
    • R: Replace current queue with selected files
    • w: Write selected files to a local playlist
    • ~ / .: Jump to home / current working directory
    • Esc o: Close file browser
  6. Play podcasts and Xiaoyuzhou episodes

    main
    You can play podcasts by providing the RSS feed URL. cliamp extracts the podcast name and episode titles for the playlist. You can also play individual episodes from Xiaoyuzhou by passing the episode URL.
  7. Use Qobuz in cliamp

    main

    Once authenticated, you can access your Qobuz library through the provider panel.

    Navigation & Search:

    • Use Esc or b to open the provider browser and select Qobuz.
    • Press Q to jump directly to Qobuz.
    • Press Ctrl+F to search the Qobuz catalog for tracks.
    • Press Ctrl+R to refresh (re-resolves stream URLs) if playback stalls.

    Library Content:

    • Favorite Tracks: Your liked songs.
    • Random Tracks: A random sample of up to 500 unique tracks from your playlists. Press Ctrl+R to reshuffle.
    • Your playlists: Your created or subscribed playlists.
    • Favorite albums/artists: Browsable views for your favorites.
  8. Requirements for the Quickshell Now-Playing Widget

    main

    To use the Quickshell Now-Playing Widget (Omarchy), you must meet the following requirements:

    • Quickshell 0.2+
    • A running cliamp: Required on Linux to provide the MPRIS service and IPC socket for live spectrum data.
    • Omarchy (Optional for functionality, required for theme integration): If Omarchy is installed, the widget uses ~/.config/omarchy/current/theme/colors.toml for its palette. Without Omarchy, the widget falls back to built-in kanagawa-dragon-ish default colors.
  9. Sign in to SoundCloud via browser cookies

    main

    To access private likes, hidden uploads, or SoundCloud Go+ subscriber-gated tracks, you must allow yt-dlp to use your browser's session. This is done by setting the cookies_from option in your [soundcloud] configuration.

    Supported browser names include:

    • firefox
    • chrome
    • chromium
    • brave
    • edge
    • opera
    • safari
    • vivaldi

    As long as you are signed into SoundCloud in the specified browser, cliamp will act as your logged-in user.

    [soundcloud]
    enabled = true
    user = "yourname"
    cookies_from = "firefox"
  10. Use the theme picker in cliamp

    main
    While playback is active, press t to open the interactive theme picker. You can navigate through available themes using the and arrow keys. Themes are previewed live as you navigate. Press Enter to confirm your selection or Esc to cancel. Your chosen theme is automatically saved and will be restored when you next launch cliamp.
  11. Quick start: Run or install the cliamp widget

    main

    You can run the widget immediately without installation, or install it as a named Quickshell configuration.

    Run without installing:

    qs -p contrib/quickshell/shell.qml

    Install as a named Quickshell config:

    mkdir -p ~/.config/quickshell
    ln -s "$PWD/contrib/quickshell" ~/.config/quickshell/cliamp
    qs -c cliamp

    After installation, ensure cliamp is running in another terminal to see the card appear on every screen.