summaryrefslogtreecommitdiff
path: root/attic/muse2-oom/muse2/muse/ticksynth.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'attic/muse2-oom/muse2/muse/ticksynth.cpp')
-rw-r--r--attic/muse2-oom/muse2/muse/ticksynth.cpp215
1 files changed, 0 insertions, 215 deletions
diff --git a/attic/muse2-oom/muse2/muse/ticksynth.cpp b/attic/muse2-oom/muse2/muse/ticksynth.cpp
deleted file mode 100644
index 69f3bf2d..00000000
--- a/attic/muse2-oom/muse2/muse/ticksynth.cpp
+++ /dev/null
@@ -1,215 +0,0 @@
-//=========================================================
-// MusE
-// Linux Music Editor
-// $Id: ticksynth.cpp,v 1.8.2.7 2009/12/20 05:00:35 terminator356 Exp $
-// (C) Copyright 2004 Werner Schweer (ws@seh.de)
-//=========================================================
-
-#include "audio.h"
-#include "ticksynth.h"
-#include "default_click.h"
-
-#include <QMenu>
-
-// Added by Tim. p3.3.18
-//#define METRONOME_DEBUG
-
-MetronomeSynthI* metronome = 0;
-
-class MetronomeSynth;
-static MetronomeSynth* metronomeSynth = 0;
-
-//---------------------------------------------------------
-// MetronomeSynth
-//---------------------------------------------------------
-
-class MetronomeSynth : public Synth {
- public:
- //MetronomeSynth(const QFileInfo& fi) : Synth(fi) {}
- //MetronomeSynth(const QFileInfo& fi) : Synth(fi, QString("Metronome")) {}
- MetronomeSynth(const QFileInfo& fi) : Synth(fi, QString("Metronome"), QString("Metronome"), QString(), QString()) {}
- virtual ~MetronomeSynth() {}
- virtual void incInstances(int) {}
- virtual void* instantiate();
-
- //virtual SynthIF* createSIF() const;
- virtual SynthIF* createSIF(SynthI*);
- };
-
-//---------------------------------------------------------
-// instantiate
-//---------------------------------------------------------
-
-void* MetronomeSynth::instantiate()
- {
- return 0;
- }
-
-//---------------------------------------------------------
-// MetronomeSynthIF
-//---------------------------------------------------------
-
-class MetronomeSynthIF : public SynthIF
- {
- const float* data;
- int pos;
- int len;
- void process(float** buffer, int offset, int n);
-
- public:
- //MetronomeSynthIF() {
- // data = 0;
- // }
- MetronomeSynthIF(SynthI* s) : SynthIF(s) {
- data = 0;
- }
- virtual bool initGui() { return true; };
- virtual void guiHeartBeat() { }
- virtual bool guiVisible() const { return false; }
- virtual void showGui(bool) {}
- virtual bool hasGui() const { return false; }
- virtual void getGeometry(int*, int*, int*, int*) const {}
- virtual void setGeometry(int, int, int, int) {}
- virtual void preProcessAlways() { };
- virtual iMPEvent getData(MidiPort*, MPEventList*, iMPEvent, unsigned pos, int ports, unsigned n, float** buffer);
- virtual bool putEvent(const MidiPlayEvent& ev);
- virtual MidiPlayEvent receiveEvent() { return MidiPlayEvent(); }
- virtual int eventsPending() const { return 0; }
-
- //virtual bool init(Synth*) { return true; }
-
- virtual int channels() const { return 1; }
- virtual int totalOutChannels() const { return 1; }
- virtual int totalInChannels() const { return 0; }
- virtual void deactivate3() {}
- virtual const char* getPatchName(int, int, int, bool) const { return ""; }
- virtual const char* getPatchName(int, int, MType, bool) { return ""; }
- virtual void populatePatchPopup(QMenu*, int, MType, bool) {};
- virtual void write(int, Xml&) const {}
- virtual float getParameter(unsigned long) const { return 0.0; }
- virtual void setParameter(unsigned long, float) {}
- virtual int getControllerInfo(int, const char**, int*, int*, int*, int*) { return 0; }
- };
-
-//---------------------------------------------------------
-// getData
-//---------------------------------------------------------
-
-iMPEvent MetronomeSynthIF::getData(MidiPort*, MPEventList* el, iMPEvent i, unsigned pos, int/*ports*/, unsigned n, float** buffer)
- {
- // Added by Tim. p3.3.18
- #ifdef METRONOME_DEBUG
- printf("MusE: MetronomeSynthIF::getData\n");
- #endif
-
- //set type to unsigned , due to compiler warning: comparison signed/unsigned
- unsigned int curPos = pos; //prevent compiler warning: comparison signed/unsigned
- unsigned int endPos = pos + n; //prevent compiler warning: comparison signed/unsigned
- unsigned int off = pos; //prevent compiler warning: comparison signed/unsigned
- int frameOffset = audio->getFrameOffset();
-
- for (; i != el->end(); ++i) {
- unsigned int frame = i->time() - frameOffset; //prevent compiler warning: comparison signed /unsigned
- if (frame >= endPos)
- break;
- if (frame > curPos) {
- if (frame < pos)
- printf("should not happen: missed event %d\n", pos -frame);
- else
- process(buffer, curPos-pos, frame - curPos);
- curPos = frame;
- }
- putEvent(*i);
- }
- if (endPos - curPos)
- process(buffer, curPos - off, endPos - curPos);
- return el->end();
- }
-
-//---------------------------------------------------------
-// putEvent
-//---------------------------------------------------------
-
-bool MetronomeSynthIF::putEvent(const MidiPlayEvent& ev)
- {
- if (ev.dataA() == 0) {
- data = defaultClickEmphasis;
- len = defaultClickEmphasisLength;
- }
- else {
- data = defaultClick;
- len = defaultClickLength;
- }
- pos = 0;
- return false;
- }
-
-//---------------------------------------------------------
-// createSIF
-//---------------------------------------------------------
-
-//SynthIF* MetronomeSynth::createSIF() const
-// {
-// return new MetronomeSynthIF();
-// }
-SynthIF* MetronomeSynth::createSIF(SynthI* s)
- {
- return new MetronomeSynthIF(s);
- }
-
-//---------------------------------------------------------
-// process
-// synthesize n samples into buffer+offset
-//---------------------------------------------------------
-
-void MetronomeSynthIF::process(float** buffer, int offset, int n)
- {
- // Added by Tim. p3.3.18
- #ifdef METRONOME_DEBUG
- printf("MusE: MetronomeSynthIF::process data:%p offset:%d n:%d\n", data, offset, n);
- #endif
-
- if (data == 0)
- return;
-
- const float* s = data + pos;
- float* d = *buffer + offset;
- int l = std::min(n, len);
-
- for (int i = 0; i < l; ++i)
- *d++ += *s++ * audioClickVolume;
- pos += l;
- len -= l;
- if (len <= 0)
- data = 0;
- }
-
-//---------------------------------------------------------
-// initMetronome
-//---------------------------------------------------------
-
-void initMetronome()
- {
- QFileInfo fi;
- metronomeSynth = new MetronomeSynth(fi);
- metronome = new MetronomeSynthI();
-
- QString name("metronome");
- metronome->initInstance(metronomeSynth, name);
- }
-
-//---------------------------------------------------------
-// exitMetronome
-//---------------------------------------------------------
-
-void exitMetronome()
-{
- if(metronome)
- delete metronome;
- metronome = 0;
-
- if(metronomeSynth)
- delete metronomeSynth;
- metronomeSynth = 0;
-}
-