Mercurial > vixm
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 |
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 |