The 
Edit Sequence window edits a new or existing sequence.
This window can be invoked from many places within the program,
most notably from the 
CSDS main menu via
Sequence | New [Graphics]
or 
Sequence | Edit [Graphics].
 
The 
Edit Sequence window consists of several sections, described below:
- 
Processed Text Box
- 
 The Processed Text Box shows the sequence text that has been successfully
processed by the program. Sequence text not yet processed resides
in the Edit Buffer (described later). The Processed Text Box shows the sequence text that has been successfully
processed by the program. Sequence text not yet processed resides
in the Edit Buffer (described later).
  - 
    The header,  , shows
    the sequence database (e.g., TEMPPLUS), the index of the sequence within the
    database (1), and the number of text lines contained in the box (10). , shows
    the sequence database (e.g., TEMPPLUS), the index of the sequence within the
    database (1), and the number of text lines contained in the box (10).  
- 
    A sequence may contain up to 20 formation pictures, which can be inserted
    via the Insert formation button
    (described in the Edit Buffer section).
      
- 
    Right-clicking the mouse within the Processed Text Box invokes a pop-up menu
    with the following functions:
    
      - Edit sequence text
- Print...
 Double-clicking the left mouse button at the end of a line within the Processed
    Text Box displays a formation picture of the dancers after executing the calls
    on the line clicked.  
- 
    When the number of text lines in the sequence exceeds a specified amount, the program
    automatically searches the GETOUT database for resolves from the current
    formation.  If one or more GETOUTs
    are found, that number is displayed in red immediately beneath the last line
    of the sequence.
    Pressing Ctrl+G displays the Getouts - For Current Position window,
    from which a resolve can be selected and added to the sequence.
  
 
- 
Edit Buffer
- 
 The Edit Buffer is where you type in or edit the calls
to be executed. The Edit Buffer is where you type in or edit the calls
to be executed.
  - 
    Calls may be entered in their entirety (e.g., "Relay the Deucey") or as one-word abbreviations
    (e.g., "RTD") in which case the program automatically expands the abbreviation
    into its corresponding prose name (e.g., "RTD" is expanded into
    "Relay The Deucey").  If there are multiple expansions for a given abbreviation
    (e.g., "ST" could be "Star Thru", "Swing Thru", "Slide Thru", etc.) the program prompts you
    to select the desired expansion from a list.  If the entered text is not a recognized call
    and the program is unable to find an expansion for the abbreviation, a dialog box appears
    into which you can add a new expansion, if desired.
    
    A quick note about abbreviations: an abbreviation is a single word (no spaces);
    when CSDS encounters an abbreviation, it is expanded. This is controlled by the
    Abbreviation Database. Each call has 2 default abbreviations:
    
      - 
      The concatenation of the first letter of each word;
      
- 
      The concatenation of the first two letters of each word (i.e., Follow
      Your Neighbor is FOYONE)
   
- 
    Multiple lines of text (i.e., calls) may be entered into the Edit Buffer.
    To create a new line at the current cursor position, press the
    Insert new line button (or Alt-W).
      
- 
    Pressing the Enter-key tells the program to execute the calls within the
    Edit Buffer.  If the calls are successfully executed, the dancers are
    updated to their ending position and the processed calls are moved from the
    Edit Buffer to the Processed Text Box.
      
- 
    The  button
    (or Ctrl+I) inserts a
    picture of the formation at the current cursor location.  The inserted formation
    must be on a separate line within the sequence text.
    Do not insert a formation in the middle of a call. button
    (or Ctrl+I) inserts a
    picture of the formation at the current cursor location.  The inserted formation
    must be on a separate line within the sequence text.
    Do not insert a formation in the middle of a call.  
- 
    The  button
    (or Ctrl+R) clears the contents
    of the Edit Buffer. The text is erased and cannot be retrieved. button
    (or Ctrl+R) clears the contents
    of the Edit Buffer. The text is erased and cannot be retrieved.  
- 
    The  button
    (or Ctrl+W) inserts a new
    line into the Edit Buffer at the current cursor position.  You may insert as many
    lines in the buffer for editing purposes as you'd like; however, the program removes
    all blank lines when the sequence is saved. button
    (or Ctrl+W) inserts a new
    line into the Edit Buffer at the current cursor position.  You may insert as many
    lines in the buffer for editing purposes as you'd like; however, the program removes
    all blank lines when the sequence is saved.  
