@database ColourCycle.guide

@wordwrap

@node Main "ColourCycle Help"
@{b}ColourCycle:@{ub}

    @{" About             " link About }
    @{" Author            " link Author }
    @{" Copyright         " link Copyright }
    @{" Registration      " link Registration }
    @{" Installation      " link Installation }
    @{" Usage             " link Usage }
    @{" Features          " link Features }
    @{" Things to do      " link ToDo }
    @{" Known Bugs        " link KnownBugs }
    @{" Warnings          " link Warnings }
    @{" Theory            " link Theory }
    @{" General Operation " link Operation }
    @{" Main Window       " link Window }
    @{" Advanced Window   " link AdvWindow }
    @{" Notes and Credits " link Credits }
@endnode

@node About "About ColourCycle"
@{b}About ColourCycle:@{ub}

    Take the following scenario:

    You have a program like a fractal generator that makes really nice fractals but it doesn't do colour cycling, or its not very flexible.

    If this sounds familiar, then @{b}ColourCycle@{ub} may be the program for you.

    Why is it called @{b}ColourCycle@{ub} and not ColorCycle?
    Because I am Australian, and thats the way we spell Colour. We base our spelling and pronunciation of words on English English, not American English, which means that we have words like "favour", "flavour", "neighbour", "centre" and "organisation" instead of "favor", flavor", "neighbor", "center" and "organization".
@endnode

@node Author "About the author of ColourCycle"
@{b}Author information:@{ub}

    @{b}ColourCycle@{ub} was written over a period of a couple of months by myself, Stuart MacKinnon.
    I was an employee of Commodore Business Machines Pty. Ltd. (Commodore Australia), until it liquidated in early 1994. I was then an employee of Commodore Business Machines (Asia Pacific) Limited until April 29th 1994, when the parent company filed for liquidation.
    Since then I have been doing a lot of programming at home. @{b}ColourCycle@{ub} is part of the results of this programming. Other projects I am currently working on are: PTI (ProTracker Intuition) and DiskSound (a direct to/from disk sampler/playback/editor).
    If anyone has an idea for a program and they don't know how to do it themselves (as they may not be a programmer), I would be glad to help.
    I can be contacted via Internet (E-Mail):

        stuartm@theflat.adsp.sub.org
        stuartm%theflat.adsp.sub.org@ganesha.com

    I am a member of the Australasian Amiga Developers Association - also known as the @{" AADA " link AADA.pic/main }. The @{" AADA " link AADA.pic/main } is a professional organisation of Amiga developers who produce quality Amiga products and are able to give good, accurate and helpful advice regarding the development of products for the Amiga. @{" AADA " link AADA.pic/main } members have access to an extensive library of development materials including but not limited to developer notes and schematics of current and previous machines. Much of the developer material previously held by Commodore Australia is now part of this library. This organisation is not limited to Australia. It also encompasses New Zealand. There are many other benefits for members. For more information about the @{" AADA " link AADA.pic/main } such as how to become a member, please contact the national secretary:

        AADA
        PO Box 4713
        GPO Sydney 2001

    This is only valid for Australasian residents.
    The @{" AADA " link AADA.pic/main } takes no responsibility whatsoever regarding any aspect of @{b}ColourCycle@{ub}.
@endnode

@node Copyright "Copyright information for ColourCycle"
@{b}Copyright notice:@{ub}

    @{b}ColourCycle@{ub}, its supplied utilities, documentation, and support material is © Copyright 1994, 1995 by Stuart MacKinnon. All rights reserved.
    This package which includes all executables, files and documentation are being released as Shareware. This product is in no way reduced, hindered or "broken". It has all available features. There are no annoying shareware messages reminding you to pay a shareware donation. I am relying on the honesty of users to pay the appropriate shareware fee.
    The recommended shareware donation should be equivalent to about US$20, but I would appreciate any shareware donation however big or small. It does not have to be exact. For example if the Australian dollar is equal to 69.64 US cents then US$20 is equivalent to A$28.72. I would be happy to receive A$25, just to make it easier. The Australian dollor fluctuates quite a lot.
    By paying the recommended shareware donation, you are entitled to an infinite number of free upgrades/bug fixes direct from the author. There are planned improvements, see @{" Things to do " link ToDo } The reason for unlimited support is that since the product is being released to the public domain in full working order, there must be some incentive to pay a shareware fee. Paying the shareware donation also places you on my list of available beta testers. There are a few products I am working on, and I will need some beta testers/catalog translators.
    This package may be redistributed as long as it is distributed in original form with all original documentation and support files/utilities. It may not be sold for commercial purposes. It may be included in public domain compilations. I give express permission to Fred Fish to include it in his library. I give express permission to Fred Fish and only Fred Fish to allow the addition of files to this package. Such files include and are limited to the "Readme.fnf" and "Product-Info" files.
    Refer to @{" Notes and Credits " link Credits } for possible further obligations.

    There are no warranties expressed or implied as to the performance of this product or the suitability of this product for a particular purpose. No responsibility is taken for any damage, lost revenue or time caused by the use or purchase of this product.
@endnode

@node Registration "Registering ColourCycle"
@{b}Registration information:@{ub}

    If you haven't already, please read the @{" Copyright " link Copyright } information. It tells gives you information regarding the shareware nature of @{b}ColourCycle@{ub}, and what registered users are entitled to.
    To register, please print this page, fill it in appropriately and send it to me with an appropriate payment. If you do not have an internet account or email address for me to send you upgrades also include a self addresses stamped envelope (or at least extra payment for the stamps). You do not need to send a blank disk. The shareware payment will cover that.
    Send to:

        ColourCycle Registration
        Unit 6
        5 Abbey Street
        Randwick NSW
        Australia 2031

    ColourCycle Registration.

    Name:
    First:                               Last:
           -----------------------------       ------------------------------
    Postal Address:
    Street:
            -----------------------------------------------------------------
    Suburb/City:                                  ZIP/PostCode:
                 --------------------------------               -------------
    Country:                                      Phone:
             ------------------------------------        --------------------
    EMail Address(s):
                      -------------------------------------------------------

                      -------------------------------------------------------

                      -------------------------------------------------------
    Comments:
              ---------------------------------------------------------------

              ---------------------------------------------------------------

              ---------------------------------------------------------------

              ---------------------------------------------------------------

              ---------------------------------------------------------------


    Signed:                                    Date:
            ----------------------------------       ------------------------
@endnode

