summaryrefslogtreecommitdiff
path: root/muse2/muse/midiedit/pianoroll.cpp
diff options
context:
space:
mode:
authorFlorian Jung <flo@windfisch.org>2011-09-10 17:06:00 +0000
committerFlorian Jung <flo@windfisch.org>2011-09-10 17:06:00 +0000
commit24f84a489364741eb3fc126a3f83d91a86b65e27 (patch)
tree63a4e20aaf4a2ebd2462c91b574eddceeac31170 /muse2/muse/midiedit/pianoroll.cpp
parent38c5cccc7273247353264bb7dc97f42296d8e259 (diff)
parent2120ea4f083228dde0d7307203391a4ec8f57e2d (diff)
merged the first bunch of orcans changes
STILL WAIT WITH COMMITTING NEW STUFF! i have to merge the rest as well! this is a bit buggy (connect errors, not tested much), but doesn't segfault immediately
Diffstat (limited to 'muse2/muse/midiedit/pianoroll.cpp')
-rw-r--r--muse2/muse/midiedit/pianoroll.cpp103
1 files changed, 59 insertions, 44 deletions
diff --git a/muse2/muse/midiedit/pianoroll.cpp b/muse2/muse/midiedit/pianoroll.cpp
index 258efe19..cfebb493 100644
--- a/muse2/muse/midiedit/pianoroll.cpp
+++ b/muse2/muse/midiedit/pianoroll.cpp
@@ -3,6 +3,21 @@
// Linux Music Editor
// $Id: pianoroll.cpp,v 1.25.2.15 2009/11/16 11:29:33 lunar_shuttle Exp $
// (C) Copyright 1999 Werner Schweer (ws@seh.de)
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; version 2 of
+// the License, or (at your option) any later version.
+//
+// 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
//=========================================================
#include <QLayout>
@@ -58,7 +73,7 @@ int PianoRoll::colorModeInit = 0;
static const int xscale = -10;
static const int yscale = 1;
static const int pianoWidth = 40;
-static int pianorollTools = PointerTool | PencilTool | RubberTool | DrawTool;
+static int pianorollTools = MusEWidget::PointerTool | MusEWidget::PencilTool | MusEWidget::RubberTool | MusEWidget::DrawTool;
//---------------------------------------------------------
@@ -80,7 +95,7 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
menuEdit = menuBar()->addMenu(tr("&Edit"));
- menuEdit->addActions(undoRedo->actions());
+ menuEdit->addActions(MusEGlobal::undoRedo->actions());
menuEdit->addSeparator();
@@ -237,7 +252,7 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
//---------ToolBar----------------------------------
tools = addToolBar(tr("Pianoroll tools"));
tools->setObjectName("Pianoroll tools");
- tools->addActions(undoRedo->actions());
+ tools->addActions(MusEGlobal::undoRedo->actions());
tools->addSeparator();
srec = new QToolButton();
@@ -258,46 +273,46 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
speaker->setCheckable(true);
tools->addWidget(speaker);
- tools2 = new EditToolBar(this, pianorollTools);
+ tools2 = new MusEWidget::EditToolBar(this, pianorollTools);
addToolBar(tools2);
QToolBar* panicToolbar = addToolBar(tr("panic"));
panicToolbar->setObjectName("panic");
- panicToolbar->addAction(panicAction);
+ panicToolbar->addAction(MusEGlobal::panicAction);
//-------------------------------------------------------------
// Transport Bar
QToolBar* transport = addToolBar(tr("transport"));
transport->setObjectName("transport");
- transport->addActions(transportAction->actions());
+ transport->addActions(MusEGlobal::transportAction->actions());
addToolBarBreak();
- toolbar = new Toolbar1(this, _rasterInit);
+ toolbar = new MusEWidget::Toolbar1(this, _rasterInit);
addToolBar(toolbar);
addToolBarBreak();
- info = new NoteInfo(this);
+ info = new MusEWidget::NoteInfo(this);
addToolBar(info);
//---------------------------------------------------
// split
//---------------------------------------------------
- splitter = new Splitter(Qt::Vertical, mainw, "splitter");
+ splitter = new MusEWidget::Splitter(Qt::Vertical, mainw, "splitter");
splitter->setHandleWidth(2);
- hsplitter = new Splitter(Qt::Horizontal, mainw, "hsplitter");
+ hsplitter = new MusEWidget::Splitter(Qt::Horizontal, mainw, "hsplitter");
hsplitter->setChildrenCollapsible(true);
hsplitter->setHandleWidth(2);
QPushButton* ctrl = new QPushButton(tr("ctrl"), mainw);
//QPushButton* ctrl = new QPushButton(tr("C"), mainw); // Tim.
ctrl->setObjectName("Ctrl");
- ctrl->setFont(config.fonts[3]);
+ ctrl->setFont(MusEConfig::config.fonts[3]);
ctrl->setToolTip(tr("Add Controller View"));
- //hscroll = new ScrollScale(-25, -2, xscale, 20000, Qt::Horizontal, mainw);
+ //hscroll = new MusEWidget::ScrollScale(-25, -2, xscale, 20000, Qt::Horizontal, mainw);
// Increased scale to -1. To resolve/select/edit 1-tick-wide (controller graph) events. p4.0.18 Tim.
- hscroll = new ScrollScale(-25, -1, xscale, 20000, Qt::Horizontal, mainw);
+ hscroll = new MusEWidget::ScrollScale(-25, -1, xscale, 20000, Qt::Horizontal, mainw);
ctrl->setFixedSize(pianoWidth, hscroll->sizeHint().height());
//ctrl->setFixedSize(pianoWidth / 2, hscroll->sizeHint().height()); // Tim.
@@ -305,14 +320,14 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
/*
QPushButton* trackInfoButton = new QPushButton(tr("T"), mainw);
trackInfoButton->setObjectName("TrackInfo");
- trackInfoButton->setFont(config.fonts[3]);
+ trackInfoButton->setFont(MusEConfig::config.fonts[3]);
trackInfoButton->setToolTip(tr("Show track info"));
trackInfoButton->setFixedSize(pianoWidth / 2, hscroll->sizeHint().height());
*/
QSizeGrip* corner = new QSizeGrip(mainw);
- midiTrackInfo = new MidiTrackInfo(mainw);
+ midiTrackInfo = new MusEWidget::MidiTrackInfo(mainw);
int mtiw = midiTrackInfo->width(); // Save this.
midiTrackInfo->setMinimumWidth(100);
//midiTrackInfo->setMaximumWidth(150);
@@ -365,14 +380,14 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
gridS1->setSpacing(0);
//Defined and configure your program change bar here.
//This may well be a copy of MTScale extended for our needs
- time = new MTScale(&_raster, split1, xscale);
+ time = new MusEWidget::MTScale(&_raster, split1, xscale);
Piano* piano = new Piano(split1, yscale);
canvas = new PianoCanvas(this, split1, xscale, yscale);
- vscroll = new ScrollScale(-3, 7, yscale, KH * 75, Qt::Vertical, split1);
+ vscroll = new MusEWidget::ScrollScale(-3, 7, yscale, KH * 75, Qt::Vertical, split1);
//setFocusProxy(canvas); // Tim.
- int offset = -(config.division/4);
+ int offset = -(MusEConfig::config.division/4);
canvas->setOrigin(offset, 0);
canvas->setCanvasTools(pianorollTools);
canvas->setFocus();
@@ -386,7 +401,7 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
//gridS1->setColumnStretch(2, 100); // Tim.
gridS1->addWidget(time, 0, 1, 1, 2);
- gridS1->addWidget(hLine(split1), 1, 0, 1, 3);
+ gridS1->addWidget(MusEUtil::hLine(split1), 1, 0, 1, 3);
gridS1->addWidget(piano, 2, 0);
gridS1->addWidget(canvas, 2, 1);
gridS1->addWidget(vscroll, 2, 2);
@@ -394,7 +409,7 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
// Tim.
/*
gridS1->addWidget(time, 0, 2, 1, 3);
- gridS1->addWidget(hLine(split1), 1, 1, 1, 4);
+ gridS1->addWidget(MusEUtil::hLine(split1), 1, 1, 1, 4);
//gridS1->addWidget(infoScroll, 2, 0);
gridS1->addWidget(infoScroll, 0, 0, 3, 1);
gridS1->addWidget(piano, 2, 1);
@@ -402,7 +417,7 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
gridS1->addWidget(vscroll, 2, 3);
*/
- ctrlLane = new Splitter(Qt::Vertical, splitter, "ctrllane");
+ ctrlLane = new MusEWidget::Splitter(Qt::Vertical, splitter, "ctrllane");
QWidget* split2 = new QWidget(splitter);
split2->setMaximumHeight(hscroll->sizeHint().height());
split2->setMinimumHeight(hscroll->sizeHint().height());
@@ -428,7 +443,7 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i
connect(ctrl, SIGNAL(clicked()), SLOT(addCtrl()));
//connect(trackInfoButton, SIGNAL(clicked()), SLOT(toggleTrackInfo())); Tim.
- connect(info, SIGNAL(valueChanged(NoteInfo::ValType, int)), SLOT(noteinfoChanged(NoteInfo::ValType, int)));
+ connect(info, SIGNAL(valueChanged(MusEWidget::NoteInfo::ValType, int)), SLOT(noteinfoChanged(MusEWidget::NoteInfo::ValType, int)));
connect(vscroll, SIGNAL(scrollChanged(int)), piano, SLOT(setYPos(int)));
connect(vscroll, SIGNAL(scrollChanged(int)), canvas, SLOT(setYPos(int)));
connect(vscroll, SIGNAL(scaleChanged(int)), canvas, SLOT(setYMag(int)));
@@ -598,7 +613,7 @@ void PianoRoll::setTime(unsigned tick)
PianoRoll::~PianoRoll()
{
- // undoRedo->removeFrom(tools); // p4.0.6 Removed
+ // MusEGlobal::undoRedo->removeFrom(tools); // p4.0.6 Removed
}
//---------------------------------------------------------
@@ -682,7 +697,7 @@ void PianoRoll::setSelection(int tick, Event& e, Part* p)
// edit currently selected Event
//---------------------------------------------------------
-void PianoRoll::noteinfoChanged(NoteInfo::ValType type, int val)
+void PianoRoll::noteinfoChanged(MusEWidget::NoteInfo::ValType type, int val)
{
int selections = canvas->selectionSize();
@@ -692,19 +707,19 @@ void PianoRoll::noteinfoChanged(NoteInfo::ValType type, int val)
else if (selections == 1) {
Event event = selEvent.clone();
switch(type) {
- case NoteInfo::VAL_TIME:
+ case MusEWidget::NoteInfo::VAL_TIME:
event.setTick(val - selPart->tick());
break;
- case NoteInfo::VAL_LEN:
+ case MusEWidget::NoteInfo::VAL_LEN:
event.setLenTick(val);
break;
- case NoteInfo::VAL_VELON:
+ case MusEWidget::NoteInfo::VAL_VELON:
event.setVelo(val);
break;
- case NoteInfo::VAL_VELOFF:
+ case MusEWidget::NoteInfo::VAL_VELOFF:
event.setVeloOff(val);
break;
- case NoteInfo::VAL_PITCH:
+ case MusEWidget::NoteInfo::VAL_PITCH:
event.setPitch(val);
break;
}
@@ -718,23 +733,23 @@ void PianoRoll::noteinfoChanged(NoteInfo::ValType type, int val)
int delta = 0;
switch (type) {
- case NoteInfo::VAL_TIME:
+ case MusEWidget::NoteInfo::VAL_TIME:
delta = val - tickOffset;
tickOffset = val;
break;
- case NoteInfo::VAL_LEN:
+ case MusEWidget::NoteInfo::VAL_LEN:
delta = val - lenOffset;
lenOffset = val;
break;
- case NoteInfo::VAL_VELON:
+ case MusEWidget::NoteInfo::VAL_VELON:
delta = val - veloOnOffset;
veloOnOffset = val;
break;
- case NoteInfo::VAL_VELOFF:
+ case MusEWidget::NoteInfo::VAL_VELOFF:
delta = val - veloOffOffset;
veloOffOffset = val;
break;
- case NoteInfo::VAL_PITCH:
+ case MusEWidget::NoteInfo::VAL_PITCH:
delta = val - pitchOffset;
pitchOffset = val;
break;
@@ -1006,19 +1021,19 @@ void PianoRoll::keyPressEvent(QKeyEvent* event)
return;
}
else if (key == shortcuts[SHRT_TOOL_POINTER].key) {
- tools2->set(PointerTool);
+ tools2->set(MusEWidget::PointerTool);
return;
}
else if (key == shortcuts[SHRT_TOOL_PENCIL].key) {
- tools2->set(PencilTool);
+ tools2->set(MusEWidget::PencilTool);
return;
}
else if (key == shortcuts[SHRT_TOOL_RUBBER].key) {
- tools2->set(RubberTool);
+ tools2->set(MusEWidget::RubberTool);
return;
}
else if (key == shortcuts[SHRT_TOOL_LINEDRAW].key) {
- tools2->set(DrawTool);
+ tools2->set(MusEWidget::DrawTool);
return;
}
else if (key == shortcuts[SHRT_POS_INC].key) {
@@ -1047,22 +1062,22 @@ void PianoRoll::keyPressEvent(QKeyEvent* event)
}
else if (key == shortcuts[SHRT_ZOOM_IN].key) {
int mag = hscroll->mag();
- int zoomlvl = ScrollScale::getQuickZoomLevel(mag);
+ int zoomlvl = MusEWidget::ScrollScale::getQuickZoomLevel(mag);
if (zoomlvl < 23)
zoomlvl++;
- int newmag = ScrollScale::convertQuickZoomLevelToMag(zoomlvl);
+ int newmag = MusEWidget::ScrollScale::convertQuickZoomLevelToMag(zoomlvl);
hscroll->setMag(newmag);
//printf("mag = %d zoomlvl = %d newmag = %d\n", mag, zoomlvl, newmag);
return;
}
else if (key == shortcuts[SHRT_ZOOM_OUT].key) {
int mag = hscroll->mag();
- int zoomlvl = ScrollScale::getQuickZoomLevel(mag);
+ int zoomlvl = MusEWidget::ScrollScale::getQuickZoomLevel(mag);
if (zoomlvl > 1)
zoomlvl--;
- int newmag = ScrollScale::convertQuickZoomLevelToMag(zoomlvl);
+ int newmag = MusEWidget::ScrollScale::convertQuickZoomLevelToMag(zoomlvl);
hscroll->setMag(newmag);
//printf("mag = %d zoomlvl = %d newmag = %d\n", mag, zoomlvl, newmag);
return;
@@ -1074,14 +1089,14 @@ void PianoRoll::keyPressEvent(QKeyEvent* event)
return;
}
else if (key == shortcuts[SHRT_SCROLL_LEFT].key) {
- int pos = hscroll->pos() - config.division;
+ int pos = hscroll->pos() - MusEConfig::config.division;
if (pos < 0)
pos = 0;
hscroll->setPos(pos);
return;
}
else if (key == shortcuts[SHRT_SCROLL_RIGHT].key) {
- int pos = hscroll->pos() + config.division;
+ int pos = hscroll->pos() + MusEConfig::config.division;
hscroll->setPos(pos);
return;
}