diff options
author | Robert Jonsson <spamatica@gmail.com> | 2010-10-13 19:34:22 +0000 |
---|---|---|
committer | Robert Jonsson <spamatica@gmail.com> | 2010-10-13 19:34:22 +0000 |
commit | 8a2c2824a59d7644e13bc52c9a0ecbd641f21f95 (patch) | |
tree | 064ad3f2bf8daab0ad27b128abd86a9bbdb1e496 /muse2/synti/libsynti/mono.h | |
parent | a27706d9629e8b592cca4659f865b70adef24e6d (diff) |
new branch muse2, first checkin
Diffstat (limited to 'muse2/synti/libsynti/mono.h')
-rw-r--r-- | muse2/synti/libsynti/mono.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/muse2/synti/libsynti/mono.h b/muse2/synti/libsynti/mono.h new file mode 100644 index 00000000..f2f8bdf7 --- /dev/null +++ b/muse2/synti/libsynti/mono.h @@ -0,0 +1,47 @@ +//========================================================= +// MusE +// Linux Music Editor +// software synthesizer helper library +// $Id: mono.h,v 1.4 2004/04/15 13:46:18 wschweer Exp $ +// +// (C) Copyright 2004 Werner Schweer (ws@seh.de) +//========================================================= + +#ifndef __SYNTH_MONO_H__ +#define __SYNTH_MONO_H + +#include <list> +#include "mess.h" + +//--------------------------------------------------------- +// PitchVelo +//--------------------------------------------------------- + +struct PitchVelo { + signed char channel; + signed char pitch; + signed char velo; + PitchVelo(signed char a, signed char b, signed char c) + : channel(a), pitch(b), velo(c) {} + }; + +//--------------------------------------------------------- +// MessMono +// implements some functions for monophone +// synthesizer +//--------------------------------------------------------- + +class MessMono : public Mess { + std::list<PitchVelo> pitchStack; + + protected: + virtual bool playNote(int channel, int pitch, int velo); + virtual void note(int channel, int pitch, int velo) = 0; + + public: + MessMono() : Mess(1) {} + virtual ~MessMono() {} + }; + +#endif + |