                          ┌┬────────────────────┬┐                            
                          ││ Watch: Programming ││                            
                          └┴────────────────────┴┘                            
                                                                              
    Function key usage                                       Mouse            
                                                                              
   F1     - Display this help information.                  [Help]            
   F3     - Exit program.                                   [Exit]            
   F4     - Reset channel and message filtering.            [Channels]        
   F5     - Reset send keys definitions.                    [Send keys]       
   F6     - Return to MIDI monitor screen.                  [Monitor]         
   F7     - Toggle MIDI thru on/off.                        [Thru]            
   F8     - Toggle real-time messages on/off.               [RealTime]        
   F9     - Decrease value of selected cell.                <Left button>     
   F10    - Increase value of selected cell.                <Right button>    
   Alt-F2 - Same as F7.                                                       
   Alt-F3 - Push to DOS.                                    [Push]            
   Alt-F8 - Send all-notes-off message (on all channels).   [Quiet]           
   Home   - Go to top of screen.                                              
   Alt-R  - Set other cells in row the same as current cell.                  
   Alt-1,...Alt-9, Alt-0 -                                                    
            Send MIDI data defined for corresponding key.                     
                                                                              
                                                                              
 ┌─────────┐                                                                  
 │ Editing │                                                                  
 └─────────┘                                                                  
                                                                              
 Use the arrow keys to move the large block cursor around the screen to       
 select the available data fields or "cells".  On a color monitor, the data   
 in cells which can be changed will appear yellow.  Note the input area near  
 the bottom of the screen, indicated by ">" and the small blinking cursor.    
 To enter or change a selected cell, type into the input area and press       
 return.  The value entered will then appear in the cell (if the input was    
 valid).  A description of the valid input for the current cell will always   
 appear on the line above the input area.                                     
                                                                              
 Use the following keys for editing:                                          
                                                                              
  Return    - Retrieves the current contents of a cell and places it in the   
               input area for modification (if the input area is empty).      
  Insert    - Toggles between character insert and overwrite modes.           
  Delete    - Deletes the character at the cursor.                            
  BackSpace - Deletes the character before the cursor.                        
  End       - Moves to the end of the character string.                       
  Home      - Moves to the beginning of the character string.                 
  Escape    - Erases the input area.                                          
                                                                              
 ┌───────────┐                                                                
 │ Operation │                                                                
 └───────────┘                                                                
                                                                              
 This screen allows incoming MIDI messages to be selectively filtered out or  
 modified.  [Note that Thru:On must be specified if the modified data is to   
 be resent.]  Each of the 16 available MIDI channels is listed across the     
 top.  The matrix below permits modification or filtering by channel for      
 specific classes of messages listed on the left:                             
                                                                              
 - Enable: All messages for the channel may be enabled (on) or disabled       
   (off).  If enabled, the following items may be used to filter specific     
   messages.                                                                  
                                                                              
 - Map: Messages received for the channel indicated at the top of the column  
   will be redirected to the channel specified.  Default is the same channel. 
                                                                              
 - Transpose: Note messages received on the channel (before mapping) will be  
   transposed by the specified number of half steps (+ or -).  Resulting      
   notes below C-2 or above G8 are discarded.                                 
                                                                              
 - Velocity: This value has two distinct uses.  Note velocities on the        
   channel will be scaled by the given percentage if the value is greater     
   than zero.  100% is the original velocity and indicates no modification.   
   Notes may be scaled up to maximum velocity.  If the value is negative, its 
   absolute value is taken as a velocity threshold below which note messages  
   are filtered out.  Both forms assume decimal values.  Ex: A value of 200   
   can double the velocity, and 50 will halve it.  A value of -64 will filter 
   out notes having a velocity less than 64.                                  
                                                                              
 - Low note: The lowest note in the range C-2 to G8 which will be received    
   (prior to transposing).  C3 = middle C = MIDI note 60.                     
                                                                              
 - High note: The highest note which will be received.                        
                                                                              
   The following enable or disable specific message classes on the channel.   
                                                                              
 - Note Msgs: All note messages.                                              
                                                                              
 - Aftertouch: All aftertouch messages - poly or mono (channel pressure).     
                                                                              
 - Ctrl change: All control change messages.                                  
                                                                              
 - Prog change: All program change messages.                                  
                                                                              
 - Pitch wheel: All pitch bend messages.                                      
                                                                              
 ┌─────────────────┐                                                          
 │ System Messages │                                                          
 └─────────────────┘                                                          
                                                                              
 The following system messages can be selectively filtered:                   
                                                                              
  Exc:  System exclusive                                                      
  Qrt:  Quarter Frame      ───┐                                               
  Pos:  Song position         │  System                                       
  Sel:  Song select           │  common                                       
  Tun:  Tune request       ───┘                                               
  Clk:  MIDI clock         ───┐                                               
  Str:  Start                 │                                               
  Cnt:  Continue              │  System                                       
  Stp:  Stop                  │  real-time                                    
  Act:  Active sensing        │                                               
  Res:  System Reset       ───┘                                               
                                                                              
   Overall filtering of real-time data is controlled using the F7 function    
   key.  If RealTime:Block is selected, no real-time data is passed.  For     
   RealTime:Pass, only those messages above specifically enabled are passed.  
                                                                              
 All filtering and modifications are applied BEFORE data is displayed on the  
 monitor screen and saved in the buffer.  Also, the data displayed is what is 
 output when MIDI thru is enabled.  Note that data received while on the      
 programming screen continues to be stored in the buffer.                     
                                                                              
 ┌───────────────────┐                                                        
 │ Sending MIDI data │                                                        
 └───────────────────┘                                                        
                                                                              
 Up to 10 keys may be assigned specific MIDI send functions.  The bottom      
 section of the screen allows the keys Alt-1 thru Alt-9, and Alt-0 (see note) 
 to be defined as arbitrary MIDI data.  When one of these keys is pressed,    
 the associated data is sent.  Each key may be defined as a short string of   
 hexadecimal digits or the name of a MIDI data file.  If a sequence is        
 entered directly, it may be a continuous string of 2-digit hex numbers with  
 no separators, or 1- or 2-digit hex numbers separated by spaces or commas.   
 Messages up to 13 bytes may be entered this way.  For longer messages, a     
 string may be continued into the next key's definition by entering a plus    
 (+) as the last item in the string.  Up to 9 continuations are possible, for 
 a total possible message length of 120 bytes.                                
                                                                              
 If the first character in the string is "@", a file name is expected to      
 follow.  When the key is pressed, the named file will be sent.  The file may 
 be a standard MIDI format file, or may be a binary data file containing a    
 sequence of MIDI bytes.  Continuation does not apply in this case.  If just  
 the "@" character is entered, or the file name includes a wildcard character 
 (* or ?), a list of files from which to choose is displayed.  Move to the    
 desired file and press return (or click if using a mouse).  The selected     
 file name will be entered in the send key definition cell.  The same rules   
 used by DOS for file matching apply.                                         
                                                                              
 MIDI sequences defined here may be sent from either the Programming or       
 Monitor screen.  Press Alt and a digit to send the defined sequence.  If     
 using a mouse, click on one of the 10 digits at the bottom of the Monitor    
 screen.                                                                      
                                                                              
 Note:  The Alt-0 key has slightly different usage from the rest of the send  
        keys.  As a shortcut to avoid the need to switch to the programming   
        screen to define it, the program will prompt for its contents         
        (displaying the last entered string).  That string may be modified    
        or sent as is by pressing return.  To cancel the send, press escape   
        to blank the string and press return.                                 
                                                                              
 ┌────────┐                                                                   
 │ Delays │                                                                   
 └────────┘                                                                   
                                                                              
 Send delays may be specified using the "SysEx wait" and "Bytes/sec" values.  
 These may be necessary to allow certain MIDI devices to properly accept bulk 
 data transmissions.  SysEx wait specifies the amount of time in milliseconds 
 to wait before sending any sysex message.  A delay of up to 9999 (10 sec.)   
 can be entered.  The overall transmission rate can be specified by setting   
 the Bytes/sec value, thus reducing the standard MIDI transmission rate of    
 3125 bytes per second.                                                       
                                                                              
 Delays as applied to the transmission of standard MIDI files are slightly    
 altered due to the real-time nature of the files.  The basic transmission    
 rate only applies to system exclusive data.  The system exclusive wait is    
 not applied to the special "running" or "sub-message" sysex events which     
 should already have built-in transmission times.                             
                                                                              
 ┌──────────────────────────┐                                                 
 │ Saving the configuration │                                                 
 └──────────────────────────┘                                                 
                                                                              
 All filter selections, key definitions, and the overall status (thru,        
 real-time, hex/dec) are saved when the program ends.  They are restored the  
 next time the program is run.  The original channel status may be reset      
 using the Reset Channels function.  This also resets the system message      
 filtering to allow all messages.  The Reset Keys function will blank all the 
 send key definitions.  Settings are saved in the file "WATCH.STP".  This     
 file should not be altered, or results may be unpredictable.                 
                                                                              
 ┌─────────────┐                                                              
 │ Mouse usage │                                                              
 └─────────────┘                                                              
                                                                              
 When a Microsoft-compatible mouse is available and the mouse driver software 
 properly loaded, operations using the mouse will be enabled.  The mouse may  
 be used to select an input cell on the screen by positioning the small mouse 
 cursor on the cell and single clicking either button.  The cell will be      
 highlighted, just as if the cell had been selected using the arrow keys.     
                                                                              
 Any cell which can be changed using the F10/F9 keys to increment/decrement,  
 may be changed in a similar manner using the mouse.  Once a cell is selected 
 by clicking on it, subsequent clicking of the left button will decrement the 
 cell value, and clicking of the right button will increment it.              
                                                                              
 In mouse mode, the function key designations normally displayed at the       
 bottom of the screen are changed to selector blocks for each available       
 function.  Clicking on a block will perform the indicated function.  All     
 functions may still be invoked via the normal keyboard equivalents.          
                                                                              
 If mouse operations are not desired, add the -k option on the command line   
 when the program is run to force keyboard mode.                              
                                                                              
 ---------------------------------------------------------------------------  
