CPLUG icon indicating copy to clipboard operation
CPLUG copied to clipboard

CplugHostContext changes

Open Photosounder opened this issue 1 year ago • 1 comments

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.

Photosounder avatar Feb 29 '24 17:02 Photosounder

Good job man. I'm a bit busy to test this right now but I will get around to it and very likely merge this. Thanks for your help!

Tremus avatar Mar 03 '24 03:03 Tremus

Sorry I have to close this without merging it. It currently conflicts with merged plugin builds discussed here https://github.com/Tremus/CPLUG/pull/9

I've started implementing some of the ideas we discussed in another branch below, as well as adding some changes from the commits from your PR 56d9bf6442c28625f7e8c7c431d095f65d876db5

Tremus avatar Feb 19 '25 02:02 Tremus