I took the liberty of doing some of the changes we discussed. This includes using CplugHostContext everywhere instead of AUv2Plugin, CLAPPlugin and so on, removing CPLUG_NUM_PARAMS and calling cplug_getParamCount() instead, adding the host context pointer to cplug_createPlugin(). One bit of awkwardness is that I had to declare cplug_createPlugin() in cplug.h as taking a void* argument instead of CplugHostContext* due to CplugHostContext being declared later.
That takes care of the tedious part that had to be done before you can implement propertyChanged().
I also changed cplug_log(), now it's defined by a macro, the idea is that if you don't define it it defaults to a fprintf(stderr, ...), but if you do define it prior to #include <cplug.h> in your plugin then you can define it to a function in your plugin code much like the original cplug_log() function which can write to a file, for instance by doing #define cplug_log myplugin_log. Arguably it could be renamed to CPLUG_LOG() now that it's a macro, but I leave this choice up to you, I myself occasionally keep function alias macros as small caps because they call only functions.
I took the liberty of doing some of the changes we discussed. This includes using
CplugHostContext
everywhere instead of AUv2Plugin, CLAPPlugin and so on, removingCPLUG_NUM_PARAMS
and callingcplug_getParamCount()
instead, adding the host context pointer tocplug_createPlugin()
. One bit of awkwardness is that I had to declarecplug_createPlugin()
incplug.h
as taking avoid*
argument instead ofCplugHostContext*
due toCplugHostContext
being declared later.That takes care of the tedious part that had to be done before you can implement
propertyChanged()
.I also changed
cplug_log()
, now it's defined by a macro, the idea is that if you don't define it it defaults to afprintf(stderr, ...)
, but if you do define it prior to#include <cplug.h>
in your plugin then you can define it to a function in your plugin code much like the originalcplug_log()
function which can write to a file, for instance by doing#define cplug_log myplugin_log
. Arguably it could be renamed toCPLUG_LOG()
now that it's a macro, but I leave this choice up to you, I myself occasionally keep function alias macros as small caps because they call only functions.