Hi,
the existing tutorial about plugin development is surely wonderful to start with that task. Anyway, I met some difficulties when you need to deal with external libraries. Not only dynamic ones, that I read are more tricky, but also static one: watching an example on how to develop a simple node that have to deal with a preexisting static library would be a good example, in my opinion.
regards michele
Comments
Thanks for the suggestion,
Thanks for the suggestion, mic. Opened for voting.
Regarding external libraries,
Regarding external libraries, there's documentation here: https://api.vuo.org/latest/group___managing_dependencies.html
All libraries referenced by the built-in Vuo nodes are now dynamically linked. We've opted for dynamic over static libraries because it avoids problems when multiple nodes depend on the same library, when multiple compositions run in the same process, and when live editing. I'm actually not sure if live editing works with static libraries currently, since we haven't recently tested.
This week we made a super simple example of a node class depending on a dylib that almost works. The one piece that doesn't work yet is
@rpath
, which is necessary to be able to use the node class on other computers without having to modify the dylib each time.Anyway, here's the example code. The key points are:
install_name_tool
command in Terminal (e.g.install_name_tool -id @rpath/libfoo.dylib libfoo.dylib
).VuoModuleMetadata
, add the library to thedependencies
list. You would put the library name minus the "lib" and ".dylib". For example, for libfoo.dylib you would write "foo".Besides external libraries, did you have anything else in mind that would be important to cover in an advanced tutorial?