ladybird/Userland/Applications/Piano
kleines Filmröllchen 9f1f3c6f37 Piano: Use AudioServer instead of /dev/audio for audio
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.
2021-07-05 19:33:55 +02:00
..
CMakeLists.txt Everywhere: Add component declarations 2021-06-17 11:03:51 +02:00
KeysWidget.cpp Piano: Use the return key emoji in the key labels 2021-05-17 00:16:49 +01:00
KeysWidget.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
KnobsWidget.cpp Piano: Add track Volume and improve QOL 2021-04-25 11:30:41 +02:00
KnobsWidget.h Piano: Add track Volume and improve QOL 2021-04-25 11:30:41 +02:00
main.cpp Piano: Use AudioServer instead of /dev/audio for audio 2021-07-05 19:33:55 +02:00
MainWidget.cpp Applications: Use titlecase and distinct underlined characters in menus 2021-05-21 18:41:28 +01:00
MainWidget.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Music.h Piano: Use AudioServer instead of /dev/audio for audio 2021-07-05 19:33:55 +02:00
RollWidget.cpp LibGUI: Rename ScrollableWidget => AbstractScrollableWidget 2021-05-03 21:03:13 +02:00
RollWidget.h LibGUI: Rename ScrollableWidget => AbstractScrollableWidget 2021-05-03 21:03:13 +02:00
SamplerWidget.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SamplerWidget.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Track.cpp AK: Add support for removing SinglyLinkedList nodes during iteration 2021-06-15 23:59:21 +01:00
Track.h AK: Add support for removing SinglyLinkedList nodes during iteration 2021-06-15 23:59:21 +01:00
TrackManager.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TrackManager.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
WaveWidget.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
WaveWidget.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00