< Back to IRCAM Forum

Modalys 3.6.0.b12

Hi there!

The new Modalys beta version 3.6.0.b12 is available from the modalys beta project page .

Highlights for this release are:

  • compatibility with macOS Big Sur (including on newest ARM machines…)
  • matured mlys.lua Max object. Check out the attached “lua_test_all” patch to see where we are at.
  • fixed violin bridge object

Best,
Robert

cumulative notes for Modalys 3.6 beta

3.6.0.b8…b12:

  • 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…)
  • mlys.lua :
    • 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)
    • 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–)

lua_test_all.maxpat (16.0 KB)

1 Like

Hey Robert!

Personally I am still having issues with the lua_pitched3d_bell.maxpat.
I have not managed to load it yet. My computer freezes.

Also, on the lua_view3d.maxpat, the applyenvelope function has no effect on the bells.

I suspect that this message has something to do with it:

modalys~: sample rate switched from [6.95028e-310] to [1.9098e-312]. Please reload your modalys script.

My specs are:

Macbook Pro Retina (2013), 16GB RAM
OS 10.14.6
Max 8.1.8. 64-bit
UAudio Apollo Twin

Emiddio

Hi Emiddio,

I did not have time to look into these 2 issues (the Big Sur/ARM subject kept me busy…)
I will soon!

Thanks for your patience and testing!
Robert

1 Like

hello,

The test patch doesn’t work for me. I get this when I run it.

--- bach: automated composer's helper ---
© 2010-2020 - Andrea Agostini and Daniele Ghisi
♥ Thank you so much for supporting us on Patreon! ♥
v0.8.1.3 beta
harmonic-oscillator not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "harmonic-oscillator"
clone not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "clone"
violin-bridge not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "violin-bridge"
cello-bridge not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "cello-bridge"
circ-membrane not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "circ-membrane"
rect-membrane not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "rect-membrane"
rect-free-bar not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "rect-free-bar"
clamped-circ-plate not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "clamped-circ-plate"
free-circ-plate not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "free-circ-plate"
closed-closed-tube not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "closed-closed-tube"
closed-open-tube not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "closed-open-tube"
open-open-tube not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "open-open-tube"
radiator not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "radiator"
jet not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "jet"
*** ERROR: invalid cast from 's' to 'd', please check your arguments
***
*** ERROR: invalid argument type for function
***
*** ERROR: in modalys_make_controller [DYNAMIC]
***
*** ERROR: Bad controller reference!
***
*** ERROR: 
***
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
pluck not implemented in mlys.lua yet!
spring not implemented in mlys.lua yet!
bow not implemented in mlys.lua yet!
felt not implemented in mlys.lua yet!
mlys.lua - end of test!
modalys~: sample rate switched from [6.95326e-310] to [0]. Please reload your modalys script.
harmonic-oscillator not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "harmonic-oscillator"
clone not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "clone"
violin-bridge not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "violin-bridge"
cello-bridge not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "cello-bridge"
circ-membrane not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "circ-membrane"
rect-membrane not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "rect-membrane"
rect-free-bar not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "rect-free-bar"
clamped-circ-plate not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "clamped-circ-plate"
free-circ-plate not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "free-circ-plate"
closed-closed-tube not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "closed-closed-tube"
closed-open-tube not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "closed-open-tube"
open-open-tube not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "open-open-tube"
radiator not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "radiator"
jet not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "jet"
*** ERROR: invalid cast from 's' to 'd', please check your arguments
***
*** ERROR: invalid argument type for function
***
*** ERROR: in modalys_make_controller [DYNAMIC]
***
*** ERROR: Bad controller reference!
***
*** ERROR: 
***
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
pluck not implemented in mlys.lua yet!
spring not implemented in mlys.lua yet!
bow not implemented in mlys.lua yet!
felt not implemented in mlys.lua yet!
mlys.lua - end of test!
harmonic-oscillator not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "harmonic-oscillator"
clone not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "clone"
violin-bridge not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "violin-bridge"
cello-bridge not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "cello-bridge"
circ-membrane not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "circ-membrane"
rect-membrane not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "rect-membrane"
rect-free-bar not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "rect-free-bar"
clamped-circ-plate not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "clamped-circ-plate"
free-circ-plate not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "free-circ-plate"
closed-closed-tube not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "closed-closed-tube"
closed-open-tube not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "closed-open-tube"
open-open-tube not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "open-open-tube"
radiator not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "radiator"
jet not implemented in mlys.lua yet!
︎mlys.lua - function "create_object" returned null with type "jet"
*** ERROR: invalid cast from 's' to 'd', please check your arguments
***
*** ERROR: invalid argument type for function
***
*** ERROR: in modalys_make_controller [DYNAMIC]
***
*** ERROR: Bad controller reference!
***
*** ERROR: 
***
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
︎mlys.lua - function "create_access" returned null.
pluck not implemented in mlys.lua yet!
spring not implemented in mlys.lua yet!
bow not implemented in mlys.lua yet!
felt not implemented in mlys.lua yet!
mlys.lua - end of test!
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: access controller does not have the right dimension
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
bow not implemented in mlys.lua yet!
felt not implemented in mlys.lua yet!
mlys.lua - end of test!
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: access controller does not have the right dimension
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
bow not implemented in mlys.lua yet!
felt not implemented in mlys.lua yet!
mlys.lua - end of test!
modalys~: sample rate switched from [6.95326e-310] to [0]. Please reload your modalys script.
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: access controller does not have the right dimension
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
bow not implemented in mlys.lua yet!
felt not implemented in mlys.lua yet!
mlys.lua - end of test!
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: access controller does not have the right dimension
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
bow not implemented in mlys.lua yet!
felt not implemented in mlys.lua yet!
mlys.lua - end of test!
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: access controller does not have the right dimension
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
bow not implemented in mlys.lua yet!
felt not implemented in mlys.lua yet!
mlys.lua - end of test!
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: access controller does not have the right dimension
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
*** ERROR: unknown keyword for info
***
*** ERROR: access type is incorrect for this object
***
bow not implemented in mlys.lua yet!
felt not implemented in mlys.lua yet!
mlys.lua - end of test!

Thank you in advance,

I use a MacMini on Catalina, Max 8.1.8, Modalys package up tu date, of course…

Best,

Jerome

Hi Jerome,

Well that is a lot of errors! It looks like mlys.lua is not seeing the right path or something. Did you place modalys package somewhere exotic?
A fresh install on a Mac Mini M1 (arm) with Big Sur works as expected for me (only felt and bow are not hooked up yet, that is normal…)

My modalys package is here : /Users/[username]/Documents/Max 8/Packages/modalys

Robert

Hello Robert,

  • Modalys~ works well with extra menu instrument series for example and my own patches.
  • I’ve just re-tested the patch and I have exactly the same as your picture.
  • The default path is ok for me

And everything seems normal, now… Maybe it was due to the fact that I was launching the new package for the first time. I’ve had this problem with other packages before. It bugs the first time and not after.

Best, thank you very much.

Jerome

All’s well’s that ends well!
:partying_face:
Stay tuned for beta 13…

1 Like