Mercurial > hg > vamp-live-host
view host/Rule.h @ 5:7fc28f7a935a
...
author | cannam |
---|---|
date | Mon, 06 Nov 2006 20:12:38 +0000 |
parents | f0e9092bd3e4 |
children | b30fcffc5000 |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ #ifndef _RULE_H_ #define _RULE_H_ class Rule { public: enum Condition { EqualTo, GreaterThan, LessThan, NotEqualTo, Present, Changed, GapGreaterThan, GapLessThan }; Rule(int pluginIndex, int outputNumber, Condition condition, float argument = 0.f) : m_pluginIndex(pluginIndex), m_outputNumber(outputNumber), m_condition(condition), m_argument(argument) { } int getPluginIndex() const { return m_pluginIndex; } int getOutputNumber() const { return m_outputNumber; } Condition getCondition() const { return m_condition; } float getArgument() const { return m_argument; } bool operator<(const Rule &r) const { if (m_pluginIndex < r.m_pluginIndex) return true; else if (m_pluginIndex > r.m_pluginIndex) return false; if (m_outputNumber < r.m_outputNumber) return true; else if (m_outputNumber > r.m_outputNumber) return false; if (int(m_condition) < int(r.m_condition)) return true; else if (int(m_condition) > int(r.m_condition)) return true; return m_argument < r.m_argument; } protected: int m_pluginIndex; int m_outputNumber; Condition m_condition; float m_argument; }; #endif