Max 8 wish list

    May 28 2018 | 9:13 am
    Hi there!
    After reading a recent sneak peek I decided to list of what would I like to have with 8th release to actually upgrade the license.
    • Better configuration. For example, bring back the “snap to grid” check box from Max 5–6, allow to properly make a color scheme and override it globally, allow to remap key bindings, allow to hide side bars by default and show them back with a key press (without pressing on those 1-pixel borders).
    • Optimize the UI — it’s quite sluggish last time I worked with Max. Really, I stopped using Max extensively only because the UI issues.
    • Update OpenGL to the latest version and make shader writing a better experience.
    • Fix usability in projects. For example, file renaming or numerous PATH issues.
    • Reconsider the decision made in 7.3 or 7.2 that C++ code generated with Gen belongs to C74 and not to the user.
    I wonder what others would like to see in 8.

    • May 29 2018 | 7:34 am
      For me I'd love to see something along the lines of Gen-for-max-UI-objects, if that makes sense. Probably won't happen, as there's already JSUI, but... I don't like it. Probably just because I haven't been able to find a good beginner tutorial for it, in regards to Max (I'm poor-but-passable with Java, pretty good with C/C++, and atrocious with javascript). I've been doing a LOT of tinkering with UI objects and layering things to get them to 'feel' the way I want my interface to feel, and it takes up a lot of patching space (and often makes UIs more sluggish than i'd like).
      I would love love love to have an easily set preference like we used to have to make 'snap to grid by default' an option, and 'don't snap to objects by default' an option. I've tried setting it the way you're apparently supposed to now (make an empty patcher, change the settings, save it as the default) but it never seems to stick.
      Never gonna happen: true multithreading. My UI's tend to get insane, and then they get sluggish when audio is going on. I can't always put the bulk of my processing into a poly~ object. I'm also still a bit unclear as to if I have multiple different [poly~ whateverMyPatchesAreNamed 1 @parallel 1] , if those threads will be spread across processors cleanly. (IE, I have [poly~ patchA] and [poly~ patchB], are they being spread across processors efficiently? or since they're both single objects, do they both still live on one processor?)
      Similar and also never gonna happen: Just... some more efficient UI code. The waveform~ object is a HOG. Often using [pictslider] gets CRAZY stuttery if I have too much other stuff going on (waveform~ objects updating, [meter~]s going, etc).
    • May 29 2018 | 1:12 pm
      - a command to freeze all attributes set in the inspector at once ... - better understanding about how openGL works in Jitter - thorough documentation
    • May 29 2018 | 1:17 pm
      Jitter needs more love
    • May 29 2018 | 4:30 pm
      For all MAX - objects: Please set "ParameterMode Enabled" = 1 as default. That makes using snapshots a lot easier.
    • May 29 2018 | 11:11 pm
      @cerval : i'm not sure i wish that, it could break a lot of things (existing patch and workflow)
    • May 30 2018 | 1:19 pm
      to send something to all objects, there is [universal].
    • May 30 2018 | 1:26 pm
      a hand tool to navigate more easily in large patch
    • May 30 2018 | 5:01 pm
      please free me from having to click 125% zoom every time i open a patch
    • May 30 2018 | 5:14 pm
      - a command to freeze all attributes set in the inspector at once ...
      hover over the middle-left side of an object, click the arrow, Transform -> Changed Attributes to Arguments
    • May 30 2018 | 8:19 pm
      hi I have the same remarks as ECH From facebook to here, never information about a new OpenGL version.... :( I use Max since 1993. I saw MSP arrived, Jitter with great happiness.
      Jitter did a great job with the arrival of ROB RAMIREZ.
      But regularly the question on an OpenGL update is posed and there is no answer ....
      I will pay for Max8, there will surely be a lot of improvement and new things, but we must, we, Max's users are up to date on the technologies used by Max.
      I do not want to leave Max, but sometimes I have the impression of having a train late with Max in front of other visual tools.
      Help me still have some hope for OpenGL and Bullet Physics in GPU for example :)
      Thank you, and I hope this time to have a response from Cycling74
    • May 30 2018 | 8:49 pm
      Want to add just my two cents: - Possibility of write global variables before functions in codebox - Possibility to include existent glsl code inside a glsl shader with something like an #include statement
    • May 30 2018 | 9:46 pm
      i just see the "patching improvements" article. what i find really annoying the max7 is that "open original" is in a submenu. this is not only my most used function in the contextmenu, there is simply no reason at all to put a single item in a submenu.
    • May 31 2018 | 12:06 am
      Oups I did not see this post
      ROB says 'an OpenGL update for a limited subset of Jitter-GL functionality is in the works for Max 8. '
      for a limited subset of Jitter-GL functionality?
    • May 31 2018 | 2:04 am
      Wine compatibility. All this music stuff is the only reason for still using microsoft windows instead of Linux. Will change and is good to be prepared for.
    • May 31 2018 | 2:23 am
      how is group different then cmd + drag selecting a group of objects that we already have ? the shift+drag object is closer to what I've been asking for a while , but then you still need to click delete the object. still a 2 step process. how about simply keeping the connection when you delete the middle object. Real question , not a complaint.
      Also, it would be cool to select/highlight a group of objects and when you connect to the 1st one , all get connected. I know about the MaxToolbox by Nathanael Lecaude. But still this would be great. And I do know about the option+shift plus drag to create a auto connection. And the shift click with patch cord to maintain an unconnected patch cord. still tons of clicks.
      Thanks for the zoom. been asking since max 5 . Had done my version with the zoomfactor $1 thispatcher and fingerpinger a while back. Was too clunky though
      - edit: please bring the thisbpatcher like you have with the thispoly~ right now I have to resort to js the get the this.patcher instance number. quike a handle for such a simple thing. Thanks
      Thanks for the good work.
    • Jun 23 2018 | 1:03 am
      - please bring back „alt + double click“ on an [object] to open the help. - keep the inspector scroll position when going to a new object. - i need a „hand“ for moving the patch (cmd+h, or spacebar and mousedrag) like in other software. - when click on an [object] ALL connected (cords and) [objects] are highlighted. - disable [objects] for better debugging without removing stuff. - [umenu] other symbol outputs than named. (Entry1 named „Hello1“ then outputs „decal“, entry2 named „Hello2“ then outputs „blend“) - [umenu] delete entries by „string/symbol“. - play-status readout function (route play/pause 0/1 whatever). - hick-ups on the end of a loop (guess this is a viddll thing). - when copying or rename a [pattr] keep the parameter mode values - disable undo history in live.object (as checkmark) - disable "startbangs" in live.button/text etc. - please fix that [live.button/text] midi toggle/button behavior when midi mapped ( - and i still have problems to freeze externals in the patch (m4l)
      no matter, i love Max and it's features and i hope max will be even better.
      btw. i would love to have an Max iPad App for my couch, where i can do weird routings and some math (no MSP/Jitter needed)
    • Jun 23 2018 | 2:44 am
      - new object [nodouble]: if an s i f b is incomming it just sends the value one time even it's triggered twice. So if i send a "1" and after the first "1" comes a second, the second "1" will be ignored until a new value arrives (Maybe this object already exists and I haven't found it yet.) solved
    • Jun 23 2018 | 6:38 am
      [zl reg] I [change]
    • Jun 23 2018 | 7:47 am
      further extension of the zl suite of objects so there's less reliance on 3rd-party list processing externals (ie Lobjects etc)
    • Jun 23 2018 | 8:36 am
      there's also this thread from 2013 which outlines the idea of a navigation window or panel where a patch is displayed in a tree hierarchy, with its subpatches as nodes (parent patch is the root node)-- if you click on a node you open that corresponding patch: link
    • Jun 23 2018 | 9:51 am
      @Roman Thilenius Thank you, I was apparently blind.
    • Jul 01 2018 | 9:50 am
      My wish for max 10: create another mode like MSP/Jitter mode, which allows me to create model graphs for Machine Learning - and have a backend like tensorflow that executes the models during runtime. That would be soooo cool... This is how such a graph looks like:
      It is just inconvenient to create these graphs in python, so you often just make copy & paste from somebody else code, and wonder why the dimensions don't fit... I always wish i had the max editor to lay them out, it would be much easier to create them and really understand them.
    • Jul 01 2018 | 7:05 pm
      Oh yeah, that reminds me (sort of building off my earlier comment): Non-signal outputs for Gen~. There's some really roundabout ways to do this - such as storing data in a buffer~ object and [peeking] it back out - but being able to output a list of elements from a gen~ patcher would be super useful. Make your own transient detector on a buffer and output a list of transient points!
      Also along those lines (perhaps this already exists?) be able to set a specific gen~ object to be non-realtime, while the rest of the patch is running normally? IE, I could loop over a buffer in a gen patch and do some math that I only really need to do once, non-realtime.
      Essentially I just want to never have to drop into C or JAVA land ever again :P
    • Jul 25 2018 | 12:27 pm
      I am using live.step. It's a great object. But why are the durations limited? No dotted durations (90 ticks, 180 ticks, ... not allowed)? I am using a workaround with the extra1 at the moment but to allow durations for dotted notes could be easy for the development team and could still be easily handled by the user in the editor. Seems that here a test configuration has survived the release date?
      And ... the "grid" (stepcolor, stepcolor2) is only in quaters at the moment? Hm .. difficult orientation when using third based rhythm. At the moment I am using a workaround with stepcolor=stepcolor2 or usestepcolor2=false (no grid) and velocity for orientation but a simple attribute for the grid distance (2, 3, 4, ...) would be a useful improvement and is not too difficult to implement ("small details make a big difference").
    • Jul 28 2018 | 12:42 am
      - allow UI elements from subpatches be in the main patcher - proper SVG support for fpic - jit.catch with a texture mode @output_texture 1 - clear the value of a value object - reset/change the name of a value object (set name) like in forward/receive - a ;MAX message for clearing the console (maybe just a short key) - a „no answer“ 0/1 output of the send object (when no receive) - on „print“ output a hint from what object the original i/f/s/b comes from (debugging)
    • Jul 28 2018 | 5:21 pm
      fft capability in gen~!!!
    • Jul 29 2018 | 12:26 am
      An integrated file browser object would still, after all these years, be a breath of fresh air. The look of mild concern (like I'm drinking coffee out of an old army boot) when people see that file selection in my patches is achieved through a bunch of clunky folders is always disheartening. And if someone says "drag n' drop," I'll spit-take the coffee from my old boot and then put it right up your ass.
    • Jul 29 2018 | 2:24 am
      Help files with examples for every Gen operator. Sure, some of them may seem self-evident if you program, but if you don't and need to learn the concept then a multi-tabbed heelp file for each that clearly demonstrates function would be ideal.
    • Jul 29 2018 | 5:59 am
      been 6 years since gen~ jit.gen and no explanation with the product put out. I find it an odd way to operate the business of a product. leave it at that.
      please just add a bypass on the objects. keeping the node there but bypassed.
    • Jul 29 2018 | 9:39 pm
      I would love to have more flexibility with movie file import. For my projects, I always need to separate to audio channel to buffer it, and sync the audio-video in the performance and I hate this whole process.
    • Aug 08 2018 | 12:35 am
      I love the helpfiles and reference in max and it still could be improved, tiny but helpful:
      1. reveal undocumented methods/messages like "writeas" message to thispatcher or the message "; #SM open" (thanks to source audio in both cases)
      2. reveal secret objects like "opened"
      3. show alternatives to deprecated objects like lcd-object e.g.: "this object is deprecated, use xxx instead"
      4. offer a downloadable offline reference The "Unofficial Max/MSP 6 documentation in PDF format" is still a big help for me.
    • Aug 31 2018 | 5:58 pm
      Creating Midi Ports/Cable inside Max like the LoopMidi App from Tobias Erichsen does. The Midi Port Feature seems to work with Mac but not with Windows at the moment? The feature would provide Max For Live users an additional argument to buy the full version of Max. It looks like this is not a trivial job under windows and is maybe the reason why it was not implemented at the first place. Because we are near release date it is maybe an option for Max 8.1.
    • Apr 03 2020 | 11:49 pm
      make dict.view retain expanded/collapsed levels when the correspondent dict object is changed, instead of expanding all levels. Include a message to set the depth the expanded levels (instead of having to click manually in all those triangles)
    • Apr 04 2020 | 5:08 am
      Option to embed pattrstorage data in a patch rather than having to save an external file.