bpatcher/thispatcher with scrolling LCD graph
For the past week I’ve been trying to get a handle on thispatcher and would appreciate clarification.
Project: to create an LCD that graphs incoming pitch. The LCD will need height enough to cover the desired pitch range and length to cover desired time. For example, the LCD might be 4000x 1000.
I want to display the LCD within a scrolling view/window of the LCD.
Went through the bpatcher/thispatcher tutorials about 10 times and it makes a little sense, but I can’t figure out a few basics:
a) the thispatcher reference provides a list of scripting messages that can be sent to thispatcher, followed by examples. NONE of the examples are listed in the available messages. This, combined with other references to the use of thispatcher lead to the conclusion that the list of messages in the reference are significantly incomplete. Where might one find the "real" list of messages for thispatcher?
b) how is thispatcher connected to which objects within the bpatcher? I see examples using thispatcher, but don’t see how it’s actually connected to anything else in the bpatcher – no outputs, nothing in the inspector that i can see… For example, I want to use "offset" message to thispatcher… how is this connected or related to the view of the LCD?
Project Outline – Help?
Here’s what i think I need, but if you see a better way, your feedback is welcome and greatly appreciated:
*) main patcher has hor. and ver. scrollbars which are sent to the bpatcher input which somehow repositions the LCD within a sub view
*) message to patcher to draw it’s grid (labelled noted with solid horizontal lines)
*) use fiddle~ to dissect source, then stream data to be graphed in bpatcher’s lcd
*) some mechanism to keep the current pitch synchronized and visible within the scrollable region (view automatically scrolls and keeps current pitch visible during input).
You might want to have a look at [multislider] when set to point scroll mode with the "setstyle 2" message (or directly from the inspector). It won’t do exaclty what you want but might be worth a look if you’re not yet aware of it.
The easiest way to do this is to create your [lcd] and save it with the [fiddle~] processing as an abstraction. You can then load it into a [bpatcher] and use the "offset" message to set which are of the screen to display. No need to use [thispatcher] at all.
Thank you for the post- I’ll give this script a try today.
- though wondering…
In forgoing [thispatcher], I tried "Enable Horizontal Scrollbar" and "Enable Vertical Scrollbar" on the bpatcher and it seems to be working. ??? Perhaps there are limitations with this?? now thinking my mindset was thrown off by trying to use thispatcher when it was not needed.