< Back to IRCAM Forum

Modalys 3.6.0.b13

Hello Modalys lovers!

Modalys beta v. 3.6.0.b13 is available from the modalys beta project page .

Highlights for this release are:

  • Easy creation of 3d sounding objects with parametric curve with mlys.lua (–> “lua_3d_parametric_object” example)
  • Many bug fixes (notably in Modalys for Max)
  • mlys.lua Max object almost feature complete (–> “lua_test_all” example)

NB: Windows is still a bit behind as I am trying to fix the finite element library compilation there…

Best,
Robert

cumulative notes for Modalys 3.6 beta

3.6.0.b8…b13:

  • mlys.lua :
    • new ParametricCurve 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.
  • 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…)
  • Modalys for Max: an old bug has been fixed that explain some strange past behaviors!

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

1 Like

Amazing Robert!

I can finally report that it finally works for me (on a macbook pro 2013!)

Big days ahead!

looks promising! Is there a reference for modalys-lua-functions? hopefully you can release very soon.:slight_smile: cheers

Hi Maestro Rulez,

The last step before release for me is indeed to provide with some more documentation. But it a is huge task for mlys.lua, it is a brave new continent! So the idea is to have a minimalist Max help file, along with as many examples as possible. (And of course, anyone should feel free to provide with additional examples than I’d be glad to include in the official release! :innocent:)

Also I would like to include some of your great tutorials. Perhaps a new “Modalys video tutorials” item in “Extras” menu? What say you?

Best,
Robert

Hey Robert,
you are welcome to use/make links to any of my tutorials. :slight_smile: maybe it would be good to even have a simpler lua-example like a simple 3d-cymbal shown in both lisp and lua side to side?
cheers
Olav

Bonjour Robert, en effet je pourrait m’imaginer de faire un tutoriel de mlys.lua 3D mais pour l’instant je n’y vois pas encore assez clair. J’ai pu un peu parcourir les modules lua “tools.lua” et aussi “mlys-lua-init.lua” et il y a pas mal de fonctions que je reconnais, mais beaucoup de code où je me retrouve à me gratter la tête :smiley: (ce qui ne veux rien dire, car je ne suis pas trop qualifié en codage)… mais il me semble qu’au lieu de commencer au 'single-point et continuer avec duplicate 'translation/'rotation etc. on travaille plutôt avec la fonction “ParametricCurve”. Pour à la fin compléter avec “modalys.extend-mesh”, ce qui me semble correspondre au “duplicate 'rotation” qu’on emploie souvent dans modalisp?
On pourrait par la suite peut-être envisager une documentation en forme de commentaires élaborés dans les fichiers “tools.lua” et “mlys-lua-init.lua”?
cheers

Olav