@node Installation "How to Install ColourCycle"
@{b}ColourCycle Installation:@{ub}

    Installation of @{b}ColourCycle@{ub} is fairly easy. You just double click on the Install icon. It uses the Commodore Installer utility. The Install icon looks for Installer in the root directory ie. ':Installer'. If you do not have Installer there you can change the Default Tool of the Install icon to point to where it is. Consult either the @{b}Using the System Software@{ub}, @{b}Workbench 3.0@{ub} or @{b}Workbench 3.1@{ub} manual that was supplied with your machine or operating system upgrade for more information on how to do this. If you do not have Commodore's Installer on your machine somewhere you will find it on the Install disk of the standard Operating System distribution disks.
    If you would rather install it manually, all you have to do is make a directory for @{b}ColourCycle@{ub} which may be called anything you like. Just copy the main executable, and the AmigaGuide file into that directory. All the project files can be placed in that directory as well, or you may put it in another directory and set the @{" PROJECTS " link TType_PROJECTS } tooltype to point to that directory. You do not have to set the tooltype, but if you do the file requester will use that directory straight away. You should then make a directory 'ENVARC:ColourCycle' and in it you should place the default project icon. This is not absolutely necessary as @{b}ColourCycle@{ub} will use the system default project icon if it can't find it. The first time you use the @{" Save Settings " link Menu_Settings_SaveSettings } menu option, this directory along with 'ENV:ColourCycle' will be created for the settings to be stored in. The default project icon will @{b}not@{ub} be copied to those directories in this case. If you decide to copy the default icon to the 'ENVARC:ColourCycle' drawer, you will need to change the 'Default Tool' section of the icon to match where @{b}ColourCycle@{ub} lives. Using the installation script for the Commodore Installer will do this for you. For further information on how to alter the 'Default Tool' consult either the @{b}Using the System Software@{ub}, @{b}Workbench 3.0@{ub} or @{b}Workbench 3.1@{ub} manual that was supplied with your machine or operating system upgrade.
    Installation is then complete. There are no libraries to be copied.
@endnode

@node Usage "How to start ColourCycle"
@{b}ColourCycle Usage:@{ub}

    To start @{b}ColourCycle@{ub} from the Shell, just type:

        ColourCycle

    From the Shell the command template is:

        TOOLPRI/N, CX_ACTIVATEKEY, CX_TOFRONTKEY, CX_PRIORITY, CREATEICONS/S, PUBSCREEN, SETTINGS, PROJECTS, INITIAL, ADVANCED/S, CYCLEPRI/N

    These command line options relate directly to icon tooltypes. For more information on the command line options, see the corresponding tooltype description.

    To start @{b}ColourCycle@{ub} from Workbench, just double click on its icon, or select its icon and choose @{b}Open@{ub} from the Workbench @{b}Icons@{ub} menu.
    You can also choose the @{b}ColourCycle@{ub} icon, then double click on an appropriate project icon.
    @{b}ColourCycle@{ub} has many configurable tooltypes. To change these, select @{b}ColourCycle@{ub}'s icon and choose @{b}Information@{ub} from the Workbench @{b}Icons@{ub} menu. For more information on how to edit the tooltypes consult either the @{b}Using the System Software@{ub}, @{b}Workbench 3.0@{ub} or @{b}Workbench 3.1@{ub} manual that was supplied with your machine or operating system upgrade.

    The available tooltypes are:

    @{" DONOTWAIT      " link TType_DONOTWAIT }
    @{" TOOLPRI        " link TType_TOOLPRI }
    @{" STARTPRI       " link TType_STARTPRI }

    @{" CX_ACTIVATEKEY " link TType_CX_ACTIVATEKEY }
    @{" CX_TOFRONTKEY  " link TType_CX_TOFRONTKEY }
    @{" CX_PRIORITY    " link TType_CX_PRIORITY }

    @{" CREATEICONS    " link TType_CREATEICONS }
    @{" PUBSCREEN      " link TType_PUBSCREEN }
    @{" SETTINGS       " link TType_SETTINGS }
    @{" PROJECTS       " link TType_PROJECTS }
    @{" INITIAL        " link TType_INITIAL }
    @{" ADVANCED       " link TType_ADVANCED }
    @{" CYCLEPRI       " link TType_CYCLEPRI }
@endnode

@node TType_DONOTWAIT "DONOTWAIT ToolType"
@{b}DONOTWAIT ToolType:@{ub}

    Usage: DONOTWAIT

    This tooltype is used by Workbench for tools placed in the WBStartup drawer. It tells workbench not to wait for this tool to have completely loaded before starting the next tool in the WBStartup drawer. You probably will not want @{b}ColourCycle@{ub} in the WBStartup drawer anyway.
@endnode

@node TType_TOOLPRI "TOOLPRI ToolType"
@{b}TOOLPRI ToolType:@{ub}

    Usage: TOOLPRI=<priority>     (<priority> is a number in the range -127 to 128)

    This tooltype is used by Workbench to set the tool or program's priority. If this tooltype is not present then the task is started at a priority of 0, which is normal.
@endnode

@node TType_STARTPRI "STARTPRI ToolType"
@{b}STARTPRI ToolType:@{ub}

    Usage: STARTPRI=<priority>    (<priority> is a number in the range -127 to 128)

    This tooltype is used by Workbench to work out the order in which programs found in the WBStartup drawer should be started. If this tooltype is not present, then it is assumed to be at a startup priority of 0, which is normal.
@endnode

@node TType_CX_ACTIVATEKEY "CX_ACTIVATEKEY ToolType"
@{b}CX_ACTIVATEKEY ToolType:@{ub}

    Usage: CX_ACTIVATEKEY=<key>   (<key> is an alphanumeric string)

    This specifies the key combination required for @{b}ColourCycle@{ub} to make its window active. It does not bring its screen to front. The reason for this is that if you are using ViewTek to view an animation and you stop it on a specific frame, and you would like to cycle that frame, when ViewTek's screen gets pushed to back, and then brought to the front again it is completely blank. If you wish to bring the screen that @{b}ColourCycle@{ub} is on to the front, use the @{" CX_TOFRONTKEY " link TType_CX_TOFRONTKEY } tooltype.
    For more information regarding the possible values for this tooltype, refer to either the @{b}Using the System Software@{ub}, @{b}Workbench 3.0@{ub} or @{b}Workbench 3.1@{ub} manual that was supplied with your machine or operating system upgrade.
@endnode

@node TType_CX_TOFRONTKEY "CX_TOFRONTKEY ToolType"
@{b}CX_TOFRONTKEY ToolType:@{ub}

    Usage: CX_TOFRONTKEY=<key>    (<key> is an alphanumeric string)

    This specifies the key combination required for @{b}ColourCycle@{ub} to make its window active @{b}and@{ub} bring the screen it is on to the front. If you do not wish to bring the screen that @{b}ColourCycle@{ub} is on to the front, use the @{" CX_ACTIVATEKEY " link TType_CX_ACTIVATEKEY } tooltype.
    For more information regarding the possible values for this tooltype, refer to either the @{b}Using the System Software@{ub}, @{b}Workbench 3.0@{ub} or @{b}Workbench 3.1@{ub} manual that was supplied with your machine or operating system upgrade.
@endnode

@node TType_CX_PRIORITY "CX_PRIORITY ToolType"
@{b}CX_PRIORITY ToolType:@{ub}

    Usage: CX_PRIORITY=<priority> (<priority> is a number in the range -127 to 128)

    This tooltype specifies at what stage in the input stream @{b}ColourCycle@{ub} will receive the @{" CX_ACTIVATEKEY " link TType_CX_ACTIVATEKEY } or @{" CX_TOFRONTKEY " link TType_CX_TOFRONTKEY }. Normally this value is 0. If the priority it too high, then @{b}ColourCycle@{ub} could receive a key before another Commodity has had a chance to translate it.
@endnode

@node TType_CREATEICONS "CREATEICONS ToolType"
@{b}CREATEICONS ToolType:@{ub}

    Usage: CREATEICONS=<YES or NO>

    This tooltype specifies whether @{b}ColourCycle@{ub} starts up with the @{" Create Icons? " link Menu_Settings_CreateIcons } menu option checked. This tooltype only takes effect if a settings file could not be found.
@endnode

