void MasterEdit::showEvent(QShowEvent*) { int hScale = tconfig().get_property("MasterEdit", "hscale", -100).toInt(); int vScale = tconfig().get_property("MasterEdit", "yscale", -1000).toInt(); int yPos = tconfig().get_property("MasterEdit", "ypos", 0).toInt(); hscroll->setMag(hScale); vscroll->setMag(vScale); vscroll->setPos(yPos); QSize s = tconfig().get_property("MasterEdit", "size", QSize(640, 480)).toSize(); resize(s); QPoint p = tconfig().get_property("MasterEdit", "pos", QPoint(0,0)).toPoint(); move(p); canvas->setFocus(); }
void MasterEdit::showEvent(QShowEvent*) { int hScale = tconfig().get_property("MasterEdit", "hscale", -100).toInt(); int vScale = tconfig().get_property("MasterEdit", "yscale", -1000).toInt(); int yPos = tconfig().get_property("MasterEdit", "ypos", 0).toInt(); hscroll->setMag(hScale); vscroll->setMag(vScale); vscroll->setPos(yPos); QSize s = tconfig().get_property("MasterEdit", "size", QSize(640, 480)).toSize(); resize(s); QPoint p = tconfig().get_property("MasterEdit", "pos", QPoint(0,0)).toPoint(); int snap = tconfig().get_property("MasterEdit", "snap", 0).toInt(); int item = 0; switch (snap) { case 1: item = 0; break; case 0: item = 1; break; case 768: item = 2; break; case 384: item = 3; break; case 192: item = 4; break; case 96: item = 5; break; } _rasterInit = snap; rasterLabel->setCurrentIndex(item); move(p); canvas->setFocus(); }
void MasterEdit::closeEvent(QCloseEvent* e) { tconfig().set_property("MasterEdit", "size", size()); tconfig().set_property("MasterEdit", "hscale", hscroll->mag()); tconfig().set_property("MasterEdit", "yscale", vscroll->mag()); tconfig().set_property("MasterEdit", "ypos", vscroll->pos()); tconfig().set_property("MasterEdit", "pos", pos()); tconfig().set_property("MasterEdit", "snap", _raster); tconfig().save(); emit deleted((unsigned long) this); e->accept(); }
MasterEdit::~MasterEdit() { //undoRedo->removeFrom(tools); // p4.0.6 Removed tconfig().set_property("MasterEdit", "size", size()); tconfig().set_property("MasterEdit", "hscale", hscroll->mag()); tconfig().set_property("MasterEdit", "yscale", vscroll->mag()); tconfig().set_property("MasterEdit", "ypos", vscroll->pos()); tconfig().set_property("MasterEdit", "pos", pos()); tconfig().save(); }
EventCanvas::EventCanvas(AbstractMidiEditor* pr, QWidget* parent, int sx, int sy, const char* name) : Canvas(parent, sx, sy, name) { editor = pr; _steprec = false; _midiin = false; _playEvents = false; m_showcomments = false; curVelo = 70; //setBg(QColor(226, 229, 229));//this was the old ligh color we are moving to dark now setBg(QColor(63,63,63)); setAcceptDrops(true); setFocusPolicy(Qt::StrongFocus); setMouseTracking(true); _curPart = (MidiPart*) (editor->parts()->begin()->second); _curPartId = _curPart->sn(); bool pl = tconfig().get_property("PianorollEdit", "partLines", true).toBool(); _drawPartLines = true; _drawPartEndLine = pl; //setDrawPartLines(pl); }
NoteInfo::NoteInfo(QWidget* parent) : QWidget(parent) { deltaMode = false; m_layout = new QVBoxLayout(this); selTime = new PosEdit; selTime->setObjectName("Start"); addTool(tr("Start"), selTime); selLen = new QSpinBox(); selLen->setRange(0, 100000); selLen->setSingleStep(1); addTool(tr("Len"), selLen); selPitch = new PitchEdit; addTool(tr("Pitch"), selPitch); selVelOn = new QSpinBox(); selVelOn->setRange(0, 127); selVelOn->setSingleStep(1); addTool(tr("Velo On"), selVelOn); selVelOff = new QSpinBox(); selVelOff->setRange(0, 127); selVelOff->setSingleStep(1); addTool(tr("Velo Off"), selVelOff); m_renderAlpha = new QSpinBox(); m_renderAlpha->setRange(0, 255); m_renderAlpha->setSingleStep(1); int alpha = tconfig().get_property("PianorollEdit", "renderalpha", 50).toInt(); m_renderAlpha->setValue(alpha); addTool(tr("BG Brightness"), m_renderAlpha); m_partLines = new QCheckBox(this); bool pl = tconfig().get_property("PianorollEdit", "partLines", true).toBool(); m_partLines->setChecked(pl); addTool(tr("Part End Marker"), m_partLines); //start tb1 merge/*{{{*/ //--------------------------------------------------- // Raster, Quant. //--------------------------------------------------- rasterLabel = new GridCombo(this); quantLabel = new GridCombo(this); rlist = new QTableWidget(10, 3); rlist->setObjectName("listSnap"); qlist = new QTableWidget(8, 3); qlist->setObjectName("listQuant"); rlist->verticalHeader()->setDefaultSectionSize(22); rlist->horizontalHeader()->setDefaultSectionSize(32); rlist->setSelectionMode(QAbstractItemView::SingleSelection); rlist->verticalHeader()->hide(); rlist->horizontalHeader()->hide(); qlist->verticalHeader()->setDefaultSectionSize(22); qlist->horizontalHeader()->setDefaultSectionSize(32); qlist->setSelectionMode(QAbstractItemView::SingleSelection); qlist->verticalHeader()->hide(); qlist->horizontalHeader()->hide(); rlist->setMinimumWidth(96); qlist->setMinimumWidth(96); rasterLabel->setView(rlist); quantLabel->setView(qlist); for (int j = 0; j < 3; j++) for (int i = 0; i < 10; i++) rlist->setItem(i, j, new QTableWidgetItem(tr(rasterStrings[i + j * 10]))); for (int j = 0; j < 3; j++) for (int i = 0; i < 8; i++) qlist->setItem(i, j, new QTableWidgetItem(tr(quantStrings[i + j * 8]))); setRaster(96); setQuant(96); rasterLabel->setMinimumSize(QSize(80, 22)); quantLabel->setMinimumSize(QSize(80, 22)); QHBoxLayout *hbox1 = new QHBoxLayout(); hbox1->addWidget(new QLabel(tr("Snap"))); hbox1->addWidget(rasterLabel); QHBoxLayout *hbox2 = new QHBoxLayout(); hbox2->addWidget(new QLabel(tr("Quant."))); hbox2->addWidget(quantLabel); m_layout->addLayout(hbox1); m_layout->addLayout(hbox2); //--------------------------------------------------- // To Menu //--------------------------------------------------- QComboBox* toList = new QComboBox; toList->insertItem(0, tr("All Events")); toList->insertItem(CMD_RANGE_LOOP, tr("Looped Ev.")); toList->insertItem(CMD_RANGE_SELECTED, tr("Selected Ev.")); toList->insertItem(CMD_RANGE_LOOP | CMD_RANGE_SELECTED, tr("Looped+Sel.")); toList->setMinimumSize(QSize(80, 22)); QHBoxLayout *hbox3 = new QHBoxLayout(); hbox3->addWidget(new QLabel(tr("To"))); hbox3->addWidget(toList); m_layout->addLayout(hbox3); connect(rasterLabel, SIGNAL(activated(int)), SLOT(_rasterChanged(int))); connect(quantLabel, SIGNAL(activated(int)), SLOT(_quantChanged(int))); connect(toList, SIGNAL(activated(int)), SIGNAL(toChanged(int))); //end tb1/*}}}*/ QSpacerItem* vSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); m_layout->addItem(vSpacer); connect(selLen, SIGNAL(valueChanged(int)), SLOT(lenChanged(int))); connect(selPitch, SIGNAL(valueChanged(int)), SLOT(pitchChanged(int))); connect(selVelOn, SIGNAL(valueChanged(int)), SLOT(velOnChanged(int))); connect(selVelOff, SIGNAL(valueChanged(int)), SLOT(velOffChanged(int))); connect(m_renderAlpha, SIGNAL(valueChanged(int)), SLOT(alphaChanged(int))); connect(selTime, SIGNAL(valueChanged(const Pos&)), SLOT(timeChanged(const Pos&))); connect(m_partLines, SIGNAL(toggled(bool)), SLOT(partLinesChanged(bool))); }
void NoteInfo::partLinesChanged(bool checked) { tconfig().set_property("PianorollEdit", "partLines", m_partLines->isChecked()); tconfig().save(); emit enablePartLines(checked); }
//--------------------------------------------------------- // alphaChanged //--------------------------------------------------------- void NoteInfo::alphaChanged(int alpha) { tconfig().set_property("PianorollEdit", "renderalpha", alpha); tconfig().save(); emit alphaChanged(); }
TrackListView::~TrackListView() { tconfig().set_property("PerformerEdit", "snaptopart", m_chkSnapToPart->isChecked()); tconfig().save(); }
TrackListView::TrackListView(AbstractMidiEditor* editor, QWidget* parent) : QFrame(parent) { m_editor = editor; m_displayRole = PartRole; m_selectedIndex = -1; m_editing = false; scrollPos = QPoint(1, 1); m_headers << "Track List"; m_layout = new QVBoxLayout(this); m_layout->setContentsMargins(8, 2, 8, 2); m_model = new QStandardItemModel(this); m_selmodel = new QItemSelectionModel(m_model); m_table = new QTableView(this); m_table->setContextMenuPolicy(Qt::CustomContextMenu); m_table->setObjectName("TrackListView"); m_table->setModel(m_model); m_table->setSelectionModel(m_selmodel); m_table->setAlternatingRowColors(false); m_table->setShowGrid(true); m_table->setSelectionMode(QAbstractItemView::SingleSelection); m_table->setEditTriggers(QAbstractItemView::EditKeyPressed | QAbstractItemView::DoubleClicked); //m_table->setEditTriggers(QAbstractItemView::NoEditTriggers); m_table->setCornerButtonEnabled(false); m_table->horizontalHeader()->setStretchLastSection(true); m_table->verticalHeader()->hide(); m_layout->addWidget(m_table); m_buttonBox = new QHBoxLayout; m_chkWorkingView = new QCheckBox(tr("Working View"), this); m_chkWorkingView->setToolTip(tr("Toggle Working View. Show only tracks with parts in them")); m_chkWorkingView->setChecked(true); m_chkSnapToPart = new QCheckBox(tr("Snap To Part"), this); m_chkSnapToPart->setToolTip(tr("Move Playback cursor to the first note in a part when changing parts.")); bool snap = tconfig().get_property("PerformerEdit", "snaptopart", true).toBool(); m_chkSnapToPart->setChecked(snap); m_btnRefresh = new QToolButton(this); m_btnRefresh->setAutoRaise(true); m_btnRefresh->setIcon(*refreshIconSet3); m_btnRefresh->setIconSize(QSize(25, 25)); m_btnRefresh->setFixedSize(QSize(25, 25)); m_buttonBox->addWidget(m_chkWorkingView); QSpacerItem* hSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); m_buttonBox->addItem(hSpacer); m_buttonBox->addWidget(m_chkSnapToPart); m_buttonBox->addWidget(m_btnRefresh); m_layout->addLayout(m_buttonBox); //populateTable(); connect(song, SIGNAL(songChanged(int)), this, SLOT(songChanged(int))); connect(m_model, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(toggleTrackPart(QStandardItem*))); connect(m_selmodel, SIGNAL(currentRowChanged(const QModelIndex, const QModelIndex)), this, SLOT(selectionChanged(const QModelIndex, const QModelIndex))); connect(m_chkWorkingView, SIGNAL(stateChanged(int)), this, SLOT(displayRoleChanged(int))); connect(m_chkSnapToPart, SIGNAL(stateChanged(int)), this, SLOT(snapToPartChanged(int))); connect(m_table, SIGNAL(customContextMenuRequested(QPoint)), SLOT(contextPopupMenu(QPoint))); connect(m_btnRefresh, SIGNAL(clicked()), this, SLOT(populateTable())); }
void TrackListView::snapToPartChanged(int state)/*{{{*/ { tconfig().set_property("PerformerEdit", "snaptopart", state); tconfig().save(); }/*}}}*/