[L2Ork-dev] Project Related Query

Jonathan Wilkes jon.w.wilkes at gmail.com
Thu Mar 31 14:11:42 EDT 2022


On Thu, Mar 31, 2022 at 12:41 PM Dhruvit Salat <salatd0852 at gmail.com> wrote:
>
> Hey Jonathan,
>
> I want to understand the codebase. So, can you guide me about the entry point of the application. Where to start reading code, something like the main function.
>
> Now, I Have some questions regarding GSOC Project Ideas...
>
> Profile Purr Data CPU Usage in Real Time
>
> In this project's detail there's written that
> "Purr Data has a set of built-in objects for measuring performance for an object or objects which are not doing any DSP computation."
>
> Which are those objects can you enlighten me about them?

These would be the objects that have a "~" at the end of them, like
"osc~" and "fft~". In the C code they all have a "perform" function
like "osc_perform" that computes a block of audio samples.

All of these objects get added to the DSP graph using the "dsp"
method. So you can grep for the "class_addmethod" line which binds the
"dsp" symbol for that class's method.

> Are we bound to use C. Can I use c++ for the backend? No offence, I think C++ is a better option.

Well, the core backend is in C. What did you have in mind?

>
> Worst of All Possible Worlds Interpreter
>
> What is the purpose of this scripting language?

To facilitate reliable soft-realtime programming techniques.

E.g., suppose I test a realtime audio production script and find that
9 out of 10 branches stream the audio in the proper time.

But I didn't realize that the 10th branch steps through a large array.
That ends up taking too long
and that causes an audio dropout during my performance.

In this case I would have been better off if the script always took
the *worst case* amount of time
to compute the output. That way I could use my ear to pentest while
programming, and come up
with a solution that is actually realtime safe and doesn't cause
dropouts for some edge case.

Best,
Jonathan

>
>
> Thanks in Advance!
>
> Regards,
> Dhruvit
> _______________________________________________
> L2Ork-dev mailing list
> L2Ork-dev at disis.music.vt.edu
> https://disis.music.vt.edu/listinfo/l2ork-dev


More information about the L2Ork-dev mailing list