Tut mir leid, dass ich mich so spät melde. Da gab es ja in Zwischenzeit ein regelrechtes Kommunikations-Feuerwerk.
Die Tools habe ich vor fast einem Jahr geschrieben, und damit meine Orgel mit den Friesach-Samples erstellt. Das hat wunderbar funktioniert, jedenfalls nach vielen Anläufen. Anfänglich war immer irgendwo ein Fehler drin, auch deshalb, weil ich selbst die Zusammenhänge in der ODF erst verstehen musste. In Zwischenzeit habe ich leider wieder viel vergessen. Aber:
Function=And
SwitchCount=1
Switch001=40
Der Function-Eintrag steht drin, weil es ohne den nicht geht (glaube ich). Die Einträge sind ziemlich verschachtelt und werden indirekt angesprochen. Ich sage der Orgel nicht, dass im Panel ein Schalter ist, sondern ein Element. Diesem Element erkläre ich, du bist ein Schalter und siehst so und so aus. Der Schalter wird in einem anderen Segment erklärt. In diesem Element wird bestimmt, dass keine Grand-Orgue Grafik verwendet werden soll. Ich möchte ja mein eigene Grafik verwenden. Ich ordne dann an anderer Position ein Rank dem Schalter zu, und ein Schaltgeräusch. Ich hätte auch alles in einem Block reinschreiben können. Schreibt man alles in ein Block, hat man die Übersicht, was alles mit dem entsprechenden Element zusammen hängt. Verwendet man aber Elemente, so wie ich es gemacht habe, hat man genau definiert, in welchem Feld die Maus wirkt, nämlich im Feld des Elementes. Sonst muss man nicht nur Schalter Position sondern auch dessen Größe angeben.
Da ich aber davon ausgehe, dass ich nur ein Tool verwende, dass mir dann etwas generiert, was meine Orgel darstellt, ist es mir in dieser Situation egal, wie mein ODF aussieht.
Leider ist mein Tool nicht für jede erdenkliche Art von Orgel-Design verwendbar. Da muss ich nachbessern!
Kommen wir zur Funktion=And:
Ich vermute ich hätte auch Function=Input setzen können, da ich nur eine Quelle für diese Aktion habe. Das müsste ich auch noch ausprobieren.
Warum gibt es Function? Es könnte sein, dass mehrere Schalter auf das gleiche Ereignis (Register, Tremolo usw.) wirken. Zum Beispiel es gäbe einen Hauptschalter der das Gebläse einschaltet. Dann hätten alle anderen Stops ein Function=And, SwitchCount=2 und entsprechend die Zuordnung zum Registerschalter und dem Hauptschalter. Aber hallo? Ich will Orgel spielen und nicht irgendwelche Orgeln zum Spass simulieren. Zum spielen braucht man keinen Hauptschalter. Aber es könnte sinnvoll sein, bestimmte Aktionen wie das Tremolo mit anderen Aktionen zu verknüpfen. Dann braucht man wirklich diese Function als Verknüpfung.
Richtig ist, wenn man nicht weiss, wie es funktioniert, erst mal mit was kleinem Anfangen. Ein Register eine Pfeife ist schon ziemlich klein.
Wichtig bei den Tools: Panel 1 zeigt Pedal und Manuale. Außer dass man angibt, wie viel Manuale es geben soll, braucht man da eigentlich nichts zu tun. Es werden immer 30 Pedale-Tasten und 61 Manual-Tasten dargestellt. Kann man ändern. Aber selbst, wenn man nur ein Keyboard mit 55 Tasten hat, würde es dennoch funktionieren.
Panel 0 ist das Panel mit den Schaltern. Das habe ich so gemacht, dass bei mir nach dem Start das Fenster mit den Schaltern erscheint. Ich muss ja nicht sehen, wie sich die Tasten bewegen, das sehe ich beim Spielen auf der Orgel.
Mir ist der Ferrari mit angezogener Handbremse schnell genug.
Mir ist das viel zu langsam. Ich verwende zusätzlich einen Faltungshall. Unter Windows kann ich nicht spielen, da die Töne deutlich verzögert kommen. Unter Ubuntu konnte ich die Latenzzeit auf 10ms drücken. Das schaffe ich mit Windows nicht.