Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: erich am Donnerstag, 21. Januar 2016, 12:33

Titel: SysEx
Beitrag 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
Titel: Re: SysEx
Beitrag von: mgd am Freitag, 22. Januar 2016, 09:11
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
Titel: Re: SysEx
Beitrag von: erich am Freitag, 22. Januar 2016, 14:16
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

Titel: Re: SysEx
Beitrag von: mgd am Samstag, 23. Januar 2016, 02:20
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
Titel: Re: SysEx
Beitrag von: erich am Samstag, 23. Januar 2016, 17:05
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
Titel: Re: SysEx
Beitrag von: fugenkomponist am Samstag, 23. Januar 2016, 20:26
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.
Titel: Re: SysEx
Beitrag von: erich am Samstag, 23. Januar 2016, 21:04
Danke Fugenkomponist

Ich habe mal das release_2.19.35-1.tar.gz hergeladen und entpackt; mal sehen, ob ich fündig werde.