mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 23:50:19 +00:00
9f1f3c6f37
Piano is an old application that predates AudioServer. For this reason, it was architected to directly talk to the soundcard via the /dev/audio device. This caused multiple problems including simultaneous playback issues, no ability to change volume/mute for Piano and more. This change moves Piano to use AudioServer like any well-behaved audio application :^) The track processing and IPC communication is moved to the main thread because IPC doesn't like multi-threading. For this, the new AudioPlayerLoop class is utilized that should evolve into the DSP->AudioServer interface in the future. Because Piano's CPU utilization has gotten so low (about 3-6%), the UI update loop is switched back to render at exactly 60fps. This is an important commit on the road to #6528. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
KeysWidget.cpp | ||
KeysWidget.h | ||
KnobsWidget.cpp | ||
KnobsWidget.h | ||
main.cpp | ||
MainWidget.cpp | ||
MainWidget.h | ||
Music.h | ||
RollWidget.cpp | ||
RollWidget.h | ||
SamplerWidget.cpp | ||
SamplerWidget.h | ||
Track.cpp | ||
Track.h | ||
TrackManager.cpp | ||
TrackManager.h | ||
WaveWidget.cpp | ||
WaveWidget.h |