hyperion.ng/include/effectengine/EffectEngine.h
johan 5454ddb375 Added skeleton for effect engine development
Former-commit-id: e1fb69fd4de4b8968075660e3ba7f7add021c152
2013-11-24 16:10:48 +01:00

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;
};