Skip to main content

Curses Omni Media Player

Project description

This program is a curses front-end for mpv and youtube-dl.

doc/screenshot.png

Installation

comp requires Python 3.5+ with curses module (only available on Unix-like OSes such as GNU/Linux and the BSDs) and libmpv. It also depends on python-mpv and youtube-dl but the setup program will automatically install them if they are missing.

Using pip

Python 2 is still the default on most distributions so the command would be pip3 install comp. You can use the --user flag to avoid system-wide installation.

Using setup.py

To install the latest version or test the development branch (called bachelor, in contrast to master), you’ll need to do it manually:

git clone https://github.com/McSinyx/comp.git
cd comp
git checkout bachelor # usually master is synced with the PyPI repo
./setup.py install -e .

Note setup.py uses setuptools which is a third-party module and can be install using pip3.

Usage

Command line arguments

$ comp --help
usage: comp [-h] [-e {json,mpv,youtube-dl}] [-c CONFIG] [--vid VID]
            [--vo DRIVER] [-f YTDL_FORMAT]
            file

Curses Online Media Player

positional arguments:
  file                  path or URL to the playlist to be opened

optional arguments:
  -h, --help            show this help message and exit
  -e {json,mpv,youtube-dl}, --extractor {json,mpv,youtube-dl}
                        playlist extractor, default is youtube-dl
  -c CONFIG, --config CONFIG
                        path to the configuration file
  --vid VID             initial video channel. auto selects the default, no
                        disables video
  --vo DRIVER           specify the video output backend to be used. See VIDEO
                        OUTPUT DRIVERS in mpv(1) man page for details and
                        descriptions of available drivers
  -f YTDL_FORMAT, --format YTDL_FORMAT
                        video format/quality to be passed to youtube-dl

Keyboard control

Key

Action

Return

Start playing

Space

Select the current track

/, ?

Search forward/backward for a pattern

<, >

Go forward/backward in the playlist

A

Toggle mute

N

Repeat previous search in reverse direction

V

Toggle video

W

Save the current playlist under JSON format

d

Delete current entry

i

Insert playlist

m, M

Cycle through playing modes

n

Repeat previous search

p

Toggle pause

o

Open playlist

w

Download tracks set by playing mode

Up, k

Move a single line up

Down, j

Move a single line down

Left, h

Seek backward 5 seconds

Right, l

Seek forward 5 seconds

Home

Move to the beginning of the playlist

End

Move to the end of the playlist

Page Up

Move a single page up

Page Down

Move a single page down

F5

Redraw the screen content

Configuration files

If not specified by the --config, (user-specific) configuration file is ~/.config/mpv/settings.ini. Default configurations are listed below:

[comp]
# Initial playing mode, which can be one of these 8 modes: play-current,
# play-all, play-selected, repeat-current, repeat-all, repeat-selected,
# shuffle-all and shuffle-selected.
play-mode = play-current

[mpv]
# Initial video channel. auto selects the default, no disables video.
video = auto
# Specify the video output backend to be used. See VIDEO OUTPUT DRIVERS in
# mpv(1) man page for details and descriptions of available drivers.
video-output =

[youtube-dl]
# Video format/quality to be passed to youtube-dl. See FORMAT SELECTION in
# youtube-dl(1) man page for more details and descriptions.
format = best

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

comp-0.3.3.tar.gz (854.5 kB view hashes)

Uploaded Source

Supported by

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