@node TType_PUBSCREEN "PUBSCREEN ToolType"
@{b}PUBSCREEN ToolType:@{ub}

    Usage: PUBSCREEN=<name>       (<name> is an alphanumeric string)

    This tooltype specifies the name of a Public Screen to open up on. If this tooltype is not present then the name "Workbench" is assumed. This tooltype only takes effect if a settings file could not be found.
@endnode

@node TType_SETTINGS "SETTINGS ToolType"
@{b}SETTINGS ToolType:@{ub}

    Usage: SETTINGS=<name>        (<name> is an alphanumeric string)

    This tooltype gives the name of a settings file. The initial window position and the state of the advanced gadget is set from this file. The name of a public screen to open up on is also specified here.
    The default settings file 'ENV:ColourCycle/ColourCycle.prefs' is used if this tooltype is not given. This has important implications for all options that specify that they only take effect if a settings file could not be found. If you do not specify a settings file but the default settings file is found anyway, then those options will be ignored.
@endnode

@node TType_PROJECTS "PROJECTS ToolType"
@{b}PROJECTS ToolType:@{ub}

    Usage: PROJECTS=<name>        (<name> is an alphanumeric string)

    This tooltype gives the name of the initial directory to look into for project files. This tooltype only takes effect if @{b}ColourCycle@{ub} was @{b}not@{ub} started from a project icon and the @{" INITIAL " link TType_INITIAL } tooltype was @{b}not@{ub} not used. If @{b}ColourCycle@{ub} is started from a project icon then the directory of that project will be used. If the @{" INITIAL " link TType_INITIAL } tooltype is used and it was @{b}not@{ub} started from a project icon then the directory of the initial file will be used.
@endnode

@node TType_INITIAL "INITIAL ToolType"
@{b}INITIAL ToolType:@{ub}

    Usage: INITIAL=<name>         (<name> is an alphanumeric string)

    This tooltype gives the name of a file to load at startup. This tooltype only takes effect if @{b}ColourCycle@{ub} was @{b}not@{ub} started from a project icon, or started from the CLI/Shell. The directory that contains the initial project overrides the @{" PROJECTS " link TType_PROJECTS } tooltype.
@endnode

@node TType_ADVANCED "ADVANCED ToolType"
@{b}ADVANCED ToolType:@{ub}

    Usage: ADVANCED=<YES or NO>

    This tooltype specifies whether @{b}ColourCycle@{ub} should start up with the @{" Advanced Window " link AdvWindow } open. This tooltype only takes effect if a settings file could not be found. For more information see the @{" Advanced " link Gad_Advanced } gadget and @{" Advanced Window " link AdvWindow }.
@endnode

@node TType_CYCLEPRI "CYCLEPRI ToolType"
@{b}CYCLEPRI ToolType:@{ub}

    Usage: CYCLEPRI=<priority>    (<priority> is a number in the range -127 to 128)

    This tooltype specifies the priority of the cycler task. The default for this tooltype is a priority of 19. That way input.device still has a greater priority. If you find that moving the mouse, or other input events are causing problems then you may want to change this priority. Be warned that too high a priority may mean that all other tasks get very little - close to zero - CPU time.
@endnode

@node Features "What can ColourCycle do?"
@{b}ColourCycle Features:@{ub}

    @{b}ColourCycle@{ub} has the following features:

    -   Requires version 3.0 or greater of the operating system (I consider this a feature!).
    -   Colour cycle any intuition screen.
    -   Individual control over red, green and blue cycling.
    -   Can cycle a range of colours in a screen.
    -   Cycle a screen's existing colours or replace them with algorithmically generated colours.
    -   Each primary colour can be individually set to be a sine wave, triangular wave, ramp up or ramp down.
    -   Precise control over speed (wavelength), phase, mean and amplitude for each wave.
    -   Overall frame rate control.
    -   Easy to use gadtools interface.
    -   Uses Asl file requesters.
    -   Lots of keyboard shortcuts.
    -   Online AmigaGuide help system - for gadgets and menus.
@endnode

@node ToDo "Planned ColourCycle features"
@{b}Features planned for the next version of ColourCycle:@{ub}

    In the next version of @{b}ColourCycle@{ub}, when there is one, I intend but do not promise to implement the following:

    -   Font sensitive layout of window. At the moment it will use the screen font. It is not real smart about the window layout however, so if you use a really, really big font it will probably get things wrong. Once it is truly font sensitive, it will also be possible to change font, or use a prefs default.
    -   Perhaps use Commodities to install lots of hotkeys, so that @{b}ColourCycle@{ub} can be controlled even while another window/screen is active.
    -   A full ARexx port - reasonably important as you never know what people might want/use it for.
    -   Locale support. Anyone care to do translations?
    -   Unlimited in size (well probably limited by memory) definable colour palette. The cycler will then cycle through those colours. Only a small number of them will be visible on screen at a time however (up to as many colours are on the screen). The user will be able to specify the number of graduations between each defined colour. For example, the user could define two colours - pure white and pure black - and then specify a value of 256 for the number of graduations, and that would give a smooth 256 colour transition from white to black. The user should be able to specify the number of graduations individually between each two defined colours, or have a global setting.
    -   Be able to have multiple colour ranges. This would mean that GraphiCraft, DPaint and Brilliance style colour ranges can be cycled. That way you can have ViewTek show a picture, but since it does not support colour cycling you could load the same picture into this program and it would extract the colour cycling information and you can then colour cycle the ViewTek screen.
    -   Reorganising of window layout. As it is, it looks fairly ugly.
    -   Perhaps cycling of any viewport, not just intuition screens.
    -   Maybe even make it work for AmigaDOS 2.x.
@endnode

@node KnownBugs "ColourCycle bugs"
@{b}Known bugs or problems in ColourCycle:@{ub}

    There are no real known bugs with @{b}ColourCycle@{ub}, however there has not been real intensive testing. I have used Enforcer and MungWall in the creation of this program, but there is still the possibility of problems. There are no known memory leaks. Please report to me all bugs or problems that you find. I would like @{b}ColourCycle@{ub} to be completely bug free. Since this product is a shareware product, users expect a completely bug free product.
    Known problems with @{b}ColourCycle@{ub} are as follows:

    -   Strange colour flashing. It does not happen all the time. It sometimes happens if a screen has been pulled part way down, but there is no reproduceable conditions that cause it every time. I have not been able to track this down. There is no reason I can possibly think of to explain this. Perhaps playing around with the @{" CYCLEPRI " link TType_CYCLEPRI } tooltype may fix the problem - perhaps a value greater than input.device may be the fix ie. a value greater than 20. Considering that many other programs have the same problem, I am beginning to think that the problem is actually with either the LoadRGB32() graphics.library function, or the MrgCop() graphics.library function.
    -   It seems that @{b}ColourCycle@{ub} does not properly sync with vblank if the screen is a Retina Blitter mode screen on a Retina Z3. I think however that this is a problem with the Retina emulation software however. The problem is that when a WaitTOF() is done, it seems to return close to straight away.
    -   The file formats that @{b}ColourCycle@{ub} uses for its projects and its settings file are IFF files. However, there is no place for me to register IFF FORMs. This means that I am using unregistered file formats. This is not really acceptable as there is the possibility of a clash, but I currently have no choice.
    -   The Style Guide recommends that all applications be designed for a minimum of a 640 x 200 pixel screen and topaz 8 font. Unfortunately the @{" Advanced Window " link AdvWindow } is taller than 200 pixels with topaz 8, so this may cause a problem - namely the @{" Advanced Window " link AdvWindow } will not open.
