ports/141577: ports: playd update
Aldis Berjoza
killasmurf86 at gmail.com
Tue Dec 15 07:10:03 UTC 2009
>Number: 141577
>Category: ports
>Synopsis: ports: playd update
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Tue Dec 15 07:10:02 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Aldis Berjoza
>Release: FreeBSD 8.0-RELEASE-p1 i386
>Organization:
>Environment:
System: FreeBSD 8.0-RELEASE-p1 #1: Sun Dec 13 22:39:39 EET 2009
killasmurf86 at killasmurf86.pc:/usr/obj/usr/src/sys/ANTIGENERIC
>Description:
I decided to move playd files to port.... they are only 2 files, and bough are very small
Sorry for trouble.
P.S.
if this is unsacceptible, I will find hosting for port source.
>How-To-Repeat:
>Fix:
--- playd.patch begins here ---
diff -rNu playd.bak/Makefile playd/Makefile
--- playd.bak/Makefile 2009-08-04 19:44:08.000000000 +0300
+++ playd/Makefile 2009-12-15 08:49:43.213466714 +0200
@@ -8,7 +8,8 @@
PORTNAME= playd
PORTVERSION= 1.3.7
CATEGORIES= multimedia
-MASTER_SITES= ${MASTER_SITE_GOOGLE_CODE}
+MASTER_SITES= # none
+DISTFILES= # none
MAINTAINER= killasmurf86 at gmail.com
COMMENT= Very easy to use mplayer sh wrapper script, with useful features
@@ -18,12 +19,12 @@
CONFLICTS= playd2-2.[0-9]*
PLIST_FILES= bin/playd
MAN1= playd.1
-WRKSRC= ${WRKDIR}/playd
NO_BUILD= yes
+SUB_FILES= playd.sh
do-install:
- ${INSTALL_SCRIPT} ${WRKSRC}/playd.sh ${PREFIX}/bin/playd
- ${INSTALL_MAN} ${WRKSRC}/playd.1 ${PREFIX}/man/man1/
+ ${INSTALL_SCRIPT} ${WRKDIR}/playd.sh ${PREFIX}/bin/playd
+ ${INSTALL_MAN} ${FILESDIR}/playd.1 ${PREFIX}/man/man1/
.include <bsd.port.mk>
diff -rNu playd.bak/distinfo playd/distinfo
--- playd.bak/distinfo 2009-08-04 19:44:08.000000000 +0300
+++ playd/distinfo 1970-01-01 03:00:00.000000000 +0300
@@ -1,3 +0,0 @@
-MD5 (playd-1.3.7.tar.gz) = 6e2db7058c62550427a10805af5265c1
-SHA256 (playd-1.3.7.tar.gz) = 03769f6431cf61a18cc3d9b653f2ee101cbf8e4bebb6fec9b0bb4974bbddfa61
-SIZE (playd-1.3.7.tar.gz) = 7179
diff -rNu playd.bak/files/playd.1 playd/files/playd.1
--- playd.bak/files/playd.1 1970-01-01 03:00:00.000000000 +0300
+++ playd/files/playd.1 2009-12-15 08:40:23.236561269 +0200
@@ -0,0 +1,210 @@
+.\" Copyright (c) 2009, Aldis Berjoza <killasmurf86 at gmail.com>
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are
+.\" met:
+.\"
+.\" * Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" * Redistributions in binary form must reproduce the above
+.\" copyright notice, this list of conditions and the following disclaimer
+.\" in the documentation and/or other materials provided with the
+.\" distribution.
+.\" * Neither the name of the nor the names of its
+.\" contributors may be used to endorse or promote products derived from
+.\" this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+.\" OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" .Dd June 16, 2009
+.TH playd 1 "June 16, 2009" "playd v1.3+" "playd v1 manual"
+.SH NAME
+\fBplayd\fP - simple to use mplayer sh wrapper script
+.SH SYNOPSIS
+\fBplayd\fP [ \fB--append\fP ] [ \fIoptions\fP ] [ \fIfiles\fP | \fIdirectories\fP | \fIstream\fP ] ...
+.SH DESCRIPTION
+Playd is simple mplayer sh wrapper script.
+With playd you don't need mplayer gui, to listen to music, watch wideos, stream video/audio.
+Playd stores it's playlist is simple plain text files, containing file names with absolute path.
+Playd automatically creates playlist if nessacery.
+It is easy to integreate playd in various window managers (i.e. fvwm2, fluxbox), scripts etc.
+
+Playd is designed K.I.S.S.
+Goal is to be small, fast and very easy to use.
+The goal is not to be as foolproof as possible.
+.SH OPTIONS
+Options can be mixed almost in any order.
+There's only one limit: \fB--append\fP must be 1st argument, if specified.
+.SS --append
+Applend items to default playlist.
+Must be first argument on command line if used.
+.SS --audio-delay \fIvalue\fP [ --absolute ]
+Adjust audio delay in seconds (relative by default).
+If \fB--absolute\fP is set, then audio delay will be set exactly to value seconds.
+.SS --cd [ \fItrack\fP ]
+Play audio CD.
+(Can't append to playlist)
+.SS --cmd "\fImplayer comman\fP"
+Send command to mplayer slave directly.
+If command contain spaces, it should be quoted.
+For mplayer slave commands see
+
+http://www.mplayerhq.hu/DOCS/tech/slave.txt
+.SS --brightness \fIvalue\fP [ --absolute ]
+Adjust brightness by value (relative by default).
+If \fB--absolute\fP key is specified, brightness will be set to absolute value.
+Value can be in range -100 to 100.
+.SS --contrast \fIvalue\fP [ --absolute ]
+Adjust contrast by value (relative by default).
+If \fB--absolute\fP key is specified, contrast will be set to absolute value.
+Value can be in range -100 to 100.
+.SS --dvd [ \fItrack\fP ]
+Play video DVD.
+(Can't append to playlist)
+.SS --file [ \fIfile\fP | \fIdirectory\fP ]
+Play file or directory.
+This option is handy if you have file name that match playd command
+.SS --gamma \fIvalue\fP [ --absolute ]
+Adjust gamma by value (relative by default).
+If \fB--absolute\fP key is specified, gamma will be set to absolute value.
+Value can be in range -100 to 100.
+.SS --hue \fIvalue\fP [ --absolute ]
+Adjust hye by value (relative by default).
+If \fB--absolute\fP key is specified, hue will be set to absolute value.
+Value can be in range -100 to 100.
+.SS --list
+Show default playlist.
+.SS --longlist
+Show default plaulist. Each item is displayed with full path.
+.SS --mute
+Mute mplayer slave.
+.SS --next
+Play next playlist item.
+.SS --nocheck \fIfile\fP
+There are some files that are reported as application/octet-stream.
+These can be various types, even text files.
+If you can't load some file, you can try using this option.
+It won't check for file type and extension.
+This can be very usefull for disk images.
+Note, that you need to set \fB--nocheck\fP for every file you want playd to skip filetype checks.
+.SS --pause
+Pause mplayer slave.
+.SS --play \fIitem1\fP [\fIitem2\fP] ...
+Play items from default playlist.
+.SS --playlist [\fIcustom-playlist\fP]
+Play simple text playlist.
+Playd will play default playlist if no playlist is specified.
+Mplayer slave will be automatically started if nessacery.
+.SS --restart [ --console ] [ --nofork ]
+Sometime playd doesn't listen to your commands.
+Actually playd does listend, while mplayer doesn't.
+So if you don't get expeced behavior from playd, please run \fBplayd --restart\fP and check if everything works.
+Only send bug report if same problem apears after restart.
+If \fB--console\fP is set, mplayer will only output sound.
+If \fB--fork\fP is set, mplayer playd will show mplayer output to current terminal.
+.SS --rmlist
+Remove default playlist.
+.SS --seek \fIvalue\fP [ --absolute | --precent ]
+Seek current file to value.
+If \fB--absolute\fP is specified, seek to absolute value in seconds.
+If \fB--precent\fP is specified, seek to value percent.
+By default mplayer slave will seak relative in seconds.
+.SS --sarution \fIvalue\fP [ --absolute ]
+Adjust sarution by value (relative by default).
+If \fB--absolute\fP key is specified, sarution will be set to absolute value.
+Value can be in range -100 to 100.
+.SS --start [ --console ] [ --nofork ]
+Start mplayer slave.
+You won't probably need to use this, because mplayer slave is started automatically when needed.
+If \fB--console\fP is set, mplayer will only output sound.
+If \fB--fork\fP is set, mplayer playd will show mplayer output to current terminal.
+.SS --status
+Check if mplayer is started in slave mode.
+.SS --subtitles \fIfile\fP
+Load subtitles.
+This optiond doesn't check for filetype.
+
+NOTE: this option is untested. If it works, or doesn't please send email to killasmurf86 at gmail.com
+.SS --stop
+Stop mplayer slave.
+.SS --switch-audio
+Cycle through the available audio tracks. (for DVD)
+.SS --switch-subtitle
+Cycle through the available subtitle tracks. (for DVD)
+.SS --volume \fIvalue\fP [ --absolute ]
+Adjust volume by value (relative by default).
+If \fB--absolute\fP key is specified, volume will be set to absolute value.
+Value can be 0 - 100
+.SS \fIfile\fP | \fIdirectory\fP | \fIstream\fP
+play file, directory or stream.
+Mplayer will be automatically started in slave mode, if nessacery.
+.SH "COMMAND ALIASES"
+Every command that starts with \fB--\fP, has alias witout it (they aren't mentioned here)
+
+ \--absolute abs
+ \--append -a
+ \--cd -c cdda
+ \--dvd -d
+ \--file -f
+ \--help -h
+ \--list -l
+ \--longlist -L --llist
+ \--mute -m
+ \--next -n
+ \--pause -z
+ \--percent %
+ \--play -p
+ \--playlist -P
+ \--restart -R
+ \--seek -s
+ \--stop -q
+ \--switch-audio --sw-audio
+ \--switch-subtitles --sw-subs
+ \--subtitles -S --subs
+ \--volume -v --vol
+.SH ENVIRONMENT
+Set PLAYD_MPLAYER_USER_OPTIONS, to add custom command line options passed to mplayer, when it's started.
+
+Set PLAYD_HOME, if you want to change playd home directory.
+By default it uses ~/.mplayer
+.SH EXAMPLES
+playd /my/mysic
+
+playd --append /mysic/1.mp3 /music/3.mp3
+
+playd play 1 3 5
+
+playd http://yp.shoutcast.com/sbin/tunein-station.pls?id=656847
+
+playd stop
+.SH NOTES
+As of v1.3.x there are several differences in command line syntax compared to older versions.
+If you have integrated playd in your window manager, script etc... you should modify your config to match new syntax.
+
+\fB--rmlist\fP may be remove in future
+
+One character options, such as -z may change.
+They need tuning.
+.SH HOMEPAGE
+http://code.google.com/p/playd/
+.SH SEE ALSO
+mplayer(1)
+sh(1)
+.SH AUTHORS
+Aldis Berjoza <killasmurf86 at gmail.com>
+.SH BUGS
+Seams \fB--play\fP doesn't work well (if at all) after using \fB--next\fP or \fB--seek\fP.
+I think it's mplayer bug (still testing if it's playd bug).
+After you restart playd, everything seams work as expected.
+
+Read \fB--restart\fP
diff -rNu playd.bak/files/playd.sh.in playd/files/playd.sh.in
--- playd.bak/files/playd.sh.in 1970-01-01 03:00:00.000000000 +0300
+++ playd/files/playd.sh.in 2009-12-15 08:40:23.245912178 +0200
@@ -0,0 +1,539 @@
+#!/bin/sh
+# Copyright (c) 2009, Aldis Berjoza <killasmurf86 at gmail.com>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of the nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+# by: killasmurf86
+# e-mail: killasmurf86 at gmail.com
+#
+# playd.sh is sh script that controls mplayer daemon (via pipe)
+# it's easy to use and/or integrate in onther apps
+#
+# I'm using this script in my fvwm2 configuration everywhere where I
+# have to deal with sound
+
+PLAYD_VERSION="1.3.7"
+PLAYD_NAME=`basename $0`
+
+# HOME variable must be defined
+if [ "$HOME" = '' ]; then
+ echo 'ERR: You are homeless. $HOME not defined'
+ exit 1
+fi
+
+PLAYD_HOME=${PLAYD_HOME="$HOME/.mplayer"}
+PLAYD_PIPE="$PLAYD_HOME/playd.fifo"
+PLAYD_PLAYLIST="$PLAYD_HOME/playd_playlist.plst"
+PLAYD_LOCK="$PLAYD_HOME/playd.lock"
+
+# to customize mplayers cmdl set PLAYD_MPLAYER_USER_OPTIONS env variable
+MPLAYER_CMD_GENERIC="${PLAYD_MPLAYER_USER_OPTIONS} -idle -input file=$PLAYD_PIPE"
+#MPLAYER_CMD_GENERIC="${PLAYD_MPLAYER_USER_OPTIONS} -idle -quiet -input file=$PLAYD_PIPE"
+MPLAYER_CMD="mplayer $MPLAYER_CMD_GENERIC"
+MPLAYER_SND_ONLY_CMD="mplayer -vo null $MPLAYER_CMD_GENERIC"
+
+
+# print help
+playd_help() {
+cat << EOF
+$PLAYD_NAME v$PLAYD_VERSION
+by killasmurf86 <killasmurf86 at gmail.com>
+http://code.google.com/p/playd/
+
+$PLAYD_NAME is script to control mplayer in slave mode
+
+Special thanks to DutchDaemon and blah for few lines of sh
+EOF
+}
+
+
+# put argv into pipe
+playd_put() {
+ playd_check
+ if [ $? -gt 0 ]; then
+ echo "$*" >> "$PLAYD_PIPE"
+ return
+ fi
+ echo "ERR: playd doesn't seam to be running"
+ exit 1
+}
+
+
+# check if playd daemon is running and return pid
+# returns 0 if daemon ain't running
+playd_check() {
+ if [ -f "$PLAYD_LOCK" ]; then
+ local pidStored=`cat $PLAYD_LOCK`
+ for pid in `pgrep mplayer`; do
+ if [ "$pid" = "$pidStored" ]; then return "$pidStored"; fi
+ done
+ playd_clean
+ fi
+ return 0
+}
+
+# clean files after playd
+playd_clean() {
+ rm -f "$PLAYD_PLAYLIST.tmp"
+ rm -f "$PLAYD_PIPE"
+ rm -f "$PLAYD_LOCK"
+}
+
+# start daemon
+# possible artguments:
+# console novid (order doesn't matter)
+playd_start() {
+ playd_check
+ if [ $? -eq 0 ]; then
+ if [ ! -p "$PLAYD_PIPE" ]; then
+ mkfifo "$PLAYD_PIPE"
+ if [ $? -gt 0 ]; then
+ echo "ERR: Can't create $PLAYD_HOME"
+ exit 1
+ fi
+ else
+ echo "ERR: There may be another instance of playd running. Run playd --restart"
+ exit 1
+ fi
+ cd /
+ if [ $NOVID -eq 0 ]; then
+ local mplayer_run_cmd="$MPLAYER_CMD"
+ else
+ local mplayer_run_cmd="$MPLAYER_SND_ONLY_CMD"
+ fi
+
+ if [ $CONSOLE -eq 0 ]; then
+ exec ${mplayer_run_cmd} > /dev/null 2> /dev/null &
+ echo "$!" > "$PLAYD_LOCK"
+ else
+ local dbg_pipe="$PLAYD_HOME/playd_debug.pipe"
+ mkfifo "$dbg_pipe"
+ exec ${mplayer_run_cmd} > "$dbg_pipe" 2> "$dbg_pipe" &
+ echo "$!" > "$PLAYD_LOCK"
+ cat "$dbg_pipe"
+ playd_clean
+ exit
+ fi
+ cd -
+ fi
+}
+
+
+# stop playd daemon
+playd_stop() {
+ playd_check
+ if [ $? -gt 0 ]; then
+ playd_put 'quit'
+ if [ $? -gt 0 ]; then
+ sleep 1 # give mplayer 1s to quit
+ playd_check
+ local kill_pid=$?
+ if [ $kill_pid -gt 0 ]; then
+ kill $kill_pid
+ sleep 1
+ playd_check
+ kill_pid=$?
+ if [ $kill_pid -gt 0 ]; then
+ kill -s KILL $kill_pid
+ sleep 1
+ playd_check
+ if [ $? -gt 0 ]; then
+ echo "ERR: can't kill mplayer slave"
+ exit 1
+ fi
+ fi
+ fi
+ fi
+ fi
+ playd_clean
+}
+
+
+## make playlist form directory
+## arguments:
+## $1 - dir to make list
+playd_mk_playlist() {
+ # $1 and $fileName must be double quoted to avoid
+ # problems with filenames that contain speccial characters
+ ls "$1" | while read fileName; do
+ if [ -f "$1/$fileName" ]; then
+ local fname="$1/$fileName"
+ case `echo ${fname##*.} | tr 'QWERTYUIOPASDFGHJKLZXCVBNM' 'qwertyuiopasdfghjklzxcvbnm'` in
+ mp3|flac|ogg|oga|aac|wav|wma|aiff|aifc|m4a|m4b|m4p|m4r|mpga|mka|avi|mkv|vob|mp4|3gp|wmv|mov|divx|dvx|ogm|ogv|ape )
+ echo "$fname" >> "$PLAYD_PLAYLIST.tmp"
+ ;;
+
+ *)
+ case `file -ib "$fname" | tr ' ' '_'` in
+ 'audio'* | 'video'* )
+ echo "$fname" >> "$PLAYD_PLAYLIST.tmp"
+ ;;
+ esac
+ esac
+ elif [ -d "$1/$fileName" ]; then
+ playd_mk_playlist "$1/$fileName"
+ else
+ echo 'ERR: wtf?'
+ echo "file: $1/$fileName"
+ exit 1
+ fi
+ done
+}
+
+
+# playd match takes at least 4 arguments.
+# argument count must be even
+# arg 1 is key we need to find
+# arg 2 is what we return if we don't find key
+#---
+# next argument is what we return when we find key
+# next argument is quoted list of possible keys
+#---
+# etc
+#=======
+# check it's usage in source (especially where we want to set volume)
+playd_match() {
+ if [ $# -ge 4 ]; then
+ if [ `expr $# % 2` -eq 0 ]; then
+ local mkey="$1" # search for key
+ local errVal="$2" # return if not found
+ while [ $# -gt 0 ]; do
+ shift 2
+ for ckey in $2; do
+ if [ "$mkey" = "$ckey" ]; then
+ echo "$1"
+ return
+ fi
+ done
+ done
+ echo "$errVal"
+ else
+ echo 'ERR: playd_match takes even numver of arguments'
+ exit 255
+ fi
+ else
+ echo 'ERR: playd_match takes at least 4 arguments'
+ exit 255
+ fi
+}
+
+# echo full path of file/dir
+# should be use as function
+playd_fullpath() {
+ case "$1" in
+ /* ) echo "$1";;
+ * ) echo "`pwd`/$1";;
+ esac
+}
+
+
+#add entry to playlist
+# arg1 = playlist item
+playd_playlist_add() {
+ playd_start
+ playd_put "loadfile $1 $playd_append"
+ if [ $playd_append -eq 1 ]; then
+ echo "$*" >> "$PLAYD_PLAYLIST"
+ else
+ echo "$*" > "$PLAYD_PLAYLIST"
+ fi
+ playd_append=1
+}
+
+
+
+########################################################################
+
+# checking for mplayer
+if [ ! "$(which mplayer)" ]; then
+ echo 'ERR: mplayer not found'
+ exit 1
+fi
+
+if [ ! -d "$PLAYD_HOME" ]; then
+ mkdir "$PLAYD_HOME"
+ if [ $? -gt 0 ]; then
+ echo "ERR: Can't create $PLAYD_HOME"
+ exit 1
+ fi
+fi
+
+
+if [ $# -eq 0 ]; then
+ playd_help
+fi
+
+CONSOLE=0
+NOVID=0
+
+playd_append=$(playd_match "$1" 0 1 'append --append -a')
+if [ $playd_append -eq 1 ]; then shift; fi
+
+
+# check command line arguments
+while [ $# -gt 0 ]; do
+ case "$1" in
+ 'append' | '--append' | '-a' )
+ echo "WARN: $1 should be 1st argument. Ignoring"
+ ;;
+
+ 'help' | '--help' | '-h')
+ playd_help
+ ;;
+
+ 'stop' | '--stop' | '-q')
+ playd_stop
+ ;;
+
+ 'start' | '--start'
+ | 'restart' | '--restart' | '-R' )
+ if [ $(playd_match "$1" '0' '1' 'restart --restart -R') ]; then playd_stop; fi
+ NOVID=$(playd_match "$2" '0' '1' 'novid --novid')
+ CONSOLE=$(playd_match "$2" '0' '1' 'console --console')
+ shift $(expr $NOVID + $CONSOLE)
+ playd_start ${match1} ${match2}
+ ;;
+
+ 'list' | '--list' | '-l' )
+ cat "$PLAYD_PLAYLIST" | awk '{print "\""$0"\""}' | xargs basename | awk '{print NR,")",$0}'
+ ;;
+
+ '--longlist' | 'longlist' | 'llist' | '--llist' | '-L' )
+ cat "$PLAYD_PLAYLIST" | awk '{print NR,")",$0}'
+ ;;
+
+# seams buggy
+# I think there's mplayer bug
+# after using playd next or playd seek, playd play dosn't work well (if at all)
+ 'play' | '--play' | '-p' )
+ if [ -n $2 -a $2 -gt 0 ]; then
+ playd_start
+ while [ "$2" != '' ]; do
+ if [ -n $2 -a $2 -gt 0 ]; then
+ playd_put `cat $PLAYD_PLAYLIST | awk '{ if (NR == '$2' ) item = $0 } END { print "loadfile " "\""item"\" '$playd_append'"}'`
+ shift
+ else
+ break
+ fi
+ done
+ else
+ echo "WARN: $1 needs numberic agument. Ignoring"
+ fi
+ ;;
+
+ 'playlist' | '--playlist' | '-P' )
+ if [ -f "$2" ]; then
+ playd_start
+ if [ `dirname $(file -ib $2 | tr ' ' '_')` = 'text' ]; then
+ playd_put "loadlist '$2' $playd_append"
+ shift
+ else
+ playd_put "loadlist '$PLAYD_PLAYLIST' $playd_append"
+ fi
+ playd_append=1
+ elif [ -d "$2" ]; then
+ echo "WARN: not playlist '$2'. Ignoring"
+ else
+ playd_start
+ playd_put "loadlist '$PLAYD_PLAYLIST' $playd_append"
+ playd_append=1
+ fi
+ ;;
+
+ 'rmlist' | '--rmlist' )
+ rm -f "$PLAYD_PLAYLIST"
+ ;;
+
+
+ 'seek' | '--seek' | '-s' )
+ if [ -n $2 ]; then
+ match=$(playd_match "$3" 0 2 'abs --absolute absolute' 1 '% --percent percent')
+ playd_put "seek $2 ${match}"
+ if [ $match -ne 0 ]; then shift; fi
+ shift
+ else
+ echo "WARN: $1 needs numberic atgument. Ignoring"
+ fi
+ ;;
+
+ 'next' | '--next' | '-n' )
+ playd_put "seek 100 1"
+ ;;
+
+ 'status' | '--status' )
+ playd_check
+ pid=$?
+ if [ $pid -gt 0 ]; then
+ echo "playd is running. PID: $pid"
+ else
+ echo 'playd is not running'
+ fi
+ ;;
+
+ 'cd' | 'cdda' | '--cd' | '-c'
+ | 'dvd' | '--dvd' | '-d' )
+ media=$(playd_match $1 '0' 'cdda://' 'cd cdda --cd -c' 'dvd://' 'dvd --dvd -d')
+ if [ -n $2 -a $2 -gt 0 ]; then
+ while [ "$2" != '' ]; do
+ if [ -n $2 -a $2 -gt 0 ]; then
+ playd_playlist_add "'${media}$2'"
+ shift
+ else
+ break
+ fi
+ done
+ else
+ playd_playlist_add "'${media}'"
+ fi
+ ;;
+
+ 'cmd' | '--cmd' )
+ if [ "$2" != '' ]; then
+ playd_put "$2"
+ shift
+ else
+ echo "WARN: $1 needs argument to pass to mplayer. Ignoring"
+ fi
+ ;;
+
+ 'nocheck' | '--nocheck' )
+ if [ -f "$2" ]; then
+ playd_playlist_add "'$(playd_fullpath $2)'"
+ shift
+ else
+ echo "WARN: '$2' directory. Skipping"
+ fi
+ ;;
+
+ '--subtitles' | 'subtitles' | '--subs' | 'subs' | '-S' )
+ if [ -f "$2" ]; then
+ playd_put "sub_load '$2'"
+ shift
+ else
+ echo "WARN: '$2' isnt's subtitle file. Skipping"
+ fi
+ ;;
+
+ 'brightness' | '--brightness'
+ | 'contrast' | '--contrast'
+ | 'gamma' | '--gamma'
+ | 'hue' | '--hue'
+ | 'saturation' | '--saturation'
+ | 'volume' | '--volume' | 'vol' | '-V' | '--vol'
+ | '--audio-delay' | 'audio-delay'
+ )
+ if [ -n $2 ]; then
+ match=$(playd_match "$3" 0 1 'abs --absolute absolute')
+ playd_put "$(playd_match \
+ "$1" \
+ "$1" \
+ 'volume' 'vol -V --vol volume --volume' \
+ 'audio_delay' '--audio-delay audio-delay' \
+ | tr -d '-') $2 ${match}"
+ shift $(expr 1 + $match)
+ else
+ echo "WARN: $1 needs at least numberic argument. Ignoring"
+ fi
+ ;;
+
+ 'mute' | '--mute' | '-m'
+ | 'pause' | '--pause' | '-z'
+ | '--switch-audio' | 'switch-audio' | '--sw-audio' | 'sw-audio'
+ | '--switch-subtitles' | 'switch-subtitles' | '--sw-subs' | 'sw-subs'
+ )
+ playd_put "$(playd_match \
+ "$1" \
+ "$1" \
+ 'mute' 'mute --mute -m' \
+ 'pause' 'pause --pause -z' \
+ 'switch_audio' '--switch-audio switch-track --sw-audio sw-audio' \
+ 'sub_select' '--switch-subtitles switch-subtitles --sw-subs sw-subs' \
+ | tr -d '-' )"
+ ;;
+
+ *'://'* )
+ playd_playlist_add "$1"
+ ;;
+
+ 'file' | '--file' | '-f' | * )
+ if [ $(playd_match "$1" 0 1 'file --file -f') -eq 1 ]; then shift; fi
+
+
+ if [ -f "$1" -o -d "$1" ]; then
+ isPlayable=0
+ playd_start
+ fileName=$(playd_fullpath $1)
+
+ case `echo ${1##*.} | tr 'QWERTYUIOPASDFGHJKLZXCVBNM' 'qwertyuiopasdfghjklzxcvbnm'` in
+ mp3|flac|ogg|oga|aac|wav|wma|aiff|aifc|m4a|m4b|m4p|m4r|mpga|mka|avi|mkv|vob|mp4|3gp|wmv|mov|divx|dvx|ogm|ogv )
+ isPlayable=1
+ ;;
+
+ *)
+ case `file -ib "$fileName" | tr ' ' '_'` in
+ 'audio'* | 'video'* )
+ isPlayable=1
+ ;;
+
+ 'application/x-directory'* )
+ rm -f "$PLAYD_PLAYLIST.tmp"
+ playd_mk_playlist "$fileName"
+ playd_put "loadlist '$PLAYD_PLAYLIST.tmp' $playd_append"
+ if [ $playd_append -eq 1 ]; then
+ cat "$PLAYD_PLAYLIST.tmp" >> "$PLAYD_PLAYLIST"
+ else
+ cat "$PLAYD_PLAYLIST.tmp" > "$PLAYD_PLAYLIST"
+ playd_append=1
+ fi
+ ;;
+
+ *)
+ echo "WARN: '$fileName' doesn't seam to be vailid file for playback"
+ echo "WARN: to override use:"
+ echo " playd --nocheck $fileName"
+ ;;
+ esac
+ ;;
+ esac
+
+ if [ $isPlayable -eq 1 ]; then
+ playd_playlist_add "'$fileName'"
+ fi
+
+ else
+ echo "WARN: not a file/directory: '$1'"
+ fi
+ ;;
+
+ esac
+
+ shift
+done
+
+exit 0
+
diff -rNu playd.bak/pkg-descr playd/pkg-descr
--- playd.bak/pkg-descr 2009-07-20 01:17:45.000000000 +0300
+++ playd/pkg-descr 2009-12-15 08:56:17.707231424 +0200
@@ -4,7 +4,7 @@
player because playd supports playlists. It is easy to integrate
playd into a window manager menu (e.g. FVWM).
-WWW: http://code.google.com/p/playd/
+WWW: http://github.com/killasmurf86/playd
-- Aldis Berjoza
<killasmurf86 at gmail.com>
--- playd.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list