Modalys

Back to the project

Modalys 3.6.1

Modalys 3.6.1 for Mac and Windows

${state.error} An error occurred while trying to delete the release, try again. If this keeps happening, please contact us.

Release notes (Modalys 3.6.1)


Cumulative release notes for Modalys 3.6.x

3.6.1.rc3 && rc4
- mlys.lua: compute_modes is now automatic when invoking create_object
- full utf8 support for paths
- medit/view mode: frequency info

3.6.1.rc2
- view mode (3D/finite elements): if the "amp" parameter is omitted or zero, it is now automatically computed.
- mlys.lua: missing connections, objects & controllers in the lua API:
* point-input
* controllers: signal, access-speed, access-position, access-force, sine, random

3.6.1.rc1
- Mac installer failed under certain versions of macOS
- Modalys for Max/Windows: reintroducing mlys.expression for legacy purpose

3.6.1.b2
- medit/3D
* new examples based on .obj (generated with Blender)
* misc. improvements
* mode visualization fixed (Windows)
- documentation : entirely new doc framework based on markdown, with best user experience. This also allows for the future:
* multiple language
* multiple view (lisp vs lua vs max)
* easy maintenance

3.6.1.b1
- medit
* automatic update
* improved grid & axis
* mode visualization is back!
- finite element (3D): fixed on Windows!
- Modalys for Max:
* sample rate change led to confusing modalys~ messages
* improved and new examples


3.6.0.rc2
- finetuned max help files (thanks to b_hagerty!)
- new example: lua_3d_cymbal_from_obj_file
- medit: new UI items (build & file info at opening)

3.6.0.rc1
- general engine : change of temporary folder (safer...)
- updated documentation
- medit:
* new smooth overlays added: help, item info.
* new display of accesses as blinking yellow blobs
* new display of holding points (boundary conditions) as small red blobs
* redesigned axis display
* redesigned grid display
* lots of fixes on Windows ;-)
- 3D finite elements:
* "restrict-line" fixed
- Modalys for Max:
* getting an object's reference by name could fail.
* new lua examples added
* mlys.lua : avoidance of modalys object name duplicates (with warning)
* mlys help files reviewed and cleaned up

3.6.0.b8...b14:
- mac installer: automatic installation of modalys Max package (by scanning default locations)
- compatibility with macOS 10.15 Catalina and macOS 11 (Big Sur), including when running under "rosetta2" emulation on a new ARM mac machine.
- fully notarized installer
- recompiled, correctly codesigned Modalisp and Medit
- updated Matlab objects (64bit)
- fixed violin bridge object (long-standing issue...)
- Medit (mesh visualization):
* code up-to-date
* medit.exe on Windows (long overdue...)
* new help overlays
- Modalys for Max:
* Windows:
+ another looong overdue: finite elements on Windows ;-)
+ externals have been entirely recompiled to reflect latest features and fixes
* new Max 'extra': Modalys tutorials (thanks to Olav Lervik!)
* an old bug has been fixed that could explain some strange past behaviors...
- mlys.lua :
* new examples
* new Parametric2dCurve class for easy 3d object construction (see the lua_3d_parametric_object example)
* return value from (update() function) did nothing!
* the dimension parameter of a mlys.lua object is now automatic if "-1" is set (which is by default for new objects).
* mlys.get_info can now return strings (and, of course, numbers)
* bow and felt connections implemented
* moved from luajit to moonjit lib
* new function modalys.view_mesh(--mesh ref--): to invoke Medit
* new object modalys.inlet_observer to monitor inlet updates. With "modalys.inlet_observer.callback = my_callback" you shall assign a callback of your own receiving 2 parameters: inlet# and current float value.

3.6.0.b7:
Modalys for Max
- mlys.lua:
* "mlys" alias namespace created. So instead of "modalys.freq_to_midi", you may write the more compliant "mlys.freq_to_midi"
* aliases added to functions, to match legacy namings: modalys <-> mlys, make_object <-> create_object,
make_connection <-> create_connection, make_mesh <-> create_mesh, make_point_output <-> create_point_output, extend_mesh <-> create_mesh

3.6.0.b6:
Modalys for Max
- a long-standing request: modifying an attribute in mlys.expression (and now mlys.lua) doesn't erase the script content anymore!
- mlys.lua:
* improved stability.
* modalys.release now accepts any series of item references. For instance modalys.release(mystring,mymesh,ctrl1)
* new function modalys.compute_modes(--object reference--)
* new function get_pitched_finite_element_object(--parameters--). Parameters are: "mesh", "name", "block" (a mesh that describes the fixed nodes), "midinote" or "frequency", "modes" (amount), "thickness" (for 2D mesh), "density", "young", "poisson", "constloss", "freqloss".
* new function modalys.freeze_object(--object reference--) For now, it is only for actual objects (strings, tubes etc.) but the plan is to extend it to access and controllers.
* new function modalys.get_mesh(--object reference--) to get the mesh reference of a given 3D-based object.
* new objects implemented in create_object (more to come...)
* new connections implemented in create_connection (more to come...)

