Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: erich am Donnerstag, 21. Januar 2016, 12:33
-
Hallo
Kann man aus Lilypond heraus in die Midi-Ausgabe SysEx-Komandos schreiben? Ich möchte diese dann in Timidity++ weiter nutzen können
Gruß
Erich
-
Hallo Erich,
ich kenne keine Methode, das zu bewerkstelligen.
Ein oberflächlicher Blick in den Sourcecode zeigt jedoch, diese Funktionalität wird i.W. im C++ Teil des Codes erledigt. Dort wird, wenn ich das richtig sehe die Musik ("performances" ist die Zeichenkette, nach der man in den Sourcen suchen kann) genommen, in MIDI übersetzt und dann sequentiell ausgegeben.
Wenn man in diesen Mechanismus SysEx integrieren wollte, würde ich versuchen die irgendwie als spezielle Artikulation an die Musik "zu kleben" (keine Ahnung ob und wie das ginge). Das könnte man dann im MIDI Ausgabecode entsprechend verwursten und gut.
Ein solches Vorgehen setzt aber sicher C++ Kenntnisse gepaart mit gutem Wissen über die LP Internas voraus.
LG,
Michael
-
Hallo Michael,
meinst Du wirklich "C++-Teil" oder SCM-Teil? Die Zeichenkette "performances" tritt, soweit ich sehe, mur in der Datei midi.scm auf.
danke für Deine Mühe
Erich
-
Hallo Erich,
ich meinte den C++ Teil, aber nicht "performances" sondern "performer"...performances tritt wie du ja schon selbst herausgefunden hast lediglich im SCM Teil auf. Entschuldige bitte die Verwechslung, ich hatte zunächst im SCM Code gesucht und hatte dann schließlich meine Nachricht in Eile verfasst.
Bei den C++ Sourcen gibt es eine Reihe von Dateien, deren Namen mit midi- beginnt. Die sind alle für dein Problem mehr oder weniger relevant. Der Einstiegspunkt ist, wenn ich das auf die Schnelle korrekt analysiert habe, in der Datei performance.cc (und da haben wir auch wieder die Zeichenkette "performance" :) )
Ich vermute jedoch, SysEx sind da nicht mal so eben eingebaut.
LG,
Michael
-
Hallo Michael,
bei mir gibt es keine C++-Sourcen; das könnte damit zusammenhängen, dass man sich unter Linux im Allgemeinen nichts kompiliert. Ob es devel-Dateien gibt, hab ich nicht in Erfahrung bringen können.
Vielen Dank
Erich
-
Den kompletten Sourcecode gibt es hier (http://git.savannah.gnu.org/cgit/lilypond.git). Du kannst entweder das ganze repository klonen oder dir den Code einer einzelnen Version als .tar.gz herunterladen.
-
Danke Fugenkomponist
Ich habe mal das release_2.19.35-1.tar.gz hergeladen und entpackt; mal sehen, ob ich fündig werde.