#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include /* MAINWINDOW_H * CLASS DECLARATION * * CHANGLOG: * NAME: | CHANGES: | DATE: | * Mewes, Lars | Neuerstellung | 24.09.2021 | * Mewes, Lars | Ă„nderung auf QTabWidget (statt QSplitter) + Midi-Versuche | 28.09.2021 | * | | | * | | | * * DESCRIPTION: * Diese Klasse ist die "Hauptklasse" und besitzt die Farbtonskala "ColorScale", die QGraphicsViews sowie die Klaviatur und den Quintenzirkel * * TO-DOs: * * */ #include #include #include #include #include "RtMidi.h" #include "MidiListener.h" #include "PianoKeyBoard.h" #include "Tone.h" #include "ColorScale.h" #include "CircleOfFifths.h" class MainWindow : public QMainWindow { Q_OBJECT QTabWidget * tabWidget; QGraphicsView * gV_Keyboard; QGraphicsView * gV_CircleOfFifths; QGraphicsView * gV_Demo; QPlainTextEdit * midiLog; PianoKeyBoard * pianoKeyBoard; CircleOfFifths * circleOfFifths; QGraphicsScene * scene_Demo; QThread midiThread; MidiListener * midiPiano; void lightShowDemonstration(int b1, int b2, int b3); public slots: void handleMidiMessage(int b1, int b2, int b3); signals: void startMidiListener(int Port = 1); void nextMidiMessage(); void stopMidi(); public: RtMidiIn * midiin = nullptr; MainWindow(QWidget *parent = nullptr); virtual ~MainWindow(); ColorScale colorScale; }; #endif // MAINWINDOW_H