Example #1
0
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();
}
Example #2
0
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();
}
Example #3
0
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();
}
Example #4
0
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();
}
Example #5
0
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);
}
Example #6
0
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)));
}
Example #7
0
void NoteInfo::partLinesChanged(bool checked)
{
	tconfig().set_property("PianorollEdit", "partLines", m_partLines->isChecked());
	tconfig().save();
	emit enablePartLines(checked);
}
Example #8
0
//---------------------------------------------------------
// alphaChanged
//---------------------------------------------------------
void NoteInfo::alphaChanged(int alpha)
{
	tconfig().set_property("PianorollEdit", "renderalpha", alpha);
	tconfig().save();
	emit alphaChanged();
}
Example #9
0
TrackListView::~TrackListView()
{
    tconfig().set_property("PerformerEdit", "snaptopart", m_chkSnapToPart->isChecked());
    tconfig().save();
}
Example #10
0
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()));
}
Example #11
0
void TrackListView::snapToPartChanged(int state)/*{{{*/
{
    tconfig().set_property("PerformerEdit", "snaptopart", state);
    tconfig().save();
}/*}}}*/