Am 29.11.2017 um 09:27 schrieb Stéphane Letz:
Thanks Hermann.

Although we know the work done for the guitar project, we do not  (in general…) 
recommend hacking the generated C++ code. The reason is that since the compiler 
class output shape may change.., this method can be quite « fragile ».

Hi Stéphane

Yes, I know how fragile it could be, as we use this method now several years. In this time we need to upgrade our script several times to follow the faust development. I've just ported guitarix from faust 0.9.73 to the latest faust 0.9.90 which requires 2 days. But most time I spend on the faust sources to port them to the new library architecture. The transforming of our dsp2cc script was just a few lines to cover the compiler output.
As next I'll check out how it works with faust2.

Surely it could be possible to subclass it, just we are used to use our parser and in the meantime this structure is deep bounded into our sources.

regards
hermann

Our experience developing architecture files over the years, is that using the 
standard « subclassing » or « object  aggregatiion » methods as described in 
the « Developing a new architecture file » section of the documentation 
(faust-quick-reference.pdf) is usually sufficient in 99% of use-cases.

And if more modern C++ aggregation techniques based on template, or whatever, 
are used by some projects, we would be happy to complement the  « Developing a 
new architecture file » section with an extended description.

Stéphane


Le 29 nov. 2017 à 07:05, Hermann Meyer <brumm...@web.de> a écrit :

Hi


In the guitarix project we using a python script with included templates to 
parse the output of the faust compiler.

This allow us to replace the virtual keywords, in-lining some stuff, and format 
the classes to the way we need in our project.

For reference here you'll find our dsp2cc script:

https://sourceforge.net/p/guitarix/git/ci/master/tree/trunk/tools/dsp2cc

We use it as well to implement our own UI descriptors and implement 
oversampling.

regards

hermann


Am 27.11.2017 um 19:04 schrieb stijn .:
Hi all,

A slightly more deep question this time..

In my use case I would like to embed faust code within my own node-based modular DSP 
system. Therefore I would like to composite a faust-generated dsp class within my own 
Node class. In that case I would use a templated Node<MyFaustDSPClass> that 
would call MyFaustDSPClass's methods to compute it's output. Then it would not be 
desirable for MyFauseDSPClass to have any base class or virtual methods though, 
because no polymorphism is used I would only loose the extra CPU cost of the virtual 
method calls.

Is there a way to disable the "virtual" keyword in faust's output?

Thanks a lot,

Stijn.

--
Stijn van Beek
e-mail: stijn.v.b...@gmail.com <mailto:stijn.v.b...@gmail.com>
tel.: ++31-6-22316389


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot


_______________________________________________
Faudiostream-devel mailing list
Faudiostream-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-devel

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Faudiostream-devel mailing list
Faudiostream-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-devel


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Faudiostream-devel mailing list
Faudiostream-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-devel

Reply via email to