Sie haben wahrscheinlich den MIDI Interpreter HUMidi auf einer dieser
Seiten gesehen. Er wurde mit Hilfe der nachstehend beschrieben C++ Klassen
geschrieben. Die Benutzerschnittstelle ist eigentlich nur eine Beispielsanwendung
für Demonstrationszwecke.
Die Klassenbibliothek wird von mir ausschließlich in Quellform verkauft. Wenn
Sie interessiert sind können Sie unter dieser
Mailadresse
Kontakt mit mir aufnehmen
um weitere Details zu erfahren.
Hier sind die wesentlichen Merkmale der Klassenbibliothek:
- geschrieben in Standard C++
- Unterstützung durch das Open Source Framework wxWidgets und damit weitgehend portabel
zwischen Windows und UNIX
- verwendet keine sonstigen Bibliotheken (auch kein STL) oder Lizenzen
- Quellcode ausschließlich aus einer Quelle (E.Huckert)
- Gut dokumentierter, gut lesbarer Quellcode
- Eingebaute Ablaufverfolgung (Logging) mit Fehlerhilfen
(Dump, Exception Traps)
- Prozesskonzept benutzt Threads mit TCP/IP als Kommunikationskanal
zwischen den Threads
- Derzeit ca. 22000 Zeilen Quellcode
Die Klassenbibliothek hat grob den folgenden Funktionsumfang:
- MIDI Dateien lesen (Formate 0 und 1)
- MIDI Dateien schreiben (auch Extrakte)
- Inputkonverter für Formate ABC und MusicXML
- Outputkonverter für Format Lilypond (Notensatz)
- Abspielen von MIDI
- Aufnehmen von Real Time MIDI Ereignissen
- Transposition
- Ausfiltern (Stummschalten) von Kanälen
- Modifikation von Notenwerten, Lautstärke, Kanal
- Modifikation von Textereignissen (Vorbereitung für Karaoke!)
- Einfügen von Instrumentzuordnungen
- Einfügen von Controllerereignissen
- Interpretation von Vorschriften wie Crescendo, Accelerando etc.
- Eingebaute I18N Unterstützung
(Internationalisierung für Deutsch, Englisch, Französisch, weitere Sprachen leicht ergänzbar)
- Dreisprachige Hilfetexte auf HTML Basis
- Benutzerschnittstelle unter Windows (als Beispielsanwendung)
Demnächst
Eine weitere Klassenbibliothek ist in Vorbereitung und wird voraussichtlich
Ende 2007 fertiggestellt. Sie wird die folgenden Funktionen enthalten:
- Anzeigen des graphischen Notenbilds (passiv)
- Graphischer Noteneditor
- Drucken von Noten
Diese Klassenbibliothek ist eng an HUMidi angelehnt. Sie wird jedoch
auf einem wesentlich erweiterten internen Format aufsetzen, da MIDI als
Notationsformat nur in sehr engen Grenzen geeignet ist.