mocp-cli


Namemocp-cli JSON
Version 0.1.21 PyPI version JSON
download
home_pagehttps://github.com/kenjyco/mocp-cli
SummaryCLI tools for finding, organizing, and playing audio files
upload_time2023-07-10 04:49:49
maintainer
docs_urlNone
authorKen
requires_python
licenseMIT
keywords moc mocp cli command-line console audio repl mp3 player kenjyco
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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"
}
        
Ken
Elapsed time: 0.25081s