MOC – Конзолен аудио плеър за Linux/UNIX

Автор Станислав Христов | Вариант за отпечатване Вариант за отпечатване   

1 Star2 Stars3 Stars4 Stars5 Stars (не е гласувано)
Loading ... Loading ...
 

MOC – Music On Console , е конзолен аудио плеър за Linux/UNIX ,създаден ,за да бъде мощен и в същото време лесен за употреба. Интерфейсът му наподобява много на Midnight Commander.Възпроизвежда много формати,като се почне от mp3,Ogg Vorbis,FLAC и се стигне до Musepack,Speex,WAVE, AIFF, AU и редица други по-малко известни.Последната стабилна версия е 2.4.4.Официална страница на проекта – http://moc.daper.net.

.При новите версии на Дебиан базираните дистрибуции MOC е наличен в пакетният мениджър.Ако пакетът отсъства по някаква причина ,то той може да бъде добавен през хранилищата на Debian Sid ,като в /etc/apt/sources.list се добавят следните редове:

deb http://www.lxtec.de/debarchiv unstable main
deb-src http://www.lxtec.de/debarchiv unstable main

След това инсталацията протича по обичайния ред:

# apt-get update && apt-get install moc

Инсталацията също може да се извърши и от сорс ,като се свали желаната версия от секция Download на официалния сайт.
След като инсталацията приключи,плеърът се стратира от конзола с команда $ mocp.
Изгледът на програмата с настройки по дефолт е нещо приблизително такова:

Навигирането се осъществява чрез стрелките на клавиетурата.

Основни клавишни комбинации при работа с MOC

Тук се спирам само на най-основните клавишни комбинации,необходими при работата с плеъра

  • Tab – прехвърля фокуса от лявия панел (директориите) в деснията панел (плейпистът)
  • Enter – когато фокусът е в левия панел – влиза в маркирана директория
  • Enter – когато фокусът е в десния панел – възпроизвежда маркирания аудио файл
  • Q – спира възпрозвеждането и прекратява работата на плеъра(Изключва го)
  • q – извежда конзола без да прекратява възпроизвеждането на плейлиста
  • s – спира изпълнението на плейлиста ,без да извежда конзола
  • < / > – усилва  / намаля звука ( с по 1%)
  • Space – Пауза
  • а – добавя маркираната в ляво папка като плейлист в дясно
  • C – изчиства плейлиста ( без да прекратява възпроизвеждането на започнат вече файл)

Пълният списък с клавишните комбинации и команди на плеъра може да видите с H

Настройки

Настройките на MOC се осъществяват и са съхранени в конфигурационен файл config ,който се намира в директория .moc ,която от своя страна се намира в домашната директория , т.е  ~/.moc/config.Един примерен,но доста подробен и функционален файл за MOC изглежда така:

# This is a configuration file for the MOC player. It should be named 'config'
# and placed in directory ~/.moc/
# Comments begins with '#'.
# You can use quotes and escape ('\') in parameters
 
# Show file titles (title, author, album) instead of file names.
ReadTags        = yes
 
# Directory in which you store music files, if you specify it, you will be able
# to quickly go to this directory with the '-m' parameter or the 'm' command.
# This can also point to a playlist.
MusicDir        = "/home/niels/Musik"
 
# How to sort? FileName is the only option for now.
Sort            = FileName
 
# Show errors in the streams, for example CRC errors or broken frames in mp3
# files
ShowStreamErrors    = no
 
# Ignore CRC errors in MP3 files. Most players do that, so the default value is
# set to yes.
Mp3IgnoreCRCErrors    = yes
 
# Turn on repeat.
Repeat            = yes
 
# Turn on shuffle.
Shuffle            = no
 
# Turn on AutoNext
AutoNext        = yes
 
