Index: head/audio/cplay/Makefile =================================================================== --- head/audio/cplay/Makefile (revision 401852) +++ head/audio/cplay/Makefile (revision 401853) @@ -1,28 +1,30 @@ # Created by: Jochem Kossen # $FreeBSD$ PORTNAME= cplay PORTVERSION= 1.49 PORTREVISION= 5 CATEGORIES= audio MASTER_SITES= DEBIAN DISTFILES= ${DISTNAME:S/-/_/}.orig${EXTRACT_SUFX} MAINTAINER= ports@FreeBSD.org COMMENT= Curses-based front-end for various audio players LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/LICENSE USES= gettext gmake python:2 MAKE_ARGS= PREFIX="${STAGEDIR}${PREFIX}" +NO_ARCH= yes PORTDOCS= README OPTIONS_DEFINE= DOCS -post-install: +post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/${PORTDOCS} ${STAGEDIR}${DOCSDIR} .include Index: head/audio/cplay/files/patch-Makefile =================================================================== --- head/audio/cplay/files/patch-Makefile (revision 401852) +++ head/audio/cplay/files/patch-Makefile (revision 401853) @@ -1,11 +1,11 @@ ---- Makefile.bak Sun Dec 28 15:51:04 2003 -+++ Makefile Sun Dec 28 15:51:44 2003 -@@ -14,7 +14,7 @@ +--- Makefile.orig 2003-08-28 12:22:48 UTC ++++ Makefile +@@ -14,7 +14,7 @@ clean: recursive-clean recursive-all recursive-install recursive-clean: @target=$@; \ for i in $(SUBDIRS); do \ - (cd $$i && make $(ENV) $${target#recursive-}); \ + (cd $$i && $(MAKE) $(ENV) $${target#recursive-}); \ done cplayrc: cplay Index: head/audio/cplay/files/patch-cplay =================================================================== --- head/audio/cplay/files/patch-cplay (revision 401852) +++ head/audio/cplay/files/patch-cplay (revision 401853) @@ -1,135 +1,132 @@ - ---- cplay.orig 2003-12-05 09:20:56.000000000 +0100 -+++ cplay 2008-03-27 00:36:13.000000000 +0100 -@@ -63,7 +63,7 @@ +--- cplay.orig 2003-12-05 08:20:56 UTC ++++ cplay +@@ -63,7 +63,7 @@ except: # ------------------------------------------ XTERM = re.search("rxvt|xterm", os.environ["TERM"]) -CONTROL_FIFO = "/var/tmp/cplay_control" +CONTROL_FIFO = "%s/cplay-control-%s" % (os.environ.get("TMPDIR", "/tmp"), os.environ["USER"]) # ------------------------------------------ def which(program): -@@ -906,11 +906,20 @@ +@@ -906,11 +906,20 @@ class PlaylistWindow(TagListWindow): def command_change_viewpoint(self, klass=PlaylistEntry): if not globals().get("ID3"): + global ID3, ogg, codecs + have_meta = 0 try: - global ID3, ogg, codecs - import ID3, ogg.vorbis, codecs + import ID3 + have_meta = 1 + except ImportError: + pass + try: + import ogg.vorbis, codecs + have_meta = 1 + except ImportError: + pass + if have_meta: klass.vps.append([_("metadata"), klass.vp_metadata]) - except ImportError: pass TagListWindow.command_change_viewpoint(self, klass) def get_title(self): -@@ -962,9 +971,11 @@ +@@ -962,9 +971,11 @@ class PlaylistWindow(TagListWindow): try: if os.path.isdir(pathname): app.status(_("Working...")) - self.add_dir(pathname) + self.add_dir(os.path.abspath(pathname)) elif VALID_PLAYLIST(pathname): self.add_playlist(pathname) + elif os.path.isfile(pathname): + self.append(PlaylistEntry(os.path.abspath(pathname))) else: pathname = self.fix_url(pathname) self.append(PlaylistEntry(pathname)) -@@ -1301,6 +1312,17 @@ +@@ -1301,6 +1312,17 @@ class TimeOffsetPlayer(Player): self.set_position(head, head+tail, [head, tail]) # ------------------------------------------ +class MplayerOffsetPlayer(Player): + re_progress = re.compile("(\d+).*\sof (\d+)") + + def parse_buf(self): + match = self.re_progress.search(self.buf) + if match: + s1, s2 = map(string.atoi, match.groups()) + head, tail = s1, s2-s1 + self.set_position(head, head+tail, [head,tail]) + +# ------------------------------------------ class NoOffsetPlayer(Player): def parse_buf(self): -@@ -1334,8 +1356,6 @@ +@@ -1334,8 +1356,6 @@ class Timeout: # ------------------------------------------ class FIFOControl: def __init__(self): - try: self.fd = open(CONTROL_FIFO, "rb+", 0) - except: self.fd = None self.commands = {"pause" : app.toggle_pause, "next" : app.next_song, "prev" : app.prev_song, -@@ -1346,6 +1366,15 @@ +@@ -1346,6 +1366,15 @@ class FIFOControl: "volup" : app.inc_volume, "voldown" : app.dec_volume, "quit" : app.quit} + self.fd = None + try: + if os.path.exists(CONTROL_FIFO): + os.unlink(CONTROL_FIFO) + os.mkfifo(CONTROL_FIFO, 0600) + self.fd = open(CONTROL_FIFO, "rb+", 0) + except IOError: + # warn that we're disabling the fifo because someone raced us? + return def handle_command(self): command = string.strip(self.fd.readline()) -@@ -1419,6 +1448,11 @@ +@@ -1419,6 +1448,11 @@ class Application: XTERM and sys.stderr.write("\033]0;%s\a" % "xterm") tty and tty.tcsetattr(sys.stdin.fileno(), tty.TCSADRAIN, self.tcattr) print + # remove temporary files + try: + if os.path.exists(CONTROL_FIFO): os.unlink(CONTROL_FIFO) + except IOError: + pass def run(self): while 1: -@@ -1615,7 +1649,7 @@ +@@ -1615,7 +1649,7 @@ def main(): if opt == "-v": app.mixer("toggle") if args or playlist: for i in args or playlist: - app.win_playlist.add(os.path.abspath(i)) + app.win_playlist.add(i) app.win_tab.change_window() app.run() except SystemExit: -@@ -1627,15 +1661,17 @@ +@@ -1627,15 +1661,17 @@ def main(): # ------------------------------------------ PLAYERS = [ - FrameOffsetPlayer("ogg123 -q -v -k %d %s", "\.ogg$"), + FrameOffsetPlayer("ogg123 -q -v -k %d %s", "\.(ogg|flac)$"), FrameOffsetPlayer("splay -f -k %d %s", "(^http://|\.mp[123]$)", 38.28), FrameOffsetPlayer("mpg123 -q -v -k %d %s", "(^http://|\.mp[123]$)", 38.28), FrameOffsetPlayer("mpg321 -q -v -k %d %s", "(^http://|\.mp[123]$)", 38.28), TimeOffsetPlayer("madplay -v --display-time=remaining -s %d %s", "\.mp[123]$"), + MplayerOffsetPlayer("mplayer -vo null -noconsolecontrols -ss %d %s", "\.(mp[123]|ogg|flac|wav|aiff|wma)$"), NoOffsetPlayer("mikmod -q -p0 %s", "\.(mod|xm|fm|s3m|med|col|669|it|mtm)$"), NoOffsetPlayer("xmp -q %s", "\.(mod|xm|fm|s3m|med|col|669|it|mtm|stm)$"), NoOffsetPlayer("play %s", "\.(aiff|au|cdr|mp3|ogg|wav)$"), - NoOffsetPlayer("speexdec %s", "\.spx$") + NoOffsetPlayer("speexdec %s", "\.spx$"), + NoOffsetPlayer("mplayer -noconsolecontrols -playlist %s", "\.(ram|pls|asx)$") ] def VALID_SONG(name): - -