DanielArnett/360-VJ

Effect not showing up in Resolume Arena in OSX

Opened this issue · 22 comments

I got an email saying that Resolume Arena 7.15 isn't showing the effect even though it's in the correct folder. @xinaesthete when you did the build for OSX do you know what version you tested with? And which did you test with Avenue or Arena?

I'll try to check tomorrow. Actually I've got a gig coming up so it'd be good to get back into it a bit. Ping me again to remind me if I don't update you in the next few days.

The version I had when I tested earlier was Avenue 7.13.2 (which is the latest version I have a licence for). I've just launched it and it tells me 7.16.0 is available.

I installed 7.16.0 and I'm pretty sure nothing is missing from the plugin list, but the user was probably confused by the plugin name (as am I somewhat). On my system, I have various things including Reprojection which I think is the latest build (it has all the parameters for InputProjection / OutputProjection etc. and seems to be working). They were probably looking for 360-VJ.

I can dig out the project and change the name of the build target if you like.

@jorisdejong do you have any advice here? I tried using the latest release plugin, how could it be working on OSX for them but not for myself and someone else.

Fantastic! Unfortunately my machine is so out of date I can't use XCode anymore so I can't do the build without a pretty significant effort. @xinaesthete do you have any time to recompile with your code signed? I think a guide like this can show you how to set it up.

Should be able to manage that @DanielArnett

Thanks! The mac I have access to has some very niche software to do its job and I don't want to risk breaking something with a system update if I don't have to.

Hi @DanielArnett, just getting around to this now... I've distributed iPad apps a little bit before, so been through some of this which used to be a real pain and can now mostly be done fairly automatically... hopefully the "signing authority" Authority=Apple Development: Peter Todd (3B4PAZ7888) is the right one to use (distributing through the store they obviously check lots of stuff in the process - I ran a codesign command line tool and it seems to make the right kind of noises).
Reprojection.bundle.zip

I also made a slight change so the plugin name that appears in Resolume is 360-VJ, but when I changed the filename manually to match it seemed to stop it showing up (now I think, I suppose that might invalidate the signing).

p.s. I'm just trying to figure out the proper way of having this so the project in git isn't associated with my credentials... I could put it into a separate .xcconfig file, but that seems like if I .gitignore the file itself it'd cause Xcode to get confused when it was missing on another machine, as there'll still be references to it elsewhere...

I found this

https://stackoverflow.com/questions/68500460/how-do-i-not-commit-the-development-team-lines-in-project-pbxproj-without-desele

which is all very interesting but possibly more than I can bothered with just now... I think the only consequence of adding the DEVELOPMENT_TEAM=... changes necessary to sign the build will be that anyone else who tried to build the project would get an error message that the certificates associated with that team were unavailable and they'd be prompted to select something else, which'd then lead to a minor conflicting change in git...

Almost slipped my mind, I'm sure you'd have reminded me if it had.

Although it's clearly not at all the proper solution, part of me is tempted to push changes with the setting applied, which I think would just cause anyone trying to build to get a fairly descriptive error message pointing them to the setting they'd need to change (and wouldn't leak any secret information). If we have then have something in the doc explaining how to either do an unsigned build for local use, or apply a different signing authority (might want to review what the best place to point to for that would be).

Alternatively, we could leave it so that unless configured there's no error but the resulting build is unsigned, and just mention that in the doc. Maybe that's the better option of the two.

Do you sign the Windows builds? What's the approach there?

FWIW, when Xcode has been setup with certificates for development (which as I say, it's relatively good at managing for you these days, at least compared to how it was), the relevant config options are found by searching for signing in build settings:

Screenshot 2023-08-08 at 13 57 48

From this list of other available options, it seems possible that I didn't actually have the right kind of certificate for distribution in my keychain, which might mean that someone running this on another machine might still have problems, so it'd be good to get some user feedback:
Screenshot 2023-08-08 at 14 06 01

When I do these builds I still go through the annoying extra step of packaging an 'archive' and then manually extracting the one file I want from it, it'd be nice if that was a bit simpler.

I happened to be working on another problem on my OSX machine, so I did a quick test. Unfortunately, the zip provided by @xinaesthete does not work for me

Thanks @jorisdejong I should hopefully be able to use a different signing authority or something that might fix it. Any more details on what goes wrong? I can probably also arrange so I can better test for myself as well.

On compiled binaries, I only have the Resolume log to work with. It tries to load the bundle and then complains that the lib can't be opened, which is a catch all error message

[2023-08-08T20:18:25.621+02:00]   INFO:         load: Loading plugin '/Users/hybridair/Documents/Resolume Arena/Extra Effects/Reprojection.bundle/Contents/MacOS/Reprojection'
[2023-08-08T20:18:25.621+02:00]  ERROR:             : Loading plugin failed, lib could not be opened.

@jorisdejong just asked me to share some of my knowledge. I also had these problems with my plugins. It's been a while so don't be harsh on me if something's not up to date anymore.

In Xcode I logged into my Apple developer account (where I also am a member, which you need to sign and notarize your software). I signed it with my team and with a "Developer ID Application" certificate. Then after it's build you zip the .bundle file and use the notarytool for submitting it to Apple for notarization. That's pretty straight forward. You save the id they give you and they send you an e-mail when the process is finished. With the finished notarization they give you a ticket. You need to use the stapler tool to staple it to your bundle. Then it should work if you distribute that file.

Here's the guide: https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/customizing_the_notarization_workflow#:~:text=Use%20xcrun%20to%20invoke%20the%20notarytool%20command%20with%20the%20submit%20option%3A

@xinaesthete it sounds like the notarytool piece is what you missed.

@yannicks-png thanks for that, fingers crossed we'll get it sorted soon.

@DanielArnett there was also the "Developer ID Application" vs "App Development" certificate that I suspected may not be right.

I'm not sure I'll be able to get this done today, which means it'll probably end up being next week.

@xinaesthete no worries. That's still way faster than I can update the planetarium's OSX.