--- a/src/ohproduct.cxx
+++ b/src/ohproduct.cxx
@@ -268,12 +268,15 @@
if (!curnm.compare("Playlist") && m_dev->m_ohpl) {
LOGDEB("OHProduct::iSetSourceIndex: stopping OHPL\n");
m_dev->m_ohpl->iStop();
+ m_dev->m_ohpl->setActive(false);
} else if (!curnm.compare("Receiver") && m_dev->m_ohrcv) {
LOGDEB("OHProduct::iSetSourceIndex: stopping Receiver\n");
m_dev->m_ohrcv->iStop();
+ m_dev->m_ohrcv->setActive(false);
} else if (!curnm.compare("Radio") && m_dev->m_ohrd) {
LOGDEB("OHProduct::iSetSourceIndex: stopping Radio\n");
m_dev->m_ohrd->iStop();
+ m_dev->m_ohrd->setActive(false);
} else if (!curnm.compare("SenderReceiver") && m_dev->m_sndrcv) {
LOGDEB("OHProduct::iSetSourceIndex: stopping Sender/Receiver\n");
m_dev->m_sndrcv->stop();
@@ -281,9 +284,15 @@
string newnm = o_sources[sindex].second;
if (!newnm.compare("Playlist")) {
+ m_dev->m_ohpl->setActive(true);
} else if (!newnm.compare("Receiver")) {
+ m_dev->m_ohrcv->setActive(true);
+ } else if (!newnm.compare("Radio")) {
+ m_dev->m_ohrd->setActive(true);
} else if (!newnm.compare("SenderReceiver")) {
m_dev->m_sndrcv->start(savedms);
+ // Events are generated by playlist
+ m_dev->m_ohpl->setActive(true);
}
m_sourceIndex = sindex;