User Tools

Site Tools


Release notes

September 2010: Release notes for beta 0.6

This release include a large number of fixes to usability bugs and it introduce a first implementation of the pd externals source level compatibility kit.

The binary has been tested on Debian 5, Fedora, Ubuntu and Ubuntu Studio, Mandriva Spring 2010; check the installation instructions for specific caveats for some of the distributions<


With respect to the work presented to LAC 2009, the 0.6 beta include these major functionalities:

  1. The configuration system has been rewritten to use XML instead of TCL; this will easy the implementation of future configuration graphic interfaces and facilitate the extensions of the configuration data.
  2. A new package system, based on the XML configuration system, has been introduced: packages are deployments units, can contains objects, abstractions, or extensions to the user interface or to the computational kernel. Packages can be distributed as a single file including all the needed resources, and can also be transparently loaded from network repositories. Full applications can also be distributed as packages, even in a single file format.
  3. LADSPA plugins are automatically and transparently integrated as jMax Objects. jMax scan the usual directories, but the behaviour can be configured. LADSPA plugin can even be integrated in package, in order to have a self contained application that can be deployed using a single archive file.
  4. A new object chooser interface component has been implemented, providing search by name, category and type of object, and drag and drop instantiation.
  5. The Help menu has been restructured, and now include example and tutorials from the good old ISPW time. They are not yet updated to all the jMax functionalities (like midi multiport, or custom clocks) but they are at least available.
  6. A new language extension make symbols starting with '@' local to a given patch. This feature is equivalent to the '$0' feature of puredata; on a theoretical basis, jMax do not really need this, because it allows the definition of local names for objects representing resources (like a delay line, a bus, and so on); the problem is that the jMax object set have not been converted to use this mechanism, so in practice is not yet usable. Also, puredata objects compiled for jMax will need this mechanism.
  7. A simplified mechanism for finding abstractions has been implemented: now when a patch is loaded from outside package, its directory is scanned for abstractions (of any kind: ispw, jmax, and puredata). If a patch is loaded from a package, we suppose that the package already provide the needed abstractions.
  8. The user interface has been vastly improved: the menus are much more coherent, a contextual menu offer operations on selected objects. The intbox and floatbox now actually works and are reasonable usable. Editing of objects is more coherent; resize is handled properly without creating multiple line objects. A new scrolling mode has been added: middle mouse click enter in a autoscroll mode like in a web browser.
  9. Error handling has been essentially rewritten to guarantee that any significant error result in an error dialogue and not in a interface freeze.

The developer side

  1. A new generic loader has been written, in Objective C, that allows the implementation of on demands loading and caching for any kind of external resources defining objects (scripts, shared libraries, abstractions, and so on).
  2. The object system API has been fundamentally extended, to include:
    1. the ability to define inlets and outlets in the nstances, and not only in the classes.
    2. the ability to have generic classes, i.e. classes whose implementation depends on the argument type. For example, the '+' class can be implemented by two different classes, one for ints and the other for floats.
    3. A new meta api to call object methods in an object type specific way; this allows to have methods with a different signature that the standard one.
  3. All this mechanisms has been used to implements a first version of a Puredata source compatibility kit; simple objects (those written using only the externalHOWTO document) should compile for jMax without source modification. Check the wiki for more details on how to do this.

Release notes for Version 0.5 beta 1 released: support for LADSPA plugins, Mac OS X version, Object Browser

Note: since the alpha 0.5 snapshots never worked, i merge the announce of the 0.5 beta 1 with the previous text on the alpha. If you read already the announce on the alpha, read again for more details. 0.5 beta 1 solve the linking problem that prevented jMax to works on a file system location different from the build location.

I am pleased the announce the release of jMax Phoenix version 0.5 beta 1, that include a couple of nice step forward for the jMax Phoenix project.

First of all, to simplify versions and tracking on multiple platform, we added a release naming to the revision numbering we used up to now. A release will go thru multiple revision (build) number, and progress, like for other projects, thru a number of alpha, beta, rc, and GA versions.

The first jMax release is called 0.5, like in one half, to say it is still half baked :→. It is a beta now, because feature development is almost frozen (some plumbing work related to bug fixing is still going on). You'll find the download files in the usual sourceforge project site, under the 0.5 Beta 1 folder.