# Default FormatString
# %n - Track number
# %a - Artist
# %A - Album
# %t - Title
# %(X:TRUE:FALSE) - ternary expression - if X exists, do TRUE, otherwaise
#                   FALSE. '\' - escape character (must be double, because of
#                   config interpreter). man zshmisc for more info.
FormatString        = "%(n:%n :)%(a:%a - :)%(t:%t:)%(A: \(%A\):)"
 
# Output buffer size in kilobytes. Minimum value is 128KB. */
#OutputBuffer        = 2048
 
# Input buffer size in kilobytes. Minimum value is 32KB. */
#InputBuffer        = 512
 
# How much to fill the input buffer before playing (in kilobytes)?
# This can't be more than InputBuffer value.
# Remember that for network streams beside the positive effect this also causes
# delay between what you can hear and what is broadcasted.
#Prebuffering        = 64
 
# Use this HTTP proxy server for internet streams. If not set, the
# environmential variables http_proxy and ALL_PROXY will be used if present.
#HTTPProxy        = my_proxy:port
 
# Sound driver - OSS, ALSA, JACK, or null (only for debugging)
# You can enter more than one driver separated by a coma. The first working
# driver will be used.
SoundDriver        = ALSA
 
# Jack output settings
#JackOutLeft        = "alsa_pcm:playback_1"
#JackOutRight        = "alsa_pcm:playback_2"
 
# OSS output device
#OSSDevice        = /dev/dsp
 
# OSS Mixer device
#OSSMixerDevice        = /dev/mixer
 
# OSS Mixer channel: pcm or master
#OSSMixerChannel        = pcm
 
# Second OSS Mixer channel: pcm or master
#OSSMixerChannel2    = master
 
# ALSA mixer device
AlsaMixer         = PCM
 
# Second ALSA mixer device
AlsaMixer2        = Master
 
# ALSA output device
#AlsaDevice        = default
 
# Show files with dot at the beginning?
ShowHiddenFiles        = no
 
# Start in the music directory if no arguments are given. If set to no, start
# in the current directory.
StartInMusicDir        = yes
 
# Hide file name extensions
HideFileExtension    = no
 
# Show file format in menu.
ShowFormat        = yes
 
# Show file time in menu. Possible options: yes, no, IfAvailable - show the
# time only when it was read before (often works faster)
ShowTime        = IfAvailable
 
# Theme file. This can be absolute path or relative to
# /usr/share/moc/themes/ (depends on installation prefix) or ~/.moc/themes/
Theme            = /usr/share/moc/themes/linali_theme
 
# The theme used when running on xterm
#XTermTheme        = green_theme
XTermTheme        = linali_theme
 
# MOC directory - where pid file, socket, and state files are stored.
# You can use ~ at the begining
MOCDir        = ~/.moc
 
# Use mmap() to read files. mmap() is much slower on NFS.
UseMmap            = no
 
# Perform character set conversion using iconv() to tags and file names
# read from playlist files. This option has format: FROM:TO.
# To get list of supported sets use the iconv -l command.
 
# Assume this encoding for ID3 version 1/1.1 tags (mp3 files). Unlike ID3v2
# UTF-8 is not used here and MOC can't guess how tags are encoded. Another
# solution is using librcc (see the next option). This option is ignored
# if UseRCC is set to yes.
ID3v1TagsEncoding        = WINDOWS-1251
 
# Use librcc to fix ID3 version 1/1.1 tags encoding.
#UseRCC                = yes
 
# Remember the playlist after exit?
SavePlaylist        = yes
 
# When using more than one client (interface) at a time, do the share the
# playlist?
SyncPlaylist        = yes
 
# Choose a keymap file (relative to ~/.moc/ or absolute path)
# Example keymap with description is included (keymap.example).
#Keymap            = my_keymap
 
# Use ASCII characters instead of graphic for drawing lines. This helps on
# some terminals.
ASCIILines        = no
 
