summaryrefslogtreecommitdiff
path: root/attic/muse_qt4_evolution/midiplugins/trigg/trigg.cpp
diff options
context:
space:
mode:
authorRobert Jonsson <spamatica@gmail.com>2011-03-07 19:01:11 +0000
committerRobert Jonsson <spamatica@gmail.com>2011-03-07 19:01:11 +0000
commite40fc849149dd97c248866a4a1d026dda5e57b62 (patch)
treeb12b358f3b3a0608001d30403358f8443118ec5f /attic/muse_qt4_evolution/midiplugins/trigg/trigg.cpp
parent1bd4f2e8d9745cabb667b043171cad22c8577768 (diff)
clean3
Diffstat (limited to 'attic/muse_qt4_evolution/midiplugins/trigg/trigg.cpp')
-rw-r--r--attic/muse_qt4_evolution/midiplugins/trigg/trigg.cpp131
1 files changed, 131 insertions, 0 deletions
diff --git a/attic/muse_qt4_evolution/midiplugins/trigg/trigg.cpp b/attic/muse_qt4_evolution/midiplugins/trigg/trigg.cpp
new file mode 100644
index 00000000..fb3703cb
--- /dev/null
+++ b/attic/muse_qt4_evolution/midiplugins/trigg/trigg.cpp
@@ -0,0 +1,131 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: filter.cpp,v 1.10 2005/11/06 17:49:34 wschweer Exp $
+//
+// filter - simple midi filter
+//
+// (C) Copyright 2005 Werner Schweer (ws@seh.de)
+//=========================================================
+
+#include "trigggui.h"
+#include "trigg.h"
+#include "midi.h"
+#include "midievent.h"
+
+//---------------------------------------------------------
+// Trigg
+//---------------------------------------------------------
+
+Trigg::Trigg(const char* name, const MempiHost* h)
+ : Mempi(name, h)
+ {
+ data.note=30; // allow any events
+ data.velocity=127;
+ gui = 0;
+ }
+
+//---------------------------------------------------------
+// Trigg
+//---------------------------------------------------------
+
+Trigg::~Trigg()
+ {
+ if (gui)
+ delete gui;
+ }
+
+//---------------------------------------------------------
+// init
+//---------------------------------------------------------
+
+bool Trigg::init()
+ {
+ gui = new TriggGui(this, 0);
+ gui->setWindowTitle("MusE: "+QString(name()));
+ gui->show();
+ return false;
+ }
+
+//---------------------------------------------------------
+// getGeometry
+//---------------------------------------------------------
+
+void Trigg::getGeometry(int* x, int* y, int* w, int* h) const
+ {
+ QPoint pos(gui->pos());
+ QSize size(gui->size());
+ *x = pos.x();
+ *y = pos.y();
+ *w = size.width();
+ *h = size.height();
+ }
+
+//---------------------------------------------------------
+// setGeometry
+//---------------------------------------------------------
+
+void Trigg::setGeometry(int x, int y, int w, int h)
+ {
+ gui->resize(QSize(w, h));
+ gui->move(QPoint(x, y));
+ }
+
+//---------------------------------------------------------
+// process
+//---------------------------------------------------------
+
+void Trigg::process(unsigned , unsigned , MidiEventList* il, MidiEventList* ol)
+ {
+
+ for (iMidiEvent i = il->begin(); i != il->end(); ++i) {
+ MidiEvent temp=*i;
+ if (temp.isNote() || temp.isNoteOff())
+ {
+ // for each event modify note and velocity
+ printf("a=%d b=%d isNote=%d isNoteOff=%d\n",temp.dataA(),temp.dataB(),temp.isNote(),temp.isNoteOff());
+ temp.setA(data.note);
+ if (!temp.isNoteOff())
+ temp.setB(data.velocity);
+ printf("AFTER a=%d b=%d\n",temp.dataA(),temp.dataB());
+ }
+ ol->insert(temp);
+ }
+ }
+
+void Trigg::getInitData(int* n, const unsigned char** p) const
+ {
+ *n = sizeof(data);
+ *p = (unsigned char*)&data;
+ printf("::getInitData note=%d vel=%d\n",data.note,data.velocity);
+ }
+
+void Trigg::setInitData(int n, const unsigned char* p)
+ {
+ memcpy((void*)&data, p, n);
+ if (gui)
+ gui->init();
+ }
+
+//---------------------------------------------------------
+// inst
+//---------------------------------------------------------
+
+static Mempi* instantiate(const char* name, const MempiHost* h)
+ {
+ return new Trigg(name, h);
+ }
+
+extern "C" {
+ static MEMPI descriptor = {
+ "Trigg",
+ "Any note triggers a specified note with specified velocity",
+ "1.0", // filter version string
+ MEMPI_FILTER, // plugin type
+ MEMPI_MAJOR_VERSION, MEMPI_MINOR_VERSION,
+ instantiate
+ };
+
+ const MEMPI* mempi_descriptor() { return &descriptor; }
+ }
+