< Back to IRCAM Forum

Modalys 3.6.1 b1


Modalys 3.6.1 b1 is available from the beta page.

Notably, this build fixes the finite elements on Windows.
It also brings some cool new features and improvements, mostly on the 3D department.

Happy testing!

cumulative notes for Modalys 3.6 builds


  • 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


  • 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)


  • 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 :wink:
  • 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


  • 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 :wink:
      • 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.

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

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…)

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–)
1 Like

Yes, now mlys.lua examples run under Windows! However the side windows (View object, View Profile) won’t open if the soundcard is not running.

Yes, that is normal, and there is a warning on the patch about it.
Just a matter of getting used ot it!

Hello I have just downloaded Modalys for Windows…how to install it? or how to start it?

Hi Darkod,
Modalys for Max is Max package. Simply add it to the Max ‘Packages’ folder as you would do for any other package :wink:
(and also make sure you’re installing the latest public release, not the beta version!)