jstrecker's picture

Jaymie (@jstrecker)

Groups

  • Vuo Founder
  • Team Vuo
jstrecker's picture
Jaymie commented on Magneson's Discussion, “External library woes

With the code you posted, I tried to reproduce the "undefined symbols" error, but it didn't happen for me. When I built the CMake project and used the resulting node class in a composition, I was able to run the composition without any linker errors.

Are you still building the project and running the composition on the same computer? Or does this only happen when running on a different computer?

One thing I noticed when building your project was that the last part of your CMakeLists.txt —

add_custom_target(node ALL
    DEPENDS ${installedNode} ${installedDylib}
)

— refers to ${installedNode} instead of ${nodeset}. So when you modify your node class code and run make, it may not be updating the node set installed in User Modules. That wouldn't directly cause the linker error, but it could lead to confusing results in general.

Could the /usr/***/Cellar be dependant on architecture in the cmake file perhaps?

Yeah, something like:

execute_process(COMMAND /usr/bin/uname -m OUTPUT_VARIABLE HOST_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
if (${HOST_ARCH} STREQUAL "x86_64")
    set(path "/usr/local/Cellar/cfitsio/4.2.0")
else()
    set(path "/opt/homebrew/Cellar/cfitsio/4.2.0")
endif()
jstrecker's picture

Because of how full-fullscreen works in macOS, we could implement this in one of two ways.

The first way would be to make the full-fullscreen available only in exported apps. In Edit > Composition Information, there could be an option for the type of fullscreen that the composition should use when exported to an app. The drawback is that you would not be able to use full-fullscreen when running the composition within Vuo.

The second way would not have that drawback, but it would take substantially more effort to implement, because how full-fullscreen works on macOS clashes (in technical details) with how Vuo currently runs compositions to allow live editing. With the second way, there could be a node that lets you choose the type of fullscreen that the composition should use. We would have to change some things about running compositions to make that work.

Bodysoulspirit, since you requested this feature, I'll leave it up to you to decide between the first or second way.

jstrecker's picture
Jaymie commented on Paul's Discussion, “Share event or value

That's basically it, yes. Somewhat more code gets generated, but it's such a miniscule amount compared to the rest of the computations in a typical composition that it wouldn't have any noticeable effect on performance.

jstrecker's picture

Alastair, thanks for reporting the problem with the "Display Grid of Images" example composition. Bodysoulspirit, thanks for troubleshooting.

We'd already started working on HEIC support, in order to maintain compatibility with recent macOS versions, so we'll wrap that up and include it in an upcoming release.

jstrecker's picture
Jaymie commented on Magneson's Discussion, “External library woes

Yeah, installing the library on the other computer with Homebrew might simplify things. (Though keep in mind that Homebrew installs to /opt/homebrew/Cellar by default on ARM instead of /usr/local/Cellar.)

In any case, I look forward to seeing your progress and how you use the nodes, if you'd like to share :)

Pages