--- a/scctl_src/scctl.cpp
+++ b/scctl_src/scctl.cpp
@@ -70,6 +70,8 @@
#define OPT_r 0x80
#define OPT_s 0x100
#define OPT_x 0x200
+#define OPT_i 0x400
+#define OPT_I 0x800
static const string sep("||");
@@ -124,6 +126,8 @@
" -m : for above modes: use parseable format\n"
"For the following options the renderers can be designated by their \n"
"uid (safer) or friendly name\n"
+" -i <renderer> i : set source index\n"
+" -I <renderer> name : set source index by name\n"
" -s <master> <slave> [slave ...] : Set up the slaves renderers as Songcast\n"
" Receivers and make them play from the same uri as the master receiver\n"
" -x <renderer> [renderer ...] Reset renderers from Songcast to Playlist\n"
@@ -157,7 +161,7 @@
thisprog = argv[0];
int ret;
- while ((ret = getopt(argc, argv, "fhmLlrsSx")) != -1) {
+ while ((ret = getopt(argc, argv, "fhmLlrsSxiI")) != -1) {
switch (ret) {
case 'f': op_flags |= OPT_f; break;
case 'h': Usage(stdout); break;
@@ -182,6 +186,12 @@
case 'x':
op_flags |= OPT_x;
break;
+ case 'i':
+ op_flags |= OPT_i;
+ break;
+ case 'I':
+ op_flags |= OPT_I;
+ break;
default: Usage();
}
}
@@ -239,6 +249,14 @@
if (args.size() < 1)
Usage();
stopReceivers(args);
+ } else if ((op_flags & OPT_i)) {
+ if (args.size() < 2)
+ Usage();
+ setSourceIndex(args[0], std::stoi(args[1]));
+ } else if ((op_flags & OPT_I)) {
+ if (args.size() < 2)
+ Usage();
+ setSourceIndexByName(args[0], args[1]);
} else if ((op_flags & OPT_S)) {
exit(runserver());
} else {