synthclone  0.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
participant.h
Go to the documentation of this file.
1 /*
2  * libsynthclone - a plugin API for `synthclone`
3  * Copyright (C) 2011 Devin Anderson
4  *
5  * This library is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU Lesser General Public License as published by the
7  * Free Software Foundation; either version 2.1 of the License, or (at your
8  * option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13  * for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this library; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 
20 #ifndef __SYNTHCLONE_PARTICIPANT_H__
21 #define __SYNTHCLONE_PARTICIPANT_H__
22 
23 #include <QtCore/QVariant>
24 
25 #include <synthclone/context.h>
26 
27 namespace synthclone {
28 
34  class Participant: public QObject {
35 
36  Q_OBJECT
37 
38  public:
39 
54  virtual void
55  activate(Context &context, const QVariant &state=QVariant());
56 
66  virtual void
67  deactivate(Context &context);
68 
76  QString
77  getAuthor() const;
78 
86  int
87  getMajorVersion() const;
88 
96  int
97  getMinorVersion() const;
98 
106  QString
107  getName() const;
108 
116  int
117  getRevision() const;
118 
128  virtual QVariant
129  getState() const;
130 
144  virtual QVariant
145  getState(const synthclone::Effect *effect) const;
146 
160  virtual QVariant
161  getState(const synthclone::Sampler *sampler) const;
162 
176  virtual QVariant
177  getState(const synthclone::Target *target) const;
178 
186  QString
187  getSummary() const;
188 
198  virtual void
199  restoreEffect(const QVariant &state);
200 
210  virtual void
211  restoreSampler(const QVariant &state);
212 
222  virtual void
223  restoreTarget(const QVariant &state);
224 
225  protected:
226 
254  Participant(const QString &name, int majorVersion, int minorVersion,
255  int revision, const QString &author,
256  const QString &summary, QObject *parent=0);
257 
262  virtual
263  ~Participant();
264 
265  private:
266 
267  QString author;
268  int majorVersion;
269  int minorVersion;
270  QString name;
271  int revision;
272  QString summary;
273 
274  };
275 
276 }
277 
278 #endif