Beta v1.0 Release

Hello All,

We’ve finally reached a point of being able to release a close to fully publicly available beta version of the Max package, including documentation!

For this one I’ve put the binaries on GitHub as a release:

There have be a lot of changes since I last sent round some builds so a change log would be too lengthy - I’ll give headlines here and if you get stuck please ask here or via email off list:

New Features:

  • Multithreading and non-realtime are now included
  • Full set of tutorials and helpfiles (these replace the pdf docs)
  • Cross-frame changes of values on filters (See the tabs on fl.svf~ or fl.biquad~ help patches)
  • IO interpolation for all your subsample accurate needs (probably not worth it for most things, but fl.sink~ and sl.source~ help patches have demos)
  • Many object addtions and rousing out of functionality
  • A few new objects (fl.kernelsmooth~ / fl.makewindow~ / fl.firphase~ / fl.prioritise)

Changes/Review:

All objects have now been reviewed (changes to fl.spatial~ and fl.dispatch~ pending), but other objects should be considered to have a stable interface. Unfortunately, some of the changes (including parameter names, object names and arguments) will break old patches. Listing everything is out of scope, but the main gotchas are listed below. For parameter name changes you should mostly get errors

Key Breaking Changes:

  • Filters substantially reworked and renamed. fl.svf~ replaces fl.sallenkey~ and fl.0dfsvf~ (it is the 0dfsvf code, and the filters work out the same as the salon and key ones).
  • fl.timemean~ / fl.timemedian~ / fl.timestddev~ etc. have additional inputs in the middle which means that they will required re-patching (no error given)
  • fl.emwa~ and fl.ewsd~ are gone and replaced by fl.movingaverage~.
  • fl.window~ now take an exponent inside of a flag to sort the window but in the same argument position (no error given).
  • fl.ticks~ substantially reworked - may need checking if in use in a patch
  • fl.map~ parameters renamed to in_1 / in_2 / out_1 / out_2 (rather than inoo / inhi / outlo / outhi)

To Note:

The builds I’ve posted don’t have the checks of previous testing builds. That means they may run a bit faster. However, there was some slow down in buffer reading due to new features that might counter that. I hope to rework the buffer stuff to regain that speed in the main use case, but I didn’t have time to do it for this version.

Happy FrameLib patching - do get in touch if you have any questions! Please also now feel free to send links on to this to any interested parties (I won’t try to control the distribution as tightly now and I hope soon it’ll be available through the package manager).

6 Likes

Super !!

In a previous version, you had a “examples” folder showing how to deal with descriptors. Was it intended to be removed ?
If I try, I miss these externals: fl.argmax~, fl.accumpoint~, fl.geometricmean~. I suspect they were abstractions.

Thank you so much for that huge work… I will definitely have a closer look for a very precise use I have had in mind since a while.

O.

The removal was intentional for now at least.

There was some renaming at some point for those objects:

fl.argmax~ is now (I think) fl.maxpos~
fl.accumpoint~ is now fl.accumpos~
fl.geometricmean~ is now fl.geomean~

if you are using the binaries, you will need to clear them from quarantine:

xattr -d -r com.apple.quarantine [path/to/extern/directory]

I’m sure most of you know that but hey, I keep having to google it…

Thanks PA - I’m not on a system that does the quarantine. I can look at signing etc., but once I do that I have to move away from 32-bit, which to be honest is probably worth doing anyway, but Max did support 32 bit up to version 7.

Lucky you. Since it was forced upon me I had to change all my workflow and discover all the stuff that is broken. (Thanks to @olilarkin for the iplug2 tricks that allowed me to recode plugs!) But this neat trick is helpful for all the stuff that isn’t signed.

Max8 askes you to clean them per patch upon the first instantiation of the external, but considering the amount there are, it is faster in one batch :slight_smile:

btw do you want strange navigation of tutorials reports here or elsewhere?

Here is fine.

But in a new thread (thanks).

Can you make a github issue or thread here so that I can fix any issues you’re having with tut nav?