summaryrefslogtreecommitdiff
path: root/muse2/muse/widgets/musewidgetsplug.cpp
diff options
context:
space:
mode:
authorRobert Jonsson <spamatica@gmail.com>2010-10-13 19:34:22 +0000
committerRobert Jonsson <spamatica@gmail.com>2010-10-13 19:34:22 +0000
commit8a2c2824a59d7644e13bc52c9a0ecbd641f21f95 (patch)
tree064ad3f2bf8daab0ad27b128abd86a9bbdb1e496 /muse2/muse/widgets/musewidgetsplug.cpp
parenta27706d9629e8b592cca4659f865b70adef24e6d (diff)
new branch muse2, first checkin
Diffstat (limited to 'muse2/muse/widgets/musewidgetsplug.cpp')
-rw-r--r--muse2/muse/widgets/musewidgetsplug.cpp539
1 files changed, 539 insertions, 0 deletions
diff --git a/muse2/muse/widgets/musewidgetsplug.cpp b/muse2/muse/widgets/musewidgetsplug.cpp
new file mode 100644
index 00000000..4a7f5f24
--- /dev/null
+++ b/muse2/muse/widgets/musewidgetsplug.cpp
@@ -0,0 +1,539 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: musewidgetsplug.cpp,v 1.9.2.9 2009/12/01 03:52:40 terminator356 Exp $
+// (C) Copyright 2001-2003 Werner Schweer (ws@seh.de)
+//=========================================================
+
+// this file makes some of the MusE widgets available
+// to QT-Designer
+
+#include <qwidgetplugin.h>
+//Added by qt3to4:
+#include <QPixmap>
+#include "posedit.h"
+#include "poslabel.h"
+#include "pitchedit.h"
+#include "pitchlabel.h"
+#include "sig.h"
+#include "tempo.h"
+#include "tempolabel.h"
+#include "sigedit.h"
+#include "slider.h"
+#include "doublelabel.h"
+#include "checkbox.h"
+#include "combobox.h"
+#include "gconfig.h"
+
+int sampleRate = 44100; // some dummy values to get things compiled/linked
+int division = 384;
+int mtcType = 0;
+bool hIsB = false;
+
+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"
+ };
+
+GlobalConfigValues config = {
+ {
+ QColor(0xff, 0xff, 0xff), // palette
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff),
+ QColor(0xff, 0xff, 0xff)
+ },
+ {
+ QColor(255, 232, 140), // part colors
+ QColor(0xff, 0x00, 0x00),
+ QColor(0x00, 0xff, 0x00),
+ QColor(0x00, 0x00, 0xff),
+ QColor(0xff, 0xff, 0x00),
+ QColor(0x00, 0xff, 0xff),
+ QColor(0xff, 0x00, 0xff),
+ QColor(0x9f, 0xc7, 0xef),
+ QColor(0x00, 0xff, 0x7f),
+ QColor(0x7f, 0x00, 0x00),
+ QColor(0x00, 0x7f, 0x00),
+ QColor(0x00, 0x00, 0x7f),
+ QColor(0x7f, 0x7f, 0x3f),
+ QColor(0x00, 0x7f, 0x7f),
+ QColor(0x7f, 0x00, 0x7f),
+ QColor(0x00, 0x7f, 0xff),
+ QColor(0x00, 0x3f, 0x3f)
+ },
+ QColor(0, 0, 255), // transportHandleColor;
+ QColor(255, 0, 0), // bigTimeForegroundColor;
+ QColor(0, 0, 0), // bigTimeBackgroundColor;
+ QColor(200, 200, 200), // waveEditBackgroundColor;
+ {
+ QFont(QString("arial"), 10, QFont::Normal),
+ QFont(QString("arial"), 8, QFont::Normal),
+ QFont(QString("arial"), 10, QFont::Normal),
+ QFont(QString("arial"), 10, QFont::Bold),
+ QFont(QString("arial"), 8, QFont::Bold), // timescale numbers
+ QFont(QString("Lucidatypewriter"), 14, QFont::Bold),
+ QFont(QString("arial"), 8, QFont::Bold, true) // Mixer strip labels. Looks and fits better with bold + italic than bold alone,
+ // at the price of only few more pixels than Normal mode.
+ },
+ QColor(0xff, 0xff, 0xff), // trackBg;
+ QColor(0x80, 0xff, 0x80), // selected track Bg;
+ QColor(0x00, 0x00, 0x00), // selected track Fg;
+ QColor(0xff, 0xff, 0xff), // midiTrackBg;
+ QColor(255, 170, 0), // ctrlGraphFg; Medium orange
+ QColor(0xff, 0xff, 0xff), // drumTrackBg;
+ QColor(0xff, 0xff, 0xff), // waveTrackBg;
+ QColor(0xff, 0xff, 0xff), // outputTrackBg;
+ QColor(0xff, 0xff, 0xff), // inputTrackBg;
+ QColor(0xff, 0xff, 0xff), // groupTrackBg;
+ QColor(0xff, 0xff, 0xff), // auxTrackBg;
+ QColor(0xff, 0xff, 0xff), // synthTrackBg;
+ QColor(98, 124, 168), // part canvas bg
+ QColor(98, 124, 168), // mixerBg;
+
+ 384, // division;
+ 1024, // rtcTicks
+ -60, // int minMeter;
+ -60.0, // double minSlider;
+ false, // use Jack freewheel
+ 20, // int guiRefresh;
+ QString(""), // helpBrowser
+ true, // extendedMidi
+ 384, // division for smf export
+ QString(""), // copyright string for smf export
+ 1, // smf export file format
+ false, // midi export file 2 byte timesigs instead of 4
+ true, // optimize midi export file note offs
+ true, // Split imported tracks into multiple parts.
+ 1, // startMode
+ QString(""), // start song path
+ 384, // gui division
+ QRect(0, 0, 400, 300), // GeometryMain;
+ QRect(0, 0, 200, 100), // GeometryTransport;
+ QRect(0, 0, 600, 200), // GeometryBigTime;
+ QRect(0, 0, 400, 300), // GeometryPianoroll;
+ QRect(0, 0, 400, 300), // GeometryDrumedit;
+ //QRect(0, 0, 300, 500), // GeometryMixer; // Obsolete
+ {
+ QString("Mixer A"),
+ QRect(0, 0, 300, 500), // Mixer1
+ true, true, true, true,
+ true, true, true, true
+ },
+ {
+ QString("Mixer B"),
+ QRect(200, 200, 300, 500), // Mixer2
+ true, true, true, true,
+ true, true, true, true
+ },
+ true, // TransportVisible;
+ false, // BigTimeVisible;
+ false, // mixer1Visible;
+ false, // mixer2Visible;
+
+ false, // markerVisible; // This line was missing 2007-01-08 (willyfoobar)
+ true, // showSplashScreen
+ 1, // canvasShowPartType 1 - names, 2 events
+ 5, // canvasShowPartEvent
+ false, // canvasShowGrid;
+ QString(""), // canvasBgPixmap;
+ QString(""), // style
+ QString(""), // externalWavEditor //this line was missing 2007-01-08 (willyfoobar)
+ false, // useOldStyleStopShortCut
+ true, // moveArmedCheckBox
+ true, // useDenormalBias
+ false, // useOutputLimiter
+ true, // showDidYouKnow
+ false // vstInPlace Enable VST in-place processing
+ 44100, // Dummy audio preferred sample rate
+ 512 // Dummy audio buffer size
+ };
+
+//---------------------------------------------------------
+// pitch2string
+//---------------------------------------------------------
+
+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]);
+ if (hIsB) {
+ if (s == "h")
+ s = "b";
+ else if (s == "H")
+ s = "B";
+ }
+ return s + o;
+ }
+
+
+/* XPM */
+static const char* slider_pixmap[]={
+"22 22 50 1",
+". c None",
+"f c #004005",
+"g c #004007",
+"h c #004107",
+"m c #004108",
+"j c #00430a",
+"E c #00501f",
+"s c #005021",
+"e c #014006",
+"l c #024006",
+"F c #095e34",
+"D c #0b572a",
+"k c #0b582b",
+"n c #0f5328",
+"u c #12562d",
+"o c #155a35",
+"p c #165c38",
+"q c #165c39",
+"i c #17501a",
+"I c #175522",
+"r c #18603f",
+"N c #18795e",
+"t c #187a60",
+"R c #1e5a29",
+"y c #22633d",
+"O c #307755",
+"B c #408262",
+"v c #439191",
+"G c #468667",
+"d c #4c7a51",
+"H c #4d8a6c",
+"J c #569174",
+"C c #599276",
+"P c #5e967a",
+"A c #63b1c2",
+"V c #659477",
+"Q c #659b80",
+"S c #6da087",
+"w c #70b2bc",
+"x c #72b5c0",
+"z c #74b7c3",
+"K c #79a891",
+"a c #7ea48a",
+"T c #8cb4a0",
+"L c #a3c3b3",
+"M c #b7d8d1",
+"U c #bedcd5",
+"c c #c3d2c3",
+"b c #f1f5f1",
+"# c #ffffff",
+"......................",
+"......................",
+"......................",
+"......................",
+"......................",
+"......###a............",
+"......#bcad...........",
+"......#bcad...........",
+"......#bcad...........",
+"..efgh#bcaihhhhhhhjk..",
+".lmnop#bcaippppppqrst.",
+".huvwx#bcayxxxxxxzABC.",
+".DEFGH#bcaIHHHHHHJKLM.",
+"..NOPQ#bcaRQQQQQQSTU..",
+"......#bcad...........",
+"......#bcad...........",
+"......#bcad...........",
+"......VVVVd...........",
+".......dddd...........",
+"......................",
+"......................",
+"......................"};
+static const char *posedit_pixmap[] = {
+ "22 22 8 1",
+ " c Gray100",
+ ". c Gray97",
+ "X c #4f504f",
+ "o c #00007f",
+ "O c Gray0",
+ "+ c none",
+ "@ c Gray0",
+ "# c Gray0",
+ "++++++++++++++++++++++",
+ "++++++++++++++++++++++",
+ "++++++++++++++++++++++",
+ "++++++++++++++++++++++",
+ "+OOOOOOOOOOOOOOOOOOOO+",
+ "OOXXXXXXXXXXXXXXXXXXOO",
+ "OXX. OO OO O",
+ "OX. oo O O",
+ "OX. oo O .O",
+ "OX ooo oooo O O",
+ "OX oo oo oo O O",
+ "OX oooo oo oo O O",
+ "OX oo oo oo oo O O",
+ "OX oo oo oo oo O O",
+ "OX oooo oooo O O",
+ "OX OO OO O",
+ "OO..................OO",
+ "+OOOOOOOOOOOOOOOOOOOO+",
+ "++++++++++++++++++++++",
+ "++++++++++++++++++++++",
+ "++++++++++++++++++++++",
+ "++++++++++++++++++++++"
+ };
+
+static const char *pitchedit_pixmap[] = {
+ "22 22 8 1",
+ " c Gray100",
+ ". c Gray97",
+ "X c #4f504f",
+ "o c #00007f",
+ "O c Gray0",
+ "+ c none",
+ "@ c Gray0",
+ "# c Gray0",
+ "++++++++++++++++++++++",
+ "++++++++++++++++++++++",
+ "++++++++++++++++++++++",
+ "++++++++++++++++++++++",
+ "+OOOOOOOOOOOOOOOOOOOO+",
+ "OOXXXXXXXXXXXXXXXXXXOO",
+ "OXX. OO OO O",
+ "OX. o O O",
+ "OX. oo O .O",
+ "OX o o O O",
+ "OX o O O",
+ "OX o o O O",
+ "OX oooo O O",
+ "OX o O O",
+ "OX O O",
+ "OX OO OO O",
+ "OO..................OO",
+ "+OOOOOOOOOOOOOOOOOOOO+",
+ "++++++++++++++++++++++",
+ "++++++++++++++++++++++",
+ "++++++++++++++++++++++",
+ "++++++++++++++++++++++"
+ };
+
+//---------------------------------------------------------
+// MusEPlugin
+//---------------------------------------------------------
+
+class MusEPlugin : public QWidgetPlugin {
+ public:
+ MusEPlugin() {}
+ ~MusEPlugin() {}
+ QStringList keys() const;
+ QWidget* create(const QString& key, QWidget* parent=0,
+ const char* name = 0);
+ QString group(const QString& key) const;
+ QIcon iconSet(const QString& key) const;
+ QString includeFile(const QString& key) const;
+ QString toolTip(const QString& key) const;
+ QString whatsThis(const QString& key) const;
+ bool isContainer(const QString& key) const;
+ };
+
+//---------------------------------------------------------
+// keys
+//---------------------------------------------------------
+
+QStringList MusEPlugin::keys() const
+ {
+ QStringList list;
+ list << QString("PosEdit")
+ << QString("PitchEdit")
+ << QString("PosLabel")
+ << QString("PitchLabel")
+ << QString("TempoLabel")
+ << QString("TempoEdit")
+ << QString("SigEdit")
+ << QString("Slider")
+ << QString("DoubleLabel")
+ << QString("CheckBox")
+ << QString("ComboBox")
+ ;
+ return list;
+ }
+
+//---------------------------------------------------------
+// create
+//---------------------------------------------------------
+
+QWidget* MusEPlugin::create(const QString& key, QWidget* parent,
+ const char* name)
+ {
+ if (key == QString("PosEdit"))
+ return new PosEdit(parent, name);
+ else if (key == QString("PitchEdit"))
+ return new PitchEdit(parent, name);
+ else if (key == QString("PitchLabel"))
+ return new PitchLabel(parent, name);
+ else if (key == QString("PosLabel"))
+ return new PosLabel(parent, name);
+ else if (key == QString("TempoLabel"))
+ return new TempoLabel(parent, name);
+ else if (key == QString("TempoEdit"))
+ return new TempoEdit(parent, name);
+ else if (key == QString("SigEdit"))
+ return new SigEdit(parent, name);
+ else if (key == QString("Slider"))
+ return new Slider(parent, name);
+ else if (key == QString("DoubleLabel"))
+ return new DoubleLabel(parent, name);
+ else if (key == QString("CheckBox"))
+ return new CheckBox(parent, -1, name);
+ else if (key == QString("ComboBox"))
+ return new ComboBox(parent, name);
+ return 0;
+ }
+
+//---------------------------------------------------------
+// group
+//---------------------------------------------------------
+
+QString MusEPlugin::group(const QString& /*key*/) const
+ {
+ return QString("MusE");
+ }
+
+//---------------------------------------------------------
+// iconSet
+//---------------------------------------------------------
+
+QIcon MusEPlugin::iconSet(const QString& key) const
+ {
+ if (key == "PosEdit" || key == "PosLabel")
+ return QIcon(QPixmap(posedit_pixmap));
+ else if (key == "PitchEdit" || key == "PitchLabel")
+ return QIcon(QPixmap(pitchedit_pixmap));
+ else if (key == "TempoEdit" || key == "TempoLabel")
+ return QIcon(QPixmap(pitchedit_pixmap));
+ else if (key == "SigEdit")
+ return QIcon(QPixmap(pitchedit_pixmap));
+ else if (key == QString("Slider"))
+ return QIcon(QPixmap(slider_pixmap));
+// else if (key == QString("CheckBox"))
+// return QIconSet(QPixmap(slider_pixmap));
+// else if (key == QString("ComboBox"))
+// return QIconSet(QPixmap(slider_pixmap));
+ return QIcon();
+ }
+
+//---------------------------------------------------------
+// includeFile
+//---------------------------------------------------------
+
+QString MusEPlugin::includeFile(const QString& key) const
+ {
+ if (key == QString("PosEdit"))
+ return QString("posedit.h");
+ else if (key == QString("PitchEdit"))
+ return QString("pitchedit.h");
+ else if (key == QString("PitchLabel"))
+ return QString("pitchlabel.h");
+ else if (key == QString("PosLabel"))
+ return QString("poslabel.h");
+ else if (key == QString("TempoLabel"))
+ return QString("tempolabel.h");
+ else if (key == QString("TempoEdit"))
+ return QString("tempolabel.h");
+ else if (key == QString("SigEdit"))
+ return QString("sigedit.h");
+ else if (key == QString("Slider"))
+ return QString("slider.h");
+ else if (key == QString("DoubleLabel"))
+ return QString("dentry.h");
+ else if (key == QString("CheckBox"))
+ return QString("checkbox.h");
+ else if (key == QString("ComboBox"))
+ return QString("combobox.h");
+ return QString::null;
+ }
+
+//---------------------------------------------------------
+// toolTip
+//---------------------------------------------------------
+
+QString MusEPlugin::toolTip (const QString& key) const
+ {
+ if (key == QString("PosEdit"))
+ return QString("midi time position editor");
+ else if (key == QString("PitchEdit"))
+ return QString("midi pitch spinbox");
+ else if (key == QString("PitchLabel"))
+ return QString("midi pitch label");
+ else if (key == QString("PosLabel"))
+ return QString("midi time position label");
+ else if (key == QString("TempoLabel"))
+ return QString("midi tempo label");
+ else if (key == QString("TempoEdit"))
+ return QString("midi tempo spinbox");
+ else if (key == QString("SigEdit"))
+ return QString("midi signature spinbox");
+ else if (key == QString("Slider"))
+ return QString("slider for double values");
+ else if (key == QString("DoubleLabel"))
+ return QString("entry/label for double values");
+ else if (key == QString("CheckBox"))
+ return QString("checkbox with id");
+ else if (key == QString("ComboBox"))
+ return QString("combobox with id");
+ return QString::null;
+ }
+
+//---------------------------------------------------------
+// whatsThis
+//---------------------------------------------------------
+
+QString MusEPlugin::whatsThis (const QString& key) const
+ {
+ if (key == QString("PosEdit"))
+ return QString("midi time position editor");
+ else if (key == QString("PitchEdit"))
+ return QString("midi pitch spinbox");
+ else if (key == QString("PitchLabel"))
+ return QString("midi pitch label");
+ else if (key == QString("PosLabel"))
+ return QString("midi time position label");
+ else if (key == QString("TempoLabel"))
+ return QString("midi tempo label");
+ else if (key == QString("TempoEdit"))
+ return QString("midi tempo spinbox");
+ else if (key == QString("SigEdit"))
+ return QString("midi signature spinbox");
+ else if (key == QString("Slider"))
+ return QString("slider for double values");
+ else if (key == QString("DoubleLabel"))
+ return QString("entry/label for double values");
+ else if (key == QString("CheckBox"))
+ return QString("checkbox with id");
+ else if (key == QString("ComboBox"))
+ return QString("combobox with id");
+ return QString::null;
+ }
+
+//---------------------------------------------------------
+// isContainer
+//---------------------------------------------------------
+
+bool MusEPlugin::isContainer (const QString& /*key*/) const
+ {
+ return false;
+ }
+
+Q_EXPORT_PLUGIN(MusEPlugin)
+