Subject: Re: [boost] Flow-based programming library for Boost?
From: Marcus Tomlinson (themarcustomlinson_at_[hidden])
Date: 2012-12-15 10:49:20
As per some very good observations from guys on the mailing (in particular: Julian and Klaim), I've made a few updates to the DSPatch library that I hope are some steps in the right direction:
1. A DspCircuit no longer attempts to delete() component memory. If you allocate memory for a component, rightfully so, you are responsible for deleting it. This has hence led to the removal of the AddComponent() method that creates components internally.
2. The DspCircuit and DspComponent public interfaces have been simplified, and in cases where component pointers are required as method parameters, references may be used as an alternative (simpler and safer -see the updated tutorial).
3. Components that are created and routed together without the use of a DspCircuit, now also benefit from the same parallel processing scheduler that DspCircuit systems do, making DspCircuit use truly optional.
4. Component names are no longer a requirement within circuits. Seemed like a good idea at the time but in retrospect it was not necessary.
5. Each circuit can now have it's own thread count, even circuits within circuits can have differing thread counts to their respective parents. This allows for more process intensive components / component networks to be encapsulated within circuits of higher thread count for concentrated parallel processing.
These updates are available in version 2.3: http://www.adaptaudio.com/DSPatch
Please have a look and let me know what your thoughts are. Thanks in advance for your help!
There are still some issues on the backlog I haven't got to yet, such as: upgrading the DspWire struct to a smarter class, possibly introducing safe pointers, improving documentation, and providing a mechanism for multiple signal transfer. I'll be tackling these next.