diff options
Diffstat (limited to 'muse2/muse/midiedit/drumedit.cpp')
-rw-r--r-- | muse2/muse/midiedit/drumedit.cpp | 103 |
1 files changed, 59 insertions, 44 deletions
diff --git a/muse2/muse/midiedit/drumedit.cpp b/muse2/muse/midiedit/drumedit.cpp index 1553ec2b..a9ba81ef 100644 --- a/muse2/muse/midiedit/drumedit.cpp +++ b/muse2/muse/midiedit/drumedit.cpp @@ -3,6 +3,21 @@ // Linux Music Editor // $Id: drumedit.cpp,v 1.22.2.21 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 <QAction> @@ -67,7 +82,7 @@ int DrumEdit::_dcanvasWidthInit = 300; static const int xscale = -10; static const int yscale = 1; -static const int drumeditTools = PointerTool | PencilTool | RubberTool | CursorTool | DrawTool; +static const int drumeditTools = MusEWidget::PointerTool | MusEWidget::PencilTool | MusEWidget::RubberTool | MusEWidget::CursorTool | MusEWidget::DrawTool; enum DrumColumn { COL_MUTE = 0, @@ -177,7 +192,7 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini signalMapper->setMapping(resetAction, DrumCanvas::CMD_RESET); menuEdit = menuBar()->addMenu(tr("&Edit")); - menuEdit->addActions(undoRedo->actions()); + menuEdit->addActions(MusEGlobal::undoRedo->actions()); menuEdit->addSeparator(); cutAction = menuEdit->addAction(QIcon(*editcutIconSet), tr("Cut")); @@ -291,7 +306,7 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini tools->addAction(QWhatsThis::createAction()); tools->addSeparator(); - tools->addActions(undoRedo->actions()); + tools->addActions(MusEGlobal::undoRedo->actions()); tools->addSeparator(); srec = new QToolButton(); @@ -307,7 +322,7 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini tools->addWidget(midiin); - tools2 = new EditToolBar(this, drumeditTools); + tools2 = new MusEWidget::EditToolBar(this, drumeditTools); addToolBar(tools2); QToolBar* cursorToolbar = addToolBar(tr("cursor tools")); @@ -331,32 +346,32 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini QToolBar* panicToolbar = addToolBar(tr("panic")); panicToolbar->setObjectName("panic"); - panicToolbar->addAction(panicAction); + panicToolbar->addAction(MusEGlobal::panicAction); QToolBar* transport = addToolBar(tr("transport")); transport->setObjectName("transport"); - transport->addActions(transportAction->actions()); + transport->addActions(MusEGlobal::transportAction->actions()); addToolBarBreak(); // don't show pitch value in toolbar - toolbar = new Toolbar1(this, _rasterInit, false); + toolbar = new MusEWidget::Toolbar1(this, _rasterInit, false); addToolBar(toolbar); addToolBarBreak(); - info = new NoteInfo(this); + info = new MusEWidget::NoteInfo(this); addToolBar(info); //--------------------------------------------------- // split //--------------------------------------------------- - split1 = new Splitter(Qt::Vertical, mainw, "split1"); + split1 = new MusEWidget::Splitter(Qt::Vertical, mainw, "split1"); QPushButton* ctrl = new QPushButton(tr("ctrl"), mainw); ctrl->setObjectName("Ctrl"); - ctrl->setFont(config.fonts[3]); - //hscroll = new ScrollScale(-25, -2, xscale, 20000, Qt::Horizontal, mainw); + ctrl->setFont(MusEConfig::config.fonts[3]); + //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(40, hscroll->sizeHint().height()); ctrl->setToolTip(tr("Add Controller View")); @@ -373,7 +388,7 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini // mainGrid->addRowSpacing(1, hscroll->sizeHint().height()); // mainGrid->addItem(new QSpacerItem(0, hscroll->sizeHint().height()), 1, 0); - split2 = new Splitter(Qt::Horizontal, split1, "split2"); + split2 = new MusEWidget::Splitter(Qt::Horizontal, split1, "split2"); split1w1 = new QWidget(split2); QWidget* split1w2 = new QWidget(split2); QGridLayout* gridS1 = new QGridLayout(split1w1); @@ -382,10 +397,10 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini gridS1->setSpacing(0); gridS2->setContentsMargins(0, 0, 0, 0); gridS2->setSpacing(0); - time = new MTScale(&_raster, split1w2, xscale); + time = new MusEWidget::MTScale(&_raster, split1w2, xscale); canvas = new DrumCanvas(this, split1w2, xscale, yscale); - vscroll = new ScrollScale(-4, 1, yscale, DRUM_MAPSIZE*TH, Qt::Vertical, split1w2); - int offset = -(config.division/4); + vscroll = new MusEWidget::ScrollScale(-4, 1, yscale, DRUM_MAPSIZE*TH, Qt::Vertical, split1w2); + int offset = -(MusEConfig::config.division/4); canvas->setOrigin(offset, 0); canvas->setCanvasTools(drumeditTools); canvas->setFocus(); @@ -400,20 +415,20 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini split2->setSizes(mops); // By T356. Not much choice but to disable this for now, to stop runaway resize bug. // Can't seem to get the splitter to readjust when manually setting sizes. - //split2->setResizeMode(split1w1, QSplitter::KeepSize); + //split2->setResizeMode(split1w1, QMusEWidget::Splitter::KeepSize); gridS2->setRowStretch(1, 100); gridS2->setColumnStretch(0, 100); gridS2->addWidget(time, 0, 0, 1, 2); - gridS2->addWidget(hLine(split1w2), 1, 0, 1, 2); + gridS2->addWidget(MusEUtil::hLine(split1w2), 1, 0, 1, 2); gridS2->addWidget(canvas, 2, 0); gridS2->addWidget(vscroll, 2, 1); // // Reihenfolge in dlist.c festgeschrieben ("Dcols") // - header = new Header(split1w1, "header"); + header = new MusEWidget::Header(split1w1, "header"); header->setFixedHeight(31); header->setColumnLabel(tr("M"), COL_MUTE, 20); header->setColumnLabel(tr("Sound"), COL_NAME, 120); @@ -480,7 +495,7 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini connect(time, SIGNAL(timeChanged(unsigned)), SLOT(setTime(unsigned))); connect(toolbar, SIGNAL(rasterChanged(int)), SLOT(setRaster(int))); connect(toolbar, SIGNAL(soloChanged(bool)), SLOT(soloChanged(bool))); - 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(ctrl, SIGNAL(clicked()), SLOT(addCtrl())); @@ -578,7 +593,7 @@ void DrumEdit::setTime(unsigned tick) DrumEdit::~DrumEdit() { - //undoRedo->removeFrom(tools); // p4.0.6 Removed + //MusEGlobal::undoRedo->removeFrom(tools); // p4.0.6 Removed } //--------------------------------------------------------- @@ -627,7 +642,7 @@ void DrumEdit::setRaster(int val) // edit currently selected Event //--------------------------------------------------------- -void DrumEdit::noteinfoChanged(NoteInfo::ValType type, int val) +void DrumEdit::noteinfoChanged(MusEWidget::NoteInfo::ValType type, int val) { if (selEvent.empty()) { printf("noteinfoChanged while note is zero %d\n", type); @@ -635,19 +650,19 @@ void DrumEdit::noteinfoChanged(NoteInfo::ValType type, int val) } 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; } @@ -799,13 +814,13 @@ void DrumEdit::writeConfiguration(int level, Xml& xml) void DrumEdit::load() { - //QString fn = getOpenFileName("drummaps", map_file_pattern, - QString fn = getOpenFileName("drummaps", drum_map_file_pattern, + //QString fn = MusEWidget::getOpenFileName("drummaps", map_file_pattern, + QString fn = MusEWidget::getOpenFileName("drummaps", MusEGlobal::drum_map_file_pattern, this, tr("Muse: Load Drum Map"), 0); if (fn.isEmpty()) return; bool popenFlag; - FILE* f = fileOpen(this, fn, QString(".map"), "r", popenFlag, true); + FILE* f = MusEWidget::fileOpen(this, fn, QString(".map"), "r", popenFlag, true); if (f == 0) return; @@ -852,13 +867,13 @@ ende: void DrumEdit::save() { - //QString fn = getSaveFileName(QString("drummaps"), map_file_pattern, - QString fn = getSaveFileName(QString("drummaps"), drum_map_file_save_pattern, + //QString fn = MusEWidget::getSaveFileName(QString("drummaps"), map_file_pattern, + QString fn = MusEWidget::getSaveFileName(QString("drummaps"), MusEGlobal::drum_map_file_save_pattern, this, tr("MusE: Store Drum Map")); if (fn.isEmpty()) return; bool popenFlag; - FILE* f = fileOpen(this, fn, QString(".map"), "w", popenFlag, false, true); + FILE* f = MusEWidget::fileOpen(this, fn, QString(".map"), "w", popenFlag, false, true); if (f == 0) return; Xml xml(f); @@ -914,7 +929,7 @@ void DrumEdit::cmd(int cmd) case DrumCanvas::CMD_QUANTIZE: if (quantize_dialog->exec()) quantize_notes(partlist_to_set(parts()), quantize_dialog->range, - (config.division*4)/(1<<quantize_dialog->raster_power2), + (MusEConfig::config.division*4)/(1<<quantize_dialog->raster_power2), /* quant_len= */false, quantize_dialog->strength, quantize_dialog->swing, quantize_dialog->threshold); break; @@ -1134,28 +1149,28 @@ void DrumEdit::keyPressEvent(QKeyEvent* event) } 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_CURSOR].key) { - tools2->set(CursorTool); + tools2->set(MusEWidget::CursorTool); return; } 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); @@ -1163,24 +1178,24 @@ void DrumEdit::keyPressEvent(QKeyEvent* event) } 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; } 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; } |