3.6.0.b4:
Modalys for Max
- mlys.lua
* new function modalys.midi_to_freq(--midi note--)
* new function modalys.freq_to_midi(--freq--)
* new function normalised_random()
* new function modalys.create_access(--parameters--). Parameters are: "kind" (normal, trans0 etc.), "where" (object ref), "name", "location"/"position" (can 1- or 2-dimensional, or a node etc.)
* new function modalys.create_point_output(--parameters--)
* new function modalys.create_object(--parameters--)
* new function modalys.create_connection(--parameters--)
* new function modalys.create_mesh(--parameters--)
* new function modalys.extend_mesh(--parameters--)
* new function modalys.transform_mesh(--parameters--)
* new function modalys.save_mesh(--parameters--). Parameters are: "mesh", and "path" (can be relative).
* new function modalys.create_connection(--parameters--)

Modalys 3.6.0.rc2

Modalys v3.6.0 (rc2) for Mac & Windows

${state.error} An error occurred while trying to delete the release, try again. If this keeps happening, please contact us.

Release notes (Modalys 3.6.0.rc2)

Modalys v.3.6.0
Main bullet points for this release:
- New features:
* mlys.lua object allowing scriptural approach to real-time lutherie, sample-by-sample control, 3D construction and ultra-fine instrument design.
* growing number of examples and documentation goodies (new tutorials and updated help files)
* entirely redesigned Medit application (3D meshes viewer): visualisation of accesses and holding points (boundary conditions), new cool overlay for file & picked item info, keyboard shortcut, new axis view etc. Also now available on Windows and can be invoked from within Max.
* .obj 3D mesh files can now be imported (from Blender or Rhino for instance)
- Other improvements & changes:
* compatible with latest Mac OS (Catalina & Big Sur, also on ARM computers)
* Windows Modalys for Max project entirely recompiled and updated (including finite element and lua)
* Matlab objects updated
* Improved overall stability


Detailed cumulative development build notes for v3.6.0

3.6.0.rc2
- finetuned max help files (thanks to b_hagerty!)
- new example: lua_3d_cymbal_from_obj_file
- medit: new UI items (build & file info at opening)

3.6.0.rc1
- general engine : change of temporary folder (safer...)
- updated documentation
- medit:
* new smooth overlays added: help, item info.
* new display of accesses as blinking yellow blobs
* new display of holding points (boundary conditions) as small red blobs
* redesigned axis display
* redesigned grid display
* lots of fixes on Windows ;-)
- 3D finite elements:
* "restrict-line" fixed
- Modalys for Max:
* getting an object's reference by name could fail.
* new lua examples added
* mlys.lua : avoidance of modalys object name duplicates (with warning)
* mlys help files reviewed and cleaned up

3.6.0.b8...b14:
- mac installer: automatic installation of modalys Max package (by scanning default locations)
- compatibility with macOS 10.15 Catalina and macOS 11 (Big Sur), including when running under "rosetta2" emulation on a new ARM mac machine.
- fully notarized installer
- recompiled, correctly codesigned Modalisp and Medit
- updated Matlab objects (64bit)
- fixed violin bridge object (long-standing issue...)
- Medit (mesh visualization):
* code up-to-date
* medit.exe on Windows (long overdue...)
* new help overlays
- Modalys for Max:
* Windows:
+ another looong overdue: finite elements on Windows ;-)
+ externals have been entirely recompiled to reflect latest features and fixes
* new Max 'extra': Modalys tutorials (thanks to Olav Lervik!)
* an old bug has been fixed that could explain some strange past behaviors...
- mlys.lua :
* new examples
* new Parametric2dCurve class for easy 3d object construction (see the lua_3d_parametric_object example)
* return value from (update() function) did nothing!
* the dimension parameter of a mlys.lua object is now automatic if "-1" is set (which is by default for new objects).
* mlys.get_info can now return strings (and, of course, numbers)
* bow and felt connections implemented
* moved from luajit to moonjit lib
* new function modalys.view_mesh(--mesh ref--): to invoke Medit
* new object modalys.inlet_observer to monitor inlet updates. With "modalys.inlet_observer.callback = my_callback" you shall assign a callback of your own receiving 2 parameters: inlet# and current float value.

3.6.0.b7:
Modalys for Max
- mlys.lua:
* "mlys" alias namespace created. So instead of "modalys.freq_to_midi", you may write the more compliant "mlys.freq_to_midi"
* aliases added to functions, to match legacy namings: modalys <-> mlys, make_object <-> create_object,
make_connection <-> create_connection, make_mesh <-> create_mesh, make_point_output <-> create_point_output, extend_mesh <-> create_mesh

