-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What would be a best practice to integrate FAUST-generated Plugins? #147
Comments
Is there a possibility to change anything about |
@telephon, the FAUST developers are very active and responsive, so yes, possibly so. |
Should we work out a kind of optimal idea from the sc side and then suggest this to the FAUST developers? |
My experience from the ambitools implementation from Pierre Lecomte (which is complex and therefore a good example, I think) and compiling it for SC is the following:
|
These are really good ideas, @florian-grond. Let's see what can be done. I certainly can offer to help thinking through of the sc-class file generation. |
I believe most of the ideas above need to be implemented on the FAUST side. @LFSaw, I'm sure you would have a wishlist yourself ;-) |
I was just reading up on code documentation options in FAUST: There is plenty of stuff addressing many of the points from above. @LFSaw Just looking at the info you have compiled here: if you have a moment to read the section 9 in the link to the FAUST documentation from above, the command faust2mathdoc, in fact, addresses many of the ideas discussed here already, just that it produces a PDF and would like to have a SC helpfile. One point that I think we could discuss with the FAUST devs is how to best document in and out busses. This could potentially translate into many other platforms (PD, MaxMSP, etc.) where the function of in and outlets also needs to be documented. |
@florian-grond so you mean this section? 9.4 Automatic documentation By default, when no tag can be found in the input FAUST file, the
So the main point would be to convert that |
yes, this is the section I mean, and yes, this would be the main point: translating the LaTeX-file into schelp. |
yes, this sounds good. In FAUST, all arguments of a unit are single channel streams of floats, right? So the regrouping for supercollider is a thing that probably we could take care of separately. In general, all inputs that have numbers, like |
Yes, the regrouping we could take care of separately, we just need to find out how to properly document inputs (outputs) in FAUST. I think this should be of general interest, while less necessary for plugins with a GUI, platforms like MaxMSP and PureData also need to document their inlets and outlets. I'll enquire with the FAUST devs ... |
I'm not sure if I should mention it here as a side note, or open a separate issue for it, but -- if we're discussing FAUST integration, I'd like to suggest removing the plug-in load messages from the default verbosity level:
The four Faust lines are not necessary. During normal usage, sc_api_version and numControls are totally, 100% irrelevant to anything that users care about. They are relevant only to be sure SC is picking up the Faust definition properly. Currently there are just two Faust plug-ins, so it's not too much output -- it is irritating but not overwhelming. But if "FAUST is getting ever more popular and will be a great codebase that can contribute to the SC3-plugins" and eventually we have more Faust-generated plug-ins, the extra output may well become a burden. I think we could safely remove it completely. But, if some people feel it would be useful for debugging new plug-ins, then I would suggest adding a new verbosity level 1 (debug level) and print these messages only for that level. |
This output is showing in the postwindow only if the plugins are compiled
from the cpp source which usually don't set the -NDEBUG flag. If compiled
with the faust2supercollider script this message doesn't show. I agree, we
should suppress this.
On Jul 18, 2017 11:32 AM, "H. James Harkins" <[email protected]> wrote:
I'm not sure if I should mention it here as a side note, or open a separate
issue for it, but -- if we're discussing FAUST integration, I'd like to
suggest removing the plug-in load messages from the default verbosity level:
booting server 'localhost' on address: 127.0.0.1:57110
Faust: supercollider.cpp: sc_api_version = 2
Faust: FaustJPverbRaw numControls=11
Faust: supercollider.cpp: sc_api_version = 2
Faust: FaustGreyholeRaw numControls=7
Found 370 LADSPA plugins
JackDriver: client name is 'SuperCollider' ... etc
The four Faust lines are not necessary. During normal usage, sc_api_version
and numControls are totally, 100% irrelevant to anything that users care
about. They are relevant only to be sure SC is picking up the Faust
definition properly.
Currently there are just two Faust plug-ins, so it's not too much output --
it is irritating but not overwhelming. But if "FAUST is getting ever more
popular and will be a great codebase that can contribute to the
SC3-plugins" and eventually we have more Faust-generated plug-ins, the
extra output may well become a burden.
I think we could safely remove it completely. But, if some people feel it
would be useful for debugging new plug-ins, then I would suggest adding a
new verbosity level 1 (debug level) and print these messages only for that
level.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#147 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABVJxvnH3frxYCQi0Ia-1zIA1QHMFNCzks5sPM_CgaJpZM4NweUs>
.
|
@florian-grond suggest to make it conditional on |
Late to the party, but I brought a keg! Well, more like six pack... a bottle for sure. Yes, 1. and 3. can absolutely be avoided. I just figured that out trying make my
An additional script could use faust2supercollider to quckly install anything else (at the user's risk), maintaining the Faust prefix because that shows nicely it's not an official SC UGen. Here, a good parameter autoconverter seems like a good choice. |
@jamshark70 The debug output issue was caused by a bug in our build system, not setting the necessary compile time flags for the supernova versions of JPverb and Greyhole- #149 fixes this as well. |
Great news! Faust also merged my modification of the supercollider2faust script into their master-dev. Supernova is now a fully first-class citizen in the Faust world. |
Thank you Carlo, this is great news indeed!
On Jul 20, 2017 7:14 AM, "Carlo Capocasa" <[email protected]> wrote:
Great news! Faust also merged my modification of the supercollider2faust
script into their master-dev. Supernova is now a fully first-class citizen
in the Faust world.
grame-cncm/faust#70 <grame-cncm/faust#70>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#147 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABVJxlEuhvgi8VBXs3N7e_D9RpP3trffks5sPzatgaJpZM4NweUs>
.
|
Who has control of the supercollider2faust script? |
Lessons from #146 -
|
I believe it is Stéphane Letz @sletz who has control over the faust2supercollider script This is the faust2supercollider script: this is where the CPP file is generated: it calls for the supercollider.cpp architecture file: These are the lines where the pesky debug prints are generated: I believe that these debug prints served a certain purpose when developing the architecture file. Maybe we can suggest to remove them all together or wrap them in a different macro. But this needs to be negotiated with the Faust devs. I feel less confident to argue for a solution that is serving the needs of all devs involved. If you wanna make a suggestion @brianlheim please go ahead. Again this would make contributions through Faust much easier. As far as the only set properties on the targets being added in a PR is concerned. |
Can you guys just submit a PR (against master-dev branch ) for the needed change? |
@sletz we had discussed similar matters in the past maybe you can do the changes Stéphane? What we need for Faust contributions to the SC3plugins repository is fairly simple: such as those (there are 3 occurences) We would very much like to not mess with the .cpp sources after creating them (like editing them and removing these code parts) so as to fully profit from the Faust induced workflow. If you think this debug message is still useful for future development of this architecture file, maybe you can give it a macro different from NDEBUG? that is not defined by default and needs to be defined in order to activate the printout when developing? (You might find a solution for this that is orthodox for developers) Or modify the faust2supercollider script so that there is the option to get cpp sources (with the very useful -ks flag) that do not have this print messages? |
Sorry, I will not collaborate with Stéphane given previous interactions. Someone else will have to do this. |
OK got it! I'll try to come up with a suggestion, probably this Friday.
www.grond.at
…On Wed, Jan 31, 2018 at 2:18 PM, Brian Heim ***@***.***> wrote:
If you wanna make a suggestion @brianlheim <https://github.com/brianlheim>
please go ahead.
Sorry, I will not collaborate with Stéphane given previous interactions.
Someone else will have to do this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#147 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABVJxm2v1qhAxxC_F3p_VB8Q5niTGKv4ks5tQLxsgaJpZM4NweUs>
.
|
Thanks for taking the lead with regards to Faust-SC. It's much appreciated :) |
Given that FAUST is getting ever more popular and will be a great codebase that can contribute to the SC3-plugins, how should we define best practices:
Some issues:
The text was updated successfully, but these errors were encountered: