MAX/MSP bug? Scheduler? Strange script thing?


    Sep 10 2007 | 5:17 am
    Hi everyone,
    I have been debugging this patch for a week and can't solve the problem so your help would be greatly appreciated. I included the small portion which gives me problems and gave you the algorithmic outline.
    I am trying to dynamically load a buffer~, get its informations and then save them in a coll object. When the object is not in overdrive all works fine, but when I use it in overdrive, a bug occurs near the end. It has to do with a script disconnect. I can't get it. Something do to with scheduling as the order of my patch seems correct when I trace enable.
    Here is the outline of the algorithme:
    1. Create new buffer for soundfile and connect it 2. Set the info~ object to match the new buffer~. 3. Load the buffer~ and get the infos from info~ 4. Load the infos in a coll 5. Disconnect and bang when done.
    So here is the patch in question, followed by another patch I use to test it. The second patch includes all the results I have got from my tests.
    I really would appreciate some help. It's a though one for me and I am starting to think this is a MAX/MSP bug. (by the way, I had to include a (del 5) in order to circument annoying check failed errors. Man! I hate when programming has to involve hacks because the language is faulty.
    The patch:
    The testing patch:
    Thanks a bunch!

    • Sep 11 2007 | 2:13 am
      I need you! I need you MAX/MSP wizards!
      * bump *
    • Sep 11 2007 | 2:30 am
      It's probably just me, but I have never had much luck using overdrive. I just leave it off. Maybe someone else has a different perspective on this...?
      > I am trying to dynamically load a buffer~, get its informations and > then save them in a coll object. When the object is not in > overdrive all works fine, but when I use it in overdrive, a bug > occurs near the end. It has to do with a script disconnect. I can't > get it. Something do to with scheduling as the order of my patch > seems correct when I trace enable.
    • Sep 11 2007 | 2:40 am
      i tested your first patch and didn't run into any problems with or without overdrive. however i'm on os x and running max 4.6.
      if you hate the delay so much, you can replace it with a deferlow, but if it works, i don't see what the problem is. when you are scripting patches, deferlow, or delay are both your friends.
      another suggestion might be to replace all the gui objects with their non-gui equivalents (bang buttons with bang or better yet, trigger, Ggate with gate, etc.)
    • Sep 11 2007 | 3:16 am
      At 7:30 PM -0700 9/10/07, MarkDavid Hosale wrote: >It's probably just me, but I have never had much luck using overdrive. I just leave it off. Maybe someone else has a different perspective on this...?
      I use it all the time, although I don't do much in the way of scripting in Max.
      With overdrive on event timing is tighter than without. Still not as tight as an audio rate approach, but certainly better than with no overdrive.
      -C
      -- Chris Muir | "There are many futures and only one status quo. cbm@well.com | This is why conservatives mostly agree, http://www.xfade.com | and radicals always argue." - Brian Eno
    • Sep 11 2007 | 8:29 am
    • Sep 12 2007 | 8:16 am
      Thanks!
      I'll give it a shot tonight and send you all my autoload buffer patches when I finish them.. The engine was my only problem just now.
      Thanks a million... Hope it works in classic ;-( Don't laugh!
    • Sep 12 2007 | 8:50 am
      On 12 sept. 07, at 10:16, Pierre-Emmanuel Levesque wrote:
      > I'll give it a shot tonight and send you all my autoload buffer > patches when I finish them.. The engine was my only problem just now. > > Thanks a million... Hope it works in classic ;-( Don't laugh!
      I won't laught: I still have an OS8.6 running on a Mac clone, and sometimes uses Max3 to buid standalones for my PB145b... I'm not sure [deferlow] was in the standard distribution before 4.3. You can download a copy here: https://cycling74.com/twiki/bin/view/Share/JoshuaKitClayton
      p
      _____________________________ Patrick Delges
      Centre de Recherches et de Formation Musicales de Wallonie asbl http://www.crfmw.be/max
    • Sep 13 2007 | 3:31 am
      I tried your patch and it didn't work because I don't have the [deferlow] object in MAx 4.0.3. (You were right)
      I tried to use the [defer] object instead but the whole system crashed hard core.
      I'll download [deferlow] and try again...
      thanks.
    • Sep 13 2007 | 7:45 am
      On 13 sept. 07, at 09:36, Patrick Delges wrote:
      > I just tried with 4.1 and it worked, but I don't have a 4.0 version > installed anymore!
      By the way, 4.1 was a free update for people who own 4.0.x. You can download this version here:
      ej
    • Sep 13 2007 | 6:46 pm
      MarkDavid Hosale schrieb: > It's probably just me, but I have never had much luck using overdrive. I > just leave it off. Maybe someone else has a different perspective on > this...?
      Yes, for me its the opposite, if overdive is off, the timing goes nuts... I didn't had problems with overdrive since I switched to OS X...
      Deferlow is definitely helping with scripting. I have some patches which require that. Especially if they are embedded in a very big patch...
      Stefan
      -- Stefan Tiedje------------x------- --_____-----------|-------------- --(_|_ ----|-----|-----()------- -- _|_)----|-----()-------------- ----------()--------www.ccmix.com
    • Sep 15 2007 | 2:18 am
      Thanks, it works!
      You guys are gods! I had been banging my head for quite a while on this.
      As a weekend programmer, I have to say I am a little distressed concerning MAX. I originally thought that overdrive would simply give priority to the system over the interface. I now come to realize that it's more complex and that the order of things can get messed up with overdrive.
      Hmmm... MAX is great, but I always was bothered by the complexity of ordering commands inherant in the language. When a patch becomes huge, this can be a problem. And now I realize that with overdrive and scripting things can get even messier.
      One shouldn't have to resort to 'sprinkling' deferlow objects here and there to make sure the ordering of commands is respected.
      I wish there was a MAX object ressembling Pyrite in which a lot of stuff could be coded by line. I don't know if this is possible, but it would sure help and things wouldn't be so messy.
      Also, coll is a 2-D array. Is there a 3D one?
    • Sep 15 2007 | 1:47 pm
      Pierre-Emmanuel Levesque skrev: > I wish there was a MAX object ressembling Pyrite in which a lot of stuff could be coded by line. I don't know if this is possible, but it would sure help and things wouldn't be so messy. > java and javascript? > Also, coll is a 2-D array. Is there a 3D one? jit.cellblock and matrixctrl are max objects that spring to mind, as well as all the very very lovely jitter objects.