iainctduncan/scheme-for-max

Why the change to extension?

Closed this issue · 3 comments

I just saw that you have converted s4m to an extension, but it has the same .mxo suffix. What's the benefit of an extension vs an external in this instance?

Hi, good question! The answer is that the new s4m.grid object requires s4m to have been loaded as both it and the main s4m object understand s4m arrays, which are created and stored in a central registry (much like named tables and colls). This requires the main s4m extension to be loaded before you use an s4m.grid object, so the way to do that (according to the helpful C74 devs, thanks Jeremy!) is to make it an extension that loads on start up. Did you hit an issue with that or anything? I can document this better if it's causing concerns or install problems.

Thanks for your explanation. So it's a just a way of sequencing the extension loading. Makes sense.

Did you hit an issue with that or anything? I can document this better if it's causing concerns or install problems.

I didn't have any issues. I was just curious about the difference between extension and external, which was not clear (at least to me) in the docs.

Great update by the way. I especially liked the ui objects which are very cool! 👍

Correct, without it you had to have an s4m object load in the patch before an s4m.grid.

Thanks for the comments, I'm glad you like the UI object. I have lots of ideas for continuing to improve it too, but suggestions welcome! Future versions will include some way of specifying by row or column what format you want (int, hex, octal, notes) and control of how notes should be displayed for enharmonics (ie Gb or F#, etc)