/musicview

(re)discover your music library

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

musicview: (re)discover your music library

https://circleci.com/gh/MaT1g3R/musicview.svg?style=svg https://travis-ci.org/MaT1g3R/musicview.svg?branch=master

Motivation

Do you have a massive music library that you have no hope of ever going through? This tool aims to solve this problem.

What does it do

  • Provides a very simple curses interface
  • Recursively discover all sound files and their metadata under a directory
  • Allows tracking multiple different music libraries
  • Randomly selects the least played file to play
  • Keep track of favourite status

What does it not do

  • Replace your music player

Requirements

  • Python 3.6 or later
  • curses
    • This should be available on most *nix operating systems. On Windows you can try WSL
  • ffmpeg
    • On Linux you can obtain them via your package manager
    • On macOS you can install ffmpeg using homebrew brew install ffmpeg --with-sdl2
    • On Windows you can follow the instructions here

Installation

pip install musicview

Or to install the latest development version, run:

git clone --recursive https://github.com/MaT1g3R/musicview
cd musicview
pip install .

Quick Tutorial

To use the command line interface

$ musicview --help

Usage: main.py [OPTIONS] COMMAND [ARGS]...

  musicview, (re)discover your music library

Options:
  -h, --help  Show this message and exit.

Commands:
  delete  Delete a music library
  list    List existing music libraries
  new     Create a new music library
  play    Start playing music
  update  Update an existing music library

The play command will start a simple curses music player.

Setting the configuration home

By default, musicview will store its configuration and data files under $HOME/.musicview, if you would like to change that, you can set the MUSICVIEW_CONFIG_HOME environment variable to the path you want.

Default curses interface controls

  • p play/pause
  • f toggle favourite status
  • > skip song
  • q quit

You can edit those in the musicview.toml file under your configuration home.

TODO

  • Tests
  • Better looking cueses UI
  • asyncio?

License

musicview is licensed under the terms of the GNU General Public License, either version 3 of the License, or (at your option) any later version.

Please see LICENSE for details