Modalys

R

Creating virtual music instruments based on physical models

Instruments virtuels Software

Release notes

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

Loading the project README...

An error occurred while trying to load this project README.