@endnode

@node Warnings "Things to watch out for"
@{b}Things that could possibly go wrong:@{ub}

    @{b}ColourCycle@{ub} installs patches to the OpenScreen(), OpenScreenTagList() and CloseScreen() intuition.library functions. That way the @{" Available Screens " link Gad_Screens } gadget is always up to date. It also means that @{b}ColourCycle@{ub} knows to stop cycling a screen if it about to close. This means that if you use another utility that patches @{b}any@{ub} of these functions special care must be taken. If @{b}ColourCycle@{ub} was started after any program that patches any of these functions, then it must be quit before the utility. If @{b}ColourCycle@{ub} was started before the utility, then the utility must be quit before @{b}ColourCycle@{ub}. Because of this you may only ever run one copy of @{b}ColourCycle@{ub} at a time. The second time you start @{b}ColourCycle@{ub}, the first instance will be activated instead. @{b}You have been warned!@{ub}
@endnode

@node Theory "How ColourCycle Works"
@{b}The theory behind it all:@{ub}

    When the Waveform Type for either red, green or blue is not "Off", then @{b}ColourCycle@{ub} can algorithmically generate colour palettes for the screen.
    @{b}ColourCycle@{ub} can generate a different wave for each primary colour.
    There are basically four variables for a waveform. Its wavelength, its initial phase offset, its mean and its amplitude.
    Given a sine wave like the following:

            ----
           /    \\
          /      \\
                  \\      /  
                   \\    /
                    ----

    the wave segment you see is one full wave. The wavelength specifies how long this segment is. The phase offset in this case is 0 degrees. If the full wave that you see here is 360 degrees, then the phase offset tells how far along the wave you start. 180 degrees would be half way along the wave. The mean of the wave is where the centre (vertically) is. The amplitude is usually the size of the wave from peak to peak. In the case of @{b}ColourCycle@{ub} the amplitude is the size of the wave from mean to either of the peaks.
    Take the following example:

    150 - --            --
            \\          /
             \\        /
              \\      /  
               \\    /
     50 -       ----

    The mean is 100 (its the value exactly between 150 and 50), and the amplitude is 50. The Phase offset is 90 degrees.
    If the mean is say 80 and the amplitude is 100, then @{b}ColourCycle@{ub} will flatten out the bottom of the curve, so that it never gets lower than 0.
    @{b}ColourCycle@{ub} works with 8 bit primary values. Hence the default mean is 127 with an amplitude of 128. This gives the full sweep from 0 to 255.

    @{b}ColourCycle@{ub} does not give a specific wavelength control. What it does do is give a speed control. The speed control tells how meny degrees the wave will pass through on each iteration of the cycler. Therefore a speed value of 1.000 will mean that it will take 360 iterations before the wave repeats. A value of 10.000 will mean it would only take 10 iterations to repeat. A value of 0.025 will mean it would take 14400 iterations to repeat.

    The four waveform types are (showing two full waves - not to scale):
    Sine wave:

            ----            ----
           /    \\          /    \\
          /      \\        /      \\
                  \\      /        \\      /
                   \\    /          \\    / 
                    ----             ----   

    Triangular wave:

            /\\          /\\
           /  \\        /  \\
          /    \\      /    \\
                \\    /      \\    /
                 \\  /        \\  /
                  \\/          \\/  

    Ramp up:

               /     /
              /     /
             /     /
            /     /
           /     /
          /     /

    Ramp down:

          \\     \\
           \\     \\
            \\     \\
             \\     \\
              \\     \\
               \\     \\

    @{b}ColourCycle@{ub} has controls called "Rate" and "Step". These are global controls which alter the operation of all primary colours.
    Rate gives the number of frames between each iteration of the cycler. A value of 0 means perform an iteration every frame. An increase in rate will decrease the speed of cycling.
    Step tells the number of colours to move each iteration. A value of 1 means that the colours should move along 1 in the palette. An increate in step will increase the speed of cycling.
@endnode