First step, support for LADSPA plugins: LADSPA plugins present on your platform are by default automatically loaded and transparently imported as jMax Phoenix objects. Check this sections for details on how LADSPA plugins are handled.

In order to work with the huge number of objects availables thanks to LADSPA integration (more than 600 with a vanilla Ubuntu Studio 9.04 installation), we added an object browser; the new user interface component is not yet documented, but is very intuitive to use: present the available objects in a list, where you drag a row to an open patch editor to instantiate the object. A search box allows to select objects by content, and a couple of popdown menus allows to select on the object category, package or author. By the way, the patch editor accept now also dragging of text from other application. Such a text will interpreted as a single object description, and the corresponding object will be created.

Please note that an other new functionality is becoming to surface: a View menu that allows to select which part of the user interface are shown. Unfortunately, you'll got the menu only before opening a patch editor, and than it will disappear; the problem need some changing in the way menus are handled, so it require a few days of work in order to be fixed.

Second step: platforms: the 0.5 beta 1 run on Mac OS X Leopard, Linux 32 and Linux 64 bit and Windows, based on the use of cygwin. Snapshots for Linux 64 bits and Mac OS X have been uploaded. The 32 bit Linux and the Windows snapshot will be upload next week. Please notes that snapshot for different platforms may have different revision number; that is normal.

The Mac OS X version is still kind of rough: it is lightely integrated with the Max OS X environment, and it have to be runned from the command line (follows the Linux instructions). More integration will slowly added in the next weeks. jMax should run on Leopard and Snow Leopard, and require Java 6 configured as default virtual machine. This also means that it will never run on Tiger, sorry about that, but no Java 6 is available for Tiger.

LADSPA plugins can be used also on Mac OS X.

Please note: this version is configured to use the default portaudio input output, that should be a reasonable default in each platform. This release use portmidi for midi, but the midi device is not yet configured in the configuration file. You can configure it following the documentation, or wait for the next snapshot.

A final warning: this is a very very first release of both LADSPA integration and Mac OS X porting: it is a snapshot, it is probably unstable, and probably have problems that we have not yet found. We are looking for testers !!!!! Please, contact us if you try to use jMax Phoenix and if does not works as expected, and also if it does works as expected.

Release notes for snapshot 160

This revision complete the migration from tcl to XML for configuration, including I/O configuration and user interfaces. The new I/O configuration simplify the configuration model, providing a simple space of named configuration to select from.

The wiki documentation migrated to the XML model and is being completed with complete documentation of the basic configuration (preferences and so on), i/o configuration, and later packages and user interfaces.

This snapshot is the baseline for the first planned public release of jMax Phoenix and for the Mac OS X (and hopefully Windows) port. No major functional evolution are planned before the Mac OS X port.

Release notes for snapshort 157

This snapshot is the first to be compiled with optimisations. The speed improvement should be around 6 times, from some benchmark i run.

This snapshot was possible thanks to a fix to a bug that happened only with optimisation.

Release notes for snapshort 156

This snapshot have the following important features:

1) Support portaudio. jMax support the default portaudio device at startup, but can be configured to use any audio device seen by portaudio.

2) Support portmidi. jMax can be configured to use all the MIDI connections seens by portmidi. THIS FEATURE IS UNTESTED. Beta tester are welcome, for the moment i do not have a MIDI setup that i can use.

3) Support different vector sizes (buffer size). jMax tradionally supported only 64 sample buffer size, now it can go up to 2048. See the file config/core.xml for how to configure this parameter. Vector size cannot be changed after startup.

I'll soon add some info on the wiki on how to configure the portaudio and portmidi device.

If you do not know, portaudio and portmidi are libraries that transparently access the underlying audio system, allowing to write portable code that run on ALSA, Jack, Core Audio on Mac OS X, various audio systems on Windows etc.

Adding portaudio was a cheap way to support ALSA (and jack if you have the right portaudio library version), and to prepare the porting of jMax to other platforms.

Release notes for snapshot r109

Fixed some user interface coherency issue. Added documentation (on the project wiki).

Release notes for snapshot r107

First public snapshot.

Known Limits

Printing do not yet works in jMax Phoenix.Code Text

Additional Information

project/releasenotes.txt · Last modified: 2018/02/03 09:19 (external edit)