Install
-------
Install the actual `MOC player/server <https://moc.daper.net/>`__
::
% sudo apt-get install -y moc
or
% brew install moc
If you **don’t
have**\ `docker <https://docs.docker.com/get-docker>`__\ **installed**,
install Redis and start server
::
% sudo apt-get install -y redis-server
or
% brew install redis
% brew services start redis
Install with ``pip``
::
% pip3 install mocp-cli
Optional Installs
-----------------
yt-helper
~~~~~~~~~
A lot of what powers the cool interactive features are provided by the
``COMMENTS`` and ``FILES`` ``redis_helper.Collections`` defined in
``yt_helper``.
Install with ``pip``
::
% pip3 install yt-helper
or
% pip3 install "mocp-cli[extras]"
Usage
-----
The ``mocplayer`` script is provided
::
$ venv/bin/mocplayer --help
Usage: mocplayer [OPTIONS] [GLOB_PATTERNS]...
Start a REPL to control music on console player (mocp)
Options:
--help Show this message and exit.
Calling ``mocplayer`` will start a REPL that will send commands to the
running instance of ``mocp --server``. Any arguments passed to
``mocplayer`` are assumed to be glob patterns that should be passed to
the ``moc.find_and_play`` function.
::
% venv/bin/mocplayer
:docstrings to see all colon commands
:shortcuts to see all hotkeys
mocplayer> ?
Loop forever, receiving character input from user and performing actions
- ^d or ^c to break the loop
- ':' to enter a command (and any arguments)
- any method defined on GetCharLoop (or a sub-class) will be callable
as a "colon command" (if its name does not start with '_')
- the method for the `:command` should only accept `*args`
- '-' to allow user to provide input that will be processed by the `input_hook`
- '?' to show the class docstring(s) and the startup message
A wrapper to control moc (music on console) player with vim keybindings
:docstrings to see all colon commands
:shortcuts to see all hotkeys
mocplayer> :docstrings
.:: delete ::.
Delete current audio file and remove related data from COMMENTS
.:: delete_comments ::.
Select comments/marks for currently playing file to delete
.:: docstrings ::.
Print/return the docstrings of methods defined on this class
.:: edit_timestamp ::.
Select comment/mark for currently playing file to edit the timestamp
.:: errors ::.
Print/return any colon commands that raised exceptions (w/ traceback)
.:: find ::.
Find and select audio files at specified glob patterns
.:: go ::.
Go to a particular timestamp
.:: history ::.
Print/return successful colon commands used
.:: ipython ::.
Start ipython shell. To continue back to the input loop, use 'ctrl + d'
.:: jump ::.
Jump to a saved comment/mark
.:: jumploop ::.
Loop an unbuffered input session, jumping between selected marks (up to 62)
.:: most_commented ::.
Select files that have been most commented and play (up to 62)
.:: pdb ::.
Start pdb (debugger). To continue back to the input loop, use 'c'
.:: recent_files ::.
Select files that were most recently added and play (up to 62)
.:: seek ::.
Seek forward or backward
.:: shortcuts ::.
Print/return any hotkey shortcuts defined on this class
mocplayer> :shortcuts
' ' -- pause/unpause
'i' -- show info about currently playing file
'm' -- mark the current timestamp
'c' -- show comments/marks (requires yt_helper package)
'C' -- select files that have been most commented and play (requires yt_helper package)
'R' -- select files that were most recently added and play (requires yt_helper package)
'J' -- jump to a saved comment or mark (requires yt_helper package)
'e' -- select comment/mark to edit timestamp (requires yt_helper package)
'd' -- select comments/marks to delete (requires yt_helper package)
'f' -- find and play audio files found in current directory
'F' -- find, select, and play audio files found in current directory
'q' -- quit
'Q' -- stop MOC server and quit
'n' -- next file in playlist
'p' -- previous file in playlist
'H' -- rewind 30 seconds
'h' -- rewind 5 seconds
'\x1b[D' -- rewind 1 second (left arrow)
'L' -- fast foward 30 seconds
'l' -- fast foward 5 seconds
'\x1b[C' -- fast foward 1 second (right arrow)
'j' -- lower volume
'\x1b[B' -- lower volume (down arrow)
'k' -- raise volume
'\x1b[A' -- raise volume (up arrow)
mocplayer> i
00:55 (55) of 43:03 into /tmp/Samurai_Champloo_-_Lofi_HipHop_Mix_Nujabes_inspired-kq7cQNO0gYc.mp3
mocplayer> :go 12:00
mocplayer> i
12:00 (720) of 43:03 into /tmp/Samurai_Champloo_-_Lofi_HipHop_Mix_Nujabes_inspired-kq7cQNO0gYc.mp3
mocplayer> :go 500
mocplayer> i
08:20 (500) of 43:03 into /tmp/Samurai_Champloo_-_Lofi_HipHop_Mix_Nujabes_inspired-kq7cQNO0gYc.mp3
mocplayer> :seek -45
mocplayer> i
07:42 (462) of 43:03 into /tmp/Samurai_Champloo_-_Lofi_HipHop_Mix_Nujabes_inspired-kq7cQNO0gYc.mp3
mocplayer> L
mocplayer> L
mocplayer> L
mocplayer> i
09:32 (572) of 43:03 into /tmp/Samurai_Champloo_-_Lofi_HipHop_Mix_Nujabes_inspired-kq7cQNO0gYc.mp3
Raw data
{
"_id": null,
"home_page": "https://github.com/kenjyco/mocp-cli",
"name": "mocp-cli",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "moc,mocp,cli,command-line,console audio,repl,mp3 player,kenjyco",
"author": "Ken",
"author_email": "kenjyco@gmail.com",
"download_url": "https://github.com/kenjyco/mocp-cli/tarball/v0.1.21",
"platform": null,
"description": "Install\n-------\n\nInstall the actual `MOC player/server <https://moc.daper.net/>`__\n\n::\n\n % sudo apt-get install -y moc\n\n or\n\n % brew install moc\n\nIf you **don\u2019t\nhave**\\ `docker <https://docs.docker.com/get-docker>`__\\ **installed**,\ninstall Redis and start server\n\n::\n\n % sudo apt-get install -y redis-server\n\n or\n\n % brew install redis\n % brew services start redis\n\nInstall with ``pip``\n\n::\n\n % pip3 install mocp-cli\n\nOptional Installs\n-----------------\n\nyt-helper\n~~~~~~~~~\n\nA lot of what powers the cool interactive features are provided by the\n``COMMENTS`` and ``FILES`` ``redis_helper.Collections`` defined in\n``yt_helper``.\n\nInstall with ``pip``\n\n::\n\n % pip3 install yt-helper\n\n or\n\n % pip3 install \"mocp-cli[extras]\"\n\nUsage\n-----\n\nThe ``mocplayer`` script is provided\n\n::\n\n $ venv/bin/mocplayer --help\n Usage: mocplayer [OPTIONS] [GLOB_PATTERNS]...\n\n Start a REPL to control music on console player (mocp)\n\n Options:\n --help Show this message and exit.\n\nCalling ``mocplayer`` will start a REPL that will send commands to the\nrunning instance of ``mocp --server``. Any arguments passed to\n``mocplayer`` are assumed to be glob patterns that should be passed to\nthe ``moc.find_and_play`` function.\n\n::\n\n % venv/bin/mocplayer\n :docstrings to see all colon commands\n :shortcuts to see all hotkeys\n\n mocplayer> ?\n Loop forever, receiving character input from user and performing actions\n\n - ^d or ^c to break the loop\n - ':' to enter a command (and any arguments)\n - any method defined on GetCharLoop (or a sub-class) will be callable\n as a \"colon command\" (if its name does not start with '_')\n - the method for the `:command` should only accept `*args`\n - '-' to allow user to provide input that will be processed by the `input_hook`\n - '?' to show the class docstring(s) and the startup message\n\n A wrapper to control moc (music on console) player with vim keybindings\n\n :docstrings to see all colon commands\n :shortcuts to see all hotkeys\n\n mocplayer> :docstrings\n .:: delete ::.\n Delete current audio file and remove related data from COMMENTS\n\n .:: delete_comments ::.\n Select comments/marks for currently playing file to delete\n\n .:: docstrings ::.\n Print/return the docstrings of methods defined on this class\n\n .:: edit_timestamp ::.\n Select comment/mark for currently playing file to edit the timestamp\n\n .:: errors ::.\n Print/return any colon commands that raised exceptions (w/ traceback)\n\n .:: find ::.\n Find and select audio files at specified glob patterns\n\n .:: go ::.\n Go to a particular timestamp\n\n .:: history ::.\n Print/return successful colon commands used\n\n .:: ipython ::.\n Start ipython shell. To continue back to the input loop, use 'ctrl + d'\n\n .:: jump ::.\n Jump to a saved comment/mark\n\n .:: jumploop ::.\n Loop an unbuffered input session, jumping between selected marks (up to 62)\n\n .:: most_commented ::.\n Select files that have been most commented and play (up to 62)\n\n .:: pdb ::.\n Start pdb (debugger). To continue back to the input loop, use 'c'\n\n .:: recent_files ::.\n Select files that were most recently added and play (up to 62)\n\n .:: seek ::.\n Seek forward or backward\n\n .:: shortcuts ::.\n Print/return any hotkey shortcuts defined on this class\n\n\n mocplayer> :shortcuts\n ' ' -- pause/unpause\n 'i' -- show info about currently playing file\n 'm' -- mark the current timestamp\n 'c' -- show comments/marks (requires yt_helper package)\n 'C' -- select files that have been most commented and play (requires yt_helper package)\n 'R' -- select files that were most recently added and play (requires yt_helper package)\n 'J' -- jump to a saved comment or mark (requires yt_helper package)\n 'e' -- select comment/mark to edit timestamp (requires yt_helper package)\n 'd' -- select comments/marks to delete (requires yt_helper package)\n 'f' -- find and play audio files found in current directory\n 'F' -- find, select, and play audio files found in current directory\n 'q' -- quit\n 'Q' -- stop MOC server and quit\n 'n' -- next file in playlist\n 'p' -- previous file in playlist\n 'H' -- rewind 30 seconds\n 'h' -- rewind 5 seconds\n '\\x1b[D' -- rewind 1 second (left arrow)\n 'L' -- fast foward 30 seconds\n 'l' -- fast foward 5 seconds\n '\\x1b[C' -- fast foward 1 second (right arrow)\n 'j' -- lower volume\n '\\x1b[B' -- lower volume (down arrow)\n 'k' -- raise volume\n '\\x1b[A' -- raise volume (up arrow)\n\n mocplayer> i\n 00:55 (55) of 43:03 into /tmp/Samurai_Champloo_-_Lofi_HipHop_Mix_Nujabes_inspired-kq7cQNO0gYc.mp3\n mocplayer> :go 12:00\n mocplayer> i\n 12:00 (720) of 43:03 into /tmp/Samurai_Champloo_-_Lofi_HipHop_Mix_Nujabes_inspired-kq7cQNO0gYc.mp3\n mocplayer> :go 500\n mocplayer> i\n 08:20 (500) of 43:03 into /tmp/Samurai_Champloo_-_Lofi_HipHop_Mix_Nujabes_inspired-kq7cQNO0gYc.mp3\n mocplayer> :seek -45\n mocplayer> i\n 07:42 (462) of 43:03 into /tmp/Samurai_Champloo_-_Lofi_HipHop_Mix_Nujabes_inspired-kq7cQNO0gYc.mp3\n mocplayer> L\n mocplayer> L\n mocplayer> L\n mocplayer> i\n 09:32 (572) of 43:03 into /tmp/Samurai_Champloo_-_Lofi_HipHop_Mix_Nujabes_inspired-kq7cQNO0gYc.mp3\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "CLI tools for finding, organizing, and playing audio files",
"version": "0.1.21",
"project_urls": {
"Download": "https://github.com/kenjyco/mocp-cli/tarball/v0.1.21",
"Homepage": "https://github.com/kenjyco/mocp-cli"
},
"split_keywords": [
"moc",
"mocp",
"cli",
"command-line",
"console audio",
"repl",
"mp3 player",
"kenjyco"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "961e671a4be81a5177c2977eeb2000efa88f7cfc9307684d6df032c2ea615a63",
"md5": "0a9de945c20a1dbc1c7eea11d964c1e9",
"sha256": "bd6b449f846491d347d5166161254d673f44656c372d86da82c77eca6ca2fcbe"
},
"downloads": -1,
"filename": "mocp_cli-0.1.21-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0a9de945c20a1dbc1c7eea11d964c1e9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8577,
"upload_time": "2023-07-10T04:49:49",
"upload_time_iso_8601": "2023-07-10T04:49:49.683529Z",
"url": "https://files.pythonhosted.org/packages/96/1e/671a4be81a5177c2977eeb2000efa88f7cfc9307684d6df032c2ea615a63/mocp_cli-0.1.21-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-10 04:49:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kenjyco",
"github_project": "mocp-cli",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "mocp-cli"
}