jMax Phoenix platforms and portability
Saturday, August 16th, 2008As of today, we don’t know if jMax Phoenix will succeed in having a reasonable developer community. For this reason, the objectives in term of platform and portability are reduced, they may be revised later if resources are availables.
The target platform is Linux. Development is currently done on Xubuntu on amd64, and personally plan to shif to Studio 64. The strategic objectives are to cover all the main Linux distributions, 32 and 64 bits.
Today jMax is pretty open in terms of I/O systems, but future evolutions will tie it more to jack and to callback audio systems. The basic compilation environment will be gcc, and no effort will be done to be compatible with other compilers. Future versions will be heavily based on Posix Threads.
For what regard other operating systems, only environments based on gcc/jack will be supported, if we find developers willing to help. So, MacOSX yes, Windows with some limitation.
Remember anyway that the graphic UI of jMax is written in Java, and portable to all environments supporting Java 6. The UI is even able to connect thru the network to the computational server, so you may image in the future the UI running on a Windows laptop with the computation done in a back end 8 cores Linux server.
We do not plan integration with Windows or MacOSX specific I/O subsystems or plugin standards, like ASIO or VST.
We do not plan directly supporting non-jack audio or Midi I/O on Linux. We do plan to integrate support to host LADSPA plugins as jMax objects.
Producing LADSPA plugin from jMax patch is an interesting strategic direction, under the condition that we are able to compile a patch and produce an atomic object (to really use the plugin as an independent object that do not need the jMax UI, and for performance reasons).