A draft whitepaper of my parameterization idea
- dahnielson
- Moderator
- Posts: 632
- Joined: Wed Jan 23, 2008 11:25 pm
- Location: Linköping / Tranås, Sweden
- Contact:
Re: A draft whitepaper of my parameterization idea
I will look into it as well. Just so you know you're not alone.
Anders Dahnielson
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
- Consul
- Moderator
- Posts: 189
- Joined: Wed Jan 23, 2008 11:19 pm
- Location: Port Huron, Michigan, USA
- Contact:
Re: A draft whitepaper of my parameterization idea
Aha! I was almost right about the for loop. Yann got back to me on the list:
As for that for() loop, it's given me an idea on a way we might accomplish oversampling. I'm going to ask on the list about that.
He also says it's possible to interface with the parameters of the routine externally without a GUI:Yann Orlarey wrote:The 'compute(int count, float** inputs, float** outputs)' method computes 'count' samples at a time. This is why you have a 'for (int i=0; i<count; i++)' loop inside the compute method.
Albert Graef had this to add:Yann Orlarey wrote:Yes. The user interface don't have to be a GUI, it can be anything that implements the UI API. This implementation can just ignore the fact that a slider or a button is required and only keep track of the addresses of the float parameters used to communicate with the dsp. You can look at the CMDUI as an example of non graphic UI implementation (in architecture/sndfile.cpp).
I'll go take a look at those examples. I also have some example code I'm showing to my C++ prof today, to see if he can guide me. It doesn't sound like it would be too hard to do, and we can use the same template for any block written directly into C++ as well.Albert Graef wrote:Chances are that you'll have to write your own "architecture" (that's just a fancy name for the C++ template code needed to embed the signal processor in a given target application or system, into which the Faust compiler simply inserts the "naked" dsp code).
There's no HOWTO about that right now, but it's really simple, you just have to understand the interface of the dsp and UI classes and then derive from those classes and implement them in an appropriate manner. You can find lots of examples in the architecture folder in the Faust sources. For the puredata.cpp architecture file I started out by adding things to minimal.cpp, but you might also find some other more elaborate architecture file which is already closer to the application that you have in my mind.
As for that for() loop, it's given me an idea on a way we might accomplish oversampling. I'm going to ask on the list about that.
Darren Landrum
- dahnielson
- Moderator
- Posts: 632
- Joined: Wed Jan 23, 2008 11:25 pm
- Location: Linköping / Tranås, Sweden
- Contact:
Re: A draft whitepaper of my parameterization idea
Yes. Writing our own "Architecture" was what I've been proposing all along. The nice thing is that we can probably stuff the template full with whatever "helper" code we need for our purposes. Basically, Faust will become an integrated part of the application.
Now. I will eat.
Now. I will eat.
Anders Dahnielson
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
- Consul
- Moderator
- Posts: 189
- Joined: Wed Jan 23, 2008 11:19 pm
- Location: Port Huron, Michigan, USA
- Contact:
Re: A draft whitepaper of my parameterization idea
Yeah, sorry if I've been a little thick. I'm still trying hard to bootstrap my knowledge of C++ and programming to the level we need to pull this off.
Darren Landrum
- dahnielson
- Moderator
- Posts: 632
- Joined: Wed Jan 23, 2008 11:25 pm
- Location: Linköping / Tranås, Sweden
- Contact:
Re: A draft whitepaper of my parameterization idea
No problem.
Anders Dahnielson
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux
- Consul
- Moderator
- Posts: 189
- Joined: Wed Jan 23, 2008 11:19 pm
- Location: Port Huron, Michigan, USA
- Contact:
Re: A draft whitepaper of my parameterization idea
Okay, I had asked this question of the list:
We might want to think about that interface now. LV2? Something custom?
To which Mr. Graef replied:Darren Landrum wrote:Okay, I took a look at the minimal.cpp code, and at some of the other examples, and I think I get how it works. Basically, the line <<includeclass>> is where the compiled FAUST class gets inserted, right? So everything else is basically just the code needed by whatever external programs are going to interface with the FAUST code. In our case, we'll be writing our own UI classes to interface with, as our UI is getting handled by a separate layer of our final application.
Apparently, that means I'm finally getting somewhere.Albert Graef wrote:Yes, exactly.
We might want to think about that interface now. LV2? Something custom?
Darren Landrum
- Consul
- Moderator
- Posts: 189
- Joined: Wed Jan 23, 2008 11:19 pm
- Location: Port Huron, Michigan, USA
- Contact:
Re: A draft whitepaper of my parameterization idea
This thread was the entire life of the board while it was going, it seems.
Darren Landrum