149 lines
6.2 KiB
ReStructuredText
149 lines
6.2 KiB
ReStructuredText
===============================
|
|
comp - Curses Omni Media Player
|
|
===============================
|
|
|
|
This program is a curses front-end for mpv and youtube-dl.
|
|
|
|
.. image:: 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
|
|
sudo ./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
|