Subject: Re: [boost] Flow-based programming library for Boost?
From: Marcus Tomlinson (themarcustomlinson_at_[hidden])
Date: 2012-12-06 01:28:18
To she'd some light on what applications can be build using such a library, it may be worth providing a little history on how it came to be.
I originally designed DSPatch to be a re-usable, modular process-chain engine I could use when writing audio applications (much like the patching engines found in DAW programs such as Pro Tools, FL Studio, etc.), but it eventually developed into a generic FBP framework, not limited to any particular signal / data type. The primary aim of this library is to allow fast, fluent, RUN-TIME circuit configuration (wiring, thread count adjustment, control, etc.), all while maintaining a steady flow of data through the system. This is very important when playing audio say, in a live setting (e.g. DJing), where adjusting the circuit (e.g. adding new components, or rewiring) should not effect the steady flow of audio data to the sound card. Audio is not the only application DSPatch is useful in though. I've already seen DSPatch used to model control circuits for instruments and controls on simulators. The point is that DSPatch is a generic framework for any process-chain oriented application, supporting complex configurations such as feedback loops, branch synchronization, integrated circuits and value type-adaptive IO. This is what I mean by: "total abstraction from the particular application" -which differentiates this library from a library like OMNet++.
I am quite confident that DSPatch could have a very gentle learning curve in comparison to the others, but due to the scarcity in documentation I'm afraid I may be hindering the project in that respect currently. I will definitely be fleshing out the documentation ASAP!
I hope this helps at all?
On 05 Dec 2012, at 11:34 PM, "Vicente J. Botet Escriba" <vicente.botet_at_[hidden]> wrote:
> Le 05/12/12 18:26, Marcus Tomlinson a Ã©crit :
>> Hmm, well SystemC is clearly very powerful and can easily achieve the same results, but my particular domain is more the higher-level, cross platform, easy-to-use, PC applications.
> How is your context different? Could you describe the kind of applications using your library?
>> OMNet++ is closer to what I have, but my aim is total abstraction from the particular application.
> What do you mean?
>> DSPatch allows you to build flow-based programs for any application you can think of.
> Could you elaborate on this?
>> I looked at many implantations of this nature while developing DSPatch and found that there was almost always a steep learning curve to using them.
> This is the case for any complete framework.
>> Not only do I want to make dataflow / flow-based programming easier for developers, I want to make it more accessable.
> How do you think do you achieve that compared to them?
>> Hopefully if I can get the support I need to get this project on Boost, it'll be widely accessible and helpful to people like me who are/were looking for something like this. This kind of programming paradigm is so useful in so many applications, it really shouldn't be as niche a topic as it is. Perhaps it's always been portrayed as too complex?
> Note that SystemC and OMNet++ have a quite different engine. To which you library is closer and how it is different?
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost