Switch to side-by-side view

--- a/src/mediaserver/cdplugins/plgwithslave.cxx
+++ b/src/mediaserver/cdplugins/plgwithslave.cxx
@@ -230,6 +230,11 @@
         return false;
     }
     return true;
+}
+
+bool PlgWithSlave::startInit()
+{
+    return m && m->maybeStartCmd();
 }
 
 // Translate the slave-generated HTTP URL (based on the trackid), to
@@ -520,19 +525,26 @@
         return errorEntries(objid, entries);
     }
 
-    auto it = res.find("entries");
-    if (it == res.end()) {
+    auto ite = res.find("entries");
+    if (ite == res.end()) {
         LOGERR("PlgWithSlave::browse: no entries returned\n");
         return errorEntries(objid, entries);
     }
+    bool nocache = false;
+    auto itc = res.find("nocache");
+    if (itc != res.end()) {
+        nocache = stringToBool(itc->second);
+    }
 
     if (flg == CDPlugin::BFChildren) {
         ContentCacheEntry e;
-        resultToEntries(it->second, 0, 0, e.m_results);
-        o_bcache.set(cachekey, e);
+        resultToEntries(ite->second, 0, 0, e.m_results);
+        if (!nocache) {
+            o_bcache.set(cachekey, e);
+        }
         return e.toResult("", stidx, cnt, entries);
     } else {
-        return resultToEntries(it->second, stidx, cnt, entries);
+        return resultToEntries(ite->second, stidx, cnt, entries);
     }
 }
 
@@ -639,14 +651,21 @@
         return errorEntries(ctid, entries);
     }
 
-    auto it = res.find("entries");
-    if (it == res.end()) {
+    auto ite = res.find("entries");
+    if (ite == res.end()) {
         LOGERR("PlgWithSlave::search: no entries returned\n");
         return errorEntries(ctid, entries);
     }
+    bool nocache = false;
+    auto itc = res.find("nocache");
+    if (itc != res.end()) {
+        nocache = stringToBool(itc->second);
+    }
     // Convert the whole set and store in cache
     ContentCacheEntry e;
-    resultToEntries(it->second, 0, 0, e.m_results);
-    o_scache.set(cachekey, e);
+    resultToEntries(ite->second, 0, 0, e.m_results);
+    if (!nocache) {
+        o_scache.set(cachekey, e);
+    }
     return e.toResult(classfilter, stidx, cnt, entries);
 }