1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 12:08:14 +00:00
serenity/Applications/Piano
William McPherson 4a36a51618 Piano: Rewrite application
Goals:
- Switch to a more typical LibGUI arrangement
- Separate GUI (MainWidget) and audio (AudioEngine)
- Improve on existing features while retaining the same feature set

Improvements:
- Each GUI element is a separate widget
- The wave (WaveWidget) scales with the window
- The piano roll (RollWidget) scales horizontally and scrolls vertically
- The piano (KeysWidget) fits as many notes as possible
- The knobs (KnobsWidget) are now sliders
- All mouse and key events are handled in constant time
- The octave can be changed while playing notes
- The same note can be played with the mouse, keyboard and roll at the
  same time, and the volume of the resulting note is scaled accordingly
- Note frequency constants use the maximum precision available in a
  double
2020-01-31 13:13:04 +01:00
..
AudioEngine.cpp Piano: Rewrite application 2020-01-31 13:13:04 +01:00
AudioEngine.h Piano: Rewrite application 2020-01-31 13:13:04 +01:00
KeysWidget.cpp Piano: Rewrite application 2020-01-31 13:13:04 +01:00
KeysWidget.h Piano: Rewrite application 2020-01-31 13:13:04 +01:00
KnobsWidget.cpp Piano: Rewrite application 2020-01-31 13:13:04 +01:00
KnobsWidget.h Piano: Rewrite application 2020-01-31 13:13:04 +01:00
main.cpp Piano: Rewrite application 2020-01-31 13:13:04 +01:00
MainWidget.cpp Piano: Rewrite application 2020-01-31 13:13:04 +01:00
MainWidget.h Piano: Rewrite application 2020-01-31 13:13:04 +01:00
Makefile Piano: Rewrite application 2020-01-31 13:13:04 +01:00
Music.h Piano: Rewrite application 2020-01-31 13:13:04 +01:00
RollWidget.cpp Piano: Rewrite application 2020-01-31 13:13:04 +01:00
RollWidget.h Piano: Rewrite application 2020-01-31 13:13:04 +01:00
WaveWidget.cpp Piano: Rewrite application 2020-01-31 13:13:04 +01:00
WaveWidget.h Piano: Rewrite application 2020-01-31 13:13:04 +01:00