diff options
Diffstat (limited to 'attic/muse_qt4_evolution/midiplugins/transform')
4 files changed, 0 insertions, 1691 deletions
diff --git a/attic/muse_qt4_evolution/midiplugins/transform/CMakeLists.txt b/attic/muse_qt4_evolution/midiplugins/transform/CMakeLists.txt deleted file mode 100644 index 1ac2652c..00000000 --- a/attic/muse_qt4_evolution/midiplugins/transform/CMakeLists.txt +++ /dev/null @@ -1,45 +0,0 @@ -#============================================================================= -# MusE -# Linux Music Editor -# $Id:$ -# -# Copyright (C) 2002-2006 by Werner Schweer and others -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -#============================================================================= - -QT4_WRAP_CPP ( transform_mocs transform.h ) -QT4_WRAP_UI ( transform_uis transform.ui ) - -add_library ( transform SHARED - transform.cpp - ${transform_mocs} - ${transform_uis} - ) - -target_link_libraries( transform - midiplugin - ${QT_LIBRARIES} - ) - -# - tell cmake to name target transform.so instead of -# libtransform.so -# - use precompiled header files -# -set_target_properties ( transform - PROPERTIES PREFIX "" - COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all-pic.h" - ) - -install_targets ( /${CMAKE_INSTALL_LIBDIR}/${MusE_INSTALL_NAME}/midiplugins/ transform ) - diff --git a/attic/muse_qt4_evolution/midiplugins/transform/transform.cpp b/attic/muse_qt4_evolution/midiplugins/transform/transform.cpp deleted file mode 100644 index 1376d2fc..00000000 --- a/attic/muse_qt4_evolution/midiplugins/transform/transform.cpp +++ /dev/null @@ -1,904 +0,0 @@ -//========================================================= -// MusE -// Linux Music Editor -// $Id: transform.cpp,v 1.8 2005/11/17 18:19:30 wschweer Exp $ -// -// (C) Copyright 2001-2005 Werner Schweer (ws@seh.de) -//========================================================= - -#include "midievent.h" -#include "transform.h" - -static int eventTypeTable[] = { - 1, 6, 4, 7, 8, 10, 11 - }; -static int procVal2Map[] = { 0, 1, 2, 3, 4, 5, 6, 7, 10, 11 }; - -struct TDict { - TransformFunction id; - const QString text; - TDict(TransformFunction f, const QString& s) : id(f), text(s) {} - }; - -static const TDict oplist[] = { - TDict(Trans, QString("Transform")), - TDict(Delete, QString("Filter")) - }; - -static const char* vall[] = { - "c","c#","d","d#","e","f","f#","g","g#","a","a#","h" - }; -static const char* valu[] = { - "C","C#","D","D#","E","F","F#","G","G#","A","A#","H" - }; - -//--------------------------------------------------------- -// pitch2string -//--------------------------------------------------------- - -static QString pitch2string(int v) - { - if (v < 0 || v > 127) - return QString("----"); - int octave = (v / 12) - 2; - QString o; - o.sprintf("%d", octave); - int i = v % 12; - QString s(octave < 0 ? valu[i] : vall[i]); - return s + o; - } -//--------------------------------------------------------- -// Transform -//--------------------------------------------------------- - -Transform::Transform(const char* name, const MempiHost* h) - : Mempi(name, h) - { - } - -bool Transform::init() - { - gui = new TransformDialog(this, 0); - gui->setWindowTitle(QString(name())); - gui->show(); - - data.selEventOp = All; - data.selType = 0x90; - data.selVal1 = Ignore; - data.selVal1a = 0; - data.selVal1b = 0; - data.selVal2 = Ignore; - data.selVal2a = 0; - data.selVal2b = 0; - data.procEvent = Keep; - data.eventType = 0x90; - data.procVal1 = Keep; - data.procVal1a = 0; - data.procVal1b = 0; - data.procVal2 = Keep; - data.procVal2a = 0; - data.procVal2b = 0; - data.funcOp = Trans; - data.quantVal = host->division(); - data.selChannel = Ignore; - data.selChannela = 0; - data.selChannelb = 0; - data.procChannel = Keep; - data.procChannela = 0; - data.procChannelb = 0; - return false; - } - -//--------------------------------------------------------- -// filterValOp -//--------------------------------------------------------- - -static bool filterValOp(ValOp op, int val, int val1, int val2) - { - switch (op) { - case Ignore: - break; - case Equal: - if (val != val1) - return true; - break; - case Unequal: - if (val == val1) - return true; - break; - case Higher: - if (val <= val1) - return true; - break; - case Lower: - if (val >= val1) - return true; - break; - case Inside: - if ((val < val1) || (val >= val2)) - return true; - break; - case Outside: - if ((val >= val1) && (val < val2)) - return true; - break; - } - return false; - } - -//--------------------------------------------------------- -// apply -// apply Select filter -// return 0 - not applied -// 1 - drop event -// 2 - event changed -//--------------------------------------------------------- - -void Transform::process(unsigned, unsigned, MidiEventList* il, MidiEventList* ol) - { - for (iMidiEvent i = il->begin(); i != il->end(); ++i) { - MidiEvent event(*i); - if (filterEvent(event) == 1) - continue; - ol->insert(event); - } - } - -//--------------------------------------------------------- -// filterEvent -//--------------------------------------------------------- - -int Transform::filterEvent(MidiEvent& event) - { - switch (data.selEventOp) { - case Equal: - switch(event.type()) { - case 0x90: - case 0x80: - if (data.selType != 0x90) - return 0; - break; - default: - if (event.type() != data.selType) - return 0; - break; - } - break; - case Unequal: - switch(event.type()) { - case 0x90: - case 0x80: - if (data.selType == 0x90) - return 0; - break; - default: - if (event.type() == data.selType) - return 0; - break; - } - break; - default: - break; - } - if (filterValOp(data.selVal1, event.dataA(), data.selVal1a, data.selVal1b)) - return 0; - if (filterValOp(data.selVal2, event.dataB(), data.selVal2a, data.selVal2b)) - return 0; - if (filterValOp(data.selChannel, event.channel(), data.selChannela, data.selChannelb)) - return 0; - - if (data.funcOp == Delete) - return 1; // discard event - - // transform event - if (data.procEvent != Keep) - event.setType(data.eventType); - - //--------------------------------------------------- - // transform value A - //--------------------------------------------------- - - int val = event.dataA(); - switch (data.procVal1) { - case Keep: - break; - case Plus: - val += data.procVal1a; - break; - case Minus: - val -= data.procVal1a; - break; - case Multiply: - val = int(val * (data.procVal1a/100.0) + .5); - break; - case Divide: - val = int(val / (data.procVal1a/100.0) + .5); - break; - case Fix: - val = data.procVal1a; - break; - case Value: - val = data.procVal2a; - break; - case Invert: - val = 127 - val; - break; - case ScaleMap: - printf("scale map not implemented\n"); - break; - case Flip: - val = data.procVal1a - val; - break; - case Dynamic: // "crescendo" - printf("transform not implemented\n"); - break; - case Random: - { - int range = data.procVal1b - data.procVal1a; - if (range > 0) - val = (rand() % range) + data.procVal1a; - else if (range < 0) - val = (rand() % -range) + data.procVal1b; - else - val = data.procVal1a; - } - break; - } - if (val < 0) - val = 0; - if (val > 127) - val = 127; - event.setA(val); - - //--------------------------------------------------- - // transform value B - //--------------------------------------------------- - - val = event.dataB(); - switch (data.procVal2) { - case Plus: - val += data.procVal2a; - break; - case Minus: - val -= data.procVal2a; - break; - case Multiply: - val = int(val * (data.procVal2a/100.0) + .5); - break; - case Divide: - val = int(val / (data.procVal2a/100.0) + .5); - break; - case Fix: - val = data.procVal2a; - break; - case Value: - val = data.procVal1a; - break; - case Invert: - val = 127 - val; - break; - case Dynamic: - printf("transform not implemented\n"); - break; - case Random: - { - int range = data.procVal2b - data.procVal2a; - if (range > 0) - val = (rand() % range) + data.procVal2a; - else if (range < 0) - val = (rand() % -range) + data.procVal2b; - else - val = data.procVal2a; - } - break; - case ScaleMap: - case Keep: - case Flip: - break; - } - if (val < 0) - val = 0; - if (val > 127) - val = 127; - event.setB(val); - - //--------------------------------------------------- - // transform channel - //--------------------------------------------------- - - val = event.channel(); - switch (data.procChannel) { - case Plus: - val += data.procChannela; - break; - case Minus: - val -= data.procChannela; - break; - case Multiply: - val = int(val * (data.procChannela/100.0) + .5); - break; - case Divide: - val = int(val / (data.procChannela/100.0) + .5); - break; - case Fix: - val = data.procChannela; - break; - case Value: - val = data.procChannela; - break; - case Invert: - val = 16 - val; - break; - case Dynamic: - printf("transform not implemented\n"); - break; - case Random: - { - int range = data.procChannelb - data.procChannela; - if (range > 0) - val = (rand() % range) + data.procChannela; - else if (range < 0) - val = (rand() % -range) + data.procChannelb; - else - val = data.procChannela; - } - break; - case ScaleMap: - case Keep: - case Flip: - break; - } - if (val < 0) - val = 0; - if (val > 15) - val = 15; - event.setChannel(val); - return 2; - } - -//--------------------------------------------------------- -// getGeometry -//--------------------------------------------------------- - -void Transform::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 Transform::setGeometry(int x, int y, int w, int h) - { - gui->resize(QSize(w, h)); - gui->move(QPoint(x, y)); - } - -//--------------------------------------------------------- -// TransformDialog -// Widgets: -// selEventOp selType -// selVal1Op selVal1a selVal1b -// selVal2Op selVal2a selVal2b -// -// procEventOp procType -// procVal1Op procVal1a procVal1b -// procVal2Op procVal2a procVal2b -// funcOp funcQuantVal -// buttonNew buttonDelete -// -// selChannelOp selChannelVala selChannelValb -// procChannelOp procChannelVala procChannelValb -//--------------------------------------------------------- - -TransformDialog::TransformDialog(Transform* tf, QWidget* parent) - : QDialog(parent) - { - setupUi(this); - cmt = tf; - - for (unsigned i = 0; i < sizeof(oplist)/sizeof(*oplist); ++i) - funcOp->addItem(oplist[i].text, i); - - connect(selEventOp, SIGNAL(activated(int)), SLOT(selEventOpSel(int))); - connect(selType, SIGNAL(activated(int)), SLOT(selTypeSel(int))); - connect(selVal1Op, SIGNAL(activated(int)), SLOT(selVal1OpSel(int))); - connect(selVal2Op, SIGNAL(activated(int)), SLOT(selVal2OpSel(int))); - connect(procEventOp, SIGNAL(activated(int)), SLOT(procEventOpSel(int))); - connect(procType, SIGNAL(activated(int)), SLOT(procEventTypeSel(int))); - connect(procVal1Op, SIGNAL(activated(int)), SLOT(procVal1OpSel(int))); - connect(procVal2Op, SIGNAL(activated(int)), SLOT(procVal2OpSel(int))); - connect(funcOp, SIGNAL(activated(int)), SLOT(funcOpSel(int))); - connect(selVal1a, SIGNAL(valueChanged(int)), SLOT(selVal1aChanged(int))); - connect(selVal1b, SIGNAL(valueChanged(int)), SLOT(selVal1bChanged(int))); - connect(selVal2a, SIGNAL(valueChanged(int)), SLOT(selVal2aChanged(int))); - connect(selVal2b, SIGNAL(valueChanged(int)), SLOT(selVal2bChanged(int))); - connect(procVal1a, SIGNAL(valueChanged(int)), SLOT(procVal1aChanged(int))); - connect(procVal1b, SIGNAL(valueChanged(int)), SLOT(procVal1bChanged(int))); - connect(procVal2a, SIGNAL(valueChanged(int)), SLOT(procVal2aChanged(int))); - connect(procVal2b, SIGNAL(valueChanged(int)), SLOT(procVal2bChanged(int))); - connect(selChannelOp, SIGNAL(activated(int)), SLOT(selChannelOpSel(int))); - connect(selChannelVala, SIGNAL(valueChanged(int)), SLOT(selChannelValaChanged(int))); - connect(selChannelValb, SIGNAL(valueChanged(int)), SLOT(selChannelValbChanged(int))); - connect(procChannelOp, SIGNAL(activated(int)), SLOT(procChannelOpSel(int))); - connect(procChannelVala, SIGNAL(valueChanged(int)), SLOT(procChannelValaChanged(int))); - connect(procChannelValb, SIGNAL(valueChanged(int)), SLOT(procChannelValbChanged(int))); - } - -//--------------------------------------------------------- -// init -//--------------------------------------------------------- - -void TransformDialog::init() - { - selEventOp->setCurrentIndex(cmt->data.selEventOp); - selEventOpSel(cmt->data.selEventOp); - - for (unsigned i = 0; i < sizeof(eventTypeTable)/sizeof(*eventTypeTable); ++i) { - if (eventTypeTable[i] == cmt->data.selType) { - selType->setCurrentIndex(i); - break; - } - } - - selVal1Op->setCurrentIndex(cmt->data.selVal1); - selVal1OpSel(cmt->data.selVal1); - - selVal2Op->setCurrentIndex(cmt->data.selVal2); - selVal2OpSel(cmt->data.selVal2); - - selChannelOp->setCurrentIndex(cmt->data.selChannel); - selChannelOpSel(cmt->data.selChannel); - - { - unsigned i; - for (i = 0; i < sizeof(oplist)/sizeof(*oplist); ++i) { - if (oplist[i].id == cmt->data.funcOp) { - funcOp->setCurrentIndex(i); - break; - } - } - if (i == sizeof(oplist)/sizeof(*oplist)) - printf("internal error: bad OpCode\n"); - funcOpSel(i); - } - - procEventOp->setCurrentIndex(cmt->data.procEvent); - procEventOpSel(cmt->data.procEvent); - - procVal1Op->setCurrentIndex(cmt->data.procVal1); - procVal1OpSel(cmt->data.procVal1); - - for (unsigned i = 0; i < sizeof(procVal2Map)/sizeof(*procVal2Map); ++i) { - if (procVal2Map[i] == cmt->data.procVal2) { - procVal2Op->setCurrentIndex(i); - break; - } - } - - selVal1a->setValue(cmt->data.selVal1a); - selVal1b->setValue(cmt->data.selVal1b); - selVal1aChanged(cmt->data.selVal1a); - selVal1bChanged(cmt->data.selVal1b); - - selVal2a->setValue(cmt->data.selVal2a); - selVal2b->setValue(cmt->data.selVal2b); - - selChannelVala->setValue(cmt->data.selChannela); - selChannelValb->setValue(cmt->data.selChannelb); - - procVal1a->setValue(cmt->data.procVal1a); - procVal1b->setValue(cmt->data.procVal1b); - - procVal2a->setValue(cmt->data.procVal2a); - procVal2b->setValue(cmt->data.procVal2b); - - procChannelVala->setValue(cmt->data.procChannela); - procChannelValb->setValue(cmt->data.procChannelb); - } - -//--------------------------------------------------------- -// setValOp -//--------------------------------------------------------- - -void TransformDialog::setValOp(QWidget* a, QWidget* b, ValOp op) - { - switch (op) { - case Ignore: - a->setEnabled(false); - b->setEnabled(false); - break; - case Equal: - case Unequal: - case Higher: - case Lower: - a->setEnabled(true); - b->setEnabled(false); - break; - case Inside: - case Outside: - a->setEnabled(true); - b->setEnabled(true); - break; - } - } - -//--------------------------------------------------------- -// selEventOpSel -//--------------------------------------------------------- - -void TransformDialog::selEventOpSel(int val) - { - selType->setEnabled(val != All); - cmt->data.selEventOp = ValOp(val); - selVal1aChanged(cmt->data.selVal1a); - selVal1bChanged(cmt->data.selVal1b); - } - -//--------------------------------------------------------- -// selTypeSel -//--------------------------------------------------------- - -void TransformDialog::selTypeSel(int val) - { - cmt->data.selType = eventTypeTable[val]; - selVal1aChanged(cmt->data.selVal1a); - selVal1bChanged(cmt->data.selVal1b); - } - -//--------------------------------------------------------- -// selVal1OpSel -//--------------------------------------------------------- - -void TransformDialog::selVal1OpSel(int val) - { - setValOp(selVal1a, selVal1b, ValOp(val)); - cmt->data.selVal1 = ValOp(val); - } - -//--------------------------------------------------------- -// selVal2OpSel -//--------------------------------------------------------- - -void TransformDialog::selVal2OpSel(int val) - { - setValOp(selVal2a, selVal2b, ValOp(val)); - cmt->data.selVal2 = ValOp(val); - } - -//--------------------------------------------------------- -// procEventOpSel -//--------------------------------------------------------- - -void TransformDialog::procEventOpSel(int val) - { - TransformOperator op = val == 0 ? Keep : Fix; - procType->setEnabled(op == Fix); - cmt->data.procEvent = op; - } - -//--------------------------------------------------------- -// procEventTypeSel -//--------------------------------------------------------- - -void TransformDialog::procEventTypeSel(int val) - { - cmt->data.eventType = eventTypeTable[val]; - } - -//--------------------------------------------------------- -// procVal1OpSel -//--------------------------------------------------------- - -void TransformDialog::procVal1OpSel(int val) - { - cmt->data.procVal1 = TransformOperator(val); - switch(TransformOperator(val)) { - case Keep: - case Invert: - procVal1a->setEnabled(false); - procVal1b->setEnabled(false); - break; - case Multiply: - case Divide: - procVal1a->setEnabled(true); - procVal1b->setEnabled(false); - break; - case Plus: - case Minus: - case Fix: - case Value: - case Flip: - procVal1a->setEnabled(true); - procVal1b->setEnabled(false); - break; - case Random: - case ScaleMap: - case Dynamic: - procVal1a->setEnabled(true); - procVal1b->setEnabled(true); - break; - } - } - -//--------------------------------------------------------- -// procVal2OpSel -//--------------------------------------------------------- - -void TransformDialog::procVal2OpSel(int val) - { - TransformOperator op = TransformOperator(procVal2Map[val]); - cmt->data.procVal2 = op; - - switch (op) { - case Keep: - case Invert: - procVal2a->setEnabled(false); - procVal2b->setEnabled(false); - break; - case Multiply: - case Divide: - procVal2a->setEnabled(true); - procVal2b->setEnabled(false); - break; - case Plus: - case Minus: - case Fix: - case Value: - procVal2a->setEnabled(true); - procVal2b->setEnabled(false); - break; - case Random: - case Dynamic: - procVal2a->setEnabled(true); - procVal2b->setEnabled(true); - break; - default: - break; - } - } - -//--------------------------------------------------------- -// funcOpSel -//--------------------------------------------------------- - -void TransformDialog::funcOpSel(int val) - { - TransformFunction op = oplist[val].id; - - bool isFuncOp(op == Trans); - - procEventOp->setEnabled(isFuncOp); - procType->setEnabled(isFuncOp); - procVal1Op->setEnabled(isFuncOp); - procVal1a->setEnabled(isFuncOp); - procVal1b->setEnabled(isFuncOp); - procVal2Op->setEnabled(isFuncOp); - procVal2a->setEnabled(isFuncOp); - procVal2b->setEnabled(isFuncOp); - procChannelOp->setEnabled(isFuncOp); - procChannelVala->setEnabled(isFuncOp); - procChannelValb->setEnabled(isFuncOp); - if (isFuncOp) { - procEventOpSel(cmt->data.procEvent); - procVal1OpSel(cmt->data.procVal1); - procVal2OpSel(cmt->data.procVal2); - procChannelOpSel(cmt->data.procChannel); - } - cmt->data.funcOp = op; - } - -//--------------------------------------------------------- -// selVal1aChanged -//--------------------------------------------------------- - -void TransformDialog::selVal1aChanged(int val) - { - cmt->data.selVal1a = val; - if ((cmt->data.selEventOp != All) - && (cmt->data.selType == 0x90)) { - selVal1a->setSuffix(" - " + pitch2string(val)); - } - else - selVal1a->setSuffix(QString("")); - } - -//--------------------------------------------------------- -// selVal1bChanged -//--------------------------------------------------------- - -void TransformDialog::selVal1bChanged(int val) - { - cmt->data.selVal1b = val; - if ((cmt->data.selEventOp != All) - && (cmt->data.selType == 0x90)) { - selVal1b->setSuffix(" - " + pitch2string(val)); - } - else - selVal1b->setSuffix(QString("")); - } - -//--------------------------------------------------------- -// selVal2aChanged -//--------------------------------------------------------- - -void TransformDialog::selVal2aChanged(int val) - { - cmt->data.selVal2a = val; - } - -//--------------------------------------------------------- -// selVal2bChanged -//--------------------------------------------------------- - -void TransformDialog::selVal2bChanged(int val) - { - cmt->data.selVal2b = val; - } - -//--------------------------------------------------------- -// procVal1aChanged -//--------------------------------------------------------- - -void TransformDialog::procVal1aChanged(int val) - { - cmt->data.procVal1a = val; - } - -//--------------------------------------------------------- -// procVal1bChanged -//--------------------------------------------------------- - -void TransformDialog::procVal1bChanged(int val) - { - cmt->data.procVal1b = val; - } - -//--------------------------------------------------------- -// procVal2aChanged -//--------------------------------------------------------- - -void TransformDialog::procVal2aChanged(int val) - { - cmt->data.procVal2a = val; - } - -//--------------------------------------------------------- -// procVal2bChanged -//--------------------------------------------------------- - -void TransformDialog::procVal2bChanged(int val) - { - cmt->data.procVal2b = val; - } - -//--------------------------------------------------------- -// selChannelOpSel -//--------------------------------------------------------- - -void TransformDialog::selChannelOpSel(int val) - { - setValOp(selChannelVala, selChannelValb, ValOp(val)); - cmt->data.selChannel = ValOp(val); - } - -//--------------------------------------------------------- -// selChannelValaChanged -//--------------------------------------------------------- - -void TransformDialog::selChannelValaChanged(int val) - { - cmt->data.selChannela = val; - } - -//--------------------------------------------------------- -// selChannelValbChanged -//--------------------------------------------------------- - -void TransformDialog::selChannelValbChanged(int val) - { - cmt->data.selChannelb = val; - } - -//--------------------------------------------------------- -// procChannelOpSel -//--------------------------------------------------------- - -void TransformDialog::procChannelOpSel(int val) - { - cmt->data.procChannel = TransformOperator(val); - switch(TransformOperator(val)) { - case Keep: - case Invert: - procChannelVala->setEnabled(false); - procChannelValb->setEnabled(false); - break; - case Multiply: - case Divide: - procChannelVala->setEnabled(true); - procChannelValb->setEnabled(false); - break; - case Plus: - case Minus: - case Fix: - case Value: - case Flip: - procChannelVala->setEnabled(true); - procChannelValb->setEnabled(false); - break; - case Random: - case ScaleMap: - case Dynamic: - procChannelVala->setEnabled(true); - procChannelValb->setEnabled(true); - break; - } - } - -//--------------------------------------------------------- -// procChannelValaChanged -//--------------------------------------------------------- - -void TransformDialog::procChannelValaChanged(int val) - { - cmt->data.procChannela = val; - } - -//--------------------------------------------------------- -// procChannelValbChanged -//--------------------------------------------------------- - -void TransformDialog::procChannelValbChanged(int val) - { - cmt->data.procChannelb = val; - } - -//--------------------------------------------------------- -// getInitData -//--------------------------------------------------------- - -void Transform::getInitData(int* n, const unsigned char** p) const - { - *n = sizeof(data); - *p = (unsigned char*)&data; - } - -//--------------------------------------------------------- -// setInitData -//--------------------------------------------------------- - -void Transform::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 Transform(name, h); - } - -extern "C" { - static MEMPI descriptor = { - "Transformator", - "MusE Midi Event Transformator", - "0.1", // version string - MEMPI_FILTER, - MEMPI_MAJOR_VERSION, MEMPI_MINOR_VERSION, - instantiate - }; - - const MEMPI* mempi_descriptor() { return &descriptor; } - } - diff --git a/attic/muse_qt4_evolution/midiplugins/transform/transform.h b/attic/muse_qt4_evolution/midiplugins/transform/transform.h deleted file mode 100644 index 6f68698d..00000000 --- a/attic/muse_qt4_evolution/midiplugins/transform/transform.h +++ /dev/null @@ -1,126 +0,0 @@ -//========================================================= -// MusE -// Linux Music Editor -// $Id: transform.h,v 1.5 2005/10/05 17:02:03 lunar_shuttle Exp $ -// -// (C) Copyright 2005 Werner Schweer (ws@seh.de) -//========================================================= - -#ifndef __TRANSFORM_H__ -#define __TRANSFORM_H__ - -#include "../libmidiplugin/mempi.h" -#include "ui_transform.h" - -class Transform; - -namespace AL { - class Xml; - }; -using AL::Xml; - -enum ValOp { - All=0, Ignore=0, Equal=1, Unequal=2, Higher=3, Lower=4, - Inside=5, Outside=6 - }; - -enum TransformFunction { - Select, Quantize, Delete, Trans, Insert, Copy, Extract - }; - -enum TransformOperator { - Keep, Plus, Minus, Multiply, Divide, Fix, Value, Invert, - ScaleMap, Flip, Dynamic, Random - }; - -//--------------------------------------------------------- -// TransformDialog -//--------------------------------------------------------- - -class TransformDialog : public QDialog, public Ui::TransformDialogBase { - Q_OBJECT - Transform* cmt; - - void setValOp(QWidget* a, QWidget* b, ValOp op); - - signals: - void hideWindow(); - - private slots: - void selEventOpSel(int); - void selTypeSel(int); - void selVal1OpSel(int); - void selVal2OpSel(int); - void procEventOpSel(int); - void procEventTypeSel(int); - void procVal1OpSel(int); - void procVal2OpSel(int); - void funcOpSel(int); - void selVal1aChanged(int); - void selVal1bChanged(int); - void selVal2aChanged(int); - void selVal2bChanged(int); - void procVal1aChanged(int); - void procVal1bChanged(int); - void procVal2aChanged(int); - void procVal2bChanged(int); - void selChannelOpSel(int); - void selChannelValaChanged(int); - void selChannelValbChanged(int); - void procChannelOpSel(int); - void procChannelValaChanged(int); - void procChannelValbChanged(int); - - public: - TransformDialog(Transform*, QWidget* parent); - void init(); - }; - -//--------------------------------------------------------- -// Transform -//--------------------------------------------------------- - -class Transform : public Mempi { - int filterEvent(MidiEvent& event); - - public: - struct initData { - ValOp selEventOp; - int selType; - - ValOp selVal1; - int selVal1a, selVal1b; - ValOp selVal2; - int selVal2a, selVal2b; - ValOp selChannel; - int selChannela, selChannelb; - - TransformOperator procEvent; - int eventType; - TransformOperator procVal1; - int procVal1a, procVal1b; - TransformOperator procVal2; - int procVal2a, procVal2b; - TransformOperator procChannel; - int procChannela, procChannelb; - - TransformFunction funcOp; - int quantVal; - } data; - - TransformDialog* gui; - virtual void process(unsigned, unsigned, MidiEventList*, MidiEventList*); - - Transform(const char* name, const MempiHost*); - virtual bool init(); - virtual bool hasGui() const { return true; } - virtual bool guiVisible() const { return gui->isVisible(); } - virtual void showGui(bool val) { gui->setShown(val); } - virtual void getGeometry(int* x, int* y, int* w, int* h) const; - virtual void setGeometry(int, int, int, int); - virtual void getInitData(int*, const unsigned char**) const; - virtual void setInitData(int, const unsigned char*); - }; - -#endif - diff --git a/attic/muse_qt4_evolution/midiplugins/transform/transform.ui b/attic/muse_qt4_evolution/midiplugins/transform/transform.ui deleted file mode 100644 index c23cf343..00000000 --- a/attic/muse_qt4_evolution/midiplugins/transform/transform.ui +++ /dev/null @@ -1,616 +0,0 @@ -<ui version="4.0" > - <author></author> - <comment></comment> - <exportmacro></exportmacro> - <class>TransformDialogBase</class> - <widget class="QDialog" name="TransformDialogBase" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>630</width> - <height>418</height> - </rect> - </property> - <property name="windowTitle" > - <string>MusE: Midi Input Transformator</string> - </property> - <property name="sizeGripEnabled" > - <bool>true</bool> - </property> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>11</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QGroupBox" name="GroupBox3" > - <property name="title" > - <string>Filter</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>11</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="0" > - <widget class="QComboBox" name="selEventOp" > - <item> - <property name="text" > - <string>All</string> - </property> - </item> - <item> - <property name="text" > - <string>Equal</string> - </property> - </item> - <item> - <property name="text" > - <string>Unequal</string> - </property> - </item> - </widget> - </item> - <item row="2" column="0" > - <widget class="QComboBox" name="selType" > - <item> - <property name="text" > - <string>Note</string> - </property> - </item> - <item> - <property name="text" > - <string>Poly Pressure</string> - </property> - </item> - <item> - <property name="text" > - <string>Control Change</string> - </property> - </item> - <item> - <property name="text" > - <string>Aftertouch</string> - </property> - </item> - <item> - <property name="text" > - <string>Pitch Bend</string> - </property> - </item> - <item> - <property name="text" > - <string>NRPN</string> - </property> - </item> - <item> - <property name="text" > - <string>RPN</string> - </property> - </item> - </widget> - </item> - <item row="0" column="2" > - <widget class="QLabel" name="TextLabel3" > - <property name="text" > - <string>Value 2</string> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QLabel" name="TextLabel2" > - <property name="text" > - <string>Value 1</string> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QLabel" name="TextLabel1" > - <property name="text" > - <string>Event Type</string> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QComboBox" name="selVal1Op" > - <item> - <property name="text" > - <string>Ignore</string> - </property> - </item> - <item> - <property name="text" > - <string>Equal</string> - </property> - </item> - <item> - <property name="text" > - <string>Unequal</string> - </property> - </item> - <item> - <property name="text" > - <string>Higher</string> - </property> - </item> - <item> - <property name="text" > - <string>Lower</string> - </property> - </item> - <item> - <property name="text" > - <string>Inside</string> - </property> - </item> - <item> - <property name="text" > - <string>Outside</string> - </property> - </item> - </widget> - </item> - <item row="3" column="1" > - <widget class="QSpinBox" name="selVal1b" > - <property name="maximum" > - <number>127</number> - </property> - </widget> - </item> - <item row="3" column="2" > - <widget class="QSpinBox" name="selVal2b" > - <property name="maximum" > - <number>127</number> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QSpinBox" name="selVal1a" > - <property name="maximum" > - <number>127</number> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QComboBox" name="selVal2Op" > - <item> - <property name="text" > - <string>Ignore</string> - </property> - </item> - <item> - <property name="text" > - <string>Equal</string> - </property> - </item> - <item> - <property name="text" > - <string>Unequal</string> - </property> - </item> - <item> - <property name="text" > - <string>Higher</string> - </property> - </item> - <item> - <property name="text" > - <string>Lower</string> - </property> - </item> - <item> - <property name="text" > - <string>Inside</string> - </property> - </item> - <item> - <property name="text" > - <string>Outside</string> - </property> - </item> - </widget> - </item> - <item row="1" column="3" > - <widget class="QComboBox" name="selChannelOp" > - <item> - <property name="text" > - <string>Ignore</string> - </property> - </item> - <item> - <property name="text" > - <string>Equal</string> - </property> - </item> - <item> - <property name="text" > - <string>Unequal</string> - </property> - </item> - <item> - <property name="text" > - <string>Higher</string> - </property> - </item> - <item> - <property name="text" > - <string>Lower</string> - </property> - </item> - <item> - <property name="text" > - <string>Inside</string> - </property> - </item> - <item> - <property name="text" > - <string>Outside</string> - </property> - </item> - </widget> - </item> - <item row="0" column="3" > - <widget class="QLabel" name="TextLabel2_2" > - <property name="text" > - <string>Channel</string> - </property> - </widget> - </item> - <item row="2" column="2" > - <widget class="QSpinBox" name="selVal2a" > - <property name="maximum" > - <number>127</number> - </property> - </widget> - </item> - <item row="2" column="3" > - <widget class="QSpinBox" name="selChannelVala" > - <property name="maximum" > - <number>127</number> - </property> - </widget> - </item> - <item row="3" column="3" > - <widget class="QSpinBox" name="selChannelValb" > - <property name="maximum" > - <number>127</number> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="GroupBox5" > - <property name="title" > - <string>Processing</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>11</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="0" > - <widget class="QLabel" name="TextLabel5" > - <property name="text" > - <string>Event Type</string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QComboBox" name="procEventOp" > - <item> - <property name="text" > - <string>Keep</string> - </property> - </item> - <item> - <property name="text" > - <string>Fix</string> - </property> - </item> - </widget> - </item> - <item row="2" column="0" > - <widget class="QComboBox" name="procType" > - <item> - <property name="text" > - <string>Note</string> - </property> - </item> - <item> - <property name="text" > - <string>Poly Pressure</string> - </property> - </item> - <item> - <property name="text" > - <string>Control Change</string> - </property> - </item> - <item> - <property name="text" > - <string>Aftertouch</string> - </property> - </item> - <item> - <property name="text" > - <string>Pitch Bend</string> - </property> - </item> - <item> - <property name="text" > - <string>NRPN</string> - </property> - </item> - <item> - <property name="text" > - <string>RPN</string> - </property> - </item> - </widget> - </item> - <item row="1" column="1" > - <widget class="QComboBox" name="procVal1Op" > - <item> - <property name="text" > - <string>Keep</string> - </property> - </item> - <item> - <property name="text" > - <string>Plus</string> - </property> - </item> - <item> - <property name="text" > - <string>Minus</string> - </property> - </item> - <item> - <property name="text" > - <string>Multiply</string> - </property> - </item> - <item> - <property name="text" > - <string>Divide</string> - </property> - </item> - <item> - <property name="text" > - <string>Fix</string> - </property> - </item> - <item> - <property name="text" > - <string>Value 2</string> - </property> - </item> - <item> - <property name="text" > - <string>Invert</string> - </property> - </item> - <item> - <property name="text" > - <string>ScaleMap</string> - </property> - </item> - <item> - <property name="text" > - <string>Flip</string> - </property> - </item> - <item> - <property name="text" > - <string>Dyn</string> - </property> - </item> - <item> - <property name="text" > - <string>Random</string> - </property> - </item> - </widget> - </item> - <item row="0" column="1" > - <widget class="QLabel" name="TextLabel6" > - <property name="text" > - <string>Value 1</string> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QLabel" name="TextLabel7" > - <property name="text" > - <string>Value 2</string> - </property> - </widget> - </item> - <item row="3" column="1" > - <widget class="QSpinBox" name="procVal1b" > - <property name="maximum" > - <number>9999</number> - </property> - </widget> - </item> - <item row="3" column="2" > - <widget class="QSpinBox" name="procVal2b" > - <property name="maximum" > - <number>9999</number> - </property> - </widget> - </item> - <item row="3" column="3" > - <widget class="QSpinBox" name="procChannelValb" > - <property name="maximum" > - <number>127</number> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QComboBox" name="procVal2Op" > - <item> - <property name="text" > - <string>Keep</string> - </property> - </item> - <item> - <property name="text" > - <string>Plus</string> - </property> - </item> - <item> - <property name="text" > - <string>Minus</string> - </property> - </item> - <item> - <property name="text" > - <string>Multiply</string> - </property> - </item> - <item> - <property name="text" > - <string>Divide</string> - </property> - </item> - <item> - <property name="text" > - <string>Fix</string> - </property> - </item> - <item> - <property name="text" > - <string>Value 1</string> - </property> - </item> - <item> - <property name="text" > - <string>Invert</string> - </property> - </item> - <item> - <property name="text" > - <string>Dyn</string> - </property> - </item> - <item> - <property name="text" > - <string>Random</string> - </property> - </item> - </widget> - </item> - <item row="1" column="3" > - <widget class="QComboBox" name="procChannelOp" > - <item> - <property name="text" > - <string>Keep</string> - </property> - </item> - <item> - <property name="text" > - <string>Plus</string> - </property> - </item> - <item> - <property name="text" > - <string>Minus</string> - </property> - </item> - <item> - <property name="text" > - <string>Multiply</string> - </property> - </item> - <item> - <property name="text" > - <string>Divide</string> - </property> - </item> - <item> - <property name="text" > - <string>Fix</string> - </property> - </item> - <item> - <property name="text" > - <string>Value 1</string> - </property> - </item> - <item> - <property name="text" > - <string>Invert</string> - </property> - </item> - <item> - <property name="text" > - <string>Dyn</string> - </property> - </item> - <item> - <property name="text" > - <string>Random</string> - </property> - </item> - </widget> - </item> - <item row="0" column="3" > - <widget class="QLabel" name="TextLabel2_2_2" > - <property name="text" > - <string>Channel</string> - </property> - </widget> - </item> - <item row="3" column="0" > - <widget class="QComboBox" name="funcOp" /> - </item> - <item row="2" column="1" > - <widget class="QSpinBox" name="procVal1a" /> - </item> - <item row="2" column="2" > - <widget class="QSpinBox" name="procVal2a" /> - </item> - <item row="2" column="3" > - <widget class="QSpinBox" name="procChannelVala" /> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - <layoutdefault spacing="6" margin="11" /> - <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> - <tabstops> - <tabstop>selEventOp</tabstop> - <tabstop>selType</tabstop> - <tabstop>selVal1Op</tabstop> - <tabstop>selVal1a</tabstop> - <tabstop>selVal1b</tabstop> - <tabstop>selVal2Op</tabstop> - <tabstop>selVal2a</tabstop> - <tabstop>selVal2b</tabstop> - <tabstop>selChannelOp</tabstop> - <tabstop>selChannelVala</tabstop> - <tabstop>selChannelValb</tabstop> - <tabstop>procEventOp</tabstop> - <tabstop>procType</tabstop> - <tabstop>procVal1Op</tabstop> - <tabstop>procVal1b</tabstop> - <tabstop>procVal2Op</tabstop> - <tabstop>procVal2b</tabstop> - <tabstop>procChannelOp</tabstop> - <tabstop>procChannelValb</tabstop> - </tabstops> - <resources/> - <connections/> -</ui> |