.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "MPD-DYNAMIC 1p" .TH MPD-DYNAMIC 1p "2016-12-11" "perl v5.24.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" mpd\-dynamic \- a dynamic playlist for mpd .SH "VERSION" .IX Header "VERSION" version 2.004 .SH "DESCRIPTION" .IX Header "DESCRIPTION" This program implements a dynamic playlist for \s-1MPD,\s0 build on top of the Audio::MPD perl module. .PP \&\s-1MPD \s0(music player daemon) is a cool music player, but it lacks a dynamic playlist. A dynamic playlist is a playlist that will change automatically over time. In particular, it will remove already played songs (keeping at most a given number of songs) and add new songs to the playlist so it never fall short of songs. .PP Note that since mpd is a daemon needing no gui to work, \f(CW\*(C`mpd\-dynamic\*(C'\fR is also a daemon. That is, it will fork and do all its work from the background. This way, you can fire \f(CW\*(C`mpd\*(C'\fR and \f(CW\*(C`mpd\-dynamic\*(C'\fR and forget completely about your music (especially since \f(CW\*(C`mpd\-dynamic\*(C'\fR is a low-resource program): it will just be there! :\-) .SH "USAGE" .IX Header "USAGE" .Vb 1 \& mpd\-dynamic [options] .Ve .SH "OPTIONS" .IX Header "OPTIONS" .SS "General behaviour" .IX Subsection "General behaviour" You can customize the usage of mpd-dynamic with the following options: .IP "\-o[ld] " 4 .IX Item "-o[ld] " Number of old tracks to keep in the backlog. Defaults to 10. .IP "\-n[ew] " 4 .IX Item "-n[ew] " Number of new tracks to keep in the to-be-played playlist. Defaults to 10. .IP "\-s[leep] " 4 .IX Item "-s[leep] " Time spent sleeping (in seconds) before checking if playlist should be updated. Default to 5 seconds. .IP "\-d[ebug]" 4 .IX Item "-d[ebug]" Run mpd-dynamic in debug mode. In particular, the program will not daemonize itself. Default to false. .IP "\-e[ncoding] " 4 .IX Item "-e[ncoding] " Print debug messages with this encoding. Since mpd-dynamic is meant to be a silent daemon, this option will not be used outside of debug mode. Default to \f(CW\*(C`utf\-8\*(C'\fR. .IP "\-\-version" 4 .IX Item "--version" .PD 0 .IP "\-\-usage" 4 .IX Item "--usage" .IP "\-\-help" 4 .IX Item "--help" .IP "\-\-man" 4 .IX Item "--man" .PD Print the usual program information .PP Note however that those flags are optional: since \f(CW\*(C`mpd\-dynamic\*(C'\fR comes with some sane defaults, you can fire \f(CW\*(C`mpd\-dynamic\*(C'\fR as is. .SS "Ratings" .IX Subsection "Ratings" You can also take advantage of ratings if you want. With those options, songs need to have at least a given rating (or no rating yet) to be inserted: this way, you will only listen to your favorite songs! .PP Ratings can be created / updated with \f(CW\*(C`mpd\-rate\*(C'\fR. .PP Note that if you supply a non-existant rating db-file, the rating mechanism will be ignored. The following options control the rating mechanism: .IP "\-r[atings] " 4 .IX Item "-r[atings] " The path of a db file with the ratings per song. The keys are the song path (relative to \s-1MPD\s0 root), and the value is an integer (the rating). Default to \&\f(CW\*(C`~/.mpd/ratings.db\*(C'\fR. .IP "\-m[in[imum]] " 4 .IX Item "-m[in[imum]] " The minimum rating for a song to be inserted in the playlist. Default to 4. .SH "AUTHOR" .IX Header "AUTHOR" Jerome Quelin .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2007 by Jerome Quelin. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.