Fragen betreffend ODF Programmierung


  • Da hätte das Demo-Set schon mehr zu bieten.

    Ich würde empfehlen, diese Veröffentlichung zu lesen:“The GrandOrgue Architecture For Samplesets Designers-Atutorial (John Prentice)”: https://github.com/GrandOrgue/grandorgue/wiki/Overview-of--an-ODF . (mit dem Demo-Set als Beispiel)

    Auch hilfreich: „An Introduction to the GrandOrgue‘s Organ Definition File From an Object Oriented Programming Perspective“, Jens Anderssen March 25, 2021

    Jetzt kann ich nicht finden, wo ich es heruntergeladen habe, aber es enthält eine E-Mail-Adresse: jason@barbanet.com

  • Mhh ich habe jetzt durch Zufall gesehen, dass sich innerhalb der ODF mit einem ; Kommentare verfassen lassen :) Ich habe auch mehre ODFs gesehen die behaupten mit dem Organ Builder erstellt worden zu sein. Zu diesem Organ Builder finde ich aber im Zusammenhang mit GO bei Google nichts.

    Ich sehe auch, dass die Orgel Naxxar, Malta sehr sauber aufgebaut und strukturiert ist. Aber die fällt natürlich raus um sich näher damit zu befassen. Da der Ersteller die Definition nicht frei zum Download anbietet, sondern nur auf Anfrage, werde ich darüber nicht unbedingt hier mich austauschen wollen. Wer die Orgel aber hat kann da ja mal reinschauen.

    Melodeum.de - Wissenswertes zu Harmonium

    • Offizieller Beitrag

    Der Organ Builder ist bei uns im Downloadbereich (Filebase) zu finden. Ich weiß nicht, ob es ihn sonst noch irgendwo im Web gibt, da er m. W. nicht mehr weiterentwickelt wurde.

  • Okay danke, Delphi habe ich als Programmiersprache schon ewig nicht mehr gesehen. Delphi gab es für Linux ja mal, inzwischen ist es aber scheinbar im Lazarus aufgegangen... Ob man mit dem Code aber tatsächlich noch was anfangen kann weiß ich nicht...

    Mal schauen, wenn ich mal Langeweile habe schaue ich es mir mal an.

    Melodeum.de - Wissenswertes zu Harmonium

    • Offizieller Beitrag

    Ich sehe auch, dass die Orgel Naxxar, Malta sehr sauber aufgebaut und strukturiert ist.

    Naxxar ist eigentlich kein besonders gutes Beispiel eines GO ODF, da es offenbar einfach aus dem Generator (Organ Builder) kommt.

    ESMUC habe ich auch nochmal reingeschaut, da ist die ODF didaktisch auch nicht besonders gut. Es ging damals auch mehr darum, dass das Sampleset funktioniert und es schnell fertig wird. Außerdem ist mein Name dort falsch geschrieben. Es muss heißen "mikelectric" und nicht "mikelektric". ?( Schade, dass ausgerechnet dieses ODF in dem Tutorial von John Prentice verwendet wurde.

    Schau Dir stattdessen mal mein ODF der Walcker Wildervank an. Dieses habe ich nur nicht mehr in der Filebase, weil es noch eine Version mit den klassischen GO Registerdarstellungen ist. Die Version von "mictes", die Du vermutlich verwendest, benutzt eben die original Grafik der HW Version.

    Mein Wildervank ODF funktioniert aber mit den Samples genauso und Du kannst es alternativ verwenden. Es ist aber gut strukturiert und kommentiert und eignet sich besser für Experimente.

  • Spannend.

    Wenn ich das richtig verstehe sagt der Abschnitt, dass DestinationManual das Ziel angibt also in diesem Fall das Manual auf dem man spielt. Keyshift sagt aber bitte mit +12 Halbtöne übertragen. Zumindest scheinen mir diese zwei Einträge funktional das wichtigste zu sein. Mit dem Rest kann ich nichts anfangen.

    Würde ich also auf ein anderes Manual die Koppel haben wollen, dann wäre DestinationManual=001 oder 003 oder ein anderes.

    Melodeum.de - Wissenswertes zu Harmonium

    • Offizieller Beitrag

    Spannend.

    Wenn ich das richtig verstehe sagt der Abschnitt, dass DestinationManual das Ziel angibt also in diesem Fall das Manual auf dem man spielt. Keyshift sagt aber bitte mit +12 Halbtöne übertragen. Zumindest scheinen mir diese zwei Einträge funktional das wichtigste zu sein. Mit dem Rest kann ich nichts anfangen.

    Würde ich also auf ein anderes Manual die Koppel haben wollen, dann wäre DestinationManual=001 oder 003 oder ein anderes.

    Genau - hier habe ich eine Oktavkoppel realisiert.

    Die folgenden Zeilen

    Code
    CoupleToSubsequent..........=N

    bewirken, dass diese Oktavkoppel nur innerhalb dieses einen Manuals aktiv ist und sich nicht über evtl. andere gesetzte Koppeln auf andere Manuale auswirkt.

  • Wenn du einen Affen machst, hast du einen Affen....

    Es geht um das Prinzip der Pfeifenorgel. Ein Tremulant und auch ein Swell, wird für eine (oder viele) Reihe von Pfeifen verwendet

    und nicht immer für die ganze Orgel oder für eine ganze Manual. Technisch gesehen ist eine Trumulant auf einer Windlade montiert.

    Sie müssen in GO also etwas mehr haben: so heißt es also: WindchestGroup

    In GO ist der Einfachheit halber auch ein Swell damit (WindchestGroup) verknüpft.


    Sie können dafür auch als Designer andere Namen wählen, oder andere Parameter verwenden, aber ein Stopgroup ist eigentlich ein Manual.

  • Vemutlich haben ganz wenige harte Gesellen Tools entwickelt.

    Naja im Grunde wenn du die HW oder GO Definition hast und weißt wie das Gegenstück in der anderen Software aussehen muss, dann kann man sich da in Perl und co mit einer langen Reihe von regulären Ausdrücke das ganze mehr oder weniger automatisch umwandeln lassen. Ich habe mal einige Jahre bei einem Verlag in der Datenkonvertierung gearbeitet. Man muss im Grunde nur wissen wo etwas in einem Format steht und wie der magische Ausdruck heißt um dies dann in ein anderes Format auszugeben.

    Simples Beispiel:

    Validieren einer IBAN:

    Code
    [a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}

    Die Prüfung ob die Eingabe eine E-Mailadresse ist:

    Code
    "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
            + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"

    ;)

    Melodeum.de - Wissenswertes zu Harmonium

    • Offizieller Beitrag

    Das sind so Leute, die unter Linux nur mit dem vi arbeiten :D

    Die meißeln vermutlich auch ihren Einkaufszettel noch in Steintafeln. Ich bekomme immer Migräne wenn mich Linux wieder mal nötigt einen Zeileneditor zu verwenden nur um in irgendeiner der zahllosen ini-Dateien einen Wert zu verändern. Dazu muss ich dann erst ein Buch wälzen für die Editierkommandos. :-8Ja wo leben wir denn? Das gab's mal in UNIX vor 35 Jahren, als ich noch Student war. Heute sollte doch wohl längst alles intuitiv bedienbar sein.

  • Ein ODF zu machen bedeutet nicht nur die WAV Dateien einem Register und Taste zuzuordnen, sondern eben auch die Grafik dazu zu machen. Letztes Jahr habe ich meine Tools, zu finden unter: Wunschorgel für Grand Orgue selbst erstellen, veröffentlicht. Mit dabei ist eine ausführliche Anleitung. Diese Tools erleichtern die Arbeit gewaltig, da nämlich fehlende Samples automatisch durch vorhandene Samples ersetzt werden, und auch die Tonhöhe automatisch erkannt wird. Es ist auch ein Tool dabei mit welchem die einzelnen Stops sauber beschriftet werden.

    Es gibt gewisse Einschränkungen, dass zum Beispiel nur ein Fenster mit Registerschaltern (Stops) erstellt werden kann, dies plane ich aber zukünftig zu verbessern. Leider muss ich sagen, ein Tool dass auf Knopfdruck mit den WAV Dateien irgendwie eine fertige Wunsch-Orgel zaubert, wird es wohl nicht (nie) geben. Man muass Arbeit investieren.

    Die veröffentlichten Tools sind in Python geschrieben, lesbar und ggf. auch modifizierbar.

    Als ich diese Tools geschrieben habe habe ich jedenfalls gelernt, dass es sehr viele Möglichkeiten gibt mit dem ODF die gleiche Orgel zu beschreiben. Man muss sich schlussendlich für eine Möglichkeit entscheiden. Man kann sich in den Möglichkeiten von Grand Orgue verlieren, und sollte sich daher nur auf das wesentliche konzentrieren. Probiert diese Tools einfach mal aus. Das generierte ODF ist a) strukturiert, und b) enthält Kommentare, damit die zusammenhänge ein bisschen klarer werden.

  • Danke. Welche Anwendungsfälle gibt es für die logischen Verknüpfungen? Können die Ausdrücke auch geklammert werden?

    Zu b) ok, also ein virtueller Trick ;) Warum haben die Pfeifen nichts miteinander zu tun? Das ist doch Attack/Release der Pfeife12?

    zu c) Warum heißt das "Element"? Könnte man das auch Panel000Stop012 nennen?

    zu a) Habe ich noch nicht gebraucht/probiert, aber von Klammern steht auch nichts in der Hilfe, vermute daher, dass es nicht geht. Komplexe Logik-Schaltungen kann/muss man daher über mehrere verschachtelte Switche realisieren.

    zu b) Nein, es geht nicht um "Pfeife12". Die "Noises" von Windchestgroup004 sind in eigenen Stops umgesetzt, z.B.

    [Stop051] 

    Function=And 

    SwitchCount=3 

    Switch001=001 

    Switch002=028 

    Switch003=029 

    Name=Sousbasse stop noise 

    NumberOfLogicalPipes=1 

    NumberOfAccessiblePipes=1 

    FirstAccessiblePipeLogicalPipeNumber=001 

    FirstAccessiblePipeLogicalKeyNumber=001 

    WindchestGroup=004 

    Percussive=N 

    Displayed=N 

    AmplitudeLevel=75 

    Pipe001AttackCount=6 

    Pipe001=Sounds\Bourdon8.wav 

    Pipe001Attack001=Sounds\FlHarm8.wav 

    Pipe001Attack002=Sounds\Gamba8.wav 

    Pipe001Attack003=Sounds\Hautbois8.wav 

    Pipe001Attack004=Sounds\Montre8.wav 

    Pipe001Attack005=Sounds\Octavin2.wav 

    Pipe001Attack006=Sounds\Trompette8.wav 

    Pipe001MIDIKeyNumber=36

    zu c) Es gibt ein altes und ein neues Panel-Format (steht auch in meinen ODF-Guide). "PanelXXXElementXXX" gehört zum neuen Panel-Format. Im alten Format würde man wirklich PanelXXXStopXXX schreiben.

    • Offizieller Beitrag

    Dazu habe ich Fragen:

    • Was bewirkt im Stop12 "Function=And" Bezieht sich das auf die Attack (Stop222) und Release-Pipe (Stop223), die mit dem gleichen

    Offensichtlich benötigt GO grundsätzlich in der ODF den Befehl "Function=And" um einen darauf folgenden Switch zu erkennen und zu verarbeiten.

    Wenn er keine Bedeutung hat verstehe ich nicht warum er eingetragen ist.

    Ich hab den Befehl Function=And bei Einfügen weiterer Register in der Friesach-ODF einmal weggelassen. Prompt wurde der nachfolgende Befehl nicht ausgeführt.

    Wenn mehrere Befehle unter Function=And verarbeitet werden sollen werden sie dezidiert dort eingetragen

    Z. B. bei einem zusammengesetzten Sesquialter aus Einzelregistern Nasat 2 2/3' und Terz 1 3/5'

    .....

    Funktion=And

    SwitchCount=2

    Switch001=xxx (Nasat 2 2/3')

    Switch002=yyy (Terz 1 3/5')

    Switch003=zzgl (Release)

  • Wenn ich den Switch DefaultToEngaged=Y stelle, höre ich meine Pfeife (?)

    Ein Stop mitt eine Pfeife ist nicht Spielbar.

    Das ist für MOTOR, ZIMBEL usw. gedacht. Nicht für ein MANUAL. 1 Pfeife spielt sofort.

    Der Motor startet daher, wenn Sie den Stopp verwenden.:)


    Anfängerfehler;(