<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr" class="gmail_attr">On Fri, Mar 8, 2019 at 9:23 AM Aayush Surana <<a href="mailto:aayushat98@gmail.com">aayushat98@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><img class="gmail-m_1656381517884989191mailtrack-img" alt="" style="display: flex;" src="https://mailtrack.io/trace/mail/0e0b715560805072fa633b9497a2ce98525e2897.png?u=2572837" width="0" height="0"><div></div>Hello Jonathan,<div><br></div><div>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.<br></div></div></blockquote><div><br></div><div>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 <br></div><div>which are the first two links to pop up in the Help browser. (Either click "Help" then choose "Help Browser", or click <br></div><div>the <ctrl-b> shortcut.) That will explain some of the core concepts of the system and show some demos to give <br></div><div>you a sense of how everything works.<br></div><div><br></div><div><div>> 1) 
Purr Data Message and DSP Profiler</div><div><br></div><div>For control messages, the code to dispatch messages is currently in m_class.c and m_obj.c.<br></div><div><br></div><div>However, it might be helpful to look at some of the changes in the "port-tracecall" branch where <br></div><div>I'm moving the stack tracing logic to make it more robust:</div><div><br></div><div><a href="https://git.purrdata.net/jwilkes/purr-data/commits/port-tracecall">https://git.purrdata.net/jwilkes/purr-data/commits/port-tracecall</a><br></div><div><br></div><div>Specifically, look at the "ENTER" and "LEAVE" macros in this commit:</div><div><br></div><div><a href="https://git.purrdata.net/jwilkes/purr-data/commit/8df777403407a3a1e830520d61a504cae9298b4d">https://git.purrdata.net/jwilkes/purr-data/commit/8df777403407a3a1e830520d61a504cae9298b4d</a></div><div><br></div><div>Those two macros are places where we can add profiling code to measure the time it takes for <br></div><div>each method to finish.<br></div></div><div><br></div><div>For computing DSP data, you might start with dsp_tick in d_ugen.c and work out from there. (You <br></div><div>can use the master branch for those.)<br></div><div><br></div><div>That function computes the output for each object until it exhausts the graph. It is possible to <br></div><div>measure both the time it takes to complete the loop as well as each iteration.</div><div><br></div><div>Finally, you might want to have a look at the code for cputime, realtime, and timer in x_misc.c <br></div><div>to get a sense of how time is currently advanced and measured within the system.<br></div><div><br><div>2) Port the K12 Mode that Pd-l2ork introduced</div><div><br></div><div>You can find the current GUI code in pd/nw/pdgui.js and pd/nw/pd_canvas.js. It uses mostly <br></div><div>HTML5, some node.js interfaces, and a few nw.js interfaces (for window management and <br></div><div>application menus).</div><div><br></div><div>The original implementation of K12 mode is available in Pd-l2ork 1.0. (Purr Data is essentially <br></div><div>Pd-l2ork 2.0.) The 1.0 repo is available here:</div><div><br></div><div><a href="https://github.com/pd-l2ork/pd">https://github.com/pd-l2ork/pd</a></div><div><br></div><div>And some precompiled binaries for Linux may be found here:</div><div><br></div><div><a href="http://l2ork.music.vt.edu/main/make-your-own-l2ork/software/">http://l2ork.music.vt.edu/main/make-your-own-l2ork/software/</a></div><div><br></div><div>There's a special command line flag "-k12" which will launch Pd-l2ork 1.0 <br></div><div>in "K12" mode. I believe there are also some menu links that get created <br></div><div>to launch "K12" mode, too.<br></div><div><br></div><div>Note: Pd-l2ork 1.0 only runs under Linux.<br></div><div><br></div><div>3) 
ASCII art to Purr Data diagram conversion</div><div><br></div><div>There is currently a function in pd/nw/pd_canvas.js that takes text pasted from a <br></div><div>Purr Data file and sends it on to create a chain of objects in the current canvas. <br></div><div>Can't remember where atm, but let me know if you'd like more details about it.</div><div><br></div><div>One approach to this would be to parse the ASCII art in Javascript to convert it <br></div><div>to Pd file source code, and then leverage that code which exists to create that <br></div><div>part of the diagram.</div><div><br></div><div>But there may be other ways to approach it.<br></div><div><br></div><div>Hope that helps. And of course let us know if you have any more questions.</div><div><br></div><div>Best,</div><div>Jonathan<br></div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br>Thanks and Regards,</div><div>Aayush Surana<br><br><div class="gmail-m_1656381517884989191mt-signature">
        <table cellspacing="0" cellpadding="8" border="0">
            <tbody><tr>
                <td>
                    <a href="https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&" style="text-decoration:none" target="_blank">
                        <img src="https://s3.amazonaws.com/mailtrack-signature/sender_notified.gif" alt="Mailtrack" width="32" height="32">
                    </a>
                </td>
                <td>
                    <span style="color:rgb(119,119,119)">Sender notified by</span> <br>
                    <a href="https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&" class="gmail-m_1656381517884989191mt-install" style="color:rgb(67,116,247)" target="_blank">Mailtrack</a>
                    <span style="color:transparent;font-size:0px">08/03/19, 19:44:28</span>
                </td>
                <td>
                    
                </td>
            </tr>
        </tbody></table>
    </div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 7, 2019 at 10:47 PM Jonathan Wilkes <<a href="mailto:jon.w.wilkes@gmail.com" target="_blank">jon.w.wilkes@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, Mar 7, 2019 at 11:58 AM aayush surana <<a href="mailto:suranaaayush98@gmail.com" target="_blank">suranaaayush98@gmail.com</a>> wrote:<br>
