diff --git a/plugins/dmxusb/src/nanodmx.cpp b/plugins/dmxusb/src/nanodmx.cpp index 1575b86964..9f1fd7f890 100644 --- a/plugins/dmxusb/src/nanodmx.cpp +++ b/plugins/dmxusb/src/nanodmx.cpp @@ -251,7 +251,7 @@ QString NanoDMX::additionalInfo() const * Write universe data ****************************************************************************/ -bool NanoDMX::writeUniverse(quint32 universe, quint32 output, const QByteArray& data) +bool NanoDMX::writeUniverse(quint32 universe, quint32 output, const QByteArray& data, bool dataChanged) { Q_UNUSED(universe) Q_UNUSED(output) @@ -267,8 +267,12 @@ bool NanoDMX::writeUniverse(quint32 universe, quint32 output, const QByteArray& //qDebug() << "Writing universe..."; if (m_outputLines[0].m_universeData.size() == 0) + { m_outputLines[0].m_universeData.append(data); - else + m_outputLines[0].m_universeData.append(DMX_CHANNELS - data.size(), 0); + } + + if (dataChanged) m_outputLines[0].m_universeData.replace(0, data.size(), data); return true; diff --git a/plugins/dmxusb/src/nanodmx.h b/plugins/dmxusb/src/nanodmx.h index 55056420b9..e715d84571 100644 --- a/plugins/dmxusb/src/nanodmx.h +++ b/plugins/dmxusb/src/nanodmx.h @@ -53,7 +53,7 @@ class NanoDMX : public QThread, public DMXUSBWidget QString additionalInfo() const; /** @reimp */ - bool writeUniverse(quint32 universe, quint32 output, const QByteArray& data); + bool writeUniverse(quint32 universe, quint32 output, const QByteArray& data, bool dataChanged); protected: /** Stop the writer thread */ diff --git a/plugins/peperoni/unix/peperoni.cpp b/plugins/peperoni/unix/peperoni.cpp index 6fcebe37cc..c3c01a7927 100644 --- a/plugins/peperoni/unix/peperoni.cpp +++ b/plugins/peperoni/unix/peperoni.cpp @@ -125,9 +125,10 @@ QString Peperoni::outputInfo(quint32 output) return str; } -void Peperoni::writeUniverse(quint32 universe, quint32 output, const QByteArray &data) +void Peperoni::writeUniverse(quint32 universe, quint32 output, const QByteArray &data, bool dataChanged) { Q_UNUSED(universe) + Q_UNUSED(dataChanged) if (m_devices.contains(output) == false) return; diff --git a/plugins/peperoni/unix/peperoni.h b/plugins/peperoni/unix/peperoni.h index 34fabe1d13..f79f216aa2 100644 --- a/plugins/peperoni/unix/peperoni.h +++ b/plugins/peperoni/unix/peperoni.h @@ -75,7 +75,7 @@ class Peperoni : public QLCIOPlugin QString outputInfo(quint32 output); /** @reimp */ - void writeUniverse(quint32 universe, quint32 output, const QByteArray& data); + void writeUniverse(quint32 universe, quint32 output, const QByteArray& data, bool dataChanged); /************************************************************************* * Inputs diff --git a/plugins/peperoni/win32/peperoni.cpp b/plugins/peperoni/win32/peperoni.cpp index 4e25ab8f77..495754ec0b 100644 --- a/plugins/peperoni/win32/peperoni.cpp +++ b/plugins/peperoni/win32/peperoni.cpp @@ -149,9 +149,10 @@ QString Peperoni::outputInfo(quint32 output) return str; } -void Peperoni::writeUniverse(quint32 universe, quint32 output, const QByteArray &data) +void Peperoni::writeUniverse(quint32 universe, quint32 output, const QByteArray &data, bool dataChanged) { Q_UNUSED(universe) + Q_UNUSED(dataChanged) if (output < quint32(m_devices.size())) m_devices.at(output)->outputDMX(data); diff --git a/plugins/peperoni/win32/peperoni.h b/plugins/peperoni/win32/peperoni.h index fab156a6fe..4684b1ac43 100644 --- a/plugins/peperoni/win32/peperoni.h +++ b/plugins/peperoni/win32/peperoni.h @@ -75,7 +75,7 @@ class Peperoni : public QLCIOPlugin QString outputInfo(quint32 output); /** @reimp */ - void writeUniverse(quint32 universe, quint32 output, const QByteArray& data); + void writeUniverse(quint32 universe, quint32 output, const QByteArray& data, bool dataChanged); /** Attempt to find all connected Peperoni devices */ void rescanDevices();