You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MainWindow.h 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <QMainWindow>
  4. #include <QGraphicsView>
  5. /* MAINWINDOW_H
  6. * CLASS DECLARATION
  7. *
  8. * CHANGLOG:
  9. * NAME: | CHANGES: | DATE: |
  10. * Mewes, Lars | Neuerstellung | 24.09.2021 |
  11. * Mewes, Lars | Änderung auf QTabWidget (statt QSplitter) + Midi-Versuche | 28.09.2021 |
  12. * | | |
  13. * | | |
  14. *
  15. * DESCRIPTION:
  16. * Diese Klasse ist die "Hauptklasse" und besitzt die Farbtonskala "ColorScale", die QGraphicsViews sowie die Klaviatur und den Quintenzirkel
  17. *
  18. * TO-DOs:
  19. *
  20. *
  21. */
  22. #include <QGraphicsScene>
  23. #include <QTabWidget>
  24. #include <QPlainTextEdit>
  25. #include <QThread>
  26. #include "RtMidi.h"
  27. #include "MidiListener.h"
  28. #include "PianoKeyBoard.h"
  29. #include "Tone.h"
  30. #include "ColorScale.h"
  31. #include "CircleOfFifths.h"
  32. class MainWindow : public QMainWindow
  33. {
  34. Q_OBJECT
  35. QTabWidget * tabWidget;
  36. QGraphicsView * gV_Keyboard;
  37. QGraphicsView * gV_CircleOfFifths;
  38. QGraphicsView * gV_Demo;
  39. QPlainTextEdit * midiLog;
  40. PianoKeyBoard * pianoKeyBoard;
  41. CircleOfFifths * circleOfFifths;
  42. QGraphicsScene * scene_Demo;
  43. QThread midiThread;
  44. MidiListener * midiPiano;
  45. void lightShowDemonstration(int b1, int b2, int b3);
  46. public slots:
  47. void handleMidiMessage(int b1, int b2, int b3);
  48. signals:
  49. void startMidiListener(int Port = 1);
  50. void nextMidiMessage();
  51. void stopMidi();
  52. public:
  53. RtMidiIn * midiin = nullptr;
  54. MainWindow(QWidget *parent = nullptr);
  55. virtual ~MainWindow();
  56. ColorScale colorScale;
  57. };
  58. #endif // MAINWINDOW_H