Beginner Gen~ Issues

    Feb 22 2012 | 6:53 am
    I'm trying to make a simple buffer-based lookup table using gen~, but there are two main issues making it difficult.
    First, am I not supposed to be able to add and remove objects in a gen~ patcher while audio is turned on? I have crashed Max 6.0.4 half a dozen times in the past half hour just in the process of creating and removing blocks in a gen~ patcher. Max locks up and goes unresponsive.
    Second, how do I refresh a buffer inside a gen~ patcher when the gen~ patcher is modified? It seems that once I edit a gen~ patcher, I need to close and reopen the parent patcher from scratch in order for the gen~ to reload the buffer contents from the parent. I say "seems" because I am not sure that's exactly what's happening. My lookup table will often start spitting out all zeros after I edit the gen~ patch and until I save and reload the entire patch from scratch. I am not making any changes to the buffer~ in the parent patch.
    Here's the current patch, for a reference:
    I'm on Win7 64, by the way.

    • Feb 22 2012 | 7:40 pm
      1. Absolutely you should be able to add and remove objects while audio is on; this sounds like a bug. If it is possible for you to find a patch + edit that consistently causes the crash, and send it to us (with the crash report), that would be super useful for us to fix it. Thanks!
      2. You shouldn't need to refresh anything. This also looks like a bug - quite probably related. Seems like the binding of my_lut to LUT is lost when the patcher is recompiled. We'll get that fixed for the next release, but in the meantime there are two workarounds: a) use [buffer LUT] instead of [buffer my_lut LUT] if possible b) otherwise send the message (my_lut LUT) to the gen~ to re-connect the buffer binding when it gets lost.
    • Feb 25 2012 | 10:32 pm
      I've been trying to find a specific sequence of events to recreate the crashing, but sadly there is no consistency.
      Last time it happened by creating a "+" object in the gen~ patch. I typed "+" in a new object box and clicked off of it in the window. It was not the first "+" object in the gen~ patch.
      The time before that it was when connecting a patch cord to an "out" object in the gen~ patch.
      Standard operations like that work most of the time, but a small fraction make Max lock up. If I am actively working in a gen~ patcher, I get a lock-up about once every five minutes. Windows then tells me the program has gone unresponsive.
      The good news is that the second workaround you gave for the buffer binding works great!
    • Feb 27 2012 | 6:15 pm
      Hi there, thanks for the feedback. I've not been able to reproduce the crash here yet, but will keep trying. If you could send me a crash report (or more than one!) that would help a lot.
      In other news, the buffer bug has been fixed and will part of the next update.
    • Feb 28 2012 | 2:04 am
      Silly question, but how do I generate a crash report?
    • Feb 28 2012 | 2:44 am
      You can't if you're on Windows unfortunately. It's an OSX feature. If you can provide any kind of general instructions for reproducing that would help a lot.