Re: Binary sequencer with data structures Re: Input binary values by mouse
Simon Iten <[email protected]> Thu, 19 Feb 2026 22:50:18 +0100
| Newsgroups | gmane.comp.multimedia.puredata.general |
|---|---|
| Message-ID | <[email protected]> |
Thanks for your insights! > Am 19.02.2026 um 19:30 schrieb João Pais <[email protected]>: > >> I had a go with data-structures and hacked something up with the great examples in the PD help (particularly 04.append.pd and 09.sequencer.pd from 4. data.structures). Find attached my WIP >> >> I am struggling to get the duration of the sequences right. If somebody with knowledge of data-structures, and the examples could have a look I would be very thankful. Currently I just have two „lanes“ of data, each lane triggering an oscillator on and off, this is just for debugging. >> >> What works: >> >> The UI for the most part, but I am not sure if my „trick“ with forcing the y position of segments is advisable. >> The onset of segments is correct and the tempo can be adjusted correctly > - if you change the y creation parameter in [pd stuff] to match the height of both lanes, you don't need to click there to "move" the scalars. > I am aware of that and would consider this implementation a feature, since a newly created event can immediately be seen, but that is just me :) > - or use any of the externals to detect mouse clicks on the canvas to add the scalars in the correct x+y positions (iem or else should have something) > Will look into that >> What does not work: >> >> -the duration (length of drawn segments in my UI) is not exactly linked to the sequenced time. Hence an overlapping segment in the UI can still cut-off before the next segment begins or vice versa. It depends on the tempo that is set. I am not sure how I can link the length of the bars (the z variable in my struct) to the time set by the tempo numbox. The delay simply delays the next pointer lookup, which is the next start of an event. I somehow need to link the length of the polygon drawn at that pointer to the delay. In my first attempt I simply multiplied the length by the delay-time (as in the rest of the sequencer patch) but that does not work correctly. > I would myself use a different concept from the ground up: > > - y defines the frequency (you can adjust the canvas y value to adjust the overall graphic) > > - instead of having 2 general osc~, make a poly or clone with enough "voices", so that each has a parallel sound generator, which is activated by the list of parameters (specially y). z defines the delay/duration to switch off the generator. together with the previous suggestion, this will open you to many more options. > The sequencer will be used to control 8 relays on a RPI4, the osc~ were just a quick debugging solution to post on the forum... > - if you're not changing anything during the playback, probably you don't even need the sequencer patch, it's enough to read all scalar data and feed it to a [text sequence] object. Playback goes through the [text]. > Thanks for that suggestion, I will investigate this seems indeed easier. >> -I would like to implement a timeline i.e. a hslider that increments position along the x axis, but again I have no idea how I would link the time set by the numberbox to the position so it actually corresponds to the drawn polygons… > in my patches (mainly on my click tracker patch) I use data structures to add a timeline (struct with a symbol, and drawsymbol+draypolygon), and also a playback line (vertical line with x, that gets fed from a [line]). You can see all that if you download the click tracker, but you might not be able to decypher the patch. > > I'm not sure what's better, to make the timeline stable and redraw/rescale everything else, or to make the scalars stable and redraw/rescale the timeline. I myself prefer the first (specially when connected to the playback line), but I don't use that on a patch where I change tempo often. > >> It could also well be that this is not possible this way, then a short message would also be great :) > it's possible :) > > joao > >> Thanks >> >> Simon >> >> >> >>> Am 18.02.2026 um 23:20 schrieb Simon Iten <[email protected]> <mailto:[email protected]>: >>> >>> Hi list, >>> >>> I am looking for a way to input binary values via mouse input. >>> >>> Basically I want a sequencer like structure to turn on and off a bunch of relays on a RPI. >>> >>> It would be nice to use something like an array for each output, so the user can draw in the state of the output over time. >>> >>> For that it would be great to only allow inputs that are: >>> >>> 1) in range (so mouse-movement outside the object does not draw outside the visible array, but constrains to the max or min) >>> 2) round the values to only integer input, in my case 0 and 1. >>> >>> An array would be nice since it would allow very fast (no clicking needed) entry of many points and the state of each output would immediately be visible… >>> >>> Maybe there is some external that allows something like that? >>> >>> Thanks for any hints >>> >>> >> >> >> --- >> [email protected] <mailto:[email protected]> - the Pure Data mailinglist >> https://lists.iem.at/hyperkitty/list/[email protected]/message/3GSEBM3ODAGK3ZMDNDJ75NPBPZ7X4SBK/ >> >> To unsubscribe send an email to [email protected] <mailto:[email protected]> mailing list >> UNSUBSCRIBE and account-management -> https://lists.iem.at/ > -- > Audre-Lorde-Str. 26 > 10997 Berlin (Deutschland) > Tel +49 30 74921288 | Mob +49 176 98476769 > [email protected] <mailto:[email protected]> | https://www.facebook.com/jmmmpais > --- > [email protected] <mailto:[email protected]> - the Pure Data mailinglist > https://lists.iem.at/hyperkitty/list/[email protected]/message/DF4UY5VTXME3CLUNMMU7BF47SQ64ZBZF/ > > To unsubscribe send an email to [email protected] <mailto:[email protected]> mailing list > UNSUBSCRIBE and account-management -> https://lists.iem.at/ --- [email protected] - the Pure Data mailinglist https://lists.iem.at/hyperkitty/list/[email protected]/message/ALAJGS4P3ILCQFYPDD2WHVNDZU5KYD4Q/ To unsubscribe send an email to [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/