--- a/src/ohvolume.cxx
+++ b/src/ohvolume.cxx
@@ -17,21 +17,21 @@
#include "ohvolume.hxx"
-#include <upnp/upnp.h> // for UPNP_E_SUCCESS, etc
-
-#include <functional> // for _Bind, bind, _1, _2
-#include <iostream> // for endl
-#include <string> // for string
-#include <unordered_map> // for unordered_map, etc
-#include <utility> // for pair
-#include <vector> // for vector
-
-#include "libupnpp/log.hxx" // for LOGDEB
-#include "libupnpp/soaphelp.hxx" // for SoapOutgoing, SoapIncoming, i2s
-
-#include "upmpd.hxx" // for UpMpd
-#include "upmpdutils.hxx" // for diffmaps
-#include "renderctl.hxx" // for UpMpdRenderCtl
+#include <upnp/upnp.h>
+
+#include <functional>
+#include <iostream>
+#include <string>
+#include <unordered_map>
+#include <utility>
+#include <vector>
+
+#include "libupnpp/log.hxx"
+#include "libupnpp/soaphelp.hxx"
+
+#include "upmpd.hxx"
+#include "upmpdutils.hxx"
+#include "renderctl.hxx"
using namespace std;
using namespace std::placeholders;
@@ -60,6 +60,23 @@
bind(&OHVolume::mute, this, _1, _2));
dev->addActionMapping(this,"SetMute",
bind(&OHVolume::setMute, this, _1, _2));
+ dev->addActionMapping(this,"SetBalance",
+ bind(&OHVolume::setBalance, this, _1, _2));
+ dev->addActionMapping(this,"Balance",
+ bind(&OHVolume::balance, this, _1, _2));
+ dev->addActionMapping(this,"BalanceInc",
+ bind(&OHVolume::balanceInc, this, _1, _2));
+ dev->addActionMapping(this,"BalanceDec",
+ bind(&OHVolume::balanceDec, this, _1, _2));
+ dev->addActionMapping(this,"SetFade",
+ bind(&OHVolume::setFade, this, _1, _2));
+ dev->addActionMapping(this,"Fade",
+ bind(&OHVolume::fade, this, _1, _2));
+ dev->addActionMapping(this,"FadeInc",
+ bind(&OHVolume::fadeInc, this, _1, _2));
+ dev->addActionMapping(this,"FadeDec",
+ bind(&OHVolume::fadeDec, this, _1, _2));
+
}
bool OHVolume::makestate(unordered_map<string, string> &st)
@@ -70,7 +87,7 @@
st["VolumeLimit"] = "100";
st["VolumeUnity"] = "100";
st["VolumeSteps"] = "100";
- st["VolumeMilliDbPerSteps"] = millidbperstep;
+ st["VolumeMilliDbPerStep"] = millidbperstep;
st["Balance"] = "0";
st["BalanceMax"] = "0";
st["Fade"] = "0";
@@ -159,3 +176,62 @@
data.addarg("Value", "100");
return UPNP_E_SUCCESS;
}
+
+int OHVolume::balance(const SoapIncoming& sc, SoapOutgoing& data)
+{
+ LOGDEB("OHVolume::balance" << endl);
+ data.addarg("Value", SoapHelp::i2s(0));
+ return UPNP_E_SUCCESS;
+}
+
+int OHVolume::setBalance(const SoapIncoming& sc, SoapOutgoing& data)
+{
+ LOGDEB("OHVolume::setBalance" << endl);
+ int balance;
+ if (!sc.get("Value", &balance) || balance != 0) {
+ return UPNP_E_INVALID_PARAM;
+ }
+ return UPNP_E_SUCCESS;
+}
+
+int OHVolume::balanceInc(const SoapIncoming& sc, SoapOutgoing& data)
+{
+ LOGDEB("OHVolume::balanceInc" << endl);
+ return UPNP_E_SUCCESS;
+}
+
+int OHVolume::balanceDec(const SoapIncoming& sc, SoapOutgoing& data)
+{
+ LOGDEB("OHVolume::balanceDec" << endl);
+ return UPNP_E_SUCCESS;
+}
+
+
+int OHVolume::fade(const SoapIncoming& sc, SoapOutgoing& data)
+{
+ LOGDEB("OHVolume::fade" << endl);
+ data.addarg("Value", SoapHelp::i2s(0));
+ return UPNP_E_SUCCESS;
+}
+
+int OHVolume::setFade(const SoapIncoming& sc, SoapOutgoing& data)
+{
+ LOGDEB("OHVolume::setFade" << endl);
+ int fade;
+ if (!sc.get("Value", &fade) || fade != 0) {
+ return UPNP_E_INVALID_PARAM;
+ }
+ return UPNP_E_SUCCESS;
+}
+
+int OHVolume::fadeInc(const SoapIncoming& sc, SoapOutgoing& data)
+{
+ LOGDEB("OHVolume::fadeInc" << endl);
+ return UPNP_E_SUCCESS;
+}
+
+int OHVolume::fadeDec(const SoapIncoming& sc, SoapOutgoing& data)
+{
+ LOGDEB("OHVolume::fadeDec" << endl);
+ return UPNP_E_SUCCESS;
+}