@node Operation "How to use ColourCycle"
@{b}How to use ColourCycle:@{ub}

    To use @{b}ColourCycle@{ub} it is a simple matter of starting it up (for more info see @{" Usage " link Usage }. You will be presented with a list of screens that are currently open. Select the screen that you wish to cycle. Then click on the @{" Cycle " link Gad_Cycle } gadget. The screen should start colour cycling.
    The easiest way to work out what @{b}ColourCycle@{ub} does is to experiment. For more information on what each gadget does see @{" Main Window " link Window }, @{" Advanced Window " link AdvWindow } and @{" Theory " link Theory }.
    @{b}ColourCycle@{ub} supports full context sensitive help. You can place the mouse pointer over any gadget (including system gadgets), and press the help key. This will pop up an AmigaGuide document explaining the function of that gadget. By placing the pointer over a part of the window that does not contain a gadget and pressing help, you will be told out the window itself. Note that the gadgets labels are considered to be part of the gadget. You may also hold down the right mouse button to activate the menu bar. While a menu item, or menu title is activated you may press the help gadget to give information about the selected menu item.
    @{b}ColourCycle@{ub} is a shareware product. Please refer to @{" Copyright " link Copyright } for more information.
@endnode

@node Window "The ColourCycle Window"
@{b}Main Window:@{ub}

    This window is the main editor window. It gives all the control required over colourcycling operations. By pressing the help key on any button, or any menu item, you can get help on them.

@{b}Gadgets:@{ub}

    @{" System Gadgets         " link SysGads }

    @{" Available Screens      " link Gad_Screens }
    @{" Screen Information     " link Gad_Info }
    @{" Cycle                  " link Gad_Cycle }
    @{" Advanced               " link Gad_Advanced }
    @{" Rescan Screen List     " link Gad_Rescan }
    @{" Cycle Direction        " link Gad_Direction }
    @{" Rate Value             " link Gad_SpeedString }  @{" Rate Slider            " link Gad_SpeedSlider }
    @{" Step Value             " link Gad_StepString }  @{" Step Slider            " link Gad_StepSlider }
    @{" Start Colour Value     " link Gad_StartString }  @{" Start Colour Slider    " link Gad_StartSlider }
    @{" End Colour Value       " link Gad_EndString }  @{" End Colour Slider      " link Gad_EndSlider }

    @{" Advanced Settings      " link AdvWindow }
@{b}Menus:@{ub}

    @{" Project Menu           " link Menu_Project }
    @{" Settings Menu          " link Menu_Settings }
    @{" Help Menu              " link Menu_Help }
@endnode

@node AdvWindow "The Advanced Settings Window"
@{b}Advanced Window:@{ub}

    This window controls the advanced settings. These advanced settings give control over the algorithmically generated colour palettes. By pressing the help key on any button, or any menu item, you can get help on them.
    Note that all the gadgets in this window can still be used even when this window is not open, by using the keyboard shortcuts for those gadgets.
@{b}Gadgets:@{ub}

    @{" System Gadgets         " link SysGads }

    @{" Main Gadgets           " link Window }

    @{" Red                    " link Gad_Red }
    @{" Red Waveform Type      " link Gad_RedWave }
    @{" Red Phase Value        " link Gad_RedPhaseString }  @{" Red Phase Slider       " link Gad_RedPhaseSlider }
    @{" Red Speed Value        " link Gad_RedLenString }  @{" Red Speed Slider       " link Gad_RedLenSlider }
    @{" Red Mean Value         " link Gad_RedMeanString }  @{" Red Mean Slider        " link Gad_RedMeanSlider }
    @{" Red Amplitude Value    " link Gad_RedAmpString }  @{" Red Amplitude Slider   " link Gad_RedAmpSlider }
    @{" Green                  " link Gad_Green }
    @{" Green Waveform Type    " link Gad_GreenWave }
    @{" Green Phase Value      " link Gad_GreenPhaseString }  @{" Green Phase Slider     " link Gad_GreenPhaseSlider }
    @{" Green Speed Value      " link Gad_GreenLenString }  @{" Green Speed Slider     " link Gad_GreenLenSlider }
    @{" Green Mean Value       " link Gad_GreenMeanString }  @{" Green Mean Slider      " link Gad_GreenMeanSlider }
    @{" Green Amplitude Value  " link Gad_GreenAmpString }  @{" Green Amplitude Slider " link Gad_GreenAmpSlider }
    @{" Blue                   " link Gad_Blue }
    @{" Blue Waveform Type     " link Gad_BlueWave }
    @{" Blue Phase Value       " link Gad_BluePhaseString }  @{" Blue Phase Slider      " link Gad_BluePhaseSlider }
    @{" Blue Speed Value       " link Gad_BlueLenString }  @{" Blue Speed Slider      " link Gad_BlueLenSlider }
    @{" Blue Mean Value        " link Gad_BlueMeanString }  @{" Blue Mean Slider       " link Gad_BlueMeanSlider }
    @{" Blue Amplitude Value   " link Gad_BlueAmpString }  @{" Blue Amplitude Slider  " link Gad_BlueAmpSlider }

@{b}Menus:@{ub}

    @{" Project Menu           " link Menu_Project }
    @{" Settings Menu          " link Menu_Settings }
    @{" Help Menu              " link Menu_Help }
@endnode

@node Gad_Screens "ColourCycle Gadgets"
@{b}Available Screens:@{ub}

    This gadget gives a list of the screens available for cycling. If a program opens a custom viewport, then this will not be shown in this list. Only intuition screens will be in this list.
    @{b}ColourCycle@{ub} installs patches to the OpenScreen(), OpenScreenTagList() and CloseScreen() intuition.library functions. That way this gadget is always up to date. It also means that @{b}ColourCycle@{ub} knows to stop cycling a screen if it about to close. If for some strange reason this gadget is not accurate, use the @{" Rescan Screen List " link Gad_Rescan } gadget to update it will the current screen list.

    The keyboard shortcut is @{b}c@{ub} to move forward through the list.
    The keyboard shortcut is @{b}c@{ub} to move backward through the list.
@endnode

@node Gad_Info "ColourCycle Gadgets"
@{b}Screen Information:@{ub}

    This gadget will give information about the screen that is currently selected in the @{" Available Screens " link Gad_Screens } gadget. It gives the width, height and depth of the screen along with the number of colours in the screens viewport.

    This gadget has no keyboard shortcut, as it has no selectable function.
@endnode

@node Gad_Cycle "ColourCycle Gadgets"
@{b}Cycle:@{ub}

    This gadget turns on colour cycling. A screen will only colour cycle if one has been selected in the @{" Available Screens " link Gad_Screens } gadget. If the selected screen is still not cycling, check that one of the @{" Red " link Gad_Red }, @{" Green " link Gad_Green } or @{" Blue " link Gad_Blue } gadgets are in the checked state.

    The keyboard shortcut is @{b}y@{ub}.
@endnode

@node Gad_Advanced "ColourCycle Gadgets"
@{b}Advanced:@{ub}

    This gadget will open the @{" Advanced Window " link AdvWindow }. The gadgets contained in this window give greater control over the cycling of a screen's colour palette. With these extra gadgets it is possible to create palettes to cycle through. Note that all the gadgets that this option reveals can still be used even when the window is not open, by using the keyboard shortcuts for those gadgets.

    The keyboard shortcut is @{b}v@{ub}.
@endnode

@node Gad_Rescan "ColourCycle Gadgets"
@{b}Rescan Screen List:@{ub}

    @{b}ColourCycle@{ub} installs patches to the OpenScreen(), OpenScreenTagList() and CloseScreen() intuition.library functions. That way the @{" Available Screens " link Gad_Screens } gadget is always up to date. It also means that @{b}ColourCycle@{ub} knows to stop cycling a screen if it about to close. If for some strange reason the @{" Available Screens " link Gad_Screens } gadget is not accurate, using this function will update it will the current screen list.

    The keyboard shortcut is @{b}n@{ub}.
@endnode

@node Gad_Direction "ColourCycle Gadgets"
@{b}Cycle Direction:@{ub}

    This gadget defines the direction in which the colours should cycle. Upwards means that if colour 1 was red, colour 2 was green and colour 3 was blue, then after one iteration colour 1 would be blue, colour 2 would be red and colour 3 would be green. That is, the colours were moved upwards in the colour palette. The reverse is said for Downwards.

    The keyboard shortcut is @{b}d@{ub} to go forward through the cycle gadget's choices.
    The keyboard shortcut is @{b}D@{ub} to go backward through the cycle gadget's choices.
@endnode

@node Gad_SpeedString "ColourCycle Gadgets"
@{b}Rate Value:@{ub}

    The current value for the rate at which the colours cycle is shown here.
    The rate at which the colours cycle defines the number of frames between each iteration. Therefore a value of 0 means the colours are cycled every frame.
    This gadget has a range of 0 to 25. It has a default of 0.

    This gadget has no keyboard shortcut, as it has no selectable function.
@endnode

@node Gad_SpeedSlider "ColourCycle Gadgets"
@{b}Rate Slider:@{ub}

    This slider will allow you to change the rate at which the colours cycle.
    The rate at which the colours cycle defines the number of frames between each iteration. Therefore a value of 0 means the colours are cycled every frame.
    This gadget has a range of 0 to 25. It has a default of 0.

    The keyboard shortcut is @{b}t@{ub} to increase the value.
    The keyboard shortcut is @{b}T@{ub} to decrease the value.
@endnode

@node Gad_StepString "ColourCycle Gadgets"
@{b}Step Value:@{ub}

    The current value for the step size is shown here.
    The step size defines how far the colours move for each iteration. This is a value given in colours. Therefore if given a value of 1, then the colour that was colour 1 would then become 2 on the next iteration. If the value was 3, then the colour that was colour 1 would become 4 on the next iteration.
    This gadget has a range of 1 to 10. It has a default of 1.

    This gadget has no keyboard shortcut, as it has no selectable function.
@endnode

@node Gad_StepSlider "ColourCycle Gadgets"
@{b}Step Slider:@{ub}

    This slider will allow you to change the step size.
    The step size defines how far the colours move for each iteration. This is a value given in colours. Therefore if given a value of 1, then the colour that was colour 1 would then become 2 on the next iteration. If the value was 3, then the colour that was colour 1 would become 4 on the next iteration.
    This gadget has a range of 1 to 10. It has a default of 1.

    The keyboard shortcut is @{b}e@{ub} to increase the value.
    The keyboard shortcut is @{b}E@{ub} to decrease the value.
@endnode

@node Gad_StartString "ColourCycle Gadgets"
@{b}Start Colour Value:@{ub}

    The current value for the start of the colour cycling range is shown here.
    This gadget has a range of 0 to the maximum number of colours in the screen's viewport. It has a default value of 0.

    This gadget has no keyboard shortcut, as it has no selectable function.
@endnode

@node Gad_StartSlider "ColourCycle Gadgets"
@{b}Start Colour Slider:@{ub}

    This slider will allow you to change the start of the colour cycling range.
    This gadget has a range of 0 to the maximum number of colours in the screen's viewport. It has a default value of 0.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_EndString "ColourCycle Gadgets"
@{b}End Colour Value:@{ub}

    The current value for the end of the colour cycling range is shown here.
    This gadget has a range of 0 to the maximum number of colours in the screen's viewport. It has a default value equal to the maximum colour of the screen's viewport.

    This gadget has no keyboard shortcut, as it has no selectable function.
@endnode

@node Gad_EndSlider "ColourCycle Gadgets"
@{b}End Colour Slider:@{ub}

    This slider will allow you to change the end of the colour cycling range.
    This gadget has a range of 0 to the maximum number of colours in the screen's viewport. It has a default value equal to the maximum colour of the screen's viewport.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_Red "ColourCycle Gadgets"
@{b}Red:@{ub}

    This gadget determines whether the red component of the colour palette should be cycled. If it is not checked, then the red component of the colour palette will stay exactly as it is.
    For the other gadgets pertaining to red to accept keyboard shortcuts it must be active. Red is active if there is a raised box around the red gadgets. Red is inactive if there is a recessed box around the red gadgets.
    To make red active, use the @{b}R@{ub} shortcut. Red does not need to be active for this specific gadget to function, but it does need to be active for the shortcuts for the @{" Red Waveform Type " link Gad_RedWave }, @{" Red Phase Slider " link Gad_RedPhaseSlider }, @{" Red Speed Slider " link Gad_RedLenSlider }, @{" Red Mean Slider " link Gad_RedMeanSlider } and @{" Red Amplitude Slider " link Gad_RedAmpSlider } gadgets to work.

    The keyboard shortcut is @{b}r@{ub}.
    The keyboard shortcut to activate Red is @{b}R@{ub}.
@endnode

@node Gad_RedWave "ColourCycle Gadgets"
@{b}Red Waveform Type:@{ub}

    This gadget specifies the waveform type for red. The available options are "Off", "Sine", "Triangular", "Ramp Up" and "Ramp Down". See @{" Theory " link Theory } for more information.
    A value of "Off" will cycle the existing colour palette. Other values will mean that a new palette for red will be algorithmically generated.

    The keyboard shortcut is @{b}w@{ub} to go forward through the cycle gadget's choices.
    The keyboard shortcut is @{b}W@{ub} to go backward through the cycle gadget's choices.
@endnode

@node Gad_RedPhaseString "ColourCycle Gadgets"
@{b}Red Phase Value:@{ub}

    The current value for the red phase offset is shown here.
    This gadget has a range of 0 to 359. It has a default value of 0.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_RedPhaseSlider "ColourCycle Gadgets"
@{b}Red Phase Slider:@{ub}

    This slider will allow you to change the red phase offset.
    This gadget has a range of 0 to 359. It has a default value of 0.

    The keyboard shortcut is @{b}p@{ub} to increase the value.
    The keyboard shortcut is @{b}P@{ub} to decrease the value.
@endnode

@node Gad_RedLenString "ColourCycle Gadgets"
@{b}Red Speed Value:@{ub}

    The current value for the red wave speed is shown here.
    This gadget has a range of 0.000 to 359.975 in steps of 0.025. It has a default value of 1.000.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_RedLenSlider "ColourCycle Gadgets"
@{b}Red Speed Slider:@{ub}

    This slider will allow you to change the red wave speed.
    This gadget has a range of 0.000 to 359.975 in steps of 0.025. It has a default value of 1.000.

    The keyboard shortcut is @{b}s@{ub} to increase the value.
    The keyboard shortcut is @{b}S@{ub} to decrease the value.
@endnode

@node Gad_RedMeanString "ColourCycle Gadgets"
@{b}Red Mean Value:@{ub}

    The current value for the red mean is shown here.
    This gadget has a range of 0 to 255. It has a default value of 127.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_RedMeanSlider "ColourCycle Gadgets"
@{b}Red Mean Slider:@{ub}

    This slider will allow you to change the red mean.
    This gadget has a range of 0 to 255. It has a default value of 127.

    The keyboard shortcut is @{b}m@{ub} to increase the value.
    The keyboard shortcut is @{b}M@{ub} to decrease the value.
@endnode

@node Gad_RedAmpString "ColourCycle Gadgets"
@{b}Red Amplitude Value:@{ub}

    The current value for the red amplitude is shown here.
    This gadget has a range of 0 to 255. It has a default value of 128.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_RedAmpSlider "ColourCycle Gadgets"
@{b}Red Amplitude Slider:@{ub}

    This slider will allow you to change the red amplitude.
    This gadget has a range of 0 to 255. It has a default value of 128.

    The keyboard shortcut is @{b}a@{ub} to increase the value.
    The keyboard shortcut is @{b}A@{ub} to decrease the value.
@endnode

@node Gad_Green "ColourCycle Gadgets"
@{b}Green:@{ub}

    This gadget determines whether the green component of the colour palette should be cycled. If it is not checked, then the green component of the colour palette will stay exactly as it is.
    For the other gadgets pertaining to green to accept keyboard shortcuts it must be active. Green is active if there is a raised box around the green gadgets. Green is inactive if there is a recessed box around the green gadgets.
    To make green active, use the @{b}R@{ub} shortcut. Green does not need to be active for this specific gadget to function, but it does need to be active for the shortcuts for the @{" Green Waveform Type " link Gad_GreenWave }, @{" Green Phase Slider " link Gad_GreenPhaseSlider }, @{" Green Speed Slider " link Gad_GreenLenSlider }, @{" Green Mean Slider " link Gad_GreenMeanSlider } and @{" Green Amplitude Slider " link Gad_GreenAmpSlider } gadgets to work.

    The keyboard shortcut is @{b}g@{ub}.
    The keyboard shortcut to activate Green is @{b}G@{ub}.
@endnode

@node Gad_GreenWave "ColourCycle Gadgets"
@{b}Green Waveform Type:@{ub}

    This gadget specifies the waveform type for green. The available options are "Off", "Sine", "Triangular", "Ramp Up" and "Ramp Down". See @{" Theory " link Theory } for more information.
    A value of "Off" will cycle the existing colour palette. Other values will mean that a new palette for green will be algorithmically generated.

    The keyboard shortcut is @{b}w@{ub} to go forward through the cycle gadget's choices.
    The keyboard shortcut is @{b}W@{ub} to go backward through the cycle gadget's choices.
@endnode

@node Gad_GreenPhaseString "ColourCycle Gadgets"
@{b}Green Phase Value:@{ub}

    The current value for the green phase offset is shown here.
    This gadget has a range of 0 to 359. It has a default value of 0.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_GreenPhaseSlider "ColourCycle Gadgets"
@{b}Green Phase Slider:@{ub}

    This slider will allow you to change the green phase offset.
    This gadget has a range of 0 to 359. It has a default value of 0.

    The keyboard shortcut is @{b}p@{ub} to increase the value.
    The keyboard shortcut is @{b}P@{ub} to decrease the value.
@endnode

@node Gad_GreenLenString "ColourCycle Gadgets"
@{b}Green Speed Value:@{ub}

    The current value for the green wave speed is shown here.
    This gadget has a range of 0.000 to 359.975 in steps of 0.025. It has a default value of 0.750.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_GreenLenSlider "ColourCycle Gadgets"
@{b}Green Speed Slider:@{ub}

    This slider will allow you to change the green wave speed.
    This gadget has a range of 0.000 to 359.975 in steps of 0.025. It has a default value of 0.750.

    The keyboard shortcut is @{b}s@{ub} to increase the value.
    The keyboard shortcut is @{b}S@{ub} to decrease the value.
@endnode

@node Gad_GreenMeanString "ColourCycle Gadgets"
@{b}Green Mean Value:@{ub}

    The current value for the green mean is shown here.
    This gadget has a range of 0 to 255. It has a default value of 127.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_GreenMeanSlider "ColourCycle Gadgets"
@{b}Green Mean Slider:@{ub}

    This slider will allow you to change the green mean.
    This gadget has a range of 0 to 255. It has a default value of 127.

    The keyboard shortcut is @{b}m@{ub} to increase the value.
    The keyboard shortcut is @{b}M@{ub} to decrease the value.
@endnode

@node Gad_GreenAmpString "ColourCycle Gadgets"
@{b}Green Amplitude Value:@{ub}

    The current value for the green amplitude is shown here.
    This gadget has a range of 0 to 255. It has a default value of 128.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_GreenAmpSlider "ColourCycle Gadgets"
@{b}Green Amplitude Slider:@{ub}

    This slider will allow you to change the green amplitude.
    This gadget has a range of 0 to 255. It has a default value of 128.

    The keyboard shortcut is @{b}a@{ub} to increase the value.
    The keyboard shortcut is @{b}A@{ub} to decrease the value.
@endnode

@node Gad_Blue "ColourCycle Gadgets"
@{b}Blue:@{ub}

    This gadget determines whether the blue component of the colour palette should be cycled. If it is not checked, then the blue component of the colour palette will stay exactly as it is.
    For the other gadgets pertaining to blue to accept keyboard shortcuts it must be active. Blue is active if there is a raised box around the blue gadgets. Blue is inactive if there is a recessed box around the blue gadgets.
    To make blue active, use the @{b}R@{ub} shortcut. Blue does not need to be active for this specific gadget to function, but it does need to be active for the shortcuts for the @{" Blue Waveform Type " link Gad_BlueWave }, @{" Blue Phase Slider " link Gad_BluePhaseSlider }, @{" Blue Speed Slider " link Gad_BlueLenSlider }, @{" Blue Mean Slider " link Gad_BlueMeanSlider } and @{" Blue Amplitude Slider " link Gad_BlueAmpSlider } gadgets to work.

    The keyboard shortcut is @{b}b@{ub}.
    The keyboard shortcut to activate Blue is @{b}B@{ub}.
@endnode

@node Gad_BlueWave "ColourCycle Gadgets"
@{b}Blue Waveform Type:@{ub}

    This gadget specifies the waveform type for blue. The available options are "Off", "Sine", "Triangular", "Ramp Up" and "Ramp Down". See @{" Theory " link Theory } for more information.
    A value of "Off" will cycle the existing colour palette. Other values will mean that a new palette for blue will be algorithmically generated.

    The keyboard shortcut is @{b}w@{ub} to go forward through the cycle gadget's choices.
    The keyboard shortcut is @{b}W@{ub} to go backward through the cycle gadget's choices.
@endnode

@node Gad_BluePhaseString "ColourCycle Gadgets"
@{b}Blue Phase Value:@{ub}

    The current value for the blue phase offset is shown here.
    This gadget has a range of 0 to 359. It has a default value of 0.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_BluePhaseSlider "ColourCycle Gadgets"
@{b}Blue Phase Slider:@{ub}

    This slider will allow you to change the blue phase offset.
    This gadget has a range of 0 to 359. It has a default value of 0.

    The keyboard shortcut is @{b}p@{ub} to increase the value.
    The keyboard shortcut is @{b}P@{ub} to decrease the value.
@endnode

@node Gad_BlueLenString "ColourCycle Gadgets"
@{b}Blue Speed Value:@{ub}

    The current value for the blue wave speed is shown here.
    This gadget has a range of 0.000 to 359.975 in steps of 0.025. It has a default value of 0.625.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_BlueLenSlider "ColourCycle Gadgets"
@{b}Blue Speed Slider:@{ub}

    This slider will allow you to change the blue wave speed.
    This gadget has a range of 0.000 to 359.975 in steps of 0.025. It has a default value of 0.625.

    The keyboard shortcut is @{b}s@{ub} to increase the value.
    The keyboard shortcut is @{b}S@{ub} to decrease the value.
@endnode

@node Gad_BlueMeanString "ColourCycle Gadgets"
@{b}Blue Mean Value:@{ub}

    The current value for the blue mean is shown here.
    This gadget has a range of 0 to 255. It has a default value of 127.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_BlueMeanSlider "ColourCycle Gadgets"
@{b}Blue Mean Slider:@{ub}

    This slider will allow you to change the blue mean.
    This gadget has a range of 0 to 255. It has a default value of 127.

    The keyboard shortcut is @{b}m@{ub} to increase the value.
    The keyboard shortcut is @{b}M@{ub} to decrease the value.
@endnode

@node Gad_BlueAmpString "ColourCycle Gadgets"
@{b}Blue Amplitude Value:@{ub}

    The current value for the blue amplitude is shown here.
    This gadget has a range of 0 to 255. It has a default value of 128.

    This gadget has no keyboard shortcut.
@endnode

@node Gad_BlueAmpSlider "ColourCycle Gadgets"
@{b}Blue Amplitude Slider:@{ub}

    This slider will allow you to change the blue amplitude.
    This gadget has a range of 0 to 255. It has a default value of 128.

    The keyboard shortcut is @{b}a@{ub} to increase the value.
    The keyboard shortcut is @{b}A@{ub} to decrease the value.
@endnode

@node Menu_Project "ColourCycle Project Menu"
@{b}Project Menu:@{ub}

    This menu gives general control over the whole project.

@{b}Menu Items:@{ub}

    @{" New        " link Menu_Project_New }
    @{" Open...    " link Menu_Project_Open }

    @{" Save       " link Menu_Project_Save }
    @{" Save As... " link Menu_Project_SaveAs }

    @{" About...   " link Menu_Project_About }

    @{" Quit       " link Menu_Project_Quit }
@endnode

@node Menu_Project_New "ColourCycle Project Menu"
@{b}New:@{ub}

    Select this menu option to close the current project (if one is open), and start with a fresh new workspace. It gives reasonable defaults to start with. You can then select the menu item @{" Project Open... " link Menu_Project_Open } to start working on an existing project.

    The keyboard shortcut is @{b}Right Amiga-n@{ub}.
@endnode

@node Menu_Project_Open "ColourCycle Project Menu"
@{b}Open...:@{ub}
    Select this menu option to close the current project (if one is open), and start work on an existing project.

    The keyboard shortcut is @{b}Right Amiga-o@{ub}.
@endnode

@node Menu_Project_Save "ColourCycle Project Menu"
@{b}Save:@{ub}

    Select this menu item to save the current project. If this is a new unnamed project, a file requester will pop up for you to enter in a file name. If this is an already existing project it will silently update that file.

    The keyboard shortcut is @{b}Right Amiga-s@{ub}.
@endnode

@node Menu_Project_SaveAs "ColourCycle Project Menu"
@{b}Save As...:@{ub}

    Select this menu item to save the current project. Regardless of whether this is a new unnamed project or an existing project, a file requester will pop up for you to enter in a file name. If a file with the name you supply already exists, @{b}ColourCycle@{ub} will be ask you whether you wish to overwrite that file before it does. You can cancel this if you do not wish to overwrite that existing file.

    The keyboard shortcut is @{b}Right Amiga-a@{ub}.
@endnode

@node Menu_Project_About "ColourCycle Project Menu"
@{b}About...:@{ub}

    Selecting this menu option will provide you with some information about @{b}ColourCycle@{ub}.

    The keyboard shortcut is @{b}Right Amiga-?@{ub}.
@endnode

@node Menu_Project_Quit "ColourCycle Project Menu"
@{b}Quit:@{ub}

    This menu item will quit @{b}ColourCycle@{b}. If you have a project that you have changed since it was last saved, you will be prompted as to whether you wish to @{" Save " link Menu_Project_Save } the project before you quit.

    The keyboard shortcut is @{b}Right Amiga-q@{ub}.
@endnode

@node Menu_Settings "ColourCycle Settings Menu"
@{b}Settings Menu:@{ub}

    This menu gives general control over the whole application settings.

@{b}Menu Items:@{ub}

    @{" Create Icons? " link Menu_Settings_CreateIcons }

    @{" Save Settings " link Menu_Settings_SaveSettings }
@endnode

@node Menu_Settings_CreateIcons "ColourCycle Settings Menu"
@{b}Create Icons?:@{ub}

    This item toggles on and off. When in the checked (on) state, all projects will be saved with icons.

    The keyboard shortcut is @{b}Right Amiga-i@{ub}.
@endnode

@node Menu_Settings_SaveSettings "ColourCycle Settings Menu"
@{b}Save Settings:@{ub}

    This item will save the following settings:
    -   Current position of the main window.
    -   Current public screen the window is open on.
    -   The state of the @{" Create Icons? " link Menu_Settings_CreateIcons } menu item.
    -   The state of the @{" Advanced " link Gad_Advanced } gadget/@{" Advanced Window " link AdvWindow }.
    -   The current or last position of the @{" Advanced Window " link AdvWindow }.

    When @{b}ColourCycle@{ub} is started up next, the window(s) will try to be opened on the saved public screen at the saved position(s). If the public screen cannot be found at startup, then it will revert back to the Workbench screen.

    This item has no keyboard shortcut.
@endnode

@node Menu_Help "ColourCycle Help Menu"
@{b}Help Menu:@{ub}

    This menu gives access to the on line help.

@{b}Menu Items:@{ub}

    @{" Contents... " link Menu_Help_Contents }
    @{" Gadgets...  " link Menu_Help_Gadgets }
    @{" Menus...    " link Menu_Help_Menus }
    @{" Index...    " link Menu_Help_Index }
@endnode

@node Menu_Help_Contents "ColourCycle Help Menu"
@{b}Contents...:@{ub}

    This menu item will open up the on line help window (if it is not already open), and show the contents page.

    The keyboard shortcut is @{b}Right Amiga-h@{ub}.
@endnode

@node Menu_Help_Gadgets "ColourCycle Help Menu"
@{b}Gadgets...:@{ub}

    This menu item will open up the on line help window (if it is not already open), and show a list of gadgets relating to the current window.

    This item has no keyboard shortcut.
@endnode

@node Menu_Help_Menus "ColourCycle Help Menu"
@{b}Menus...:@{ub}

    This menu item will open up the on line help window (if it is not already open), and show a list of menus.

    This item has no keyboard shortcut.
@endnode

@node Menu_Help_Index "ColourCycle Help Menu"
@{b}Index...:@{ub}

    This menu item will open up the on line help window (if it is not already open), and show the index.

    This item has no keyboard shortcut.
@endnode

@node SysGads "ColourCycle System Window Gadgets"
@{b}System Window Gadgets:@{ub}

    @{" Close Gadget  " link SysGads_Close }
    @{" Drag Bar      " link SysGads_Drag }
    @{" Zoom Gadget   " link SysGads_Zoom }
    @{" Depth Gadget  " link SysGads_Depth }
    @{" Resize Gadget " link SysGads_Size }
@endnode

@node SysGads_Close "ColourCycle System Window Gadgets"
@{b}Close Gadget:@{ub}

    This will quit the current project. If it has been changed since it was last saved, you will be asked whether you wish to save it before it closes it.

    Being a system gadget, it has no keyboard shortcut.
@endnode

@node SysGads_Drag "ColourCycle System Window Gadgets"
@{b}Drag Bar:@{ub}

    Use this to move the window to a new place. To use it, hold down the left mouse button while you move the mouse. Let the left mouse button go when you have it at the desired position, or press the right mouse button while still holding the left to cancel the window move.
@endnode

@node SysGads_Zoom "ColourCycle System Window Gadgets"
@{b}Zoom Gadget:@{ub}

    This button lets the user have two preset sizes and positions for the window. Pressing this button toggles between the two settings. By resizing or moving the window, the current setting is changed.

    Being a system gadget, it has no keyboard shortcut. However, you may be able to assign this functionality to a keyboard shortcut by using the standard system Commodity program called @{b}FKey@{ub}. Consult either the @{b}Using The System Software@{ub}, @{b}Workbench 3.0@{ub} or @{b}Workbench 3.1@{ub} manual supplied with your machine or operating system upgrade.
@endnode

@node SysGads_Depth "ColourCycle System Window Gadgets"
@{b}Depth Gadget:@{ub}

    Use this to bring this window to the front. If it is already at the front, then it will be placed behind all other windows.

    Being a system gadget, it has no keyboard shortcut. However, you may be able to assign this functionality to a keyboard shortcut by using the standard system Commodity program called @{b}FKey@{ub}. Consult either the @{b}Using The System Software@{ub}, @{b}Workbench 3.0@{ub} or @{b}Workbench 3.1@{ub} manual supplied with your machine or operating system upgrade.
@endnode

@node SysGads_Size "ColourCycle System Window Gadgets"
@{b}Resize Gadget:@{ub}

    Use this to change the size of the window. To use it, hold down the left mouse button while you move the mouse. Let the left mouse button go when you have it at the desired size, or press the right mouse button while still holding the left to cancel the window resize.

    Being a system gadget, it has no keyboard shortcut. However, you may be able to assign this functionality to a keyboard shortcut by using the standard system Commodity program called @{b}FKey@{ub}. Consult either the @{b}Using The System Software@{ub}, @{b}Workbench 3.0@{ub} or @{b}Workbench 3.1@{ub} manual supplied with your machine or operating system upgrade.
@endnode

@node Credits "Credits and other notes for/about ColourCycle"
@{b}Credits:@{ub}
    Author:        Stuart MacKinnon.
    Tester(s):     Stuart MacKinnon.
    Concept:       Stuart MacKinnon.
    Encouragement: Stuart MacKinnon.
    Completed:     2nd February 1995.

@{b}Notes:@{ub}
    Although I will not enforce this (it would seem stupid to do so), it would be great my if name was placed in the credits of any commercial product (such as a video presentation with nice visuals) that uses @{b}ColourCycle@{ub}.
@endnode
