< Back to IRCAM Forum

Release of Modalys 3.6.1

Hello happy Modalys users!

Right for the grand opening of Ircam 2021 Forum, Modalys 3.6.1 has just been posted. This is a maintenance release with important fixes and goodies:

  • Medit (3D object visualisation tool)
    • mode visualisation entirely redesigned
    • redesigned grid and axis
    • automatic update
  • Finite elements (3D) fixed on Windows
  • Documentation entirely redesigned
  • Modalys for Max:
    • Improved and new examples
    • More robust path search
    • Enriched mlys.lua API

Best regards,
Robert

Detailed cumulative development build notes for v3.6.x

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

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

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

mod3.6.1

1 Like