synthclone 0.3.0
Loading...
Searching...
No Matches
effect.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_EFFECT_H__
21#define __SYNTHCLONE_EFFECT_H__
22
26#include <synthclone/zone.h>
27
28namespace synthclone {
29
34 class Effect: public Component {
35
36 Q_OBJECT
37
38 public:
39
63 virtual void
64 process(const Zone &zone, SampleInputStream &inputStream,
65 SampleOutputStream &outputStream) = 0;
66
67 protected:
68
81 explicit
82 Effect(const QString &name, QObject *parent=0);
83
84 virtual
86
87 };
88
89}
90
91#endif
Base class for synthclone components.
Definition: component.h:33
Component capable of altering samples in some way.
Definition: effect.h:34
virtual void process(const Zone &zone, SampleInputStream &inputStream, SampleOutputStream &outputStream)=0
Called to apply this Effect to audio data.
Effect(const QString &name, QObject *parent=0)
Constructs a new Effect object.
Used to read sample data from a sample file.
Definition: sampleinputstream.h:34
Used to write sample data to a sample file.
Definition: sampleoutputstream.h:34
Zone objects contains data about how Sample objects should be acquired from a Sampler.
Definition: zone.h:37
Definition: component.h:26