1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:07:45 +00:00

Piano: Port threading to LibThread

This commit is contained in:
Sergey Bugaev 2019-08-25 19:27:12 +03:00 committed by Andreas Kling
parent e1a6f8a27d
commit d91efd4cd0

View file

@ -2,7 +2,6 @@
#include "PianoWidget.h" #include "PianoWidget.h"
#include <LibAudio/AClientConnection.h> #include <LibAudio/AClientConnection.h>
#include <LibCore/CFile.h> #include <LibCore/CFile.h>
#include <LibCore/CThread.h>
#include <LibDraw/PNGLoader.h> #include <LibDraw/PNGLoader.h>
#include <LibGUI/GAction.h> #include <LibGUI/GAction.h>
#include <LibGUI/GApplication.h> #include <LibGUI/GApplication.h>
@ -10,6 +9,7 @@
#include <LibGUI/GMenu.h> #include <LibGUI/GMenu.h>
#include <LibGUI/GMenuBar.h> #include <LibGUI/GMenuBar.h>
#include <LibGUI/GWindow.h> #include <LibGUI/GWindow.h>
#include <LibThread/Thread.h>
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
@ -26,9 +26,7 @@ int main(int argc, char** argv)
window->show(); window->show();
window->set_icon(load_png("/res/icons/16x16/app-piano.png")); window->set_icon(load_png("/res/icons/16x16/app-piano.png"));
CThread sound_thread([](void* context) -> int { LibThread::Thread sound_thread([piano_widget] {
auto* piano_widget = (PianoWidget*)context;
CFile audio("/dev/audio"); CFile audio("/dev/audio");
if (!audio.open(CIODevice::WriteOnly)) { if (!audio.open(CIODevice::WriteOnly)) {
dbgprintf("Can't open audio device: %s", audio.error_string()); dbgprintf("Can't open audio device: %s", audio.error_string());
@ -42,8 +40,8 @@ int main(int argc, char** argv)
GEventLoop::current().post_event(*piano_widget, make<CCustomEvent>(0)); GEventLoop::current().post_event(*piano_widget, make<CCustomEvent>(0));
GEventLoop::current().wake(); GEventLoop::current().wake();
} }
}, });
piano_widget); sound_thread.start();
auto menubar = make<GMenuBar>(); auto menubar = make<GMenuBar>();