A.2 Configuration Settings

The configuration file is called ChaosPro.cfg and resides in the same folder as the executable file ChaosPro.exe. It is automatically loaded at startup, so if it contains nonsense, ChaosPro could refuse to start.

The file contains a series of very useful entries. Until now I did not have enough time to write a configuration tool. So you have to load this file into any ASCII editor (Notepad for example) to change entries.

The file format is something like follows:

  <Identificator>   <arg1>    <arg2>     ...   <argn>  

Where <Identificator> tells ChaosPro what to change and <arg1> to <argn> how.

The first entries in the configuration file will be window positions and a flag whether they have to be automatically opened at startup. For example:

  Parm1 279 123 0  

tells ChaosPro that Parameter window 1 is positioned at x=279, y=123, but is not automatically opened. When you open this window, it will appear at 279/123.

There will be several such entries, currently these are (some more might appear in future version):

Identificator Description
Parm1 Parameter Window 1
Parm2 Parameter Window 2
Dims1 3D Parameter Window 1
Dims2 3D Parameter Window 2
Dims3 3D Parameter Window 3
Area Area Window
PalEdit Palette Editor Window
FormulaJM Formula Editor Window (for Julia/Mandel)
Output Messages Window
Colormapping Colormapping Window
Anim1 Animation Window 1
Anim2 Animation Window 2
FractSel Fractal Selection Window
Colorcycle Colorcycling Window

After the window entries there appear other interesting entries:

  • DrawingSpeed <arg1>
    ChaosPro calculates most of the fractals line by line. So after calculating a line the line could be drawn. But this way for a fractal of size 640 x 480 there would be 480 draw commands. Lets assume that a single draw command (Win32 API call) takes about 10 milliseconds (Much of that time is overhead used up in the GPI sub system of Win32, so it does not matter very much whether one issues a command for drawing a single line or 10 lines). Then every fractal will need 4.8 seconds ONLY for drawing, not taken into account the time needed to actually calculating it.

    Lets assume you calculate the standard Julia set, which needs a calculation time of, say, 3 seconds. Then ChaosPro would need 7.8 seconds instead of 3 due to all those drawing commands. Wouldn’t it be nice if ChaosPro would calculate the whole fractal and draw it as a whole at the end (after 3 seconds) with one single draw command? This way ChaosPro would need 3.01 seconds.

    Now lets assume you calculate a very nice, complicated fractal, which takes 5 minutes. Here it does not matter, whether it takes 5 minutes or 5 minutes and 4.8 seconds. So in this case ChaosPro should draw every line as soon as it is calculated.

    To solve this ‘problem’ the parameter ‘DrawingSpeed’ exists: It specifies, how often ChaosPro issues a drawing command. The time is specified in milli seconds. After a line has been calculated ChaosPro tests whether the time elapsed since the last drawing command exceeds the time specified by this parameter. If no, it does not draw the line now. If yes, it draws all lines, which have been calculated since the last draw command.

    In other words: ChaosPro adds up lines until the specified time has elapsed and then issues a drawing command.

    Reducing ‘DrawingSpeed’ results in more overhead for drawing commands, but you will see a ‘smoother’ drawing (line by line in the extreme case). Increasing ‘DrawingSpeed’ results in less overhead for drawing commands, but the image is drawn in whole bunches of lines. It’s your choice now…

  • GUIFont <height> <bold>
    SmallFont <height> <bold>

    These two parameters define fonts to be used by ChaosPro. GUIFont defines the font used by all graphical elements and SmallFont defines the font to be used whenever small elements have to be drawn where the normal font perhaps would be too large. For example, the text below the tick marks of a slider is drawn using the font defined by SmallFont. <bold> can be either 0 for FALSE or 1 for TRUE. <height> specifies the height of the font.
    If the font name contains a space character, then you have to place the name in quotation marks.

  • ChaosPro <Posx> <Posy> <Width> <Height> <Maximized>

    This parameter specifies the position and size of the main application window. Maximized=0 tells ChaosPro to show its main window in normal state, Maximized=1 tells ChaosPro to maximize the main window at startup.

  • CNF_<arg>

    <arg> can be either 0 (no confirmation necessary) or 1 (confirmation necessary)
    These items specify whether ChaosPro pops up confirmation message boxes if deletion operations are performed.

Identificator Responsible for
CNF_DelTask Closing the fractal calculation window (= deleting calculation task)
CNF_DelProj Deleting a fractal project
CNF_DelPic Deleting a fractal data structure from the drop down combo box.
CNF_DelPal Deleting a color map
CNF_DelFrm Deleting a formula
CNF_DelAnm Deleting an animation
CNF_End Exiting ChaosPro

  • ProjectPath path_1;path_2;path_3;…;path_n
    This identifier defines various directories to scan for parameter files (*.par files) at program startup. So if you have a collection of FractInt *.par files and want to automatically load these files at startup of ChaosPro, you can set the project scan path to the corresponding directory/ directories.
  • PalettePath path_1;path_2;path_3;…;path_n
    Same as for ProjectPath: This entry specifies directories to scan for palette files (*.map-files) at startup.
  • FormulaPath path_1;path_2;path_3;…;path_n
    Just the same as before: This entry specifies directories to scan for formula files (*.frm-files) at startup.
  • CompilerFormulaPath path_1;path_2;path_3;…;path_n
    Just the same as before: This entry specifies directories to scan for compiler formula files (*.cfm,*.ctr,*.ccl-files) at startup. It defaults to “ChaosPro\Formulas\Compiler”. Please do not place any *.frm, *.ucl, *.uxf or *.ufm formula file into this search path as then
    ChaosPro will constantly try to convert that file (time consuming and annoying).
  • AnimPath path
    This identifier specifies where animations and animation data files are stored.
  • PicturePath path
    This identifier specifies where images of fractals are stored.

Configuration Settings