Skip to main content

A lightweight terminal music player with mpv engine and auto-setup

Project description

FreeThullu Music Player 🐙🎵

Version 1.0.10

A powerful, hybrid music player that summons your beats from the deep. Featuring a modern GUI (PyQt6) for desktop comfort and a robust CLI mode for terminal dwellers.

✨ Features

  • Hybrid Interface:
    • Unified Binary: A single executable for all modes.
    • GUI (Default): Modern Dark Theme, Tabbed Interface (Now Playing, Library, Search, Queue), and Animated Visuals.
    • CLI (--cli): Lightweight, keyboard-driven terminal interface.
  • Robust Debugging: Use --debug to troubleshoot playback or scraping issues.
  • Universal Playback:
    • Local Library: Deep recursive scanning, instant filtering, and file management.
    • Online Streaming: Seamless YouTube and SoundCloud (prefix sc:) integration.
  • Immersive Experience:
    • Animated FreeThullu: Watch the Great Old One pulse to the rhythm.
    • Synced Lyrics: Automatic fetching from LRCLib and Letras.mus.br.
  • Smart Queue:
    • Manage your playlist with ease.
    • Context Menus: Right-click to add multiple items to the queue.
    • Jump: Double-click any item in the queue to play immediately.
  • Cross-Platform: Native support for Linux and Windows (with auto-mpv setup).

🚀 Installation

Via PIP

pip install cli-music-player-cthulhu

System Requirements

  • Python 3.9+
  • Linux: Requires mpv (sudo apt install mpv / sudo pacman -S mpv).
  • Windows: Auto-downloads mpv on first run.

🎮 Usage

Launch the player using the unified command:

# Start in GUI mode (Default)
musicplayer

# Start in CLI mode (Terminal)
musicplayer --cli

# Enable Debug Mode (Works for both GUI and CLI)
musicplayer --debug
musicplayer --cli --debug

# You can also use the alias:
freethullu-player

🖥️ Graphical Interface (GUI)

Launch the full experience with animated visuals and tabbed navigation.

Controls:

  • Navigation: Use tabs to switch views.
  • Library: Type in the filter box. Press Enter to trigger a deep recursive search in subfolders.
  • Search: Type queries for YouTube. Prefix with sc: for SoundCloud.
  • Queueing: Select multiple items (Ctrl/Shift+Click) -> Right Click -> Add to Queue.

📟 Terminal Interface (CLI)

A lightweight, keyboard-driven interface for terminal fans.

Controls:

  • Space: Pause/Play
  • /: Online Search
  • a: Add current selection to Queue
  • n: Next track
  • p: Previous track
  • q: Quit

📦 Building from Source

To build standalone executables (Linux/Windows):

  1. Clone and Install Dependencies:

    git clone https://github.com/thiagofmendonca/cli-music-player.git
    cd cli-music-player
    pip install .
    pip install pyinstaller
    
  2. Build:

    # Linux
    python build_exe.py
    
    # Windows (via GitHub Actions recommended)
    # Or manual: Ensure libmpv-2.dll is in the folder
    pyinstaller --noconfirm --onefile --name "FreeThulluPlayer" --add-data "musicplayer/assets;musicplayer/assets" --add-data "VERSION;." --icon "musicplayer/assets/frame1.png" --hidden-import "musicplayer" run_musicplayer.py
    

📜 License

GNU Affero General Public License v3.0 (AGPLv3)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cli_music_player_cthulhu-1.0.10.tar.gz (523.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cli_music_player_cthulhu-1.0.10-py3-none-any.whl (525.3 kB view details)

Uploaded Python 3

File details

Details for the file cli_music_player_cthulhu-1.0.10.tar.gz.

File metadata

File hashes

Hashes for cli_music_player_cthulhu-1.0.10.tar.gz
Algorithm Hash digest
SHA256 44f3715c06a931016656f72c3d060617ce13e54fad662ccaf543e9ff8e952a77
MD5 e8c294cf9cda126cdcc275395687cca3
BLAKE2b-256 942cae5f06dd5bf0d3c6a5bf221fca8cd6bc42c67fb14dd45c544127a1c8b413

See more details on using hashes here.

Provenance

The following attestation bundles were made for cli_music_player_cthulhu-1.0.10.tar.gz:

Publisher: python-publish.yml on thiagofmendonca/cli-music-player

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cli_music_player_cthulhu-1.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for cli_music_player_cthulhu-1.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 161bdf0db4978b5520d1c1c5b06d1330f0c8c4a01d40d70e3f00fb5322adef89
MD5 cc844c169ab3ec1b93f66a7da7c5e137
BLAKE2b-256 b4e4a3e512b3e871a30637679133d4f979557b801e3b75e01b64da1e3d0d5d7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cli_music_player_cthulhu-1.0.10-py3-none-any.whl:

Publisher: python-publish.yml on thiagofmendonca/cli-music-player

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page