summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian C. (anrxc) <anrxc@sysphere.org>2010-10-20 02:46:59 +0200
committerAdrian C. (anrxc) <anrxc@sysphere.org>2010-10-20 02:46:59 +0200
commite5a9615bcacd7e77c89e223fd9c2623b49d6cd21 (patch)
treec122eed226ed3577c4432e3721fa37829a7c82b9
parent637af57205f76584913163341fd8d094f50bd27d (diff)
downloadplay-e5a9615bcacd7e77c89e223fd9c2623b49d6cd21.tar.xz
play: added basic MPlayer support from dplay
-rwxr-xr-x[-rw-r--r--]play14
1 files changed, 13 insertions, 1 deletions
diff --git a/play b/play
index eb9634f..a4b6f4c 100644..100755
--- a/play
+++ b/play
@@ -1324,6 +1324,17 @@ class TimeOffsetPlayer(Player):
self.set_position(head, head+tail, [head, tail])
# ------------------------------------------
+class TimeOffsetPlayerMplayer(Player):
+ re_progress = re.compile("^A:.*?(\d+)\.\d \([^)]+\) of (\d+)\.\d")
+
+ def parse_buf(self):
+ match = self.re_progress.search(self.buf)
+ if match:
+ curS, totS = map(string.atoi, match.groups())
+ position, length = curS, totS
+ self.set_position(position, length, [position, length])
+
+# ------------------------------------------
class NoOffsetPlayer(Player):
def parse_buf(self):
@@ -1695,7 +1706,8 @@ PLAYERS = [
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$"),
+ TimeOffsetPlayerMplayer("mplayer %s", "^http://|\.(mp[123]|m4a|ogg|flac|spx|mp[cp+]|mod|xm|fm|s3m|med|col|669|it|mtm|stm|aiff|au|cdr|wav|wma)$")
]
MACRO = {}