diff options
author | Robert Jonsson <spamatica@gmail.com> | 2011-09-15 12:14:55 +0000 |
---|---|---|
committer | Robert Jonsson <spamatica@gmail.com> | 2011-09-15 12:14:55 +0000 |
commit | b0546e5e7f7044019892543c6c82029db8d564a7 (patch) | |
tree | 1b96a6260900f3fbf3513fb48a5a72aa89052dc8 /attic/muse2-oom/muse2/synti/libsynti/mess.cpp | |
parent | 583c73d1a07154d3d2672d65d8cce6495f490454 (diff) |
moved attic to a branch of it's own
Diffstat (limited to 'attic/muse2-oom/muse2/synti/libsynti/mess.cpp')
-rw-r--r-- | attic/muse2-oom/muse2/synti/libsynti/mess.cpp | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/attic/muse2-oom/muse2/synti/libsynti/mess.cpp b/attic/muse2-oom/muse2/synti/libsynti/mess.cpp deleted file mode 100644 index 8c23d8ea..00000000 --- a/attic/muse2-oom/muse2/synti/libsynti/mess.cpp +++ /dev/null @@ -1,125 +0,0 @@ -//========================================================= -// MusE -// Linux Music Editor -// $Id: mess.cpp,v 1.2 2004/04/15 13:46:18 wschweer Exp $ -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= - -#include "mess.h" -#include "muse/midi.h" -#include "muse/midictrl.h" - -static const int FIFO_SIZE = 32; - -//--------------------------------------------------------- -// MessP -//--------------------------------------------------------- - -struct MessP { - // Event Fifo synti -> Host: - MidiPlayEvent fifo[FIFO_SIZE]; - volatile int fifoSize; - int fifoWindex; - int fifoRindex; - }; - -//--------------------------------------------------------- -// Mess -//--------------------------------------------------------- - -Mess::Mess(int n) - { - _channels = n; - _sampleRate = 44100; - d = new MessP; - d->fifoSize = 0; - d->fifoWindex = 0; - d->fifoRindex = 0; - } - -//--------------------------------------------------------- -// Mess -//--------------------------------------------------------- - -Mess::~Mess() - { - delete d; - } - -//--------------------------------------------------------- -// getGeometry -// dummy -//--------------------------------------------------------- - -void Mess::getGeometry(int* x, int* y, int* w, int* h) const - { - x = 0; - y = 0; - w = 0; - h = 0; - } - -//--------------------------------------------------------- -// sendEvent -// send Event synti -> host -//--------------------------------------------------------- - -void Mess::sendEvent(MidiPlayEvent ev) - { - if (d->fifoSize == FIFO_SIZE) { - printf("event synti->host fifo overflow\n"); - return; - } - d->fifo[d->fifoWindex] = ev; - d->fifoWindex = (d->fifoWindex + 1) % FIFO_SIZE; - ++(d->fifoSize); - } - -//--------------------------------------------------------- -// receiveEvent -// called from host -//--------------------------------------------------------- - -MidiPlayEvent Mess::receiveEvent() - { - MidiPlayEvent ev = d->fifo[d->fifoRindex]; - d->fifoRindex = (d->fifoRindex + 1) % FIFO_SIZE; - --(d->fifoSize); - return ev; - } - -//--------------------------------------------------------- -// eventsPending -// called from host: -// while (eventsPending()) { -// receiveEvent(); -// ... -//--------------------------------------------------------- - -int Mess::eventsPending() const - { - return d->fifoSize; - } - -//--------------------------------------------------------- -// processEvent -// return true if synti is busy -//--------------------------------------------------------- - -bool Mess::processEvent(const MidiPlayEvent& ev) - { - switch(ev.type()) { - case ME_NOTEON: - return playNote(ev.channel(), ev.dataA(), ev.dataB()); - case ME_NOTEOFF: - return playNote(ev.channel(), ev.dataA(), 0); - case ME_SYSEX: - return sysex(ev.len(), ev.data()); - case ME_CONTROLLER: - return setController(ev.channel(), ev.dataA(), ev.dataB()); - case ME_PITCHBEND: // Tim. - return setController(ev.channel(), CTRL_PITCH, ev.dataA()); - } - return false; - } - |