[L2Ork-dev] GSOC '19

Jonathan Wilkes jon.w.wilkes at gmail.com
Fri Mar 8 17:54:04 EST 2019


On Fri, Mar 8, 2019 at 9:23 AM Aayush Surana <aayushat98 at gmail.com> wrote:

> Hello Jonathan,
>
> I'll take up the issue suggested by you. Regarding the three project
> ideas, they were listed according to my priority, but if any project among
> them is at a higher priority for the community, I could start with that. It
> would be helpful if you could guide me further on which parts of the code
> to start looking at.
>

Ah, I see. I'll go through each of them. But first, a good place to start
is with the manual and the control tutorial
which are the first two links to pop up in the Help browser. (Either click
"Help" then choose "Help Browser", or click
the <ctrl-b> shortcut.) That will explain some of the core concepts of the
system and show some demos to give
you a sense of how everything works.

> 1) Purr Data Message and DSP Profiler

For control messages, the code to dispatch messages is currently in
m_class.c and m_obj.c.

However, it might be helpful to look at some of the changes in the
"port-tracecall" branch where
I'm moving the stack tracing logic to make it more robust:

https://git.purrdata.net/jwilkes/purr-data/commits/port-tracecall

Specifically, look at the "ENTER" and "LEAVE" macros in this commit:

https://git.purrdata.net/jwilkes/purr-data/commit/8df777403407a3a1e830520d61a504cae9298b4d

Those two macros are places where we can add profiling code to measure the
time it takes for
each method to finish.

For computing DSP data, you might start with dsp_tick in d_ugen.c and work
out from there. (You
can use the master branch for those.)

That function computes the output for each object until it exhausts the
graph. It is possible to
measure both the time it takes to complete the loop as well as each
iteration.

Finally, you might want to have a look at the code for cputime, realtime,
and timer in x_misc.c
to get a sense of how time is currently advanced and measured within the
system.

2) Port the K12 Mode that Pd-l2ork introduced

You can find the current GUI code in pd/nw/pdgui.js and pd/nw/pd_canvas.js.
It uses mostly
HTML5, some node.js interfaces, and a few nw.js interfaces (for window
management and
application menus).

The original implementation of K12 mode is available in Pd-l2ork 1.0. (Purr
Data is essentially
Pd-l2ork 2.0.) The 1.0 repo is available here:

https://github.com/pd-l2ork/pd

And some precompiled binaries for Linux may be found here:

http://l2ork.music.vt.edu/main/make-your-own-l2ork/software/

There's a special command line flag "-k12" which will launch Pd-l2ork 1.0
in "K12" mode. I believe there are also some menu links that get created
to launch "K12" mode, too.

Note: Pd-l2ork 1.0 only runs under Linux.

3) ASCII art to Purr Data diagram conversion

There is currently a function in pd/nw/pd_canvas.js that takes text pasted
from a
Purr Data file and sends it on to create a chain of objects in the current
canvas.
Can't remember where atm, but let me know if you'd like more details about
it.

One approach to this would be to parse the ASCII art in Javascript to
convert it
to Pd file source code, and then leverage that code which exists to create
that
part of the diagram.

But there may be other ways to approach it.

Hope that helps. And of course let us know if you have any more questions.

Best,
Jonathan


>
> Thanks and Regards,
> Aayush Surana
>
> [image: Mailtrack]
> <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&> Sender
> notified by
> Mailtrack
> <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&> 08/03/19,
> 19:44:28
>
> On Thu, Mar 7, 2019 at 10:47 PM Jonathan Wilkes <jon.w.wilkes at gmail.com>
> wrote:
>
>> On Thu, Mar 7, 2019 at 11:58 AM aayush surana <suranaaayush98 at gmail.com>
>> wrote:
>> >
>> > Hello,
>> > I am Aayush Surana, a fourth year undergraduate student pursuing BTech
>> from IIIT Hyderabad, India. I am interested to contribute to Purr Data this
>> year. I have successfully built and installed Purr Data on my local machine
>> and have also looked through the user guide studying the advancements of
>> Purr Data over Pure Data.
>> >
>> > I am interested in the following projects:
>> >
>> > 1) Purr Data Message and DSP Profiler
>> > 2) Port the K12 Mode that Pd-l2ork introduced
>> > 3) ASCII art to Purr Data diagram conversion
>> >
>> > I request the mentors to guide me on how to start contributing to the
>> proposed projects.
>>
>> Hello Aayush,
>>
>> Welcome!
>>
>> A good first step is to tackle one of the issues labeled
>> "good-first-bug" to get a sense of the
>> development process. Here's a rather simple one:
>>
>> https://git.purrdata.net/jwilkes/purr-data/issues/510
>>
>> Regarding the three project ideas you mentioned: do you currently have
>> a preference among them?
>> If not I can guide on which parts of the code to start looking at for
>> each one.
>>
>> Also-- have you participated in GSoC or any open source projects before?
>>
>> Best,
>> Jonathan
>>
>> >
>> > Thanks and Regards,
>> > Aayush Surana
>> > _______________________________________________
>> > L2Ork-dev mailing list
>> > L2Ork-dev at disis.music.vt.edu
>> > https://disis.music.vt.edu/listinfo/l2ork-dev
>> _______________________________________________
>> L2Ork-dev mailing list
>> L2Ork-dev at disis.music.vt.edu
>> https://disis.music.vt.edu/listinfo/l2ork-dev
>
> _______________________________________________
> L2Ork-dev mailing list
> L2Ork-dev at disis.music.vt.edu
> https://disis.music.vt.edu/listinfo/l2ork-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://disis.music.vt.edu/pipermail/l2ork-dev/attachments/20190308/50fe1fba/attachment.html>


More information about the L2Ork-dev mailing list