Max 6.0.7 Released

Ben Bracken's icon

We are happy to announce the release of Max 6.0.7! This release represents over 180+ bug fixes, and 80+ new features. Highlights include a complete overhaul of Gen, many new Physics features/refinements, and new Vizzie modules and features! Please see the release notes below.

You can download it here:
https://cycling74.com/downloads/

Enjoy!

-Ben

Max 6.0.7 release notes:

NEW FEATURES:

• buffer~: new 'offset' function to add a constant
• capture: precision attribute allows you to set the floating point precision
• coll: improved user experience for syntax errors
• cycle~: wavetable size attribute
• debugger: shows subpatcher when debugger steps into it
• function: cursor attribute
• function: line attribute
• function: linethickness attribute
• function: new features (curve, grid, snap2grid, copy/paste, quantization, line...)
• ggate and gswitch: UI updates
• installer: Mac 10.8 (Mountain Lion) OS compatibility
• Live.menu & umenu objects's popup corners are now transparent
• live.step: binary mousing
• live.step: bipolar display
• live.tab, live.text and live toggle: rounded attribute
• mouse cursor: changes when text editing is started
• nodes: no longer display the cursor while dragging
• nodes: Nodes object box can now be rectangular
• Parameter view: speedlim and defer now settable for enum-parameters
• playbar: refreshrate attribute
• polybuffer~: sends a bang when dropping file/folder in the window
• Projects: preference for Project default locations
• tab: fadeunselect and fadetime attributes for animation
• text: precision attribute allows you to set the floating point precision
• ubutton: rounded attribute
• wave~: cubic interpolation mode
• waveform~: linecolor attribute
• zl.scramble: output a list of indices to the right outlet

VIZZIE FEATURES:

• New modules: CROPPR and WYPR
• Vizzie now functions as an abstraction (vz.)
• Fully commented/hinted inlets and outlets
• All generator modules now have data inlets to set the operating parameters
• All modules now take ints (0/1) from a toggle to stop/start operation (the "stomp box switch")
• All modules with presets now take a message to choose presets
• All modules with presets now take a message to interpolate between two presets
• Selectable VIEWR window sizes

GEN FEATURES:

• Code Sidebar
• gen~ recompiles if vs/sr changes
• gen~: Data, Buffer, and Delay are now supported in GenExpr code
• gen~: poke and splat support @index attributes like peek, sample etc
• GenExpr branching: if(expr) {} else {}
• GenExpr Break / continue statements: for(...) { break/continue; }
• GenExpr Loops: while(cond) {}, for(i=0; i < 10; i+=1) {}
• Improved compile error reporting
• Jitter Gen: gate and selector operators
• New data typing
• New examples
• Object argument expressions: [+ pi/2], [param foo @min 0 @max pi*2]
• send/receive: only works within the same patch (not cross patchers or patcher to sub-patcher)
• Subpatchers (embedded and abstractions)
• User Functions

JITTER FEATURES:

• jit.anim.path - @position, @quat and @scale attributes
• jit.anim.path and jit.anim.drive: @eval_report attribute
• jit.anim.path and jit.anim.drive: target objects now updated wirelessly
• jit.gl.*: better handling of mouse picking in opengl context window and @ui_priority attribute
• jit.gl.*: gl object matrixoutput notifications
• jit.gl.cornerpin: @corner_color attribute
• jit.gl.cornerpin: @drawcorners mouse mode and @mousereport attribute
• jit.phys.6dof: spring motor feature
• jit.phys.body: @collisions attribute to support individual body collision dictionary output
• jit.phys.body/jit.phys.multiple: local_scaling attribute for more accurate and efficient scaling
• jit.phys.constraint: @strength and @stretch attributes
• jit.phys.constraint: @worldpos and @worldquat attributes
• jit.phys.ghost: @central_exp and @central_mode attributes added to adjust central force
• jit.phys.ghost: shape can be convexhull or concave
• jit.phys.multiple: @constraint attribute for creating constraints between bodies
• jit.phys.multiple: body names now created using matrix cell address
• jit.phys.multiple: mesh matrix input for drawing multiple mesh shapes
• jit.phys.picker and jit.gl.picker: mouse up notification
• jit.phys.picker: @enable attribute
• jit.phys.world: @collision_mode attribute for extended collision info
• jit.phys.world: @raytest_mode attribute
• jit.phys.world: collision force and normal added to collision dict
• jit.phys.world: collisions dictionary accessible in javascript
• jsjitter: anim.path js support
• jsjitter: Jitter physics objects in javascript
• jsjitter: ob3d matrixoutput notify for javascript
• New examples

BUGS FIXED:

• abstractions: properly updates when window closed then saved
• allpass~: fix for incorrect step-response
• attrui: drawing enhancements
• attrui: number text reappears properly after undo
• audio: fixed deadlock when closing a patcher with the Audio running
• audio: fixed error when starting audio in a subpatcher
• auto-completion: fixes for slowness
• auto-completion: works with shortcuts
• autocompletion: down arrow key in object box no longer duplicates box text
• average~: no longer reports negative zero in absolute mode
• bpatcher in Max For Live: can map through
• bpatcher: click through on empty bpatcher works
• bpatcher: double-clicking in explorer window no longer adds a @name argument
• bpatcher: fixed crash entering text after bpatcher is deleted
• bpatcher: fixed number box output issues when clicking on a toplevel UI
• capture: no longer crashes when trying to display very long text
• cellblock: resizing the object refreshes properly in in-line edit mode
• change: sending set with no args no longer crashes
• codebox: pasting into codebox works when multiple views are shown
• coll: fixed crash when 'refer' message is sent from scheduler and main thread at the same time
• coll: no longer crashes when receiving a nth message with wrong arguments
• count~: attributes typed in object box are now recognized
• cursor: positioning fixes
• cycle~: phase no longer clipped
• database: launch optimizations
• DB search: improved performance on PC
• debugger: animation improvements
• debugger: fixes for disappearing patch cords
• debugger: prevention for auto-debug on patcher loading
• dict: exposed "append" method to js
• dict: fixed 'pull_from_coll' crash
• dict: fixed syntax parsing bug when values contain colons
• dict: value setting improvements
• dict.group: fix for values starting with a numeral
• dict.iter: fixed memory leak with certain keys/values
• dynamicdocs: fixed search broken for certain terms and queries
• external drives: no longer prevented from being removed
• file paths: resolved path is sent to editor
• File search paths: Max now finds patchers when typed
• filebrowser: fixed dragging audio files from the filebrowser
• filtergraph~: no longer crashes when dragging a filter
• filtergraph~: no longer hangs when receiving bad queries
• flonum: goes slower when shift key is down (like number)
• function: pattr connection improvements
• Gen codebox: Edit->Copy/Paste are no longer greyed out
• Gen dependencies: gen 'externals' are not added to the dependency list
• Gen: copied gen patchers now have correct title bars
• Gen: fixed issues with changing genpatcher name
• Gen: fixed missing help descriptions
• Gen: fixed unnecessary dirtying of some genpatchers
• Gen: improved performance after error reporting
• Gen: misc noise op fixes
• Gen: MRO with gen subpatchers respects edits and compiles changes
• gen~: buffer name parsing improvements
• gen~: control-rate processing improvements
• gen~: fixed compile error with abs (integer input)
• gen~: fixes for inlet/outlet assist strings from in/out comments
• gen~: improved interpolation
• gen~: undo improvements in genpatcher
• GenExpr: color coded constants
• genpatcher: (unlocked) in title bar when unlocked
• groove~: fixed sync issue when there are four channels
• groove~: properly plays four channels
• if: == correctly evaluates NaN values
• inspector: fixes for opening the inspector in a help file after closing sidebar
• itable: fix for Max hang when itable is in a bpatcher
• Java: Jitter works in Windows standalone applications
• jit.catch: frame size can be controlled with attrui
• jit.gen: fixed crash when adding/removing patch cord to clip (Win only)
• jit.gl @lighting_enable 0 with material uses color attribute
• jit.gl.camera: @enable 0 does not draw when attached to node
• jit.gl.camera: @erase @capture 1 color no longer clears rendering context for a second non-capturing camera
• jit.gl.camera: cameras allowed to be part of anim.node hierarchy
• jit.gl.handle: auto_handle disabled when connected to any object
• jit.gl.handle: fix for jit.phys.world and screenraytest message crash
• jit.gl.handle: object dragging improvements
• jit.gl.light: improvements for adding/removing lights
• jit.gl.light: works with jit.gl.node
• jit.gl.lua: outlets assistance improvements
• jit.gl.material: fix for errors when switching render contexts
• jit.gl.material: fixed issues with switching render contexts
• jit.gl.model: "texgroup 0" message no longer crashes
• jit.gl.multiple: multi-texturing fixes
• jit.gl.node: overrides child object attrs when set via max box
• jit.gl.node: re-instantiating in non-automatic mode no longer crashes
• jit.gl.pix: drawto now updated when typed in box
• jit.gl.render and jit.gl.node: transform_reset now propagated to child gl objects
• jit.gl.render: @axes 1 draws the axes
• jit.gl.render: drawing of matrixoutput matrices applies source object's state to result
• jit.gl.render: message "drawclients" works
• jit.gl.sketch: fix for miscalculated screentoworld output
• jit.gl.sketch: Fixes for error when drawing jit.gl.text2d
• jit.gl.sketch: screentoworld output improvements
• jit.gl.sketch: transform_reset fixes
• jit.gl.texture: changing wrap attr properly rebuilds the texture
• jit.gl.texture: copy works when cull_face is enabled
• jit.gl.texture: uyvy colormode fixes
• jit.grab: (Windows) @colormode uyvy works
• jit.net.send: @connected updates and outputs properly
• jit.phys.body: reset message affects dynamic and kinematic bodies
• jit.phys.multiple: kinematic works when set via max-box
• jit.phys.picker: fix for setting filter attribute from max box
• jit.phys.world: @raytest mode no longer affects jit.phys.picker behavior
• jit.phys.world: fixed crashes when changing box args
• jit.phys.world: fixed render destination deletion crash (Win)
• jit.phys.world: raytest messages no longer causes world update
• jit.pwindow: @erase_color alpha now works
• jit.pwindow: @shared 1 no longer stops texture rendering
• jit.pwindow: fix for gl render visibility when context is implicit (Win ony)
• jit.pwindow: pwindow as render context in bpatcher no longer stops drawing in MFL
• jit.qt.movie: @noaccel supresses output
• jit.window: @sync attr is recognised
• jit.window: fixed flickering with umenu interaction
• jit.window: deleting with scripting works as expected
• jit.window: set visible 0 before rendering works properly
• jitter Gen objects: now respond to reset button
• Jitter Gen: attrui properly updates if a message has been used to set the attr
• jitter Gen: objects now set param value to new default when param op is changed
• Jitter Gen: setting @dirty no longer crashes
• Jitter GL readback: fix for changing readback on windows
• live.colors: fix for proper output
• live.dial: Shift + arrows do fine adjustments
• live.drop: fixed ordering issue on device load
• live.drop: respects 'order' parameter
• live.grid: changes via pattr update update parameter blob
• live.grid: flexible direction height
• live.grid: output the correct value on mouse drag out the mouseover information outlet
• live.grid: points can be set if they are out of range
• live.step: steps are no longer missed when quickly click-dragging
• live.tab: fix for button mode persistence issues
• live.thisdevice/parameters: fires / reports values after return to live after edit
• loading: Max 4 patch loading improvements
• magnifier: works in MFL device patcher
• Max for Live: Fixed crash when making M4L device invisible
• Max for Live: Live UI objects dB unit style improvements
• Max for Live: live.* objects no longer output values triggered by keys when inactive
• Max for Live: thispatcher 'path' message works in frozen Max device
• message box: fix for crash when updating message box contents from scheduler with overdrive on
• mgraphics: select_font_face no longer increases font_size
• midiout: works after it has received a negative value
• midi: midi ports are now available after sleep/wake
• minimixer: fixed crash after deleting subpatcher after opening minimixer
• multislider: fix for disappearing outline
• multislider: properly display reverse scroll mode when the border are not visible
• multislider: set message sets every slider (without requiring the index)
• nodes: fixes for pattr integration
• nodes: mouse coordinate are correct when the object isn't squared
• nodes: setnode message properly updates the active state
• number box (MIDI display format): correct results when values are typed in
• panel: @ignoreclick 0 is saved in json
• parameter: fixes for irregular output when defer + speedlim are enabled
• parameters: values are no longer output when saving a device in preview mode
• patch cord: fix for crash dragging starting connection on a disabled patch cord
• patch cords: fix for color inconsistencies
• patching: fixes for disappearing patch cords and assistance
• pattrstorage: locked slots are stored in initial value
• pfft~: fix for crash with bad arg values
• playbar: posts a warning when connected to a non valid object
• playbar: refreshes jit.qt.movie when scrubbing while the playback is off
• playbar: works properly when changing movie with autostart attribute set to 0
• plot~: filters are applied when data source is a buffer~ reference
• poke~: no longer redraw buffer~ when the samples don't change
• poly~: midinote no longer crashes with bad arguments
• poly~/send~: changing voices in MFL no longer crashes Live with certain SR
• polybuffer~ list is properly updated after using the replace message
• preset write file dialog
• project: better management of duplicates in the project folder
• project: unfound files have the correct file class
• ref browser: title bar matches content on Windows
• regexp: fixed additional issues with substitution output
• regexp: fixed crash when trying to match against an invalid regexp
• regexp: fixed issues with substitution output
• regexp: fixed substitute with empty string crash
• scheduler: improved timing when using multiple schedulers and larger buffer sizes
• scripting: fixed issue with scripting MSP objects
• select: fixed compatibility with list
• standalone: fixed Windows file dialog extension
• standalones: write extracted externals into application support folder on Mac
• teeth~: no longer crashes when turning of the audio
• thispatcher: fix for menu disappearance on window flags nogrow on Windows
• translation: improved layout of Japanese text on Windows
• trunc~: calculation improvements
• umenu: misc optimisations
• vst~: handles fxp files
• waveform~: redraws properly when the size is set at loadbang

MuShoo's icon

Wooo! Been waiting like a month for those Gen branching/looping abilities. Of course, I managed to get around it and fix my issue without it maybe three days ago. Now I'll have to re-assess...

Anyway looking forward to playing with this *downloads*.

Sergio Martins's icon

wow great!
that bug of opening two windows when we click on "new patcher" in Getting Started with Max6 window, still there...harmless anyway.

MuShoo's icon

Are [cycle] objects in Gen~ no longer capable of being non-interpolating? I get a message now saying that "cycle: interp is not a valid attribute for operator cycle" now.

Also I'm having a weird issue with [max] in one of my gen~s, but rebuilding the patch (annoying) seems to have fixed it?

The object was [max 0.025] and kept giving me:
"gen_domain: dsp.gen: [string "gen2.Operator"]:124: bad argument #1 to 'max' (number expected, got nil)"

dhjdhjdhj's icon

Yea....I've been checking the download version every morning.....thanks for the detailed list of fixes.

What does. vst handles fxp files mean? Didn't it always handle them?

benoit-1842's icon

Is it only me but the vizzie module wypr is not there ?

MuShoo's icon

Also - being able to see the code of patched Gen patchers is ridiculously cool. I'm too scared to try and touch anything in the code sidebar, but it's fun to look at.

MuShoo's icon

Also, the note about [nodes] being rectangular is misleading (I thought I could make each node within a [nodes] be either a circle or a rectangle - that's not the case.) It's not the nodes themselves, it's the main UI for [nodes] that can be a non-square now.

stringtapper's icon

Excellent!

I see that with the codebar we can now patch in [gen~] with objects and then copy the code from the codebar and paste it into a codebox and it just works. So I'm wondering, is there any advantage to doing this? Is a codebox with 20 lines of code going to be more efficient than 16 gen operators?

MuShoo's icon

My (completely uneducated) guess is that there'd be no efficiency gains from copy/pasting code from the codebar to a codebox - The code you generated by patching is what Gen is actually processing with (hence the compile stage, transparent as it often is).

There might be SOME efficiency gains if you re-code your gen patches to take advantage of the new if/then, loops, breakpoints, etc functions in codebox.

Mr. Banshee's icon

Perhaps i was too excited to dive in to the new version, but there seems to be a bug, the old version of Max 6 i had worked fine (besides hogging CPU), this new 6.0.7 version says that there is no object called "message".

Am i missing something here? i didn't do change anything besides updating to the new version of Max.

i am currently disappointed, can anyone shine light on my problem?

4384.Screenshot20120911at12.41.56AM.png
png
Arvid Tomayko's icon

yay! umenu performance is much better if you have lots of UI objects on screen, and no more crashes on dragging disabled patch cords is great.

Not having the "no message" problem.

I did have the autocomplete not working properly for the first minute or two after i launched 6.0.7, but assume that was just because it was rebuilding its database.

alistair macdonald's icon

Great - also seems not to be idling at 100%+ cpu for the first few minutes after startup. Looking at Activity Monitor (on os x 10.6.8) there are still CPU spikes (without patches open), for the first few minutes, but less than before. Would it be good/safe practice to start max 5 mins before needing to use it in critical situations, or would this make no difference?

Luis Marques's icon

Great!

Is this release compliant to Apple Store sandbox rules?

dhjdhjdhj's icon

Hmmm, I never realized one could type the word "message" into a new object but that certainly works on my 6.0.7. I normally just press 'm' to create message.

What happens if you just press the letter 'm' when you have a patcher open? That's the shortcut to create a message object directly.

MJ's icon

gswitch has ui update . now its has a curved line in it .
in the prefs i have turned off curved patch coords i like to see that too in the gswitch objects

or make the dotted line also curved ...

Luke Woodbury's icon

Yeah, I got excited about rectangular nodes too, but it was a trick! Never mind, maybe one day...

Mr. Banshee's icon

Nothing happens when i type "m" to create message. As a max user for the past several years, i would like to think i know what's going on, but i have to admit, my brain is scrambled with this bug situation. Also noticed this weird message i never received before during startup (see pic attached).

Again, none of this problems occurred in my previous version of Max 6, if i could uninstall this version and go back i would, but i would like to think that this issues come up because i'm too excited to see the problem.

Thanks in advance for any help.

4390.Screenshot20120911at9.30.28AM.png
png
spiber90's icon

I got a problem when I install it.

MuShoo's icon

Banshee - just some quick checks - tried rebooting the machine, and reinstalling this version of Max? It looks to me like something got corrupted when you were installing this latest version.

[message] (and really just about every max object) is just a .mxo file, like every other max external - I would expect to see your issue if something got written to disk incorrectly, or not at all (was max/runtime open when you were installing? something else on your system doing a big disk write?).

Gregory Taylor's icon
dhjdhjdhj's icon

I'm in heaven ---- plugging MIDI in AFTER Max is loaded now works!

Wesley Smith's icon

@stringtapper No there is no difference between a certain number of objects and their code equivalent. The code sidebar is there to provide some transparency to the compilation process. What you see in the code sidbar is exactly equivalent to what your patch is doing.

Lee's icon

looks like a great update. was hoping for 64-nit in the latest release so could look forward to some 64-bit M4L work, but still seems plenty here to be going on with

Andrew Pask's icon

@Mr Banshee

Try blowing away your Max6 folder and reinstalling. Be careful not to throw anything of your own away when you do this.

If it's still stuck after a reinstall give us a yell in support.

People with installation problems - please feel free to get in touch with us in support

Cheers

Graham Wakefield's icon

@MuShoo:
Yes, the @interp attribute is not currently supported by cycle in Gen. Since 6.0.5 we have performed a complete overhaul of Gen, and it appears that this attribute was missed, sorry! It will be re-instated in a future update.
I can't reproduce the problem with [max 0.025] in a gen patcher here; if you could file a bug with the patcher attached, that would be helpful for us, thanks!

Fer's icon

I had the same problem, Mr Banshee. I've done what Andrew Pask has recommended and Max works again.

MuShoo's icon

No longer have the patch, sadly - I rebuilt it and saved over. It wasn't anything wrong with the patching, it's the exact same patch - maybe there's some sort of cache that wasn't cleared properly when it tried to re-compile? Oddly it was the only .gendsp patcher I'd had problems with, none of my others gave me grief.

If something similar pops up again (a 6.0.5 gen patcher that suddenly won't compile for no reason) I'll shoot off a bug report before I workaround. :D

MuShoo's icon

Quick question: this complete overhaul of Gen... does it include pre-compiled .gendsp files? For things like loading into poly~ dynamically. There was a forum post about it a few weeks ago. Would be nice if saved .gendsp files saved a compile-state too, so it doesn't have to recompile on every instantiation.

Wesley Smith's icon

@MuShoo No, pre-compiled gen files are not part of 6.0.7. They're still on the feature request list.

oivindi's icon

Tap Tools wouldn't work after installing 6.0.7, so had to re-install (Tap Tools, that is). Strange.

But now it works.

MuShoo's icon

One last thing before I go to bed - the autocomplete recognizing patches within the search path is cool, but... a bit overzealous, at least at first. When I type 'gen' into an object box, it tries to autocomplete to 'generator-example-patch' instead of gen~, which is... unexpected.

Once I instantiate a gen~ using the autocomplete, it then sticks to suggesting gen~ _for that patcher only_. Any new patchers and I'm back to autocompleting to 'generator-example-patch.'

Is it possible to turn OFF the patchers-in-search-path autocompletion? I couldn't find an option in prefs, but I might just be tired.

MuShoo's icon

...Holy crap. Has this [panel] 'Drag Window' attribute always been there? This is sweet.

oivindi's icon

Cr*p. Never mind, this isn't going well at all.

Now I find out the autocomplete feature is no longer working (typing "rout" won't find "route", for example, neither will it find any other object).

Any ideas what to do?

Never had this much trouble with an incremental update before.

oivindi's icon

Ok, now it finds *some* objects, but far from all. Is there some kind of re-indexing going on?

Or is something just messed up?

For example, it autocompletes "router", but not "route". It autocompletes "strippath", but not "midiin" (it finds the object, though, once I type it all out - "midiin").

Andrew Pask's icon

@oivindi

It's rebuilding your Max DB, if you wait a bit it will all show up

-A

oivindi's icon

Ah ... would be nice if this had been mentioned upon first launch. I'll wait and see, then!

dhjdhjdhj's icon

I've often wondered if such background activities should post to the Max window when they start and stop

Sergio Martins's icon

Will be possible in a near future, to have a M4L compatible with Ableton Live 64bit? I was also hoping for that...

cheers!

Stephane Morisse's icon

#Andrew : someone mentioned a message to rebuild database. What is it ? Edit : forget my question, this is "; max db.reset" message (in a message box into max).

Stephane Morisse's icon

Installation failed : no software found to install ?!? No longer compatible with 10.5.8 ?

Ben Bracken's icon

Hi Stefane and other Mac OS 10.5 users.

We are investigating this problem and hope to have something available soon for 10.5 users.

In the meantime, if you do need to install Max 6.0.5, you can do so using the links below. Thank you for your patience as we sort this out!

Mr. Banshee's icon

@AndrewPask Thanks, that worked!

Stephane Morisse's icon

Thanks Ben. Hadn't thown away my 6.05 folder. Thought it was time to jump to 10.6 but I'm always reluctant to do it when everything works for me...

antialias's icon

I'm getting "Installation failed : no software found to install" on my Mac Pro OS 10.6.4. The same dmg installs on the iMac OS 10.8....

dtr's icon

Just curious: why was gen completely rewritten so soon after it's introduction?

Graham Wakefield's icon

Not completely rewritten, but completely overhauled. To build in scalability for the features in 6.0.7, as well as future features.

Dan Nigrin's icon

@Luis Marques: Unfortunately no, this release does not make Mac standalones compliant with the new Apple sandboxing rules. Cycling knows about it, but they were not able to address all the issues yet.

dhjdhjdhj's icon

Bummer --- no it doesn't!
-------------
I'm in heaven ---- plugging MIDI in AFTER Max is loaded now works!

dimbels's icon

thank you for the update - maybe it is just my max but the nodes-rectangular option doesnt seem to work consistently;
It works when the vertical length is higher than the width but if the nodes object is more wide than heigh, I still get false reactions and measurements.

skrasms's icon

Did OpenGL support break for anyone else in this version?

esnho's icon

Code Sidebar

Lovable

Ben Bracken's icon

Attn all Mac OS 10.5 users, as of this morning, you should be able to download and install Max 6.0.7 on Mac OS 10.5+.

Thanks for your patience!

-Ben