3.6.0.b6:
Modalys for Max
- a long-standing request: modifying an attribute in mlys.expression (and now mlys.lua) doesn't erase the script content anymore!
- mlys.lua:
* improved stability.
* modalys.release now accepts any series of item references. For instance modalys.release(mystring,mymesh,ctrl1)
* new function modalys.compute_modes(--object reference--)
* new function get_pitched_finite_element_object(--parameters--). Parameters are: "mesh", "name", "block" (a mesh that describes the fixed nodes), "midinote" or "frequency", "modes" (amount), "thickness" (for 2D mesh), "density", "young", "poisson", "constloss", "freqloss".
* new function modalys.freeze_object(--object reference--) For now, it is only for actual objects (strings, tubes etc.) but the plan is to extend it to access and controllers.
* new function modalys.get_mesh(--object reference--) to get the mesh reference of a given 3D-based object.
* new objects implemented in create_object (more to come...)
* new connections implemented in create_connection (more to come...)

3.6.0.b4:
Modalys for Max
- mlys.lua
* new function modalys.midi_to_freq(--midi note--)
* new function modalys.freq_to_midi(--freq--)
* new function normalised_random()
* new function modalys.create_access(--parameters--). Parameters are: "kind" (normal, trans0 etc.), "where" (object ref), "name", "location"/"position" (can 1- or 2-dimensional, or a node etc.)
* new function modalys.create_point_output(--parameters--)
* new function modalys.create_object(--parameters--)
* new function modalys.create_connection(--parameters--)
* new function modalys.create_mesh(--parameters--)
* new function modalys.extend_mesh(--parameters--)
* new function modalys.transform_mesh(--parameters--)
* new function modalys.save_mesh(--parameters--). Parameters are: "mesh", and "path" (can be relative).
* new function modalys.create_connection(--parameters--)

v3.5.0.rc1

Mac OS X / Windows

${state.error} An error occurred while trying to delete the release, try again. If this keeps happening, please contact us.

Release notes (v3.5.0.rc1)

None

v3.3.0.1.rc1

Mac OS X

${state.error} An error occurred while trying to delete the release, try again. If this keeps happening, please contact us.

Release notes (v3.3.0.1.rc1)

None

v3.3.1.0.rc3_32bit

Mac OS X

${state.error} An error occurred while trying to delete the release, try again. If this keeps happening, please contact us.

Release notes (v3.3.1.0.rc3_32bit)

None

v3.4.0.rc2

Mac OS X

${state.error} An error occurred while trying to delete the release, try again. If this keeps happening, please contact us.

Release notes (v3.4.0.rc2)

None

v3.4.1

Mac OS X / Windows

${state.error} An error occurred while trying to delete the release, try again. If this keeps happening, please contact us.

Release notes (v3.4.1)

None

v3.4.2

Mac OS X / Windows

${state.error} An error occurred while trying to delete the release, try again. If this keeps happening, please contact us.

Release notes (v3.4.2)

None

v3.4.3.rc3

Mac OS X / Windows

${state.error} An error occurred while trying to delete the release, try again. If this keeps happening, please contact us.

Release notes (v3.4.3.rc3)

None

v3.4.4.rc2

Mac OS X / Windows

${state.error} An error occurred while trying to delete the release, try again. If this keeps happening, please contact us.

Release notes (v3.4.4.rc2)

None

v3.5.1-rc4

Mac OS X, Windows

${state.error} An error occurred while trying to delete the release, try again. If this keeps happening, please contact us.

Release notes (v3.5.1-rc4)

General
* Mode amplitudes can now be changed dynamically for all objects (using set-info).
* No more software protection needed (as part of the general IRCAM Forum policy.)

ModaLisp
* A major bug had been introduced in the last version of ModaLisp… :-o It’s safe now!

Modalys for Max (“mlys” collection of objects)
* New examples (mostly non linear situations, using mlys.expression controller)
* Improved help objects.
* modalys~: better path management (when using the read or open message).
* Fixed getinfo “force” and “access-force”.
* New getinfo message for connection state. Ex: getinfo state Pluck
* mlys.script: isolated mlys objects are now (really) ignored!
* mlys.expression:
- writing expressions is now much easier using the text editor (just double-click the object to edit the script, and close it to confirm the changes).
- It is no longer necessary to add a “;” after an expression: within the editor, just go the next line!
- New random(x) fonction, returning a positive random number < x.
- After “if” or “while”, you may add “then” or “do” and break the line (just for clarity, but this is not mandatory!)
- Access position, speed or force values are available through getinfo (with “access-speed”, “access-force”, “access-position” specifiers).
- You can comment a line using C style “//”.
* New mlys.phasor object: this controller generates a sawtooth signal from 0 to 1. It is typically used as input to mlys.expression has a cyclical time basis, and this is part of our effort to improve the mlys.expression controller. The reason is that when using get-info(“time), the floating point resolution is generally not enough and leads to important errros over time. Using mlys.phase avoid this problem.mlys.phasor has two parameters: frequency and phase. The phase is typically zero but can be adjusted between 0 and 1 to create a phase shift (when several phasors are used). These parameters can be adjusted in real time using the standard mlys parameter mechanism.