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
- 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…
- Windows:
- 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–)