EASE(DOCS)            Optical Printer Control Systems             EASE(DOCS)

NAME
    ease - create ease in / out positions

SYNOPSIS
    ease file chans sfrm efrm spos epos eifrm eofrm [etype]

        file  - the name of the position file
        chans - channels to effect. A channel can be any letter a thru l.
                Can be ranges like 'a-d', or comma delimited lists like
                'a,d,e' or combinations like 'a,d-j'.
        sfrm  - starting frame of move
        efrm  - ending frame of move
        spos  - starting position
        epos  - ending position
        eifrm - ease in # frames
        eofrm - ease out # frames
        etype - 1.0=linear ease, .25=hard ease(.75=default)

EXAMPLE
    ease foo.pos f    1 50 1000 2000 10 10
         ------- ---- ---- --------- -----
         File    Chan Frms Positions Ease

DESCRIPTION
    Creates moves (columns of numbers) in ascii OPCS position files.
    Given a range of frames and positions, EASE(OPCS) will create
    smooth moves between two points.

    The move created between the positions has 3 parts:

                                        .....o
                                    ..''     |
                                  .'         |
                                 '           |
                                '|           |
                               ' |           |
                              '  |           |
                             '   |           |
                            '    |           |
                           '     |           |
                          '      |           |
                         '       |           |
                       .'        |           |
                   ..'' |        |           |
            o...'''     |        |           |
            |<--------->|<------>|<--------->|
               EaseIn     Linear    EaseOut
               Frames     Frames    Frames

    Exponential curves are used to achieve the ease-in and ease-outs.
    The linear section is a straight linear interpolation is created
    between the two ease curves.

    If the easein/easeout values are *zero*, then no ease curves are
    created, and an accurate straight linear move is made between the
    start and end positions. e.g.:
                                                       o
                                                   ,,''|
                                               ,,''    |
                                           ,,''        |
                                       ,,''            |
                                   ,,''                |
                               ,,''                    |
                           ,,''                        |
                       ,,''                            |
                   ,,''                                |
               ,,''                                    |
            o''                                        |
            |<---------------------------------------->|
                              Linear
 (EaseIn=0)                   Frames                    (EaseOut=0)

POSITION FILES
    Position files are ASCII files that contain 12 positions per line.
    Each line represents a single frame of positions. Each vertical
    column of numbers represent a single channel. The left most column
    is the 'a' channel, the right most column is the 'l' channel.

    A position file:

         > May contain comment lines that start with '#' or ';'

         > Will be limited to 16 channels in width

         > Can only contain values that are long integers

         > Each column of numbers must be separated by white space

         > Blank lines are ignored

         > Can be any length. Position files are never loaded entirely
           into memory, so they can be extremely long files.

NOTES
    Some older versions of EASE only support 12 channels instead of 16.

DEBUG
    To enable debugging, 'set EASEDEBUG=1' before running ease.

AUTHOR
    Greg Ercolano, Venice California 1998
© Copyright 1997 Greg Ercolano. All rights reserved.