30 lines
632 B
C
30 lines
632 B
C
|
#pragma once
|
||
|
|
||
|
#include <hyperion/Hyperion.h>
|
||
|
|
||
|
class EffectEngine : public QObject
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
EffectEngine(Hyperion * hyperion);
|
||
|
virtual ~EffectEngine();
|
||
|
|
||
|
std::list<std::string> getEffects() const;
|
||
|
|
||
|
public slots:
|
||
|
/// Run the specified effect on the given priority channel and optionally specify a timeout
|
||
|
int runEffect(const std::string &effectName, int priority, int timeout = -1);
|
||
|
|
||
|
/// Clear any effect running on the provided channel
|
||
|
void channelCleared(int priority);
|
||
|
|
||
|
/// Clear all effects
|
||
|
void allChannelsCleared();
|
||
|
|
||
|
private:
|
||
|
Hyperion * _hyperion;
|
||
|
|
||
|
std::map<std::string, std::string> _availableEffects;
|
||
|
};
|