Logos von OSMD und React Native
OSMD Native: React Native
Entwickeln der React-Native Bibliothek zur Darstellung von MusicXML Noten mit OpenSheetMusicDisplay (06.03.2024)
Förderjahr 2023 / Projekt Call #18 / ProjektID: 6670 / Projekt: OSMD Native

Die Entwicklung mobiler Anwendungen, die sich mit der Darstellung und Interaktion von Musiknoten beschäftigen, hat in den letzten Jahren signifikante Fortschritte gemacht. Ein spannendes Projekt in diesem Bereich ist die Implementierung einer React-Native Bibliothek, die OpenSheetMusicDisplay (OSMD) nutzt, um MusicXML Musiknoten auf Mobilgeräten anzuzeigen. Dieser Blogbeitrag gibt einen Einblick in die Kernfunktionen dieser Bibliothek, die Herausforderungen bei ihrer Entwicklung und die Vorteile, die sie Entwicklern und Anwendern bietet.

Nutzung von React Native und WebView

Die Basisfunktionalitäten von OSMD, wie das Laden und Darstellen von MusicXML-Dateien, wurden durch die Integration einer WebView in React Native ermöglicht. Diese Entscheidung eröffnet die Möglichkeit, die App später um native Module in Kotlin und Swift für Android bzw. iOS zu erweitern. Durch die Nutzung von React Native wird die Entwicklung und Wartung der Bibliothek vereinfacht und beschleunigt.

Benutzerdefinierte Anzeigeoptionen

Ein entscheidender Aspekt der Bibliothek ist ihre Flexibilität. Entwickler können die Anzeige und Funktionalität durch verschiedene Optionen, bekannt als OSMDOptions, anpassen. Dazu gehört die Möglichkeit, einen Dark Mode zu aktivieren, zu entscheiden, ob Titel oder Instrumentennamen angezeigt werden sollen, und sogar die Farbe des Cursors anzupassen. Diese Anpassbarkeit macht die Bibliothek für eine breite Palette von Anwendungen und Benutzerpräferenzen geeignet.

Audioplayer Integration

Ein weiteres herausragendes Merkmal ist die Implementierung eines Audioplayers. Dieser ermöglicht es den Nutzern, die MusicXML-Stücke nicht nur zu sehen, sondern auch zu hören. Die Qualität des Audioplayers wurde unter anderem auf Android getestet und bestätigt. Zusätzlich bietet die Bibliothek die Möglichkeit, die Position im Musikstück durch einfache Touch-Gesten zu ändern, was die Interaktivität erheblich steigert.

Sicherheits- und Benutzererfahrung

Um die Sicherheit und eine fokussierte Benutzererfahrung zu gewährleisten, blockiert die Standard-WebView-Funktionalität das Verfolgen von Links innerhalb der Noten. Dies verhindert, dass Benutzer versehentlich oder durch manipulative Links zu unerwünschten Webseiten navigieren.

MXL-Dateiunterstützung und Zoom-Funktion

Die Unterstützung für das Laden von MXL-Dateien ist aktuell noch in Entwicklung. Herausforderungen wie das Umwandeln der Dateien in einen Base64-String und das Handhaben von Zeichen außerhalb des UTF-8 Formates erfordern besondere Aufmerksamkeit. Zudem wird an einer verbesserten Zoom-Funktion gearbeitet, um die Benutzererfahrung weiter zu optimieren, indem sichergestellt wird, dass auch beim Zoomen das ganze Musikstück und Bedienelemente sichtbar und nutzbar bleiben.

Fazit

Die Entwicklung dieser React-Native Bibliothek zur Darstellung von MusicXML Noten mit OpenSheetMusicDisplay markiert einen signifikanten Schritt vorwärts für Entwickler und Anwender im Bereich der Musiktechnologie. Durch die Kombination von Flexibilität, erweiterten Funktionalitäten und einem Fokus auf Benutzererfahrung und Sicherheit, bietet diese Bibliothek eine leistungsstarke Plattform für die Schaffung vielseitiger Musik-Anwendungen. Die laufenden Arbeiten und geplanten Funktionen versprechen, dass diese Bibliothek weiterhin an der Spitze der technologischen Entwicklungen in der Musiknotation und -wiedergabe stehen wird.

Tags:

OSMD React Native Interactive Prototyping OpenSheetMusicDisplay MusicXML Musiknoten

Thomas Buchstätter

Profile picture for user bukaznik

Skills:

Projektmanagement
,
Produktmanagement
,
Javascript
,
Community Managmement
,
Marketing
,
Business Development
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, können Sie Ihre Einwilligung jederzeit via unserer Datenschutzerklärung anpassen oder widerrufen.