3 import std
.path
: absolutePath
;
11 void main (string
[] args
) {
12 if (args
.length
< 2) {
14 "usage: ampercli command [args]\n",
25 //amperRPCall!amperScanDir("/home/www/dox/muzax/irij/flac/2006_rusalka");
26 for (usize aidx
= 1; aidx
< args
.length
; ) {
27 string cmd
= args
[aidx
++];
30 if (aidx
>= args
.length
) assert(0, "no argument for command '"~cmd
~"'");
31 amperRPCall
!amperScanDir(absolutePath(args
[aidx
++]), true);
34 if (aidx
>= args
.length
) assert(0, "no argument for command '"~cmd
~"'");
35 amperRPCall
!amperScanDir(absolutePath(args
[aidx
++]), false);
37 case "play": amperRPCall
!amperPlay(); break;
38 case "stop": amperRPCall
!amperStop(); break;
39 case "pause": amperRPCall
!amperTogglePause(); break;
40 case "clear": amperRPCall
!amperClearPlaylist(); break;
42 if (cmd
.length
&& cmd
[0] == '+') {
43 string command
= cmd
[1..$];
44 while (aidx
< args
.length
) {
45 string s
= args
[aidx
++];
46 if (s
.length
== 0) continue;
47 if (command
.length
&& command
[$-1] > ' ') command
~= ' ';
50 amperRPCall
!amperConsoleCommand(command
);
55 amperRPCall
!amperClearPlaylist();
57 while (aidx
< args
.length
) amperRPCall
!amperScanDir(absolutePath(args
[aidx
++]), true);
58 amperRPCall
!amperPlay();
61 assert(0, "invalid command: '"~cmd
~"'");