< Back to IRCAM Forum

MaxMSP collective with Spat5 issue

Dear Forum compadres,

I have spat5 which works really fine with my Max 8 in my Macbook. While working on a project with some VR (definitely not imaginative) people, I have sent them a collective of my patch including the spat5 algorithm. However, although the collective was working, it seemed as if it did not see spat in their end, which was highly disappointing. I verified and Max seems to build the collective including all objects of Spat (at least max window said that to me).
Any ideas?

Hi,
This is strange and unexpected. No explanation at the moment.
Could you maybe share the collective, so that I can inspect it.
T.

Thanx. I hope this is a bug. I have a kind of simplified version here in the link: https://www.dropbox.com/s/ggdny90w537u6o0/spatialised%20triggered%20source-v.1.18-debugging.mxf?dl=1

and here’s what my colleague sent me: image

My guess is that your colleague is loading the mxf in a 32-bit Max runtime. Spat is compatible with 64-bit only.

Does he get error messages in the Max window ?
Messages about “wrong architecture” or “no suitable image found” ?

1 Like

Hello!
I verified it, my colleague is running a 64 version in Windows 10 through Max (not through Max runtime). Max window shows as if the object is missing.


However, I have checked and the process of exporting the collective shows that Spat is included. collective%20info

Did you maybe have the chance to test the collective I have sent you?

Are you building the collective on a mac ?
If so, I don’t think it can work on Windows.
(or maybe it could, but at least you’d have to have all the .mxe files on the mac you’re building with)

Tested your collective on a mac, and everything works fine.

yes, I’m building on a Mac. And the other part works on Windows. I do not understand how this is a problem only for Spat? Max suppose to be cross-platform. Isn’t also the case with Spat?

Also, are you testing on your mac that already has Spat installed? If this is the case, even if it doesn’t find the object, it will search in your externals’ folder to use the installed version of Spat.

  1. Read in the Reference Page about Collective:
    “Making a collective allows you to give someone else a project you’ve created in Max with the confidence it not be missing something it needs in order to work properly. That is, with one caveat: collectives, unlike patcher files, are generally platform-specific, because they contain platform-specific external objects.”
  2. I was testing your collective on a mac without Spat installed. And it worked, and it makes sense according to 1). Your collective embeds the mac externals.
  3. Spat is cross-platform. But it’s not magically cross-platform.
    Maybe what you’re trying to do might work (even if 1 states it won’t), if you enforce the collective to also include the windows externals (mxe). You’d have to manually add them in the build phase.
    I’ve never tried that; I’m sure it’s extensively discussed on the cycling’74 forum (it’s not a problem/question about Spat, but about externals).
    Anyway, it would be safer/simpler to build the collective on a Windows machine.
  4. Also, why can’t your colleague just install Spat ? And why don’t you just share a patch instead of a collective ? (your colleague is using Max and not the Runtime anyway)

Thank you!
It makes sense then to make a collective through a MAC and through a Windows machine for “autonomous” use. This is important because we are building a patch for an installation that we may have to send it to a machine that we do not have direct access.
Yes, as you suggest, we have already decided that they also install Spat for the development. The problem with simply send them the patch is that I use several externals in each patch and we have every time to install them separately.

Thanks again, I keep you updated :slight_smile:

Understood.

Be aware that Spat on windows also requires a couple of DLLs (see e.g. https://discussion.forum.ircam.fr/t/error-126-loading-external-spat5-spat-on-windows/3302/2)
(I’m sorry about this annoyance, but there’s no workaround for the moment)

As a consequence, I would recommend to make a standalone app, rather than a collective.
(you can copy the required DLLs in the standalone folder to make sure everything is in the right place; while with collective you’d have to send instructions to install the DLLs…)

But again, you would need to build the standalone on Windows if that’s the platform you’re targeting. (no way to build it cross-platform)

1 Like

Hello again!
We have started sending the patch to some people. For now, we are sending a collective, including the SPAT for windows (built in a windows machine). However it seems to give some errors, apparently that it cannot find the spat package. My question is, if we include the dlls in the collective do you think this will fix the issue? Or if just included in the same folder as the collective it will suffice? It would be great to have the simplest solution to minimise the complexity required from the other side as people are not experienced with MaxMSP. Thanx!

Hello,
Can you post the exact error message(s) being thrown ? Or screenshots.
Can you maybe send me your Windows collective so that I can inspect it ? (and hopefully provide better answers)
In my opinion, the easiest solution would be to ship a standalone instead of a collective (and in that case the DLLs must be inside the standalone folder, just alongside the Max executable).

Best,
T.

thank you for your suggestion. The error came from someone of the team. I am waiting to reproduce it to have the error again. I tried to make a standalone, but then I had problems with another external. If we include the dlls in the collective do you think this will fix the issue?

Not knowing what the issue is, I cannot speculate if including the DLLs in the collective would solve it or not. My guess – but it’s just a guess – is no; the DLLs should be in the same folder as Max.exe.
Again, building an application (instead of a collective) might be easier.