jMax jMax documentation

Configuration


Disclaimer

The configuration functionnalities described in this document are based on the current implementation that uses Tcl as a scripting language.

Future versions of jMax will probably provide configuration functionnality in a completely different way by mean of configuration patches.

As a result, the functionnalities described here will change, will be implemented with a different language and/or syntax, or will simply vanish.


Introduction

The system configuration is based on system parameters that can be set

Since a patch can be used on different platforms, platform specific information should not be included in the patches themselves, but specified in site, user or project configuration files.


Host Parameters

Since jMax has a client/server architecture the host parameters are to be set in order to specify the host on which the jMax server should be run. By default this is the local host where jMax is launched (and so the client is started up).

jmaxHost

Specifies the host where to run the server. The value can be either local (default) to specify the host where the client run, or a complete canonical internet name for an other host, like mymachine.mycompany.com.
Beware that jMax currently uses the rsh Unix command to run the server remotely, so in order to work you must set your .rhosts file correctly (see the rsh and rhosts man page for details).

jmaxHostType

Sets the type of the host running the server.
The host type determines the hardware architecture.
See the index of supported host types.

jmaxArch

Sets the hardware architecture of the host running the server.
It is used to choose the proper binaries for the given architecture.
This parameter is set automaticaly and derived from the jmaxHostType parameter, so it must not be set by the user.


Miscellaneous Parameters

jmaxConnection

Choose the kind of connection between the Java client and the server; Supported values are currently udp (default) for an UDP based connection, and client for a TCP based connection. UDP will give a better real time response for controllers. Use TCP only if your network is complex and you need the reialability of a TCP connection.

jmaxSplashScreen

If this value is hide the splash screen will not be shown during startup.
The deafault value is show.

jmaxFastFileBox

If the value is true, the file selection box used by jMax will not shown specific icons for known file types, and will always show all the files in a directory, and not only the files of a known file type, so it's use will be substantially faster.
Depending on your installation, the default speed can be ok, or you may need to specify this option.

jmaxDefaultFont

Specify the default font used in the patch editor.
Default to SansSerif.


Audio Configuration

The following set of commands handles the audio configuration. The first two of them are used to set the audio configuration parameters and should be used before the others.

jmaxSetSampleRate sr

Set the jMax global sampling rate.
(Note: For now, the user himself must keep the sampling rate given for jMax consistent with the settings of the physical device using the utillities provided by the operating system, like the SGI audiopanel application.)

jmaxSetAudioBuffer buf

Set the length of the audio buffer used, i.e. the length, in samples, of the output FIFO used to compensate the variation of load in jMax. Typical values are between 256 and 1024, can be more or less depending on the application.
Lower values cause lower i/o latencies, while higher values reduce possible audio clicks caused by system overloads.

defaultAudio audioPortClass arguments...

Open the default audio port:
audioPortClass is the class of the audio port
arguments... are the instanciation arguments
The audio port class is architecture-dependant.
Current values are:

Refer to the summary patches of these packages for further information on audio port's arguments


MIDI Configuration

These commands handle the MIDI configuration:

defaultMidi midiPortClass arguments...

Open the default MIDI port, i.e. the port used by all the MIDI objects without a MIDI port argument:
midiPortClass is the class of the MIDI port
arguments... are the instanciation arguments
The MIDI port class is architecture-dependant.
Current values are:

Refer to the summary patches of these packages for further information on MIDI port's arguments


Host type

Following host types are defined:

jmaxHostTypemachine CPU jmaxArch
o2r5k SGI O2 R5000 r5k-irix6.5
o2r10k SGI O2 R10000 r10k-irix6.5
octane SGI Octane R10000 r10k-irix6.5
origin SGI Origin 200/2000 R10000 r10k-irix6.5
linuxpc PC Pentium i686-linux


The file .jmaxrc

The user can customize the jMax environment including the configuration parameters in the .jmaxrc file in his home directory:

The configuration parameters set in the .jmaxrc file overwrite the site specific default values (see down) and they are overwritten by values set via the command line.

NOTE: In the current release the system and i/o configuration must be set in the .jmaxrc file.

The file is loaded at startup and can contain any TCL code.
It is possible to declare declare a number of hooks. These hooks contain TCL code that will be executed at precise points during the initialization process. In particular, the start hook is executed after server start and must be used for I/O, environment and package loading purpose.

A template .jmaxrc file is the following:

# Lines starting with # are comments
# --- beginning of .jmaxrc

set jmaxFastFileBox "true"

when start {
if {$jmaxHost == "astor.ircam.fr"} {
# SGI Origin
	jmaxSetSampleRate 44100
	jmaxSetAudioBuffer 1024

	defaultAudio sgiaudioport "RAD2.ADATIn" 8 "RAD2.ADATOut" 8

} elseif {$jmaxHost=="lipari.ircam.fr"} {
# Linux box with a Hammerfall card
	jmaxSetSampleRate 44100
	jmaxSetAudioBuffer 512

	defaultAudio alsaaudioport "hw:0,0" 18 18 S32_LE mmap_noninterleaved
}
}

# --- end of .jmaxrc

Copyright © 1995,1999 IRCAM.
All rights reserved.