><br>
> Hello,<br>
> 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.<br>
><br>
> I am interested in the following projects:<br>
><br>
> 1) Purr Data Message and DSP Profiler<br>
> 2) Port the K12 Mode that Pd-l2ork introduced<br>
> 3) ASCII art to Purr Data diagram conversion<br>
><br>
> I request the mentors to guide me on how to start contributing to the proposed projects.<br>
<br>
Hello Aayush,<br>
<br>
Welcome!<br>
<br>
A good first step is to tackle one of the issues labeled<br>
"good-first-bug" to get a sense of the<br>
development process. Here's a rather simple one:<br>
<br>
<a href="https://git.purrdata.net/jwilkes/purr-data/issues/510" rel="noreferrer" target="_blank">https://git.purrdata.net/jwilkes/purr-data/issues/510</a><br>
<br>
Regarding the three project ideas you mentioned: do you currently have<br>
a preference among them?<br>
If not I can guide on which parts of the code to start looking at for each one.<br>
<br>
Also-- have you participated in GSoC or any open source projects before?<br>
<br>
Best,<br>
Jonathan<br>
<br>
><br>
> Thanks and Regards,<br>
> Aayush Surana<br>
> _______________________________________________<br>
> L2Ork-dev mailing list<br>
> <a href="mailto:L2Ork-dev@disis.music.vt.edu" target="_blank">L2Ork-dev@disis.music.vt.edu</a><br>
> <a href="https://disis.music.vt.edu/listinfo/l2ork-dev" rel="noreferrer" target="_blank">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
_______________________________________________<br>
L2Ork-dev mailing list<br>
<a href="mailto:L2Ork-dev@disis.music.vt.edu" target="_blank">L2Ork-dev@disis.music.vt.edu</a><br>
<a href="https://disis.music.vt.edu/listinfo/l2ork-dev" rel="noreferrer" target="_blank">https://disis.music.vt.edu/listinfo/l2ork-dev</a></blockquote></div>
_______________________________________________<br>
L2Ork-dev mailing list<br>
<a href="mailto:L2Ork-dev@disis.music.vt.edu" target="_blank">L2Ork-dev@disis.music.vt.edu</a><br>
<a href="https://disis.music.vt.edu/listinfo/l2ork-dev" rel="noreferrer" target="_blank">https://disis.music.vt.edu/listinfo/l2ork-dev</a></blockquote></div></div></div></div></div></div>