Building an Application


    Jun 04 2011 | 2:32 pm
    This is a copy/past from this thread: https://cycling74.com/forums/build-application-audiomidi-support - if you're curious.
    "...I'd love to have a little splash screen to hold the user over until everything is done loading. I'd love for [vst~] to send out a bang when it's done loading but it doesn't. On my machine it takes about 2 full seconds to load "Kore Player" and another full second and a half to load the program settings. On a new machine this would be faster. So my solution of using delays to control loads (can't load the program settings before the vst is loaded) and triggers isn't going to cut it.
    The jsui tutorial shows that I can interact with global objects, but...this seems like it would only help me if I understood the connection of my patcher and how information gets to the max window. (then I could intercept it, name it "glob = new Global(“vst load”);" in a [js] object and send out a bang before the max window prints it. right?
    that would solve one problem, but it wouldn't keep the user from trying to interact with my patch before things are loaded since those loading processes occur AFTER my patcher is open (in performance mode.)"
    Ideas to solve this? the best I can do asking in the max/msp forum is that I'm gonna use delays, and end up having to use visual que's in the patch to tell the user when it's done loading.
    I know that Brian Eno has accomplished this with his bloom/generative apps (or his engineer rather) but is this limited only to the iOS platform? I will eventually need to do it there too, but first things first right?
    Thanks for your ime!

    • Jun 06 2011 | 7:11 pm
      negative?
    • Jun 10 2011 | 12:05 am
      Not really clear on what exactly you need to happen, but I think I get the general idea. Rather than delays, you can use deferlow to allow for some graphic updates to happen before your process moves onto the next process. So you can do sth like:
      b
      |
      t b b
       | 
       | [p mysplashwindow]
       |
      [deferlow]
       |
      [p some_process]
      | 
      I hope that made sense. It will no doubt be a bit more complicated, but the moral of the story is that deferlow can let redraws happen in the midst of some process where a delay wouldn't.
      Peter
    • Jun 10 2011 | 7:31 pm
      that is exactly senseical. =) Actually it's perfect and I more than appreciate the visual aid as it is what won me over. You have also clarified the purpose of deferlow. I would hug you in real life.
      [edit] - ahh, wait. I can use this, but the problem is that [vst~] doesn't give me the [some notification bang] that I so desperately need. And I need it to send out said bang for loading the .vst AND for loading the savestate (program). =,(