„MainWindow.cpp“ löschen
This commit is contained in:
parent
2d9f8a8bad
commit
e5c587cb8f
@ -1,78 +0,0 @@
|
||||
#include "MainWindow.h"
|
||||
#include <vector>
|
||||
#include <QTimer>
|
||||
|
||||
#include <QString>
|
||||
#include <string>
|
||||
#include <QDebug>
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
{
|
||||
tabWidget = new QTabWidget(this);
|
||||
|
||||
pianoKeyBoard = new PianoKeyBoard(-350, 175, 700, 500, this);
|
||||
circleOfFifths = new CircleOfFifths(-250, 0, 500, 500, this);
|
||||
scene_Demo = new QGraphicsScene(-250,0,500,500, this);
|
||||
|
||||
gV_Keyboard = new QGraphicsView(pianoKeyBoard, tabWidget);
|
||||
gV_CircleOfFifths = new QGraphicsView(circleOfFifths, tabWidget);
|
||||
gV_Demo = new QGraphicsView(scene_Demo, tabWidget);
|
||||
midiLog = new QPlainTextEdit();
|
||||
|
||||
|
||||
tabWidget->addTab(gV_Keyboard, "Keyboard");
|
||||
tabWidget->addTab(gV_CircleOfFifths, "Circle of Fifths");
|
||||
tabWidget->addTab(gV_Demo, "Lightshow Demonstration");
|
||||
tabWidget->addTab(midiLog, "Midi Messages Log");
|
||||
|
||||
setCentralWidget(tabWidget);
|
||||
midiPiano = new MidiListener;
|
||||
|
||||
midiPiano->moveToThread(&midiThread);
|
||||
|
||||
connect(this, &MainWindow::stopMidi, midiPiano, &MidiListener::stop);
|
||||
// Wenn THIS das signal "startMidiListener" abgibt, wird Slot midiPiano->start ausgeführt
|
||||
connect(this, &MainWindow::startMidiListener, midiPiano, &MidiListener::start);
|
||||
connect(this, &MainWindow::nextMidiMessage, midiPiano, &MidiListener::listen);
|
||||
// Wenn midiPiano das signal "newMidiMessage" abgibt, wird this.handlemidimessage ausgeführt
|
||||
connect(midiPiano, &MidiListener::newMidiMessage, this, &MainWindow::handleMidiMessage);
|
||||
midiThread.start();
|
||||
MidiProbe * probe = new MidiProbe();
|
||||
emit startMidiListener(probe->getPort());
|
||||
|
||||
}
|
||||
|
||||
void MainWindow::lightShowDemonstration(int b1, int b2, int b3)
|
||||
{
|
||||
if(b1==0x90)
|
||||
{
|
||||
if(b2>108 || b2<21) return; //no valid piano-key
|
||||
scene_Demo->setBackgroundBrush(colorScale.getToneByKeyboardPosition(b2)->getColor());
|
||||
}
|
||||
else if(b1==0x80)
|
||||
{
|
||||
if(b2>108 || b2<21) return; //no valid piano key
|
||||
if(scene_Demo->backgroundBrush().color() == colorScale.getToneByKeyboardPosition(b2)->getColor()) //only reset color if current color still is same tone
|
||||
scene_Demo->setBackgroundBrush(Qt::white);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void MainWindow::handleMidiMessage(int b1, int b2, int b3){
|
||||
if(b1 != 0)
|
||||
{
|
||||
midiLog->appendPlainText(QString::asprintf("Byte 1: %x, Byte 2: %x, Byte 3: %x", b1, b2, b3));
|
||||
lightShowDemonstration(b1, b2, b3);
|
||||
}
|
||||
midiThread.msleep(10);
|
||||
emit nextMidiMessage();
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
emit stopMidi();
|
||||
midiThread.quit();
|
||||
midiThread.wait();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user