Hello,
I am happy to announce an update to Rabbitcontrol for Pd.
Most notably version 2.0 handles threading properly and solves a bug on macos by switching to Boost.Beast.
Be aware: It uses the recently introduced function "pd_queue_mess" and therefore needs Pd >= 0.56.0.
It now comes as statically linked individual externals instead of one library. OpenSSL got updated to 3.5.2 and it is using Boost in version 1.88.0. Getter functions are now prefixed with "get" to allow parameters like "max", "min", "order", etc.
Please see the changelog for more details: https://github.com/rabbitControl/pure-rabbit
The formerly included websocket externals got moved into their own project. I will announce it in an extra email.
It is up on deken for Linux, macos and Windows if you want to try it out. (Search for: rabbitcontrol, rabbit or rcp)
If you wonder what RabbitControl is you can find some information here: https://rabbitcontrol.cc/
Cheers, Ingo
Pd-announce mailing list -- pd-announce@lists.iem.at To unsubscribe send an email to pd-announce-leave@lists.iem.at
Hey,
glad to see someone using pd_queue_mess :) When looking at the code, I just noticed that you don't seem to call pd_queue_cancel() in the object destructor, which means that in-flight messages won't be cancelled when the user destroys the object or closes the patch.
I've also noticed that you are calling pd_queue_mess() and clock methods like clock_delay() and clock_unset() in the same function, which certainly looks like a mistake. The latter must only be called on Pd's main thread whereas pd_queue_mess() is supposed to be called from some other thread to send a message back to the main thread.
In general, be careful what you are doing on the helper threads. One of the nice things about pd_queue_mess() is that you can avoid data races resp. any need for thread synchronization simply by delegating all the work to the message callback.
Christof
On 08.09.2025 21:58, Ingo Randolf wrote:
Hello,
I am happy to announce an update to Rabbitcontrol for Pd.
Most notably version 2.0 handles threading properly and solves a bug on macos by switching to Boost.Beast.
Be aware: It uses the recently introduced function "pd_queue_mess" and therefore needs Pd >= 0.56.0.
It now comes as statically linked individual externals instead of one library. OpenSSL got updated to 3.5.2 and it is using Boost in version 1.88.0. Getter functions are now prefixed with "get" to allow parameters like "max", "min", "order", etc.
Please see the changelog for more details: https://github.com/rabbitControl/pure-rabbit
The formerly included websocket externals got moved into their own project. I will announce it in an extra email.
It is up on deken for Linux, macos and Windows if you want to try it out. (Search for: rabbitcontrol, rabbit or rcp)
If you wonder what RabbitControl is you can find some information here: https://rabbitcontrol.cc/
Cheers, Ingo
Pd-announce mailing list -- pd-announce@lists.iem.at To unsubscribe send an email to pd-announce-leave@lists.iem.at
pd-list@lists.iem.at - the Pure Data mailinglist https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/4QEDHLHMIU...
To unsubscribe send an email to pd-list-leave@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/