- 
    To split up a line of text into more than one line (known as a
    logical line), make sure that the first part of the logical line
    starts in column #1, and that all remaining lines start in column #2 or beyond.
    For example, perhaps the call "Centers Fan The Top & Hinge, Other Boy Run," is
    a bit cumbersome to fit on one line. Split the call into two lines like this:
    
    
      
        - Centers Fan The Top & Hinge,
- Other Boy Run,
 
   
- 
    The  button
    (or Ctrl+F) displays the
    Find calls (via Prefix + Call) window which searches for calls
    that the program can do from the current position.  A prefix, such as "As Couples",
    may be entered, and the program will search for calls of the form
    "As Couples call". button
    (or Ctrl+F) displays the
    Find calls (via Prefix + Call) window which searches for calls
    that the program can do from the current position.  A prefix, such as "As Couples",
    may be entered, and the program will search for calls of the form
    "As Couples call".  
- 
    The  button
    (or Ctrl+D) displays the
    Find calls (via Snapshot Database) window which searches for calls
    that the program can do from the current position using the Snapshot Database. button
    (or Ctrl+D) displays the
    Find calls (via Snapshot Database) window which searches for calls
    that the program can do from the current position using the Snapshot Database.  
- 
    The  button
    (or Ctrl+G) displays the Getouts - For Current Position window,
    which allows a resolve to be selected from the GETOUT database. button
    (or Ctrl+G) displays the Getouts - For Current Position window,
    which allows a resolve to be selected from the GETOUT database.  
- 
    The Navigation Buttons,  ,
    move the dancers forward or backward either one call at a time or all calls at once. ,
    move the dancers forward or backward either one call at a time or all calls at once.
      - 
       (or Ctrl+F11)
         moves the dancers to the beginning of the sequence, undoing all calls
    from the Processed Text Box (effectively clearing the Processed Text Box).  The 'un-done' text
    is inserted before the first line of the Edit Buffer. (or Ctrl+F11)
         moves the dancers to the beginning of the sequence, undoing all calls
    from the Processed Text Box (effectively clearing the Processed Text Box).  The 'un-done' text
    is inserted before the first line of the Edit Buffer.
- 
       (or F11 or Ctrl+U)
        moves the dancers backward one call, undoing the last call (one logical line of text) from the
    Processed Text Box, and moves the text to the beginning
    of the Edit Buffer. (or F11 or Ctrl+U)
        moves the dancers backward one call, undoing the last call (one logical line of text) from the
    Processed Text Box, and moves the text to the beginning
    of the Edit Buffer.
- 
       (or F12)
        moves the dancers forward one call, executes the next call (one logical line of text) in the
    Edit Buffer, and moves the text to the end
    of the Processed Text Box. (or F12)
        moves the dancers forward one call, executes the next call (one logical line of text) in the
    Edit Buffer, and moves the text to the end
    of the Processed Text Box.
- 
       (or Ctrl+F12)
        moves the dancers to the end of the sequence, executing all calls in the Edit Buffer (effectively clearing
    the Edit Buffer). The executed text is inserted after the last
    line of the Processed Text Box. (or Ctrl+F12)
        moves the dancers to the end of the sequence, executing all calls in the Edit Buffer (effectively clearing
    the Edit Buffer). The executed text is inserted after the last
    line of the Processed Text Box.
   
- 
    There are a few special-purpose characters that may be inserted into the text of the sequence:
    
    - 
    | '%' toggles highlighting  (underline + italic).
    
     '$' toggles extra highlighting  (underline + italic + bold).
    
     '(' and ')' enclose comments.
    
     '[' and ']' modify call interpretation.   For example, '{' and '}' modify call display and interpretation. The format is
      [As Couples Swing Thru] & Roll  ===>  does an individual Roll.
      [As Couples Swing Thru & Roll]  ===>  does an As Couples Roll.
 (note: CSDS defaults to applying the concept
 to the entire text string that follows, hence
 As Couples Swing Thru & Roll  ===>  does an As Couples Roll).
      
      [Run Wild 3/4] Reset  ===>  does a 3/4 Run Wild then a Reset.
 Run Wild [3/4 Reset]  ===>  does a Run Wild then a 3/4 Reset.
 (note: CSDS prefers the fraction to precede the call.)
 
      An indented line is considered part of the previous line.
      {display;execute;level}
      a) display is displayed when the sequence is viewed or printed.
      b) execute is what the program executes.
      c) level is the level assigned to the call.
       |  
 For example, the text corresponding to the Processed Text Box shown at
    the beginning of this help file (above) is:- 
    
