annotate vixm/control.py @ 32:f97eb9f0c207 master

Add random song selection for default queue
author Josef "Jeff" Sipek <jeffpc@josefsipek.net>
date Fri, 03 Nov 2006 23:26:35 -0500
parents 860c891de6bb
children 8028f2addb00
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
21
dfcf1a46fc56 Added GPLv2 file & copyright headers
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 20
diff changeset
1 # control.py - user interface command functions
dfcf1a46fc56 Added GPLv2 file & copyright headers
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 20
diff changeset
2 #
dfcf1a46fc56 Added GPLv2 file & copyright headers
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 20
diff changeset
3 # Copyright (C) 2006 Josef "Jeff" Sipek <jeffpc@josefsipek.net>
dfcf1a46fc56 Added GPLv2 file & copyright headers
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 20
diff changeset
4 #
dfcf1a46fc56 Added GPLv2 file & copyright headers
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 20
diff changeset
5 # This program is free software; you can redistribute it and/or modify
dfcf1a46fc56 Added GPLv2 file & copyright headers
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 20
diff changeset
6 # it under the terms of the GNU General Public License version 2 as
dfcf1a46fc56 Added GPLv2 file & copyright headers
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 20
diff changeset
7 # published by the Free Software Foundation.
dfcf1a46fc56 Added GPLv2 file & copyright headers
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 20
diff changeset
8
19
a3385f616b53 Implemented the run shell command command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 17
diff changeset
9 import os, xmms
17
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
10
12
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
11 import playlist, util
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
12
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
13 def cmd_quit(ui, start, stop, args):
20
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
14 """q[!]
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
15 - quit
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
16 Quits the program. The optional '!' forces the termination
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
17 regardless of any unsaved work"""
30
860c891de6bb Remove lots of xmms-related code & get ready to make the whole program a
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 24
diff changeset
18 ui.play.shutdown = True
12
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
19
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
20 def cmd_number(ui, start, stop, args):
20
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
21 """[range]n [playlistid]
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
22 - print the addressed lines
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
23 The lines are printed along with the line/song numbers. See also: 'l'"""
12
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
24 do_list(ui, start, stop, True, args)
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
25
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
26 def cmd_list(ui, start, stop, args):
20
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
27 """[range]l [playlistid]
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
28 - print the addressed lines
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
29 See also: 'n'"""
12
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
30 do_list(ui, start, stop, False, args)
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
31
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
32 def cmd_enqueue(ui, start, stop, args):
20
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
33 """a [songid]
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
34 - appends/enqueues a song
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
35 A song at songid position in LIST_DEFAULT is appended to the end of
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
36 the LIST_PRIO playlist. Duplicates are _NOT_ eliminated."""
12
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
37 try:
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
38 id = int(args[0])-1
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
39
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
40 if (id < 0) or \
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
41 (id >= len(ui.lists[playlist.LIST_DEFAULT])):
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
42 raise ValueError
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
43
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
44 except ValueError:
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
45 print "Invalid song id"
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
46 return
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
47
16
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
48 s = ui.lists[playlist.LIST_DEFAULT][id]
30
860c891de6bb Remove lots of xmms-related code & get ready to make the whole program a
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 24
diff changeset
49 print "Enqueuing song: %s (%s)" % (str(s), util.strtime(s["time"]))
16
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
50 ui.lists[playlist.LIST_PRIO].enqueue(s)
12
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
51
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
52 def cmd_dequeue(ui, start, stop, args):
20
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
53 """[range]d
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
54 - delete/dequeue addressed songs
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
55 Songs in range are removed from the LIST_PRIO playlist. They still
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
56 remain in the LIST_DEFAULT at their original locations."""
16
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
57 l = ui.lists[playlist.LIST_PRIO]
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
58
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
59 max = len(l)
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
60 if not max:
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
61 return
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
62
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
63 start = util.fixupint(start, max)
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
64 stop = util.fixupint(stop, max)
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
65
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
66 for i in range(start-1, stop):
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
67 s = l[start-1]
30
860c891de6bb Remove lots of xmms-related code & get ready to make the whole program a
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 24
diff changeset
68 print "Dequeuing song: %s (%s)" % (str(s),
16
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
69 util.strtime(s["time"]))
447b47ab396f Implemented dequeue the proper way; Cleaned up stupidity in enqueue code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 13
diff changeset
70 l.dequeue(s)
12
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
71
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
72 def cmd_help(ui, start, stop, args):
20
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
73 """h
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
74 - this help screen"""
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
75 keys = args[0].keys()
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
76 keys.sort()
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
77 for c in keys:
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
78 text = args[0][c][0].__doc__.split("\n")[0:2]
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
79 text = "\n".join(text)
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
80 print " %s" % (text,)
12
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
81
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
82 def do_list(ui, start, stop, number, args):
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
83 # get the list id from the argument or default to
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
84 # LIST_PRIO
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
85 try:
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
86 if args[1]:
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
87 listid = int(args[1])
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
88 else:
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
89 listid = playlist.LIST_PRIO
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
90
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
91 if listid < 0 or listid >= len(ui.lists):
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
92 raise ValueError
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
93 except ValueError, e:
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
94 print "Invalid list number"
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
95 raise e
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
96
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
97 max = len(ui.lists[listid])
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
98 if not max:
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
99 return
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
100
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
101 start = util.fixupint(start, max)
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
102 stop = util.fixupint(stop, max)
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
103
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
104 # starting number should be less than the ending
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
105 # number, as well as positive; ending number should
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
106 # be less than or equal to the size of the playlist
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
107 if start > stop or \
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
108 start < 1 or \
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
109 stop > max:
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
110 raise ValueError
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
111
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
112 i = 1
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
113 pfx = ""
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
114 for s in ui.lists[listid]:
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
115 if i < start or i > stop:
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
116 i += 1
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
117 continue
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
118
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
119 if number:
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
120 pfx = "%d. " % (i,)
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
121
30
860c891de6bb Remove lots of xmms-related code & get ready to make the whole program a
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 24
diff changeset
122 print "%s%s (%s)" % (pfx, str(s),
12
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
123 util.strtime(s["time"]))
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
124 i += 1
b5370c42288b Code refactoring & implemented help command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
125
17
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
126 def cmd_play(ui, start, stop, args):
20
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
127 """x
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
128 - Direct XMMS control: play"""
17
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
129 xmms.control.play()
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
130
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
131 def cmd_pause(ui, start, stop, args):
20
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
132 """c
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
133 - Direct XMMS control: pause"""
17
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
134 xmms.control.pause()
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
135
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
136 def cmd_stop(ui, start, stop, args):
20
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
137 """v
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
138 - Direct XMMS control: stop"""
17
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
139 xmms.control.stop()
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
140
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
141 def cmd_prev(ui, start, stop, args):
20
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
142 """z
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
143 - Direct XMMS control: previous song"""
17
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
144 xmms.control.playlist_prev()
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
145
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
146 def cmd_next(ui, start, stop, args):
20
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
147 """b
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
148 - Direct XMMS control: next song"""
17
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
149 xmms.control.playlist_next()
1c769ae67af4 Implemented the zxcvb xmms controls
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 16
diff changeset
150
19
a3385f616b53 Implemented the run shell command command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 17
diff changeset
151 def cmd_shell(ui, start, stop, args):
20
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
152 """![command]
f39963e96ca1 Rework of the help string code
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 19
diff changeset
153 - Execute a shell command"""
19
a3385f616b53 Implemented the run shell command command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 17
diff changeset
154 if args[0]:
a3385f616b53 Implemented the run shell command command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 17
diff changeset
155 os.system(args[0])
a3385f616b53 Implemented the run shell command command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 17
diff changeset
156 print "!"
a3385f616b53 Implemented the run shell command command
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 17
diff changeset
157
23
2efd6bbb1694 Implemented location command ('=')
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 21
diff changeset
158 def cmd_location(ui, start, stop, args):
2efd6bbb1694 Implemented location command ('=')
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 21
diff changeset
159 """=
2efd6bbb1694 Implemented location command ('=')
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 21
diff changeset
160 - Display information about currently playing song"""
2efd6bbb1694 Implemented location command ('=')
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 21
diff changeset
161 pos = xmms.control.get_playlist_pos()
2efd6bbb1694 Implemented location command ('=')
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 21
diff changeset
162 current = ui.lists[playlist.LIST_DEFAULT][pos]
2efd6bbb1694 Implemented location command ('=')
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 21
diff changeset
163
30
860c891de6bb Remove lots of xmms-related code & get ready to make the whole program a
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 24
diff changeset
164 print "%d. %s (%s/%s)" % (pos+1, str(current),
24
fa1fc0c70205 Print the current time as well as total time for track
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 23
diff changeset
165 util.strtime(xmms.control.get_output_time()),
23
2efd6bbb1694 Implemented location command ('=')
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 21
diff changeset
166 util.strtime(current["time"]))
2efd6bbb1694 Implemented location command ('=')
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents: 21
diff changeset
167