All logic blocks have a name that is used to refer to that particular block.  Keyboards typically have names such as Pedal, Accomp, Great etc. and ranks typically have names such as Flute, Tibia, Oboe etc.  These names must be entered by the person building the definition file but the names are totally up to that person.  So the keyboards could be named Tom, Dick and Harry if you wish although that would be silly and was only used to illustrate that these names can be anything you wish.


While some blocks must be named by you, some Logic Block types will automatically generate a reasonable name based on the parameters that are entered for that block.  An example of an auto-generated name would be a function type 3 that is used to play the Tibia rank from the Great keyboard at the 8' pitch.    If no name is explicitly entered for this function, 8' Great Tibia will be entered automatically.  If a Stop drives this function then it too will get this name.


You can always overwrite any auto-generated name with your own name by placing the yellow highlight over the name and then entering a new name.  And you can always reverse that procedure by hitting the Delete key which will remove your custom name and regenerate the auto-generated name.


If a logic block does not have the ability to auto-generate a reasonable name, a numbered name will be set based on the logic block type number and the block number.  For instance, when you first add 5 keyboards they will be named "Keyboard #1" through "Keyboard #5".  It is recommended that you set a meaningful name for each logic block that cannot auto-generate its own name.


The logic block types that can auto-generate a name are:


 - Stops

 - Functions

 - Links

 - Controls

 - Indicators

 - Channel Inputs

 - Channel Outputs


The remaining logic block types that cannot auto-generate a name are:


 - Keyboards

 - Ranks

 - Units

 - Pistons

 - Channels

 - Pizzicato Timing Tables

 - Reiterate Timing Tables


In general, the easiest and fastest sequence of operations to generate a new definition file are as follows:


1. List the keyboards, ranks, units and channels by name on a piece of paper or spec sheet.

2. Open a blank definition file in the editor.

3. Count the number of keyboards and add that number of keyboards to the definition.

4. Name each keyboard block per your list or keyboards.

5. Count the number of ranks and add that number of ranks to the definition file.

6. Name each rank block per your list of ranks.

7. Count the number of units and add that number of units to the definition file.

8. Name each unit block per your list of units.

9. Count the number of channels and add that number of channels to the definition file.

10. Name each channel block per your list of channels.


The list of units should include traps, trems and shutters.  The list of channels should include one for each expression shoe and each crescendo shoe.


This will set up for easier entry of the functionality for each stop and will provide the data for the auto-generation of block names.

Note that additional blocks of any block type (such as ranks, stops or keyboards) can be added using the "ADD" edit command.  This will come in handy when adding virtual ranks such as amplexed ranks (ex: all Kinura tabs become Krumet tabs) or celestes off ranks where one stop tab will turn off all celestes that are defined by single tabs controlling multiple ranks.


This ability to add additional logic blocks at any time by the customer or organist can come in handy when you are expanding your definition to include new ranks, either physical pipes or Midi voices from Hauptwerk or Fluidsynth.  Since multiple definition files are supported and can be assigned to any organist who wishes to change the existing organ definition, this expandability can be invaluable.