# FastDirs, these allow you jump directly to a directory, the key bindings are
# in the keymap file.
#Fastdir1 = /mp3/rock
#Fastdir2 = /mp3/electronic
#Fastdir3 = /mp3/rap
#Fastdir4 = /mp3/etc
#Fastdir5 =
#Fastdir6 =
#Fastdir7 =
#Fastdir8 =
#Fastdir9 =
#Fastdir10 =
 
# How fast to seek? Number of seconds per key stroke.
#SeekTime        = 1
 
# How fast to seek (when using silent seeking)? Number of seconds per key
# stroke.
#SilentSeekTime        = 5
 
# Resample method to use. There are few methods of resampling sound supported
# by libresamplerate. The default is the fastest (linear). Better description
# is here: http://www.mega-nerd.com/libsamplerate/api_misc.html#Converters
#
# High quality (based on bandlimited interpolation), but slow methods:
#
# SincBestQuality - really slow (I know you probably have an xx GHz processor,
#            but it's not enough to not see this in the top output :)
#            The worst case Signal-to-Noise Ratio is 97dB.
# SincMediumQuality - much faster
# SincFastest - the fastest bandlimited interpolation
#
# Poor quality, but much faster methods:
#
# ZeroOrderHold - really poor quality, but it's really fast
# Linear - a bit better and a bit slower
#
#ResampleMethod        = Linear
 
# Always use this sample rate when opening the audio device (and resample the
# sound is necessary). When set to 0 the device is opened with the file's rate.
#ForceSampleRate    = 48000
 
# By default even if the sound card reports that it can output 24bit samples
# MOC converts 24bit PCM to 16bit. This option set to yes allows MOC to use
# 24bit output (for example MP3 decoder uses this format). This is disabled
# in the default configuration because there were reports that it prevents
# from playing MP3 files on some soundcards.
#Allow24bitOutput    = no
 
# Use realtime priority for output buffer thread. This will prevent gaps while
# playing even with heavy load. The user which runs MOC must have permissions
# to set such a priority. This could be dangerous, because it is possible that
# a bug in MOC will freeze your computer.
#UseRealtimePriority    = no
 
# Size of the in-memory cache for file tags in KB.
TagsCacheSize        = 256
 
# Number items in the playlist.
#PlaylistNumbering    = yes
 
# Main window layoutis can be configured. You can change the position and the
# size of the menus (directory and playlist). You have 3 layouts ant switch
# between then using the 'l' key (standard mapping). By default only 2 layouts
# are configured.
#
# The format is as folows:
# Each menu is described in format NAME:POSITION_X,POSITION_Y,WIDTH,HEIGHT
# NAME is directory or playlist
# Other parameters define position and size of the menu. They can be absolute
# numbers (like 10) or a percent value of the screen size (like 45%).
# WIDTH and HEIGHT can have value of FILL which means fill the screen from
# the menu's position to the border.
# Separate menu descriptions using a space.
# Menus may overlap.
# You must describe at least one menu (default is to fill the whole window).
# There must be at least one layout (Layout1) defined. Other can be empty ("").
#
# Examples:
#
# Just one layout, the directory will occupy the whole screen, the playlist
# will have 1/4 of the screen size and be positioned at lower right corner.
# Layout1 = "playlist:50%,50%,50%,50%"
# Layout2 = ""
# Layout3 = ""
#
# The scrren is split into two parts: playlist at the top and the directory
# menu at the bottom. Playlist will occupy 10 lines and the directory menu
# the rest.
# Layout1 = "playlist:0,0,100%,10 directory:0,10,100%,FILL"
#
# Default configuration:
# Layout1        = "directory:0,0,50%,100% playlist:50%,0,50%,100%"
# Layout2        = "directory:0,0,100%,100% playlist:0,0,100%,100%"
# Layout3        = ""
 
# When the song changes, should the menu be scrolled so that the currently
# played file is visible?
FollowPlayedFile    = yes
 
# What to do if the interface was started and something from the playlist is
# playing? If CanStartInPlaylist is set to "yes", the interface will switch to
# the playlist. When set to "no" it will start from the last directory.
CanStartInPlaylist    = yes
 
# Executing external commands (1 - 10) invoked with key commands (F1 - F10 by
# default).
# Some arguments are substituted befor executing:
# %f - file path
# %i - title made from tags
#
# Data from tags:
# %t - title
# %a - album
# %r - artist
# %n - track
# %m - time of the file (in seconds)
#
# Parameters above applys to the currently selected file. If you change them to
# capital letters, they are taken from the currently played file.
#
# Programms are run using execv(), not a shell, so you can't do things like
# redirecting the output to a file. The command string is split using blank
# characters as separators, the first element is the command to be executed
# and the rest are parameters, so if you use "echo Playing: %i" we run program
# echo (from $PATH) with 2 parameters: 'Playing:' string and the title. Even
# if the title contains spaces it's still one parameter and it's safe if it
# contains `rm -rf /`.
#
# Examples:
# ExecCommand1        = "cp %f /mnt/usb_drive"
ExecCommand3 = "/home/frankie/now_playing %i"
ExecCommand2 = "/home/frankie/lyrics --artist %r --title %t"
 
# Display the cursor in the line with the selected file. This can be usefu with
# a braille display.
# UseCursorSelection    = yes
 
# Set the terminal title when running under xterm.
SetXtermTitle        = yes
 
# Display full paths instead of just file names in the playlist.
PlaylistFullPaths    = no
 
# Poniższych opcji nie tłumaczyłem ze względu, że nie chcę tego robić dosłownie nie mając
# pojęcia jak działa dana funkcja. Jeśli czujesz się na siłąch, możesz dostarczyć mi tłumaczenie
# które na pewno wkleje zamiast poniższych angielskich zdań.
 
# Number of channles (1 or 2)
#ModPlug_Channels = 2
# Bits per sample (8,16,32). 32 Bits seems ot be buggy…
#ModPlug_Bits = 16
# Sampling rate (11025, 22050, 44100, 48000)
#ModPlug_Frequency = 44100
# Reverb level 0(quiet)-100(loud)
#ModPlug_ReverbDepth = 0
# Reverb delay in ms, usually 40-200ms
#ModPlug_ReverbDelay = 0
# Bass level 0(quiet)-100(loud)
#ModPlug_BassAmount = 0
# Bass cutoff in Hz (10-100)
#ModPlug_BassRange = 10
# Surround level 0(quiet)-100(heavy)
#ModPlug_SurroundDepth = 0
# Surround delay in ms, usually 5-40ms
#ModPlug_SurroundDelay = 0
# Number of times to loop. Zero prevents looping. -1 loops forever.
#ModPlug_LoopCount = 0

Файлът може спокойно да бъде използван от всеки,като само му се направят необходимите корекции относно пътищата за директорията по подразбиране и настройките за канала,който да се управлява и през който върви аудиото.Разгледайте файла,всичко е описано подробно,с коментари кое за какво е.

Инсталация на теми

Инсталацията на теми в MOC е елементарна и се състои в набавянето на теми от интернет,и поставянето им в работната директория на програмата , в папка с име themes - ~/.moc/themes.За да може избраната тема да се зарежда по дефолт при всяко стартиране на прохрамата ,темата се описва в config файла,чрез името й.Само ще спомена ,че непосредствено след инсталацията на програмата на разположение на потребителя има налични няколко теми,които могат да се видят и пробват чрез T.С една “custom” тема визията на MOC изглежда например така:

Интересни неща като скриптове , пачове и теми за програмата може да се намери на този адрес .
Естествено за допълнителна информация и помощ ,приложението си има и Форум .

Относно автора

Станислав Христов е написал 2 статии в този блог.


Публикувай коментар

Вашият е-мейл никога няма да бъде споделен. Задължителните полета са маркирани с *

*
*

Switch to our mobile site