cambida señal dmx por llamada directa al método, reduce un 20% de cpu en

mi ordenador.
Restringida actualización de entry point como volumen, sigue cascando la
búsqueda en mp3, wav va fino.
This commit is contained in:
snt 2024-05-05 21:44:21 +02:00
parent d34b972a54
commit 5915d4898e
6 changed files with 45 additions and 37 deletions

View file

@ -20,10 +20,17 @@ class olaThread : public QThread
Q_OBJECT
public:
QList<dmxSetting> m_dmxSettings;
int m_dmx[MAX_LAYERS][LAYER_CHANNELS];
ola::client::OlaClientWrapper *m_clientWrapper;
ola::client::OlaClient *m_client;
unsigned int m_counter;
struct timeval m_last_data; // Last DMX frame received
int m_layers;
olaThread(QObject *parent = 0, int layers = 0);
virtual ~olaThread();
void run ();
/** Retorna el valor de un canal
*@param int layer the layer for we want the channel
*@param int channel the channel for the value wanted
@ -35,14 +42,6 @@ public:
void resendDmx();
private:
void run ();
ola::client::OlaClientWrapper *m_clientWrapper;
ola::client::OlaClient *m_client;
unsigned int m_counter;
struct timeval m_last_data; // Last DMX frame received
int m_layers;
int m_dmx[MAX_LAYERS][LAYER_CHANNELS];
QList<dmxSetting> m_dmxSettings;
/**
* @brief Callback from ola. Control de errores en el registro de Universos en OLA
* typedef SingleUseCallback1<void, const Result&> ola::client::SetCallback
@ -67,7 +66,7 @@ private:
* This is called one for second if there is not updated in the DMX frame.
* emit only the channels that has been changed.
*/
void NewDmx(const ola::client::DMXMetadata &dmx_meta, const ola::DmxBuffer &buffer); //
void NewDmx(const ola::client::DMXMetadata &dmx_meta, const ola::DmxBuffer &buffer);
/**
* @brief Sometimes the ola server closes the connection. This is a callback to handle this event an reconect to ola
*/