Page 1 of 2 12 LastLast
Results 1 to 15 of 21

Thread: GO ODF creation best practices

  1. #1
    Commodore con Forza
    Join Date
    Dec 2011
    Posts
    521
    Post Thanks / Like

    GO ODF creation best practices

    This way you can modell an organ with all currently supported extras and complications:

    * For each pedal/manual add a manual. Even if the manual has a short octave, keep the pipe definition chromatic. Either extend missing tones or add a silence sample for them. Remap them to short octave via MIDIKey999 and DisplayKey999.
    * For subsemitons add an extra manual. Keep this manual chromatic: Add only samples for the sounding keys and silence for the rest. Style them via the new GUI function to look correct. They contain the same set of stops as their main manual.
    * For the manual noises add an extra stop to each manual.
    * For the blower noise add an extra effect stop (= stop with only one pipe). You can add it to any existing manual.
    * For each register/coupler/tremulant, add a effect stop with its noise. Put it on the corresponding manual.

    * All these stops does not need to visible - if they are visible, they only show the effective state.
    * Add the effect stops to an extra windchest.

    * For the blower, add a switch on a panel (GCState=-1)
    * For the sound effects on/off, add a switch on a panel (GCState=-1)
    * For each register/coupler/tremulant/..., add a switch on a panel.
    * For each appel, add a switch on the panel (GCState=1 und DisplayInInvertedState=Y)
    * Associate the necessary switches with its corresponding manual to get the divisionals work.

    * The effect stop of register/couplers get the AND function of the following inputs:
    - corresponding switch
    - sound effects switch
    * The real stops/register/coupler get the AND function of the following inputs:
    - corresponding switch
    - blower on switch (for real stop)
    - appels (for real stops, if any)
    * Subsemitone stops are defined as their main stops
    * Blower stop get the AND function of the following inputs:
    - blower on switch

    PS: This covers the function of GO 1301 (or maybe even later), as the switch function has not been enabled yet. To start testing it, replace in GrandOrgueFile.cpp
    unsigned NumberOfSwitches = cfg.ReadInteger(ODFSetting, group, wxT("NumberOfSwitches"), 0, 0, 0);
    with
    unsigned NumberOfSwitches = cfg.ReadInteger(ODFSetting, group, wxT("NumberOfSwitches"), 0, 999, 0);

    PPS: Just a short, not very clean example for kalvtrask.organ:
    Code:
    @@ -26,6 +26,7 @@
     NumberOfDivisionalCouplers=0
     NumberOfImages=1
     NumberOfPanels=2
    +NumberOfSwitches=1
     DispDrawstopCols=2
     DispDrawstopRows=4
     DispDrawstopColsOffset=N
    @@ -70,6 +71,8 @@
     FirstAccessibleKeyMIDINoteNumber=36
     NumberOfStops=1
     Stop001=001
    +NumberOfSwitches=1
    +Switch001=1
     NumberOfCouplers=1
     Coupler001=001
     NumberOfTremulants=0
    @@ -314,7 +317,7 @@
     NumberOfAccessibleKeys=54
     FirstAccessibleKeyLogicalKeyNumber=1
     FirstAccessibleKeyMIDINoteNumber=36
    -NumberOfStops=11
    +NumberOfStops=12
     Stop001=101
     Stop002=102
     Stop003=103
    @@ -326,6 +329,7 @@
     Stop009=109
     Stop010=110
     Stop011=111
    +Stop012=204
     NumberOfCouplers=0
     NumberOfTremulants=0
     NumberOfDivisionals=0
    @@ -700,7 +704,33 @@
     Pipe053=.\Gedackt8\088-E.wav
     Pipe054=.\Gedackt8\089-F.wav
     
    +[Switch001]
    +Name=Fug
    +DisplayInInvertedState=N
    +Displayed=Y
    +DefaultToEngaged=N
    +DispDrawstopCol=2
    +
    +[Stop204]
    +Function=And
    +SwitchCount=1
    +Switch001=1
    +Name=Effect Fug
    +Percussive=N
    +DefaultToEngaged=N
    +WindchestGroup=001
    +FirstAccessiblePipeLogicalPipeNumber=001
    +FirstAccessiblePipeLogicalKeyNumber=01
    +NumberOfLogicalPipes=1
    +NumberOfAccessiblePipes=1
    +Pipe001=.\Noises\Stops\Fug8.wav
    +DisplayInInvertedState=N
    +Displayed=Y
    +
     [Stop104]
    +Function=And
    +SwitchCount=1
    +Switch001=1
     Name=FUGARA 8 fot
     TextBreakWidth=0
     NumberOfLogicalPipes=42

  2. #2
    Rear Admiral Appassionata (Ret) Ghekorg7 (Ret)'s Avatar
    Join Date
    Mar 2010
    Location
    Athens, Greece
    Posts
    1,098
    Post Thanks / Like
    Interesting !
    Thanks for all this info. I'll try to test asap !
    *It's like a fight with women, which always ends in .... bed.*
    F.Kafka, Aphorisms.

  3. #3
    Captain of Water Music
    Join Date
    Nov 2009
    Location
    Sweden
    Posts
    275
    Post Thanks / Like
    Hi!

    Thanks for the work on this. How is it possible for the user to switch off the stop effect but keep the "normal stop" to allow it's pipes to sound? In the example above the Stop204 is not reacting in any way on it's own, after applying the lines above only the switch is the one that will respond to any user action.

    I'll try to test asap !
    Do note Martins line above stating that you need to change one line in GrandOrgueFile.cpp to activate the switch code. Which means that you'll either need to compile it yourself or get someone else to do that for you... This is still testing!

    P.S. The title in the title bar works fine now! Thanks a lot!

    Kind regards

    Lars P
    Last edited by L.Palo; Apr-29-2013 at 00:11.

  4. #4
    Rear Admiral Appassionata (Ret) Ghekorg7 (Ret)'s Avatar
    Join Date
    Mar 2010
    Location
    Athens, Greece
    Posts
    1,098
    Post Thanks / Like
    I saw that Lars thanks :-) I cannot do it myself , not now at least (requires homework) > I'm processing pipe samples for the upcoming Historic organ for GO which by the way will be big wet, around 4.2sec releases. There will be 3 x :-) AND as I have here ALL FX and stuff sampled, even the tiniest crack, it would be nice to be able to apply them by the time of the release. But, either way I can use the shortcut solution till we got a steady one. :-D
    *It's like a fight with women, which always ends in .... bed.*
    F.Kafka, Aphorisms.

  5. #5
    Commodore con Forza
    Join Date
    Dec 2011
    Posts
    521
    Post Thanks / Like
    Quote Originally Posted by L.Palo View Post
    How is it possible for the user to switch off the stop effect but keep the "normal stop" to allow it's pipes to sound? In the example above the Stop204 is not reacting in any way on it's own, after applying the lines above only the switch is the one that will respond to any user action.
    This is not possible in my example.

    If you want to be able to shut off the effect stop, you can add second switch for "noise on/off" and add it add as second input to the effect stop [as described in my initial post]. You will probably also want to hide the real+effect stop and display the stop switch as real drawstop instead.

    Switches can be used in various ways (even as hidden logical element), so you can create even more complex setups.

  6. #6
    Captain of Water Music
    Join Date
    Nov 2009
    Location
    Sweden
    Posts
    275
    Post Thanks / Like
    Ok, I'll experiment with it further then. I guess it would be possible to create another switch for disabling all stop noises on/off too at once, and a switch for all the manual/pedal action noises combined? But will it be possible to combine them so that the switches won't override other switches states (ie if the switch that disables the effect stop is set off then one doesn't want the switch that activates both stop and effect to override it and activate it again)? I'll see if it behaves as one would expect or not and then report and/or come with more qustions.

    Kind regards

    Lars P

  7. #7
    Commodore con Forza
    Join Date
    Dec 2011
    Posts
    521
    Post Thanks / Like
    You have AND, OR and NO - this allows to model any kind of stateless logical function.

    If you have a "all noice on" and a "noise for X on" switch, you can eg. add a OR switch of both and use that instead.

  8. #8
    Captain of Water Music
    Join Date
    Nov 2009
    Location
    Sweden
    Posts
    275
    Post Thanks / Like
    When adding a switch (defined on main panel) to an additional panel the noise effect stop is also shown without being asked for and is actually not possible to hide even if one adds it to the panel and try to set it with Displayed=N which then is reported as unused (the referenced effect stop is of course hidden on main panel).

    Kind regards

    Lars P

  9. #9
    Commodore con Forza
    Join Date
    Dec 2011
    Posts
    521
    Post Thanks / Like
    Quote Originally Posted by L.Palo View Post
    When adding a switch (defined on main panel) to an additional panel the noise effect stop is also shown without being asked for and is actually not possible to hide even if one adds it to the panel and try to set it with Displayed=N which then is reported as unused (the referenced effect stop is of course hidden on main panel).
    I have troubles reproducing your problem. Can you mail me your example and point out, which elements are problematic?

  10. #10
    Captain of Water Music
    Join Date
    Nov 2009
    Location
    Sweden
    Posts
    275
    Post Thanks / Like
    Hi!

    So, the problem was that I had the stops added to the panel and not only the switch. If I remove the stops (both pipe and effect) from the additional panel and only add (reference) the switch it works fine. But the strange thing was that if I added the stop to the additional panel and tried to hide them (displayed=N) then the odf reader said that it was unused and showed them anyway even if the target stops on the main panel was hidden too, so something is not working logically as it should (or at least how I would expect it to do).

    Anyway, once I removed the stops from the additional panel it seems to work fine. But now I'll have to try to get a global switch on another panel that will when de-activated make all the effect stops silent even if the other switches that use them (together with the pipes) will be activated/de-activated. I'll report on the progress when I have anything to report...

    Kind regards

    Lars P

  11. #11
    Commodore con Forza
    Join Date
    Dec 2011
    Posts
    521
    Post Thanks / Like
    Quote Originally Posted by L.Palo View Post
    But the strange thing was that if I added the stop to the additional panel and tried to hide them (displayed=N) then the odf reader said that it was unused and showed them anyway even if the target stops on the main panel was hidden too, so something is not working logically as it should (or at least how I would expect it to do).
    You can't hide anything on the additional panels - they just contain the visible elements. Displayed=N/J just works for the main panel.

  12. #12
    Captain of Water Music
    Join Date
    Nov 2009
    Location
    Sweden
    Posts
    275
    Post Thanks / Like
    Ok, that explains it. One learns new things all the time! Thanks, we should somewhere point out that for additional panels only elements that are intended for showing should be added. All tricks are done on the main panel.

    Kind regards

    Lars P

  13. #13
    Captain of Water Music
    Join Date
    Nov 2009
    Location
    Sweden
    Posts
    275
    Post Thanks / Like
    Now another issue. The switches I add on an additional panel won't recognize extra drawstop rows/cols, and not the DispLabelText, DispLabelFontSize or other properties like them. It almoast seems to me that the switches only inherit from the drawstop but not from the button (that the drawstop itself should inherit from). Is this intended behaviour or a bug?

    Kind regards

    Lars P

  14. #14
    Commodore con Forza
    Join Date
    Dec 2011
    Posts
    521
    Post Thanks / Like
    Quote Originally Posted by L.Palo View Post
    Now another issue. The switches I add on an additional panel won't recognize extra drawstop rows/cols, and not the DispLabelText, DispLabelFontSize or other properties like them. It almoast seems to me that the switches only inherit from the drawstop but not from the button (that the drawstop itself should inherit from). Is this intended behaviour or a bug?
    In my option more likely an incorrect section name. They use the same schema as eg. Generals: Switch003 <-> Panel999Switch003

  15. #15
    Captain of Water Music
    Join Date
    Nov 2009
    Location
    Sweden
    Posts
    275
    Post Thanks / Like
    Right you are! Thanks, it seems to work if I write (on an additional panel)

    NumberOfSwitches=3
    Switch001=013
    Switch002=011
    Switch003=012

    and then have sections like

    [Panel001Switch013]
    ...
    [Panel001Switch011]
    ...
    [Panel001Switch012]
    ...

    Where the Switch identifying numbers are the same as on the main panel no matter what the order of the switches on the additional panel is.

    So far I've managed to recreate the Kalvträsk odf using switches so that all the stop noises now works (both from main panel and the larger stop panel) and the existing disabling buttons on the Noises extra panel also work. Now the next thing will be to figure out how I can disable all the stop noises at will with another (new) noise button (Stop noises) that when de-activated will still allow the pipes from the normal stop to play when the switches (visible drawstops) operating both pipes and noise are toggled (either from main panel or from large stop panel)...

    Kind regards

    Lars P

Page 1 of 2 12 LastLast

Similar Threads

  1. Creation museum
    By Contratrombone64 in forum Open Debate Forum
    Replies: 6
    Last Post: Oct-14-2008, 07:27
  2. Franck/Widor/Dupre performing practices
    By Thomas Dressler in forum Pipe Organ Forum
    Replies: 13
    Last Post: Feb-07-2007, 21:14

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •