JAME 6.0 RC4
The Java real-time multi-thread fractal graphics platform

Copyright (C) 2001, 2008 Andrea Medeghini
andreamedeghini@users.sf.net
http://jame.sourceforge.net
http://sourceforge.net/projects/jame
http://jame.dev.java.net
http://jugbrescia.dev.java.net

JAME is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

JAME is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details. 

You should have received a copy of the GNU General Public License
along with JAME (see gpl-3.0.txt).  If not, see <http://www.gnu.org/licenses/>.

This product includes software developed by
the Apache Software Foundation (http://www.apache.org/).

This product includes software developed by 
Sun Microsystems, Inc. for JXTA(TM) technology.


Release Notes

This is the list of main features implemented in JAME 6.0:
* JAME is a Java real-time multi-thread fractal graphics platform which supports images and animations. 
* JAME is an OSGi application based on Equinox from Eclipse project (http://www.eclipse.org). 
* JAME implements the fast approximation algorithm used in Xaos (http://xaos.sf.net).
* JAME uses JAI and JMF technologies to encode images and animations. 
* JAME uses Apache Derby database to store clips, profiles and jobs.
* JAME supports layers, group of layers, filters and effects.
* JAME supports network computation based on JXTA (http://jxta.dev.java.net).

This is the list of features not yet implemented:
* The offset parameters of profile are saved but not used
* The bookmarks can't be saved


How to install the application
  
JAME doesn't require installation; you can unzip the archive in your preferred location.
JAME requires a JRE 1.6.0_03 on Windows and Linux or a JRE 1.5.0_13 on Mac OS X, 
a minimum of 512Mb of memory and 50Mb of disk space. You can download the JRE for 
your operating system from this url http://java.sun.com. 
 

How to run the application

In order to run JAME, use the appropriate launcher for your operating system;
Linux, Mac OS X and Windows are supported. If your operating system isn't 
supported, run this command from the command line: 
java -Xmx512M -Djame.splashscreen=true -jar plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar 

If you don't like the Look & Feel of JAME, you can change it! 
Add your Look & Feel in the classpath and run this command from the command line: 
java -Xmx512M -Dswing.defaultlaf=<your preferred look & feel> -jar plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar 
For example, if you want to set Metal Look & Feel run this command:
java -Xmx512M -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dswing.metalTheme=ocean -jar plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar 

If you need to, you can also set these properties in the command line:
-Djame.maxJobCount=N sets to N the maximum number of running jobs in the spool (default is 5)   
-Djame.hcells=N sets to N the number of horizontal tiles of the visualization window (default is 1)
-Djame.vcells=N sets to N the number of vertical tiles of the visualization window (default is 1)
-Djame.splashscreen=true/false enable/disable the splash screen (default is true)
-Djame.workspace=path sets the path of the workspace (default is ${user.home}/JAME-workspace)
-DnavigatorFrame.width=N sets to N the initial width of the advanced configuration window
-DnavigatorFrame.height=N sets to N the initial height of the advanced configuration window
-DserviceFrame.width=N sets to N the initial width of the service window
-DserviceFrame.height=N sets to N the initial height of the service window
-DtwisterFrame.width=N sets to N the initial width of the visualization window
-DtwisterFrame.height=N sets to N the initial height of the visualization window
-DconfigFrame.width=N sets to N the width of the configuration window
-DconfigFrame.minHeight=N sets to N the minimum height of the configuration window
-DconfigFrame.maxHeight=N sets to N the maximum height of the configuration window

If you don't set the workspace path, the first time you run JAME, 
it will create the Derby database in folder ${user.home}/JAME-workspace.
  
The workspace path is saved in the file ${user.home}/JAME.properties.


How to use the application

Read the tutorials, you will learn by examples. 

If you want to use network computation, you have to open the ports 9701 and 9702 
in your firewall and change the job spool from local spool to JXTA spool 
(you can do this from the service window, at the bottom of the jobs tab). 
When you select the JXTA spool, JAME discovers the other instances of JAME 
or the instances of JXTASpool service running on the local network and uses 
them to calculate the images and the animations. 
The JXTASpool service is a specialized version of JAME which doesn't have
a GUI and which can be executed on a server machine (the JXTASpool is 
distributed separately, you can download it from the web site).     

There is the list of keyboard commands for Mandelbrot or Julia images: 
press m to select Mandelbrot mode or reset the view
press j to select Julia mode or reset the view
press o to show/hide the orbit 
press z to enable the zoom mode (select mode will be disabled)
press s to enable the select mode (zoom mode will be disabled)
press p to show/hide the preview
press r to reset the preview
press shift + left/right mouse button on the rendering area to rotate the image 
press ctrl + left/right mouse button on the rendering area to shift the colours
press left/right mouse button on the rendering area to zoom the image
press middle mouse button to move the image
press left/right arrow button to rotate the image
press page up/page down button to shift the colours
press up/down arrow button to zoom the image
press b to show/hide the bookmarks
press shift + left mouse button on a bookmark to remove it
press left mouse button on the preview to change the fractal mode

 
How to build a release

In order to build a release of JAME you have to use Eclipse 3.3.
In Eclipse you can easily build OSGi application; there is a wizard
which helps you to create the bundles and the configuration files needed.
You can run the wizard opening the "JAME.product" file located in plugin 
net_sf_jame_runtime_swing and launching the "Eclipse product export wizard" 
from the first tab "overview"; the wizard will create the JAME folder and 
the launcher for your platform. 
When the wizard finished, copy the plugins and configuration directories in 
your release directory and the launcher scripts from the plugin net_sf_jame_doc.
For Mac OS X copy also the JAME.app from the plugin net_sf_jame_doc.
In order to run JAME from Eclipse on Mac OS X, the Equinox launcher requires a 
different plugins set, so you have to replace the plugin net_sf_jame_launcher_swing 
with the plugin net_sf_jame_launcher_swing_fix.


Known bugs

This is the list of known bugs:
1. JAME doesn't work with GTK Look & Feel. The visualization window is empty.
2. JAME doesn't work properly with JRE 1.5 on Windows and Linux.
3. The Equinox launcher for Mac OS X doesn't work if SWT event loop is not running.
 