Difference between revisions of "MOC"

From ArchWiki
Jump to: navigation, search
(Usage: some cosmetic changes to the table of shortcuts)
(update interlanguage links)
(Tag: wiki-scripts)
 
(96 intermediate revisions by 41 users not shown)
Line 1: Line 1:
[[Category:Audio/Video (English)]]
+
[[Category:Music]]
=Description=
+
[[de:Moc]]
 +
[[es:MOC]]
 +
[[fa:Moc]]
 +
[[fr:Moc]]
 +
[[ja:MOC]]
 +
[[pl:MOC]]
 +
[[ru:MOC]]
 +
[[sr:MOC]]
 +
[https://moc.daper.net/ Music On Console] is a lightweight music player similar to [[MPD]], but unlike it, MOC comes with an interface and its server does not support remote access.
  
'''M'''usic '''O'''n '''C'''onsole is a lightweight music player. It consists of 2 parts, a server (Moc) and the player/interface (Mocp).
+
== Installation ==
This is similar to [[mpd]], but unlike mpd, Moc comes with a interface.
 
  
=Installation=
+
[[Install]] the {{Pkg|moc}} package. The latest development version is available as {{AUR|moc-svn}}. For [[PulseAudio]] support install {{AUR|moc-pulse}} or {{AUR|moc-pulse-svn}} for the development version.
  
Sync and install with pacman:
+
== Configuration ==
# pacman -S moc
 
  
=Configuration=
+
Sample configuration files can be found in {{ic|/usr/share/doc/moc/}}. On ''mocp'' first run the local {{ic|~/.moc/}} directory is created. To configure, copy the examples to it and edit accordingly.
If you want to use Moc with OSS v4.1 go to that [http://wiki.archlinux.org/index.php/OSS article].  
 
  
=Usage=
+
Themes are stored in {{ic|/usr/share/moc/themes}} and can be set in {{ic|~/.moc/config}}. See {{ic|/usr/share/moc/themes/example_theme}} for more.
  
To start moc:
+
To change the default key bindings, see {{ic|/usr/share/doc/moc/keymap.example}}.
  
$ mocp
+
If you want to use Moc with [[OSS]] v4.1, see [[OSS#MOC]].
  
This will start the server and interface. You will enter player interface. Some useful shortcuts to use mocp (case sensitive):
+
=== Lynx like navigation ===
 +
 
 +
To change directories with the arrow keys uncomment in {{ic|~/.moc/config}}:
 +
 
 +
Keymap = keymap
 +
 
 +
Edit the following in {{ic|~/.moc/keymap}}:
 +
 
 +
go    = ENTER RIGHT
 +
go_up = U LEFT
 +
#seek_forward  = RIGHT
 +
#seek_backward = LEFT
 +
 
 +
== Usage ==
 +
 
 +
Run ''mocp'' to start the server and interface. Some useful default shortcuts (press {{ic|h}} for more):
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
| Start playing a track
+
| Start playing at this file or go to this directory
| Enter
+
| {{ic|Enter}}
 
|-
 
|-
| Pause track
+
| Pause
| Space or p
+
| {{ic|Space}} or {{ic|p}}
|-
 
| Play next track
 
| n
 
 
|-
 
|-
| Play previous track
+
| Play next file
| b
+
| {{ic|n}}
 
|-
 
|-
| Switch from playlist browsing to filesystem browsing (and vice versa)
+
| Play previous file
| tab
+
| {{ic|b}}
 
|-
 
|-
| Add one track to the playlist
+
| Silent seek forward by 5s
| a
+
| {{ic|]}}
 
|-
 
|-
| Add a folder recursively to playlist
+
| Silent seek backward by 5s
| A
+
| {{ic|[}}
 
|-
 
|-
| Clear playlist
+
| Switch between playlist and file list
| C
+
| {{ic|Tab}}
 
|-
 
|-
| Increase volume 5%
+
| Add a file/directory to the playlist
| . (dot)
+
| {{ic|a}}
 
|-
 
|-
| Decrease volume 5%
+
| Add a directory recursively to the playlist
| , (comma)
+
| {{ic|A}}
 
|-
 
|-
| Increase volume 1%
+
| Delete an item from the playlist
| >
+
| {{ic|d}}
 
|-
 
|-
| Decrease volume 1%
+
| Clear the playlist
| <
+
| {{ic|C}}
 
|-
 
|-
| Change volume to 10%
+
| Increase volume by 1%
| meta + 1
+
| {{ic|>}}
 
|-
 
|-
| Change volume to 20%
+
| Decrease volume by 1%
| meta + 2
+
| {{ic|<}}
 
|-
 
|-
| etc, etc...
+
| Increase volume by 5%
 +
| {{ic|.}} (dot)
 
|-
 
|-
| Quit player
+
| Decrease volume by 5%
| q
+
| {{ic|,}} (comma)
 +
|-
 +
| Set volume to 10%
 +
| {{ic|Alt+1}}
 +
|-
 +
| Set volume to 90%
 +
| {{ic|Alt+9}}
 +
|-
 +
| Detach MOC from the server
 +
| {{ic|q}}
 +
|-
 +
| Quit
 +
| {{ic|Q}}
 
|}
 
|}
  
NOTE: To shut down the server:
+
To shut down the server, press {{ic|Shift+q}} or run the {{ic|mocp -x}} command.
  $ mocp -x
+
 
 +
== Last.fm scrobbling ==
 +
 
 +
=== mocp-scrobbler ===
 +
 
 +
{{AUR|mocp-scrobbler}} is a Last.fm/Libre.fm scrobbler for MOC with support for now-playing notifications, daemonization and cache. It only depends on [[Python]] 3.
 +
 
 +
Copy the example file to your user config directory:
 +
 
 +
mkdir ~/.mocpscrob/
 +
cp /usr/share/doc/mocp-scrobbler/config.example  ~/.mocpscrob/config
 +
 
 +
Edit {{ic|~/.mocpscrob/config}} to add your login and password. The password variable will be replaced with {{ic|password_md5}} on the first run. Its value will be the original value hashed using MD5 algorithm. If you want to change password, just add again password with you new password, and {{ic|password_md5}} will be replaced.
 +
 
 +
To scrobble tracks, start ''mocp-scrobbler'' as daemon before ''mocp''. You can also use an [[alias]]:
 +
 
 +
  alias mocp='/usr/bin/mocp-scrobbler.py -d; mocp'
 +
 
 +
In January of 2016 last.fm updated their password requirements, with all new and updated passwords requiring the inclusion of one of the following characters {{ic|<nowiki>!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~</nowiki>}}, or a space. This is known to cause an authentication error with mocpscrob configurations which specify passwords not conforming to these new specifications. Changing one's password and updating the {{ic|~/.mocpscrob/config}} password accordingly resolves this issue.
 +
 
 +
If you want to use Libre.fm instead of Last.fm it is important to change {{ic|hostname}} from {{ic|post.audioscrobbler.com}} to {{ic|turtle.libre.fm}}.
 +
 
 +
== Front-ends ==
 +
 
 +
* {{App|mocicon|GTK panel applet to control MOC|http://mocicon.sourceforge.net/|{{Aur|mocicon}}}}
 +
* {{App|moc-tray|Quick and easy access to mocp basic functions|https://code.google.com/p/moc-tray/|{{Pkg|moc-tray}}{{Broken package link|package not found}}}}
 +
* {{App|eXo|Qt frontend to MOC, supports scrobbling|https://bitbucket.org/blaze/exo/}}
 +
 
 +
== systemd service file ==
 +
 
 +
{{hc|/etc/systemd/system/moc@.service|<nowiki>
 +
[Unit]
 +
Description=MOC server
 +
ConditionPathExists=/usr/bin/mocp
 +
After=network.target sound.target
 +
 
 +
[Service]
 +
RemainAfterExit=yes
 +
User=%I
 +
ExecStart=/usr/bin/mocp -S
 +
ExecStop=/usr/bin/mocp -x
 +
WorkingDirectory=/home/%I/
 +
 
 +
[Install]
 +
WantedBy=multi-user.target
 +
</nowiki>}}
 +
 
 +
[[Enable]] this service for the respective user.
 +
 
 +
== Troubleshooting ==
 +
 
 +
=== MOC fails to start ===
 +
 
 +
If MOC fails to start, it is most probably because of something wrong in {{ic|~/.moc/}}. You can try to fix it, or simply delete the whole folder.
 +
 
 +
=== Strange characters ===
 +
 
 +
If you see strange-like characters displayed in ''moc'' instead of the normal lines (vertical lines to separate space, etc.), you may have a font set incompatible to MOC. Either change the respective font, or edit {{ic|.moc/config}} to use ASCII for drawing lines:
 +
 
 +
ASCIILines = no
 +
 
 +
=== FATAL_ERROR: Layout1 is malformed ===
 +
 
 +
If MOC crashes with this error, try adding either line to {{ic|.moc/config}}:
 +
Layout1 = directory(0,0,50%,100%): playlist(50%,0,100%,100%)
 +
or
 +
Layout1 = directory(0,0,50%,100%): playlist(50%,0,FILL,100%)
 +
 
 +
See [http://moc.daper.net/node/262 original report] and [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=485059 Debian bugs].
 +
 
 +
== See also ==
 +
 
 +
* [http://moc.daper.net/documentation Official documentation]

Latest revision as of 12:28, 23 August 2018

Music On Console is a lightweight music player similar to MPD, but unlike it, MOC comes with an interface and its server does not support remote access.

Installation

Install the moc package. The latest development version is available as moc-svnAUR. For PulseAudio support install moc-pulseAUR or moc-pulse-svnAUR for the development version.

Configuration

Sample configuration files can be found in /usr/share/doc/moc/. On mocp first run the local ~/.moc/ directory is created. To configure, copy the examples to it and edit accordingly.

Themes are stored in /usr/share/moc/themes and can be set in ~/.moc/config. See /usr/share/moc/themes/example_theme for more.

To change the default key bindings, see /usr/share/doc/moc/keymap.example.

If you want to use Moc with OSS v4.1, see OSS#MOC.

Lynx like navigation

To change directories with the arrow keys uncomment in ~/.moc/config:

Keymap = keymap

Edit the following in ~/.moc/keymap:

go    = ENTER RIGHT
go_up = U LEFT
#seek_forward  = RIGHT
#seek_backward = LEFT

Usage

Run mocp to start the server and interface. Some useful default shortcuts (press h for more):

Start playing at this file or go to this directory Enter
Pause Space or p
Play next file n
Play previous file b
Silent seek forward by 5s ]
Silent seek backward by 5s [
Switch between playlist and file list Tab
Add a file/directory to the playlist a
Add a directory recursively to the playlist A
Delete an item from the playlist d
Clear the playlist C
Increase volume by 1% >
Decrease volume by 1% <
Increase volume by 5% . (dot)
Decrease volume by 5% , (comma)
Set volume to 10% Alt+1
Set volume to 90% Alt+9
Detach MOC from the server q
Quit Q

To shut down the server, press Shift+q or run the mocp -x command.

Last.fm scrobbling

mocp-scrobbler

mocp-scrobblerAUR is a Last.fm/Libre.fm scrobbler for MOC with support for now-playing notifications, daemonization and cache. It only depends on Python 3.

Copy the example file to your user config directory:

mkdir ~/.mocpscrob/
cp /usr/share/doc/mocp-scrobbler/config.example  ~/.mocpscrob/config

Edit ~/.mocpscrob/config to add your login and password. The password variable will be replaced with password_md5 on the first run. Its value will be the original value hashed using MD5 algorithm. If you want to change password, just add again password with you new password, and password_md5 will be replaced.

To scrobble tracks, start mocp-scrobbler as daemon before mocp. You can also use an alias:

alias mocp='/usr/bin/mocp-scrobbler.py -d; mocp'

In January of 2016 last.fm updated their password requirements, with all new and updated passwords requiring the inclusion of one of the following characters !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~, or a space. This is known to cause an authentication error with mocpscrob configurations which specify passwords not conforming to these new specifications. Changing one's password and updating the ~/.mocpscrob/config password accordingly resolves this issue.

If you want to use Libre.fm instead of Last.fm it is important to change hostname from post.audioscrobbler.com to turtle.libre.fm.

Front-ends

  • mocicon — GTK panel applet to control MOC
http://mocicon.sourceforge.net/ || mociconAUR
  • moc-tray — Quick and easy access to mocp basic functions
https://code.google.com/p/moc-tray/ || moc-tray[broken link: package not found]
  • eXo — Qt frontend to MOC, supports scrobbling
https://bitbucket.org/blaze/exo/ || not packaged? search in AUR

systemd service file

/etc/systemd/system/moc@.service
[Unit]
Description=MOC server
ConditionPathExists=/usr/bin/mocp
After=network.target sound.target

[Service]
RemainAfterExit=yes
User=%I
ExecStart=/usr/bin/mocp -S
ExecStop=/usr/bin/mocp -x
WorkingDirectory=/home/%I/

[Install]
WantedBy=multi-user.target

Enable this service for the respective user.

Troubleshooting

MOC fails to start

If MOC fails to start, it is most probably because of something wrong in ~/.moc/. You can try to fix it, or simply delete the whole folder.

Strange characters

If you see strange-like characters displayed in moc instead of the normal lines (vertical lines to separate space, etc.), you may have a font set incompatible to MOC. Either change the respective font, or edit .moc/config to use ASCII for drawing lines:

ASCIILines = no

FATAL_ERROR: Layout1 is malformed

If MOC crashes with this error, try adding either line to .moc/config:

Layout1 = directory(0,0,50%,100%): playlist(50%,0,100%,100%)

or

Layout1 = directory(0,0,50%,100%): playlist(50%,0,FILL,100%)

See original report and Debian bugs.

See also