Heads Fan The Top,
Extend Twice,
Centers Fan The Top & %Hinge%,
   $Other Boy Run$,
(#formation#)
All Coordinate (mixed sex),
Ferris Wheel,
Centers Veer Left & That Girl Run,
Extend,
Girls Trade,
Spin The Top,
    
 
 
 
- 
Dancer Area
- 
  
The Dancer Area displays two sets of dancers:
 
  - 
    The Before dancers show the setup prior to executing
    the call.
      
- 
    The After dancers show the setup after executing the
    call.
      
- 
    The executed call is shown in a box near the line connecting the
    two sets of dancers.
      
- 
    The background grid (dashed lines) and the axes (solid lines) can be hidden or shown via the menu option
    Display | Grid.
      
- 
    The dancer sizes and colors may be modified via the menu option
    Display | Dancer settings....
      
- 
    The upper right portion of the dancer area shows the FASR the current position, if applicable.
  
 
- 
Header Bar
- 
 The Header Bar consists of a toolbar, three dropdown lists and two check boxes. The Header Bar consists of a toolbar, three dropdown lists and two check boxes.
  - 
    List associates a list of calls with the sequence (or set
    of sequences).  A list keeps track of how many times each call or concept
    is used within a set of sequences.  The dropdown list allows you to choose
    a different list to associate with the sequence (or set of sequences).
    
      - 
        The  button (or Ctrl+L) allows
        the list to be viewed. This can also be accomplished via the
        View | List menu item.  Viewing a list allows you
        to see which calls you haven't yet used for the dance that
        you are writing, aiding you to write a dance that exercises
        most calls on the list. button (or Ctrl+L) allows
        the list to be viewed. This can also be accomplished via the
        View | List menu item.  Viewing a list allows you
        to see which calls you haven't yet used for the dance that
        you are writing, aiding you to write a dance that exercises
        most calls on the list.  
- 
        The  button allows
        a new list to be created, and associated with the sequence (or set of
        sequences). button allows
        a new list to be created, and associated with the sequence (or set of
        sequences).  
- 
      The  button
      clears the Use Count for all the calls on the current list. Clearing the
      Use Count resets the list, making the count for each call become zero. button
      clears the Use Count for all the calls on the current list. Clearing the
      Use Count resets the list, making the count for each call become zero.
   
- 
    Difficulty assigns a difficulty level (Easy, Medium Easy, Medium,
    Medium Hard, or Hard) to the sequence.  The default is 'Medium'.
      
- 
    Rating assigns a rating to the sequence.  Available Ratings are
    '-'=not rated, 1=Awful, 2=Bad, 3=Average, 4=Good, 5=Excellent. The default
    is '-' (not rated).
      
- 
    Star, when checked, marks the sequence as being an especially
    good sequence.
      
- 
    In print list, when checked, means that the sequence is
    in the list of sequences waiting to be printed.
  
 
- 
List Panel
- 
 The List Panel consists of a toolbar, four check boxes, a header, and
a list of calls. The selected list is shown in the Header Bar (upper left).
The List Panel is updated after each call is processed. The size of the
List Panel may be modified by dragging the upper left hand corner with
the mouse. The List Panel is anchored to the lower right portion of the
parent window. The List Panel consists of a toolbar, four check boxes, a header, and
a list of calls. The selected list is shown in the Header Bar (upper left).
The List Panel is updated after each call is processed. The size of the
List Panel may be modified by dragging the upper left hand corner with
the mouse. The List Panel is anchored to the lower right portion of the
parent window.
  - 
    The  button
    clears the Use Count for all the calls on the current list. Clearing the
    Use Count resets the list, making the count for each call become zero. button
    clears the Use Count for all the calls on the current list. Clearing the
    Use Count resets the list, making the count for each call become zero.  
- 
    The  button edits
    the current list. button edits
    the current list.  
- 
    The  button
    edits the current list by call or level only. button
    edits the current list by call or level only.  
- 
    The  button modifies
    the colors used in the checkboxes and call list. button modifies
    the colors used in the checkboxes and call list.  
- 
    The  button
    hides the List Panel. When hidden, the List Panel is replaced with a single
    button button
    hides the List Panel. When hidden, the List Panel is replaced with a single
    button , which
    restores the List Panel when clicked. , which
    restores the List Panel when clicked.  
- 
    The checkboxes  filter the calls displayed from the current list. filter the calls displayed from the current list.
      - 
      Primary+InRange, when checked, shows all calls on the list that are
      marked as the primary level (e.g., Plus) and that have a use count within
      the desired range (e.g., 0 to 0).
      
- 
      Primary+OutOfRange, when checked, shows all calls on the list that are
      marked as the primary level (e.g., Plus) and that have a use count outside of
      the desired range. The number of times each primary call has been used will show
      to the right of the call (in the 'Use' Column).
      
- 
      Secondary+InRange, when checked, shows all non-primary calls on
      the list that have a use count within  the desired range (e.g., 0 to 0).
      
- 
      Secondary+OutOfRange, when checked, shows all non-primary calls
      on the list that have a use count outside of the desired range.
      
   
- 
    The header  shows the Use Count range and the number of items in the list.  The
    Use Count range may be modified by editing the list. shows the Use Count range and the number of items in the list.  The
    Use Count range may be modified by editing the list.  
- 
    The call list
    shows the calls on the current list as filtered by the checkboxes, the level
    of each call, and the Use Count associated with the call.  The list may be
    sorted by Text, Level, or Use Count by clicking on the column
    header of choice. A little triangle is displayed in the column header
    indicating the sorted column. Clicking the header of a sorted column
    toggles the sort order between ascending and descending.
        
 
- 
Menus
- 
File Menu
  
  - 
    New sequence [Graphics] selects a new sequence database so you can
    write another sequence.
      
- 
    Edit sequence [Graphics] selects an existing sequence (database and index) to
    be edited.
      
- 
    Sequence history list (Ctrl+P) selects a sequence to be edited from
    the list of previously edited sequences.
      
- 
    New sequence (same database) (Ctrl+N) creates the next sequential
    sequence within the current sequence database.
      
- 
    Previous sequence (same database) edits the previous sequential
    sequence within the current sequence database.
      
- 
    Next sequence (same database) edits the next sequential
    sequence within the current sequence database.
      
- 
    Print... allows the sequence to be printed to a printer or to a file.
      
- 
    Add sequence to a dance adds the current sequence
    to a dance.  A dialog box allows you to select the dance,
    the frame, and the position within the frame.
      
- 
    Upload to ceder.net Choreography Database uploads the sequence to
    the Choreography Database at ceder.net (/choreodb),
    so you can share the sequence with other callers (requires an internet connection).
      
- 
    Properties shows the properties for the current sequence.
      
- 
    Parse sequence parses the sequence (for debugging purposes),
    showing the internal handles (calls, concepts, identifiers, numerics, etc.)
    used by CSDS.
      
- 
    Definitions of Calls and Concepts allows access to the Ceder Chest
    Square Dance Definitions.
      
- 
    Close (Ctrl+Q) closes the Edit Sequence window, usually returning
    you to the CSDS main menu.
  
 
- 
Edit Menu
  
  - 
    Sequence text invokes a Notepad-like text editor to edit the entire sequence
    text (Processed Text and Edit Buffer). The Edit Buffer is appended to the
    processed text prior to invoking the text editor.
      
- 
    Problems displays a dialog box that allows the sequence to be marked as having problems,
    so it can be corrected later. A sequence may be marked as having any or all of the following problems:
    
      - Too long
- Too short
- Does not resolve
- Illegal choreography
- Awkward flow
- Overflow
- Not liked by dancers
- Heads/Sides used after first line
- Same hand used twice in a row
- and 3 user-defined problems.
   
- 
    Copy Text to Clipboard copies the entire sequence text (Processed Text
    and Edit Buffer) to clipboard.
      
- 
    New getout allows new getouts to be added to the GETOUT database.
      
- 
    New getin allows new getins to be added to the GETIN database.
      
- 
    Abbreviation database edits the abbreviation database to add or delete
    abbreviations and expansions.
      
- 
    List database edits the list database to add a new call or concept.
      
- 
    Parse database edits the parse database, which allows for different ways to spell a call
    or concept.
  
 Display Menu  
  - 
    Colors and relative sizes... changes the colors and sizes of the text
    displayed for a sequence.  For example, comments (text
    within matching parentheses) could be set to purple and 80% of the size for normal text.
      
- 
    Font... changes the font name and font size used for the Edit Buffer,
    Processed Text, and the last call executed.
      
- 
    Dancer settings... changes the sizes and colors of the Before and After dancers.
      
- 
    Inserted formation size... changes the size of formation pictures inserted into
    the sequence.
      
- 
    Before picture enables whether or not the Before formation is displayed.
      
- 
    Axes enables whether or not X and Y axes are displayed.
      
- 
    Grid enables whether or not dashed grid lines are displayed.
      
- 
    List Panel enables whether or not the List Panel (lower right) is displayed.
      
- 
    Getout count (after N lines) tells the program when to automatically display
    the number of getouts available from the current ending position.
    A number from 0 to 99 can be selected, which indicates the number of processed text lines
    required before the program automatically searches for getouts.
  
 Find Menu  
  - 
    Calls (via Prefix + Call) searches for
    calls that can be done from the current position.  You can specify
    a level range, whether or not to use fuzzy matching, and, most
    importantly, a prefix string.  The prefix string is text
    inserted before the call: for example, the prefix string could be
    "Centers", in which case the program would search for calls that the
    Centers could do.
       
- 
    Calls (via Snapshot Database) searches the snapshot database for
    calls that can be done from the current position.  You can specify
    a level range and whether or not to use fuzzy matching.
      
- 
    Getout displays a list of getouts from the GETOUT database for
    the current position.  If a getout is selected from the list, it is
    added to the end of the Processed Text Box, and the dancers will be updated
    accordingly.
      
- 
    Getin displays a list of getins from the GETIN database for
    the current position.  If a getin is selected from the list, the
    contents of the Processed Text Box is replaced with the selected
    getin.
      
- 
    Getouts at or below max level only, when checked, the program only searches for
    getouts at or below the maximum level specified for the current
    sequence database.  It is generally a good idea to have this menu item checked, otherwise, when
    you are writing a Plus-level sequence, the program may display a lot of C4-level getouts.
  
 Flags Menu The Flags menu sets or clears flags used by the program
during call execution.  The flags in this section should only be set when you want to force
the program to behave in a specific manner for a short time so a new snapshot record
can be entered. The Flags menu sets or clears flags used by the program
during call execution.  The flags in this section should only be set when you want to force
the program to behave in a specific manner for a short time so a new snapshot record
can be entered.
  - 
    Set all flags sets the four 'No' flags described below.
      
- 
    Clear all flags clears the four 'No' flags described below.
      
- 
    No expansions, when checked, the program does not expand text strings
    prior to executing the call.  For example, the program expands "Catch anything 3"
    into "Square Thru 3 To A Wave; anything; Step & Fold".
      
- 
    No extrapolations, when checked, the program does not call internal subroutines
    to process concepts such as As Couples, Phantom, Blocks, Concentric, etc.
      
- 
    No split ups, when checked, the program does not try to divide the overall
    formation into smaller formations in order to execute the call.  When checked,
    the program can not execute 4-dancer calls from 8-dancer formations (e.g., it can
    not do Right & Left Thru from Facing Lines).
      
- 
    No fuzzy matches, when checked, the program does not execute calls from
    positions that do not exactly match the starting formation as specified in the snapshot database.
      
- 
    Debug mode, when checked, outputs debugging information while a call is being executed.
  
 View Menu  
  - 
    List displays the list associated with the current sequence database.
    The list is primarily used to keep track of which calls have not yet been
    used within a set of sequences.
    
 
- 
    Last GETOUT record used displays the last record used
    from the GETOUT database.
    
 
- 
    Last snapshot record used displays the last snapshot record used by the program
    during call execution.  If the program
    incorrectly executes a call, viewing the snapshot record often gives
    you a clue as to what went wrong. (A snapshot record is a before-and-after
    picture used by the program to execute calls.)
    
 
- 
    Formation bitmap displays a bitmap of the current After formation.
    You can view, modify, and save the bitmap picture as desired.
    
 
- 
    Dancer data displays coordinates and dancer attributes for the current After
    formation.  It is used for debugging purposes.
    
 
- 
    Dates used displays a listing of dates where the sequence was used.
    
 
- 
    Level displays a list of calls for a selected level.
  
 Help Menu  
  - 
    The Help menu item displays this help page.
  
 
- 
Toolbar
- 
 The Toolbar allows quick access to selected commands. The Toolbar allows quick access to selected commands.
  - 
     invokes the Select Sequence Database window to
    create a new sequence in Graphics mode
    - same as File | New sequence [Graphics]. invokes the Select Sequence Database window to
    create a new sequence in Graphics mode
    - same as File | New sequence [Graphics].
- 
     invokes the Select Sequence Database And Index window to
    select another sequence to edit in Graphics mode
    - same as File | Edit sequence [Graphics]. invokes the Select Sequence Database And Index window to
    select another sequence to edit in Graphics mode
    - same as File | Edit sequence [Graphics].
- 
     (or Ctrl+P)
    selects a sequence for editing from the Sequence history list
    - same as File | Sequence history list. (or Ctrl+P)
    selects a sequence for editing from the Sequence history list
    - same as File | Sequence history list.
- 
     (or Ctrl+N)
    creates a new sequence in the current database
    - same as File | New sequence (same database). (or Ctrl+N)
    creates a new sequence in the current database
    - same as File | New sequence (same database).
- 
     selects the previous sequential sequence in the current database
    - same as File | Previous sequence (same database). selects the previous sequential sequence in the current database
    - same as File | Previous sequence (same database).
- 
     selects the next sequential sequence in the current database
    - same as File | Next sequence (same database). selects the next sequential sequence in the current database
    - same as File | Next sequence (same database).
- 
     (or Ctrl+E)
    edits the sequence text
    - same as Edit | Sequence text. (or Ctrl+E)
    edits the sequence text
    - same as Edit | Sequence text.
- 
     shows the properties of the current sequence
    - same as File | Properties. shows the properties of the current sequence
    - same as File | Properties.
- 
     displays the
    sequence Problems dialog box which allows the sequence to be marked as needing further edits.
    - same as Edit | Problems. displays the
    sequence Problems dialog box which allows the sequence to be marked as needing further edits.
    - same as Edit | Problems.
- 
     prints the current sequence to a printer or to a file
    - same as File | Print.... prints the current sequence to a printer or to a file
    - same as File | Print....
- 
     adds the sequence to a dance
    - same as Edit | Add sequence to a dance. adds the sequence to a dance
    - same as Edit | Add sequence to a dance.
- 
     uploads the sequence the the Choreography Database
    at ceder.net (requires an internet connection)
    - same as File | Upload to ceder.net Choreography Database. uploads the sequence the the Choreography Database
    at ceder.net (requires an internet connection)
    - same as File | Upload to ceder.net Choreography Database.
- 
     changes the colors and relative sizes of sequence text
    - same as Display | Colors and relative sizes.... changes the colors and relative sizes of sequence text
    - same as Display | Colors and relative sizes....
- 
     changes the font used for sequence text
    - same as Display | Font.... changes the font used for sequence text
    - same as Display | Font....
- 
     changes the sizes and colors of dancer icons
    - same as Display | Dancer settings.... changes the sizes and colors of dancer icons
    - same as Display | Dancer settings....
- 
     shows the grid
    - same as Display | Grid (checked). shows the grid
    - same as Display | Grid (checked).
- 
     hides the grid
    - same as Display | Grid (not checked). hides the grid
    - same as Display | Grid (not checked).
- 
     (or Ctrl+B)
    displays a formation bitmap of the After formation
    - same as View | Formation bitmap. (or Ctrl+B)
    displays a formation bitmap of the After formation
    - same as View | Formation bitmap.
- 
     displays the Ceder Chest definitions of calls and concepts
    - same as File | Definitions of Calls and Concepts. displays the Ceder Chest definitions of calls and concepts
    - same as File | Definitions of Calls and Concepts.
- 
     displays the help file you're currently reading
    - same as Help. displays the help file you're currently reading
    - same as Help.