dbRackFormulaOne preview

Yeah the mechanism used to perform return in ExprTk is extremely slow when compiled with msvc on windows. Are your perf numbers based on a windows build?

Though it should be fine from a performance POV on linux and macos. Furthermore Section 20 of the readme has a more detailed explanation, with alternatives to return.

Most ppl build with gcc for windows.

this example is on linux built with gcc. nevertheless, i think it is no problem to do without return and break.

Not to forget: limitations can spark up your musical creativity! :crazy_face:

here is the pre release 2 for dbRackForumulaOne:

  • added user defined functions (see GitHub - docb/dbRackFormulaOne)
  • added some convenient global functions
    • lseg provides line segments for a given phase and coefficients
    • eseg provides exponential curve segments for a given phase and coefficients
    • scl scales a value from one range to another
    • scl1 scales -1V/1V to a given range
    • poly computes a polynomial for a given phase and coefficients
    • chb computes a sum of chebyshev polynomials for a given phase and coefficients
    • tri computes a triangle wave for a given phase
    • spl computes a spline for a given phase and coefficients
  • compiled now for windows with extended features
  • fixed some gui issues for better editing

I really enjoy working with Formula One - I’ve got a couple patches I’d like to post that make good use of it, but I’d like to wait until it is available in the library. Do you have any sense when you might submit to be published to the library?

I did find one bug - I can’t get the e knob to have any effect - the parameter value remains stuck at 0.

Honestly, I don‘t know, if I‘ll be the ‚coding musician‘. But, thanks! Thank you to make it possible within VCV. - I love it! - I love to be here in VCV, because of something like this.

Cheers, dDom

Thanks, i have hesitated to put it in the library as have no idea if this module works properly on windows.

May be someone can verify.

@DaveVenom the bug has been fixed in the pre2 release.

Ah - I missed the pre-release 2 - got it now.

Please do release - I am running on Windows, and all that I have tried is working great!

Is there anything in particular you want tested?

ah glad to hear, no special tests needed, i will make a release asap.

1 Like

it would be helpfull if you could verify that the prerelease 2 does run fine on windows. it is compiled with the extended features of exprtk (should be faster i.e. less cpu now on windows).

Yes. I finally got that earlier today, and my patches are running fine with it.

Hi, its now in the library.

4 Likes

Woo Hoo! Fantastic! Now I can share some of my patches :smiley:

I finally posted my Subharmonicon emulator version 5 that relies on docB Formula One to compute sub oscillator V/Oct CV based on incoming primary VCO/Oct CV and sub harmonic divisor settings.

Formula One was a joy to use, and having multiple polyphonic inputs and outputs really expanded what I could do with it. It enabled me to easily add the new detuned unison feature, as well as output the computed harmonic divisor for dynamic display. I could not do that with a single instance of the Frank Buss Formula.

1 Like

What is the best way to determine the allowed dbRackFormulaOne functions and syntax other than by the included example presets? Is this Javascript syntax?

Thanks

1 Like

it is described here

Thanks, but that is where I was already looking. I suppose my question is regarding the syntax of your scripting language. Is this Javascript syntax? And, is everything in the referenced library implemented in FormulaOne? I.E., can I call any function that is in the ExprTk library. How do I go from the templated C++ library to the Javascript-ish FormulaOne scripting language?

For example, in the ExprTk library documentation, there is an example function called primes(), Just so I am understanding this correctly, I cannot just call primes() from FormulaOne, but rather I would need to reimplement the ExprTk C++ primes() function in the FormulaOne script. Right?

Sorry if I am making this more difficult than it needs to be. I tend to do that quite often. Your module looks like it would be very useful to me, once I figure out what I am doing.

Thanks again for taking the time to help me, or point me towards documentation or topics here in the community.

ok, i see the problem: in the exprtk main page there is a big focus on using it in e.g. c++ code and extend it. So the cpp examples will not help. the scripting language is described more in detail in the readme.txt e.g. SECTION 08

2 Likes

Yes, this is what I was looking for. Thank you very much.