[L2Ork-dev] tracecall

Jonathan Wilkes jon.w.wilkes at gmail.com
Mon Aug 3 18:13:57 EDT 2020


On Sun, Jul 19, 2020 at 11:40 AM Ivica Bukvic <ico at vt.edu> wrote:
>
> I like the second approach.

Okay, I made a prototype that shows each object name as a link.

I went ahead and triggered the object to highlight on hover. It's a
really beautiful UX: you can just move up and down vertically and
watch the trail of objects get highlighted. (Again, like everything in
the core it's a linear linked-list walk for each hover. But nobody's
going to be doing this during a performance, anyway.)

I *could* even make the args a separate link which-- when clicked--
would forward that message on to the relevant object for replay. But
that would require blocking it in the downstream [tracecall] (or else
tracecall would print another trace to the console).

I'd also love to just have this trace as a normal part of the error
reporting. I actually implemented that, but I think it's just too
dangerous for now because dynamic patching (and perhaps other Pd-stack
weirdness) could cause a crash.

So I think I'll just merge this behavior for [tracecall] for now,
making the object default to printing to console.

-Jonathan

>
> Best,
>
> Ico
>
> --
> Ivica Ico Bukvic, D.M.A.
> Director, Creativity + Innovation
> Institute for Creativity, Arts, and Technology
>
> Virginia Tech
> Creative Technologies in Music
> School of Performing Arts – 0141
> Blacksburg, VA 24061
> (540) 231-6139
> ico at vt.edu
>
> www.icat.vt.edu
> www.performingarts.vt.edu
> l2ork.icat.vt.edu
> ico.bukvic.net
>
> On Sat, Jul 18, 2020, 22:20 Jonathan Wilkes <jon.w.wilkes at gmail.com> wrote:
>>
>> Ok, I got a nice tracecall prototype going.
>>
>> Given this:
>>
>> [bang(
>> |
>> [int 42]
>> |
>> [tracecall]
>> |
>> [print]
>>
>> You get this to the console:
>>
>> print: list tracecall float 42
>> print: list int bang
>> print: list messresponder bang
>> print: list canvas mouse 112 33 1 0
>> print: list guiconnect mouse 112 33 1 0
>>
>> Now let's talk user-experience.
>>
>> IMO it's not very useful to have a series of messages output to an
>> outlet. At the very least I'd like default behavior that sends
>> something like this to the console:
>>
>> trace: tracecall float 42
>> trace: int bang
>> trace: messresponder bang
>> trace: list canvas mouse 112 33 1 0
>> trace: list guiconnect mouse 112 33 1 0
>>
>> Where trace is a link that selects the relevant object when mousing over it.
>>
>> Furthermore, the args should be links which, when clicked, send that
>> data to the relevant object.
>>
>> I think that would be an extremely useful tool.
>>
>> Additionally, I'm wondering if tracing backwards really fits the
>> dataflow paradigm. Wouldn't it be better like this?
>>
>> trace:
>> guiconnect mouse 112 33 1 0
>> canvas mouse 112 33 1 0
>> messresponder bang
>> int bang
>> tracecall float 42
>>
>> And again with links in the obvious places.
>>
>> -Jonathan
>> _______________________________________________
>> 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


More information about the L2Ork-dev mailing list