ladybird/Userland/Applications/SoundPlayer
kleines Filmröllchen c748c0726a SoundPlayer: Don't enqueue samples depending on the GUI loop
Previously, SoundPlayer would read and enqueue samples in the GUI loop
(through a Timer). Apart from general problems with doing audio on the
GUI thread, this is particularly bad as the audio would lag or drop out
when the GUI lags (e.g. window resizes and moves, changing the
visualizer). As Piano does, now SoundPlayer enqueues more audio once the
audio server signals that a buffer has finished playing. The GUI-
dependent decoding is still kept as a "backup" and to start the entire
cycle, but it's not solely depended on. A queue of buffer IDs is used to
keep track of playing buffers and how many there are. The buffer
overhead, i.e. how many buffers "too many" currently exist, is currently
set to its absolute minimum of 2.
2022-01-02 22:18:37 +01:00
..
BarsVisualizationWidget.cpp SoundPlayer+LibDSP: Move the FFT implementation to LibDSP 2021-11-24 23:45:08 +00:00
BarsVisualizationWidget.h
CMakeLists.txt SoundPlayer: Port to LibMain :^) 2021-12-04 15:07:18 -08:00
Common.h SoundPlayer: Allow playback progress slider jump to cursor 2021-11-04 23:45:26 +01:00
M3UParser.cpp
M3UParser.h
main.cpp SoundPlayer: Sync startup loop and show playlist settings in GUI 2021-12-24 00:05:35 -08:00
NoVisualizationWidget.cpp LibGfx: Use ErrorOr<T> for Bitmap::try_load_from_file() 2021-11-08 00:35:27 +01:00
NoVisualizationWidget.h
PlaybackManager.cpp SoundPlayer: Don't enqueue samples depending on the GUI loop 2022-01-02 22:18:37 +01:00
PlaybackManager.h SoundPlayer: Don't enqueue samples depending on the GUI loop 2022-01-02 22:18:37 +01:00
Player.cpp SoundPlayer: Add 'mute' methods to Player 2021-12-24 00:19:01 -08:00
Player.h SoundPlayer: Add 'mute' methods to Player 2021-12-24 00:19:01 -08:00
Playlist.cpp LibAudio: New error propagation API in Loader and Buffer 2021-11-28 13:33:51 -08:00
Playlist.h SoundPlayer: Implement playlist shuffle mode 2021-10-25 23:37:18 +02:00
PlaylistWidget.cpp Applications: Fix visibility of Object-derivative constructors 2021-11-02 22:56:53 +01:00
PlaylistWidget.h Applications: Fix visibility of Object-derivative constructors 2021-11-02 22:56:53 +01:00
SampleWidget.cpp
SampleWidget.h
SoundPlayerWidgetAdvancedView.cpp LibGUI+SoundPlayer: Use 'decrease_slider_by_page_steps()' method 2021-12-30 14:31:50 +01:00
SoundPlayerWidgetAdvancedView.h SoundPlayer: Add 'mute' methods to Player 2021-12-24 00:19:01 -08:00
VisualizationWidget.h Applications: Fix visibility of Object-derivative constructors 2021-11-02 22:56:53 +01:00