Unsere Lösung für den OSMD Audio Player: Webworker
Mit Hilfe von Webworkern kann OSMD bald Notenblätter abspielen (25.06.2020)
Förderjahr 2019 / Project Call #14 / ProjektID: 4605 / Projekt: OSMD AudioPlayer

Web Worker? Threads? Was ist das?

Die Aufgabe eines Web Workers ist es einer Webpage aufwendigere Tasks abzunehmen. Damit lassen sich zahlreiche Tasks gleichzeitig ausführen ohne das eine Website einfriert. Unter einem Thread versteht man einen Ausführungsstrang eines Programms, die unabhängig voneinander arbeiten können. 

Durch diese Web Worker laufen die aufwendigeren Aufträge einer Webpage dann in einem anderen Thread. Man kann sich vorstellen, dass dieser Thread im Hintergrund laufen kann und sich dann wieder meldet wenn er seine Aufgabe erfüllt hat. Man kann natürlich mehrere Threads aneinander setzen und das ist auch ihr größter Vorteil.

Unsere Lösung

Hier ein kleines Diagramm zu unserer Vorgehensweise:

Ein Diagramm der Funktion von Webworkern für den OSMD Audio Player

Für unseren OSMD Audio Player werden natürlich neue Bestandteile für das Playback und für die Interaktion vom User benötigt. Wir gehen es so an, dass wir Webworker bei der Playback Engine und beim Cursor & Display Controller einsetzen werden. Der Audio Framework-Thread übernimmt dann der jeweilige Webbrowser (z.B. Google Chrome) selbst. Das heißt also, dass der Audio Player in diesem Fall etwas externes nutzt und dadurch diese zusätzlichen Threads nichts direkt von uns programmiert werden müssen.

Donita-Anne Pascual

Profile picture for user dontneeda
Hallo! Mein mein Name ist Donita und ich bin Studentin an der Bournemouth University, Großbritannien. Als Teil des PhonicScore Teams (der Firma hinter OSME und OSMD), bin ich im Bereich Marketing tätig.
CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.
    Datenschutzinformation
    Der datenschutzrechtliche Verantwortliche (Internet Privatstiftung Austria - Internet Foundation Austria, Österreich) würde gerne mit folgenden Diensten Ihre personenbezogenen Daten verarbeiten. Zur Personalisierung können Technologien wie Cookies, LocalStorage usw. verwendet werden. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl: