Max 6.0.7 Released

    Sep 11 2012 | 12:32 am
    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:
    Max 6.0.7 release notes:
    • 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 • & umenu objects's popup corners are now transparent • live.step: binary mousing • live.step: bipolar display •, 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
    • 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
    • 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
    • jit.anim.path - @position, @quat and @scale attributes • jit.anim.path and @eval_report attribute • jit.anim.path and target objects now updated wirelessly •*: better handling of mouse picking in opengl context window and @ui_priority attribute •*: gl object matrixoutput notifications • @corner_color attribute • @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 mouse up notification • jit.phys.picker: @enable attribute • @collision_mode attribute for extended collision info • @raytest_mode attribute • collision force and normal added to collision dict • collisions dictionary accessible in javascript • jsjitter: anim.path js support • jsjitter: Jitter physics objects in javascript • jsjitter: ob3d matrixoutput notify for javascript • New examples
    • 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 • 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) • @lighting_enable 0 with material uses color attribute • @enable 0 does not draw when attached to node • @erase @capture 1 color no longer clears rendering context for a second non-capturing camera • cameras allowed to be part of anim.node hierarchy • auto_handle disabled when connected to any object • fix for and screenraytest message crash • object dragging improvements • improvements for adding/removing lights • works with • outlets assistance improvements • fix for errors when switching render contexts • fixed issues with switching render contexts • "texgroup 0" message no longer crashes • multi-texturing fixes • overrides child object attrs when set via max box • re-instantiating in non-automatic mode no longer crashes • drawto now updated when typed in box • and transform_reset now propagated to child gl objects • @axes 1 draws the axes • drawing of matrixoutput matrices applies source object's state to result • message "drawclients" works • fix for miscalculated screentoworld output • Fixes for error when drawing • screentoworld output improvements • transform_reset fixes • changing wrap attr properly rebuilds the texture • copy works when cull_face is enabled • uyvy colormode fixes • jit.grab: (Windows) @colormode uyvy works • @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 • @raytest mode no longer affects jit.phys.picker behavior • fixed crashes when changing box args • fixed render destination deletion crash (Win) • 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 • @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 • 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 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

    • Sep 11 2012 | 12:58 am
      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*.
    • Sep 11 2012 | 2:33 am
      wow great! that bug of opening two windows when we click on "new patcher" in Getting Started with Max6 window, still there...harmless anyway.
    • Sep 11 2012 | 2:38 am
      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)"
    • Sep 11 2012 | 2:43 am
      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?
    • Sep 11 2012 | 2:48 am
      Is it only me but the vizzie module wypr is not there ?
    • Sep 11 2012 | 2:50 am
      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.
    • Sep 11 2012 | 2:57 am
      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.
    • Sep 11 2012 | 3:20 am
      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?
    • Sep 11 2012 | 3:43 am
      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.
    • Sep 11 2012 | 4:49 am
      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?
    • Sep 11 2012 | 4:56 am
      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.
    • Sep 11 2012 | 10:55 am
      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?
    • Sep 11 2012 | 11:20 am
      Is this release compliant to Apple Store sandbox rules?
    • Sep 11 2012 | 11:44 am
      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.
    • Sep 11 2012 | 11:53 am
      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 ...
    • Sep 11 2012 | 1:01 pm
      Yeah, I got excited about rectangular nodes too, but it was a trick! Never mind, maybe one day...
    • Sep 11 2012 | 1:41 pm
      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.
    • Sep 11 2012 | 1:42 pm
      I got a problem when I install it.
    • Sep 11 2012 | 1:50 pm
      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?).
    • Sep 11 2012 | 2:24 pm
      I've posted a fix for the Vizzie WYPR problem to the forum:
    • Sep 11 2012 | 3:00 pm
      I'm in heaven ---- plugging MIDI in AFTER Max is loaded now works!
    • Sep 11 2012 | 3:54 pm
      @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.
    • Sep 11 2012 | 3:56 pm
      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
    • Sep 11 2012 | 4:06 pm
      @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
    • Sep 11 2012 | 4:24 pm
      @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!
    • Sep 11 2012 | 4:40 pm
      I had the same problem, Mr Banshee. I've done what Andrew Pask has recommended and Max works again.
    • Sep 11 2012 | 4:40 pm
      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
    • Sep 11 2012 | 4:45 pm
      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.
    • Sep 11 2012 | 4:48 pm
      @MuShoo No, pre-compiled gen files are not part of 6.0.7. They're still on the feature request list.
    • Sep 11 2012 | 4:49 pm
      Tap Tools wouldn't work after installing 6.0.7, so had to re-install (Tap Tools, that is). Strange.
      But now it works.
    • Sep 11 2012 | 4:49 pm
      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.
    • Sep 11 2012 | 4:52 pm
      ...Holy crap. Has this [panel] 'Drag Window' attribute always been there? This is sweet.
    • Sep 11 2012 | 4:55 pm
      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.
    • Sep 11 2012 | 5:03 pm
      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").
    • Sep 11 2012 | 5:05 pm
      It's rebuilding your Max DB, if you wait a bit it will all show up
    • Sep 11 2012 | 5:12 pm
      Ah ... would be nice if this had been mentioned upon first launch. I'll wait and see, then!
    • Sep 11 2012 | 5:17 pm
      I've often wondered if such background activities should post to the Max window when they start and stop
    • Sep 11 2012 | 5:19 pm
      Will be possible in a near future, to have a M4L compatible with Ableton Live 64bit? I was also hoping for that...
    • Sep 11 2012 | 5:46 pm
      #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).
    • Sep 11 2012 | 7:06 pm
      Installation failed : no software found to install ?!? No longer compatible with 10.5.8 ?
    • Sep 11 2012 | 9:44 pm
      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!
    • Sep 12 2012 | 12:13 am
      @AndrewPask Thanks, that worked!
    • Sep 12 2012 | 5:43 am
      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...
    • Sep 12 2012 | 12:01 pm
      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....
    • Sep 12 2012 | 12:20 pm
      Just curious: why was gen completely rewritten so soon after it's introduction?
    • Sep 12 2012 | 8:58 pm
      Not completely rewritten, but completely overhauled. To build in scalability for the features in 6.0.7, as well as future features.
    • Sep 13 2012 | 12:40 pm
      @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.
    • Sep 15 2012 | 2:24 pm
      Bummer --- no it doesn't! ------------- I'm in heaven ---- plugging MIDI in AFTER Max is loaded now works!
    • Sep 15 2012 | 6:24 pm
      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.
    • Sep 19 2012 | 2:37 am
      Did OpenGL support break for anyone else in this version?
    • Sep 25 2012 | 10:11 am
      Code Sidebar
    • Sep 25 2012 | 4:08 pm
      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!