===== The jMax Phoenix User Interface =====
The main improvement in the current snapshot relase of jMax Phoenix is the
user interface.
jMax Phoenix introduce the concept of User Interface Style: a style is a
way to arrange and manage the set of jMax editors and tools.
A style is implemented using a user interface container, a framework that
actually handle the component management. Many different styles can be built
using the same container.
Current snapshot include four user interface style, built using two
different containers, and allows the implementation of custom styles.
==== Classic Style ====
The first container implements the classic Max user interface: each
editor and tool opens in an independent window, and the set of opened
windows represents the user interface of the running application.
This behavior is maintained for compatibility with the standard Max
behavior, but it may also be appropriate for some application,
especially as an execution environment.
The classic environment can be declined in a family of styles:
the default one keeps the Max console at the center of the user
interaction. Other configurations are possible, for example a
tool-less configuration that opens only application windows at start
up, or an user interface where the project browser takes the place of
the console.
To run jMax in this configuration, you can invoke jMax with the following option
jmax -jmaxStyle classic
or include in your .jmax/xml file the following fragment:
....
....
....
....
==== Virtual Desktop Style ====
It is a variation on the above: the behaviour is the same but all
the windows are included in a virtual desktop within a single
window; this allow a simpler interaction with the rest of the desktop
(for example, reducing the window take all the jMax windows out of the way).
To run jMax in this configuration, you can invoke jMax with the following option
jmax -jmaxStyle desktop
or include in your .jmax/xml file the following fragment:
....
....
....
....
==== IDE Desktop Style ====
The IDE style takes over the principles from classic
IDEs like Eclipse and Netbeans. On the left panel, a browser allows
full navigation in the application. The tools, like the console, the
find and control panels and the others are grouped in the tool panel
on the bottom and organized using tabs. The center area is organized
as a virtual desktop, containing the individual patchers in
independent windows.
An improved, global status bar allows a quick check of essential parameters,
like DSP status, sampling frequency, latency and so on; mouse over the
dsp icon (a little loudspeaker) for details on DSP.
This configuration can be seen as a development environment for
applications to be used in the classic or in a custom configuration,
providing a faster and clearer access to the available tools, and a simpler
interaction with the OS environment.
Here is nice screen copy of this style:
{{:user:workspace2.png|}}
To run jMax in this configuration, you can invoke jMax with the following option
jmax -jmaxStyle ide
The ide style accept two optional command line arguments to set the main window size,
like in:
jmax -jmaxStyle tabbedIde -jmaxWidth 800 -jmaxHeight 600
or include in your .jmax/xml file the following fragment:
....
....
....
....
==== IDE Tabbed Style ====
As a variation, the tabbed IDE style (screen shot 2) keeps the same
configuration, but organizes the different panels in a tabbed panel
instead of a virtual desktop area. This allows an optimal use of the
available screen space, making it especially adapted to small laptop
screen, and allowing an easier navigation. A graphic tool-tip allows
the inspection of a tab content without changing the open tab.
Here is nice screen copy of this style:
{{:user:tabbed.png|}}
To run jMax in this configuration, you can invoke jMax with the following option
jmax -jmaxStyle tabbedIde
The tabbedIde style accept two optional command line arguments to set the main window size,
like in:
jmax -jmaxStyle tabbedIde -jmaxWidth 800 -jmaxHeight 600
or include in your .jmax/xml file the following fragment:
....
....
....
....
==== Roll your own Styles ====
User interfaces are defined in the jMax configuration styles.
The above styles are defined with a few lines of XML in the ''config/jmax.xml'' configuration
file.
It is easy to use to define your own interface styles in the same way, for example to
arrange sub panels in an application specific way, using some lines
in the configuration file (no Java code).
The way to configure new user interface styles [[CustomUIConfiguration | is documented here ]].
You can see a working example by loading the examples/package/customide directory in the
distribution.