Max 6.1.3 Released

    Jun 18 2013 | 8:19 pm
    We are happy to announce the release of Max 6.1.3.
    There are a handful new features, as well as over 100+ bug fixes.
    You can download it here:
    Enjoy! -Ben
    New Features: • dict.deserialize: nested key support • jit.lcd: works in x64 Max • jit.mgraphics: reset alpha state • jit.path: implementation in a javascript • Jitter GL: quaternion conversion objects order-of-rotation attribute • max/js: get the architecture of Max with ;max getarch or 'max.arch' (JS)
    Bug Fixes: • ad_rewire: fixed sysmidi error when max is configured to use ad_rewire when launched • attrui: mouse drag respects attribute type • attrui: Moving an object by sending it a rect message updates an attached attrui's value for patching_rect • Audio: fixed crash servicing scheduler when parallel audio processing is on with SIAI • Audio: fixed startup crash when no core audio input devices • Audio: NRT speed improvements • bitxor~: mode 3 works as expected in 64-bit version • bpatcher: audio objects created in bpatcher work • buffer~: 'import' works on x64 • buffer~: 'read' duration arg is respected • buffer~: 'read' message only resizes buffer if duration is -1 or channels change • buffer~: 'write' overwrites existing file (Win only) • buffer~: AIFF file reader improvements • buffer~: clear/fill is now faster • buffer~: fixes for write format/samptype issues • buffer~: import features improved (64-bit) • buffer~: loads .mov files • buffer~: no longer crashes on Windows when importing .mov files • buffer~: read dialog works the same as read message • buffer~: read message with channel args works as expected • buffer~: reads float32 AIFF files • buffer~: sums channels when reading 2 channel file into 1 channel buffer • buffer~: writeraw / writeflac / etc. bring up dialog with proper file type defaults • closebang: works as expected in M4L devices and Max • date: returns correct values for ticks message • device projects: improved unfreeze behavior for global project members • dict: setting data via JS notifies pattr • dspstatus: fixed reporting of iovs • flonum: fixed UI update issues • Gen - 'swiz' handles numbers higher than 9 • Gen: code export AU project improvements • Gen: expr op with [expr var] works • Gen: fixes for abstraction usage • Gen: fixes for AMDFX8150 CPUs • Gen: GenExpr in-place operators • Gen: iOS export example • Gen: modifying gen abstraction no longer closes sub-patcher window • Gen: neg() as function with > 1 arguments no longer generates errors • Gen: scientific notation in gen code sidebar • gen~ preserve Data contents between edits • gen~: ability to return multiple variables • @ui_listen improvements • jit.cellblock: fix for 'clear all' crash • jit.cellblock: no longer crashes with large list • jit.convolve: works with 1 dim matrices • object: fixes for using mat_* color values in a shader and lighting is disabled • fix for mode attribute display • attached to improved performance • @axes attr no longer passed on to ob3d children • works with • shape attribute accept int and float • fixed stroke message crash • large textures render properly on windows • jit.matrix: fixed importmovie crash on Win x64 • jit.matrixset: fix for importmovie message • jit.pwindow: mouseidleout no longer reported when idlemouse is off • jit.qt.grab: direct-to-window fixes • fixes for flickering and possible non-display of single-frame movies when loading a new movie • jit.window: RGB matrix no longer swaps colors • jit.window/jit.pwindow: deletion no longer messes up textures in other contexts • js and jsui: fixes for 10.5.8 x64 usage • JS jitter: fixed render destination ordering issues • jsjitter: callback function shared by multiple listeners has correct context • jstrigger: improved behaviour in overdrive • JSUI: re-freeze jsui with define path no longer loses script • Live API: file_path property of a clip on Windows is properly delimited • live.drop: correctly outputs with pattrstorage slot recall • LOM: 'access' column info rendered (Win) • M4L: fixes for IPC hang/crash when saving very parameter-heavy device on OSX • Max patcher: memory usage improvements • Max Runtime menu bar: Window->Hide Subwindows works • Max: improved loading/startup performances • maxzlib: encode and decode UTC time properly • MFL devices: Freezing a device including a external which has a Framework in it's bundle will retain Framework • MFL: fixed crash while consolidating amxd project • MFL/Projects: conflicts no longer prevent unfreezing of devices • MFL/Projects: matrixctrl and pfft~ no longer throw errors on unfreeze • minimixer: refreshes properly • packages: 'examples' folders added to the searchpath • packages: improved support for java classes • peek~: works properly with the value 1000 • peek~/poke~: improved thread-safety • pong: mode attribute properly initialized • pong: outputs float or list properly • preset: stored preset number is properly output • project window: reordering items works as expected • quickref: no longer crashes with long description • record~: no longer crashes on double-click when no buffer provided • reference:
    • Reference: fixes for illustrations • regexp: performance improvements • relativepath: no longer produces erroneous path • Retina display: renders patches correctly • search path: fixed error when adding translated docs • send~/receive~: works across top level patchers with sig vs • speedlim: works in the MFL editor • standalones: fixed error about "MaxJSRef.dll" when building standalone on windows • vst~: fixed crash with KORG Legacy plugins • vst~: fixed param output from UI interaction • Windows MFL: improved startup times • windows: fixed error 193 loading external on max launch • windows: second instance no longer launched when same max copy is launched with different path style • x64 MFL: clicking 'edit' no longer opens new instance of • x64: fixed 64-bit calculation issue with rdiv and expr

    • Jun 18 2013 | 9:21 pm
      > • Gen: iOS export example
      Probably it's me, but can't find it :)
    • Jun 18 2013 | 11:54 pm
      Hi JVKR,
      This is forthcoming, to be posted on the Max Wiki:
      Thanks, -Ben
    • Jun 19 2013 | 3:02 am
      Check back at the link Ben posted in the afternoon tomorrow. I'll post a note here when it's up. Thanks for your patience.
    • Jun 19 2013 | 6:15 am
      Thanks for this update. Just curious, how far down the line is the transition from Quicktime to the newest 64-bit compatible playback and capture APIs (for OSX). Are all those jit.qt.* modules going to disappear ?
    • Jun 19 2013 | 8:18 am
      @ben & wesley
      Exciting, thanks!
    • Jun 19 2013 | 8:20 am
      > jit.mgraphics: reset alpha state
    • Jun 19 2013 | 9:31 am
      • buffer~: reads float32 AIFF files
      Thank you so much! :)
      Cheers (Happily back to work)
    • Jun 19 2013 | 12:11 pm
      @ben, wesley, jvkr:
      exciting, and mysterious, surely. I wonder if there's a Mira connection.
    • Jun 20 2013 | 12:15 am
      Do you have any plans to add the option to dynamically change the FFT size and the overlap factor for pfft~ object?
      I would like to make some FFT based max4live devices public, but without that option it's a bit awkward...I would really appreciate if users wouldn't need to unlock the patch, change the numbers in pfft~....
    • Jun 20 2013 | 1:08 am
      New gen~ export example projects for iOS and VST (Windows and OSX) are now up.
    • Jun 20 2013 | 1:29 am
      "Will installing Max 6.1 cause trouble with my earlier Max versions? No, installing the Max 6.1 will not affect your other versions of Max."
      after installing v613 my stable 612 was removed by the program... If i know i wouldn't update yet as i'm in the middle of a huge project and it seems not working properly in 613 now.
      anyway thanx for the update, but please don't write it won't hurt the earlier versions!
    • Jun 20 2013 | 1:52 am
      Please contact Support if you are having problems with Max 6.1.3. You can fill out the bug reporting form here:
      The text you quote is in regards to versions before 6.1. I'll make sure the text is clarified.
    • Jun 20 2013 | 2:13 am
      yeah after installing i realised 6.1.2 is not earlier version :D
      regarding my problems, i'll have to debug to try to find out the differences...
      thanx again!
    • Jun 20 2013 | 2:19 pm
      Problem with timepoint. Doesn't work in tutorial 19.
      In the help patch for timepoint, the message "4.1.240" causes this expr: doesn't understand "4.1.240"
      I changed the message to "4. 1. 240." and this error went away but timepoint still doesn't bang when the specified time arrives.
    • Jun 20 2013 | 2:32 pm
      Gary, I can't reproduce that problem (on my MacBook Pro using Max 6.1.3 in 32-bit mode on Mac OS 10.7.5). Sounds like Max is confused ('cause why is an expr object reporting that it received that message?), so I suggest restarting the application. If it still fails, try:
    • Jun 20 2013 | 3:25 pm
      It sounds like you have an abstraction somewhere called timepoint. AFAICT there's no expr object in timepoint's helpfile.
    • Jun 21 2013 | 12:20 am
      Having a few problems with this latest release.
      It seem that I can't fill a buffer with poke~ if the buffer doesn't have an initial size.
      I tend to set the size with an external 'setsizeinsamps' message then fill it with poke~, I used to not have to write an initial size for the buffer.
      Not too much of a problem although if I want to use an old patch that uses a buffer without an initial value I have to go in and edit it first.
      Also I've been experiencing some crashes related to using UI objects when editing a bpatcher in 'New View' mode.
      Should I contact support?
    • Jun 21 2013 | 1:36 am
      Hi farfisavox,
      Try downloading and installing Max 6.1.3 again. There was a silent update that likely will fix you poke~ issue.
      Please do contact Support regarding your bpatcher crashes, thanks!
    • Jun 21 2013 | 11:07 am
      Hi Ben,
      the new silent update also solves the same issue with peek~ and writing into a buffer. However the buffer~ read message action is now different - while in previous versions of Max it was more like replace command in that it changed the length of the buffer according to an audio file length. Now I need to use replace message for the same activity.
      Is it a permanent solution or it would be fixed also?
    • Jun 21 2013 | 12:52 pm
      As far as I know, at least in max 5 and early 6, the read message didn't change the length of the buffer, you had to use replace for that...
    • Jun 21 2013 | 1:36 pm
      Max 6.1.3 reestablish the correct behavior of the read message (read won't change the size of the buffer~, unless the buffers doesn't have a size).
    • Jul 02 2013 | 11:23 am
      N0 "Update" option?
      I downloaded the latest version (6.13). I have version 6.05 installed. The new installer does not give me an "update" option. I am worried that the installation may overwrite folders to which I have added third party bits and pieces. How can I install v 6.13 and keep the files I added to the application folder?
      I run OSX 10.6.8 on a pair of Macs
      thanks g.
    • Jul 02 2013 | 11:39 am
      Hey Corkcitygamelan, usually, installing latest version of Max won't override user-created folders even inside Max main folder. it will probably override cycling's folders, however, and probably changes you made inside those. However, since a big change was introduced in Max 6.1 (choice between 64 or 32 bit Max), max 6.1.x will be installed in separate folders fromm max 6.0.x.
    • Jul 03 2013 | 5:37 am
      thanks, vichug, you answered my question nicely!
    • Jul 11 2013 | 6:28 am
      I see that read and replace behaviour have been changed.
      Previously, a duration would resize the buffer using replace: i.e. {replace my-file.aiff 1000. 2000.} would read the file from 1000ms for 2000ms duration, and the buffer's memory would be resized to reflect this.
      This behaviour was very useful when dynamically reading sections of files into buffers from disk. This is no longer available, and I can see this reflected in object's reference.
      Why has this been changed, and has this option been replaced with another way of doing this? I can't seem to be able to get back to this original way of working. Unless I'm missing something?
      I have a project that relies very heavily on this working method which is completely stalled by this change.
    • Aug 02 2013 | 1:04 pm
      how far away still is svg and collada export?
    • Aug 03 2013 | 5:17 pm
      I know this is just a minor point release... but why so few changes to dict?
      It seems like dict could use more attention.
    • Aug 04 2013 | 9:55 am
      @kjelgaard are you thinking of something in particular? are you having specific issue about dict?
    • Aug 04 2013 | 10:40 am
      Hi Emmanuel - just wondering if you could shed some light on my question about read/replace in buffer~ above?
    • Aug 04 2013 | 1:16 pm
      Emmanuel - I think dict is awesome but even though it resembles a real database in structure there is no easy way of searching it in complex ways.
      Here's an example. I want to find all the dicts within ASSETS where the SPEED key is over .5.
      Crazy. If, instead, I could just search something like "get all in ASSETS where SPEED > .5" and get that list, life would be much easier.
      Perhaps this thread is not the best place for this though... can't seem to find the suggestions box.
    • Aug 04 2013 | 4:15 pm
      @ben I would suggest resizing the buffer and using read.
      @kjelgaard dict is not necessarily the best data structure for this kind of things. Using sqlite might be easier or not. Anyhow, IMHO max patching, is not necessarily the best solution either ;-) sometimes a little bit of javascript can be very powerful and more suited for certain task. YMMV of course. Attached an example which will return the keys of a dict whose value is true to (a priori) any kind of comparison.
    • Aug 04 2013 | 5:20 pm
      Thanks for the patch/script Emmanuel, it's great. I don't know a lick of JS but I'm thinking to move down the path I want to using dict, learning some JS will be necessary.
      I considered SQLite early on, but there's a lot of stuff about dict that's majorly convenient.. objects like dict.pack and dict.join, for example. A good search function with natural syntax could make it even better. But this script can probably close that gap some ATM.
      Thank you!
    • Aug 04 2013 | 10:08 pm
      Thanks for this Emmanuel... I thought I might have to send it two consecutive messages.
    • Aug 05 2013 | 7:10 am
      how far is still svg and collada export?
    • Aug 07 2013 | 8:46 am
      I'm still waiting for an answer
    • Aug 07 2013 | 10:53 am
      grainstretch~ is now broken, does anyone have a fix?
      The error log: grainstretch~: unable to load object bundle executable 2013-08-07 06:41:39.345 Max[575:707] Error loading /Applications/Max 6.1/Cycling '74/extensions/grainstretch~/grainstretch~.mxo/Contents/MacOS/grainstretch~: dlopen(/Applications/Max 6.1/Cycling '74/extensions/grainstretch~/grainstretch~.mxo/Contents/Mac OS/grainstretch~, 262): no suitable image found. Did find: /Applications/Max 6.1/Cycling '74/extensions/grainstretch~/grainstretch~.mxo/Contents/MacOS/grainstretch~: mach-o, but wrong architecture
    • Aug 19 2013 | 2:05 pm
      I'm still waiting to know how far still are svg and collada export
    • Aug 19 2013 | 9:31 pm
      @berserk there are no active plans or timeline for svg or collada export.
    • Sep 25 2013 | 4:19 am
      Has anyone had trouble with the info~ object? Suddenly in Max 6.1.3 it has an extra outlet -which is fine- but just as suddenly it doesn't supply the "Sample Instrument Info" coming out its second outlet never seems to include a base MIDI number. I've been teaching a class in Max using a previous version (6.0.9 ?) But all my students have 6.1.3 and couldn't make their patcher work after watching my tutorial video. As soon as I upgraded, I had the same problem. I checked the search path, but that wasn't it. Any ideas?
      I think info~ might be broken or buggy.
    • Sep 25 2013 | 3:45 pm
      Indeed, there are a few issues with info~ that we are taking a look at.
      Thanks, -Ben