{"id":13578902,"url":"https://github.com/jonsafari/mocp","last_synced_at":"2025-04-06T02:12:15.520Z","repository":{"id":36750625,"uuid":"41057267","full_name":"jonsafari/mocp","owner":"jonsafari","description":"Music On Console Player   ","archived":false,"fork":false,"pushed_at":"2023-01-14T19:10:02.000Z","size":3373,"stargazers_count":385,"open_issues_count":17,"forks_count":36,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-03-30T01:13:02.321Z","etag":null,"topics":["commandline-interface","console-application","moc","music-player","ncurses","unofficial"],"latest_commit_sha":null,"homepage":"http://moc.daper.net","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonsafari.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-19T20:06:06.000Z","updated_at":"2025-03-06T08:22:42.000Z","dependencies_parsed_at":"2023-01-17T04:31:24.058Z","dependency_job_id":null,"html_url":"https://github.com/jonsafari/mocp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonsafari%2Fmocp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonsafari%2Fmocp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonsafari%2Fmocp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonsafari%2Fmocp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonsafari","download_url":"https://codeload.github.com/jonsafari/mocp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247423516,"owners_count":20936626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["commandline-interface","console-application","moc","music-player","ncurses","unofficial"],"created_at":"2024-08-01T15:01:34.879Z","updated_at":"2025-04-06T02:12:15.486Z","avatar_url":"https://github.com/jonsafari.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"                                 MOC\n                      m u s i c  o n  c o n s o l e\n\n                          http://moc.daper.net/\n\n\n--------------------------------------------------------------------------------\nWhat Is It?\n--------------------------------------------------------------------------------\n\nMOC (music on console) is a console audio player for LINUX/UNIX designed to be\npowerful and easy to use.\n\nYou just need to select a file from some directory using the menu similar to\nMidnight Commander, and MOC will start playing all files in this directory\nbeginning from the chosen file.  There is no need to create playlists as in\nother players.\n\nIf you want to combine some files from one or more directories in one playlist,\nyou can do this.  The playlist will be remembered between runs or you can save\nit as an m3u file to load it whenever you want.\n\nNeed the console where MOC is running for more important things?  Need to close\nthe X terminal emulator?  You don't have to stop playing - just press q and the\ninterface will be detached leaving the server running.  You can attach it later,\nor you can attach one interface in the console, and another in the X terminal\nemulator, no need to switch just to play another file.\n\nMOC plays smoothly, regardless of system or I/O load because it uses the output\nbuffer in a separate thread.  The transition between files is gapless, because\nthe next file to be played is precached while the current file is playing.\n\nSupported file formats are: MP3, Ogg Vorbis, FLAC, Musepack (mpc), Speex, Opus,\nWAVE, those supported by FFmpeg/LibAV (e.g., WMA, RealAudio, AAC, MP4), AIFF,\nAU, SVX, Sphere Nist WAV, IRCAM SF, Creative VOC, SID, wavpack, MIDI and\nmodplug.\n\nOther features:\n\n  - Simple mixer\n  - Color themes\n  - Menu searching (playlist or directory) like M-s in Midnight Commander\n  - The way MOC creates titles from tags is configurable\n  - Optional character set conversion for file tags using iconv()\n  - OSS, ALSA, SNDIO and JACK output\n  - User defined keys\n  - Cache for files' tags\n\n--------------------------------------------------------------------------------\nDocumentation and The MOC Forum\n--------------------------------------------------------------------------------\n\nThis file is only a brief description of MOC, for more information is\navailable on the home page (http://moc.daper.net/documentation).\n\nYou can also find a discussion forum on the MOC home page.\n\n--------------------------------------------------------------------------------\nWhat Software Is Required To Build It?\n--------------------------------------------------------------------------------\n\nTo build MOC from the distribution tarball you will need:\n\n  - A POSIX.1-2001 compatible UNIX system with POSIX threads\n    (e.g., Linux or OSX)\n  - A C compiler which is C99 capable and a C++ compiler (MOC is written\n    in C, but libtool and some decoder plugins require a C++ compiler)\n  - ncurses (probably already installed in your system)\n  - POPT (libpopt) (probably already installed in your system)\n  - Berkeley DB (libdb) version 4.1 (unless configured with --disable-cache)\n  - GnuPG (gpg) if you are going to verify the tarball (and you should)\n\nIf you are building from the SVN repository you will also need:\n\n  - Subversion or git-svn (to checkout the source directory tree)\n  - Autoconf version 2.64 and the associated Automake and Libtool\n\nYou should choose which of the following audio formats you wish to play and\nprovide the libraries needed to support them:\n\n  - AAC - libfaad2 version 2.7 (http://www.audiocoding.com/), and\n          libid3tag (http://www.underbit.com/products/mad/)\n  - FLAC - libFLAC version 1.1.3 (http://flac.sourceforge.net/)\n  - MIDI - libtimidity version 0.1 (http://timidity.sourceforge.net/)\n  - modplug - libmodplug version 0.7 (http://modplug-xmms.sourceforge.net/)\n  - MP3 - libmad with libid3tag (ftp://ftp.mars.org/pub/mpeg/)\n  - Musepack (mpc) - libmpc (http://www.musepack.net/), and\n                   - taglib version 1.3.1\n                     (http://developer.kde.org/~wheeler/taglib.html)\n  - Ogg Vorbis - libvorbis, libogg and libvorbisfile (all version 1.0)\n                 (http://www.xiph.org/ogg/), or\n               - libvorbisidec and libogg (both version 1.0)\n                 (http://svn.xiph.org/trunk/Tremor)\n  - SID - libsidplay2 version 2.1.1 and libsidutils version 1.0.4\n          (http://sidplay2.sourceforge.net/)\n  - Speex - libspeex version 1.0 (http://www.speex.org/), and\n          - libogg version 1.0 (http://www.xiph.org/ogg/)\n  - WMA, RealAudio (.ra), MP4 - FFmpeg version 1.0 (http://www.ffmpeg.org/), or\n                              - LibAV version 10.0 (http://www.libav.org/)\n  - WAVE, AU, AIFF, SVX, SPH, IRC, VOC - libsndfile version 1.0\n                                         (http://www.mega-nerd.com/libsndfile/)\n  - wavpack - libwavpack version 4.31 (http://www.wavpack.com/)\n\nFor interfacing to the sound sub-system, you will need libraries for one or\nmore of the following:\n\n  - ALSA - alsa-lib version 1.0.11 (http://www.alsa-project.org/)\n  - OSS - the OSS libraries (http://www.opensound.com/)\n  - BSD's SNDIO - SNDIO libraries\n  - JACK low-latency audio server - JACK version 0.4\n                                    (http://jackit.sourceforge.net/)\n\nFor network streams:\n\n  - libcurl version 7.15.1 (http://curl.haxx.se/)\n\nFor resampling (playing files with sample rate not supported by your\nhardware):\n\n  - libresamplerate version 0.1.2 (http://www.mega-nerd.com/SRC/)\n\nFor librcc (fixes encoding in broken mp3 tags):\n\n  - http://rusxmms.sourceforge.net/\n\nNote that for Debian-based distributions, you will also require any '-dev'\nsuffixed versions of the packages above if building from source.\n\nThe versions given above are minimum versions and later versions should also\nwork.  However, MOC may not yet have caught up with the very latest changes\nto library interfaces and these may cause problems if they break backwards\ncompatibility.\n\n--------------------------------------------------------------------------------\nOn Which Systems Is MOC Running?\n--------------------------------------------------------------------------------\n\nMOC is developed and tested on GNU/Linux.\n\nMOC is now C99 and POSIX.1-2001 compliant and so should build and run on\nany system which has a C99 capable compiler and is POSIX.1-2001 compatible.\nHowever, there may still be cases where MOC breaks this compliance and any\nreports of such breakage are welcome.\n\nThere is no intention to support MOC on MS-Windows (so please don't ask).\n\n--------------------------------------------------------------------------------\nHow Do I Verify the Authenticity of the Tarball?\n--------------------------------------------------------------------------------\n\nIf you downloaded the official MOC distribution you should have the\nfollowing files:\n\n\tmoc-2.6-alpha3.tar.asc\n\tmoc-2.6-alpha3.tar.md5\n\tmoc-2.6-alpha3.tar.xz\n\nwould check the integrity of the download:\n\n\tmd5sum -c moc-2.6-alpha3.tar.md5\n\nand then verify the tarball thusly:\n\n\txzcat moc-2.6-alpha3.tar.xz | gpg --verify moc-2.6-alpha3.tar.asc -\n\nThe signature file (*.asc) was made against the uncompressed tarball,\nso if the tarball you have has been recompressed using a tool other\nthan XZ then uncompress it using the appropriate tool then verify that:\n\n\tgunzip moc-2.6-alpha3.tar.gz\n\tgpg --verify moc-2.6-alpha3.tar.asc\n\nIf the tool can output to stdout (and most can) then you can also verify\nverify it in a single step similar to the way in which the XZ tarball\nwas verified above.\n\nOf course, you'll also need the MOC Release Signing Key:\n\n\tgpg --recv-key 0x2885A7AA\n\nfor which the fingerprint is:\n\n\t5935 9B80 406D 9E73 E805  99BE F312 1E4F 2885 A7AA\n\n--------------------------------------------------------------------------------\nHow Do I Build and Install It?\n--------------------------------------------------------------------------------\n\nGeneric installation instruction is included in the INSTALL file.\n\nIn short, if you are building from an SVN checkout of MOC (but not if you\nare building from a downloaded tarball) then you will first need to run:\n\n\tautoreconf -if\n\nand then proceed as shown below for a tarball.  (If you are using the\ntarball but have applied additional patches then you may also need to run\nautoreconf.)\n\nTo build MOC from a downloaded tarball just type:\n\n\t./configure\n\tmake\n\nAnd as root:\n\n\tmake install\n\nUnder FreeBSD and NetBSD (and possibly other systems) it is necessary to\nrun the configure script this way:\n\n\t./configure LDFLAGS=-L/usr/local/lib CPPFLAGS=-I/usr/local/include\n\nIn addition to the standard configure options documented in the INSTALL\nfile, there are some MOC-specific options:\n\n\t--enable-cache=[yes|no]\n\n\t  Specifying 'no' will disable the tags cache support.  If your\n\t  intent is to remove the Berkeley DB dependancy (rather than\n\t  simply removing the on-disk cache) then you should also either\n\t  build MOC without RCC support or use a librcc built with BDB\n\t  disabled.\n\n\t--enable-debug=[yes|no|gdb]\n\n\t  Using 'gdb' will cause MOC to be built with options tailored to\n\t  use with GDB.  (Note that in release 2.6 this option will be\n\t  split into separate debugging and logging options.)\n\n\t--with-oss=[yes|no|DIR]\n\n\t  Where DIR is the location of the OSS include directory (and\n\t  defaults to '/usr/lib/oss').\n\n\t--with-vorbis=[yes|no|tremor]\n\n\t  Using 'tremor' will cause MOC to build against the integer-only\n\t  implementation of the Vorbis library (libvorbisidec).\n\nYou can install MOC into its own source directory tree and run it from there\nso you do not have to install it permanently on your system.  If you're just\nwanting to try it out or test some patches, then this is something you may\nwish to do:\n\n\t./configure --prefix=\"$PWD\" --without-timidity\n\tmake\n\tmake install\n\tbin/mocp -M .moc\n\n--------------------------------------------------------------------------------\nHow Do I Use It?\n--------------------------------------------------------------------------------\n\nRun program with the 'mocp' command.  The usage is simple; if you need help,\npress 'h' and/or read mocp manpage.  There is no complicated command line or\ncryptic commands.  Using MOC is as easy as using basic functions of Midnight\nCommander.\n\nYou can use a configuration file placed in ~/.moc/config, but it's not required.\nSee config.example provided with MOC.\n\n--------------------------------------------------------------------------------\nUsing Themes\n--------------------------------------------------------------------------------\n\nYes, there are themes, because people wanted them. :)\n\nThemes can change all colors and only colors.  An example theme file with a\nexhaustive description is included (themes/example_theme) and is the\ndefault MOC appearance.\n\nTheme files should be placed in ~/.moc/themes/ or $(datadir)/moc/themes/\n(e.g., /usr/local/share/moc/themes) directory, and can be selected with\nthe Theme configuration options or the -T command line option (see the\nmanpage and the example configuration file).\n\nFeel free to share the themes you have created.\n\n--------------------------------------------------------------------------------\nDefining Keys\n--------------------------------------------------------------------------------\n\nYou can redefine standard keys.  See the instructions in the keymap.example\nfile.\n\n--------------------------------------------------------------------------------\nHow Do I Report A Problem?\n--------------------------------------------------------------------------------\n\nNot every release is extensively tested on every system, so the particular\nconfiguration of software, libraries, versions and hardware on your system\nmight expose a problem.\n\nIf you find any problems then you should search the MOC Forum for a solution;\nyour problem may not be unique.  If you do find an existing topic which\nmatches your problem but does not offer a solution, or the solution offered\ndoes not work for you and the topic appears still active, then please add your\nexperience to it; it may be that additional information you can provide will\ncontain the clue needed to resolve the problem.\n\nIf you don't find an answer there and you installed MOC from your Linux\ndistribution's repository then you should report it via your distribution's\nusual reporting channels in the first instance.  If the problem is ultimately\nidentified as actually being in MOC itself, it should then be reported to the\nMOC Maintainer (preferably by the distribution's MOC package maintainer).\n\nIf you built MOC from source yourself or you get no resolution from your\ndistribution then start a new topic on the MOC Forum for your problem or\ncontact the MOC Maintainer.\n\nBefore reporting a problem, you should first read this Forum post:\n\n   Linkname: How to Report Bugs Effectively\n        URL: http://moc.daper.net/node/1035\n\nand the essay it references:\n\n   Linkname: How to Report Bugs Effectively\n        URL: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html\n\nThere are two things you must do if at all possible:\n\n1. Make sure you are using the current stable MOC release or, even better,\n   can reproduce it on the latest development release or SVN HEAD, and\n2. Make sure you include the version and revision information (which you\n   can obtain by running 'mocp --version').\n\nIf you do not do those two things (and don't offer a good explanation as to\nwhy you didn't) your problem report is likely to be ignored until such time\nas you do.\n\n--------------------------------------------------------------------------------\nHacking\n--------------------------------------------------------------------------------\n\nWant to modify MOC?  You're welcome to do so, and patch contributions are\nalso welcome.\n\nMOC is written in C, so you must at least know this language to make simple\nchanges.  It is multi-threaded program, but there are places where you don't\nneed to worry about that (the interface is only a single thread process).  It\nuses autoconf, automake and libtool chain to generate configuration/compilation\nstuff, so you must know how to use it, for example, if you need to link to an\nadditional library.\n\nThe documentation for some parts of the internal API for creating decoder\nplugins (file format support) and sound output drivers can be generated using\nDoxygen (http://www.doxygen.org/).  Just run the doxygen command from the MOC\nsource directory.\n\nBefore you change anything it is a good idea to check for the latest development\nversion (check out from the Subversion repository is the best).  Your changes\nmight conflict with changes already made to the source or your feature might be\nalready implemented.  See also the TODO file as it is updated regularly and\ncontains quite detailed information on future plans.\n\nIf you need help, just contact MOC's Maintainer via e-mail.  And if you are\nplanning anything non-trivial it's a good idea to discuss your intentions\nwith the MOC Maintainer once you've clarified your ideas but before spending\ntoo much time implementing them; it will be more productive if your work fits\nwith MOC's future direction.\n\n--------------------------------------------------------------------------------\nWho Wrote It?  Where Can I Send Bug Reports, Questions or Comments?\n--------------------------------------------------------------------------------\n\n\t* Original author is Damian Pietras\n\t* Current maintainer is John Fitzgerald\n\t* For comments and questions see the official forum:\n\t              http://moc.daper.net/forum\n\t* Need to report a bug?  You can reach the maintainer(s) at:\n\t                 \u003cmocmaint@daper.net\u003e\n\n--------------------------------------------------------------------------------\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonsafari%2Fmocp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonsafari%2Fmocp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonsafari%2Fmocp/lists"}