[PD] why units per pixel: -1 by default on subpatches?

João Pais jmmmpais at gmail.com
Sat Apr 2 22:44:16 CEST 2022


> Em sex., 1 de abr. de 2022 às 13:46, Miller Puckette <msp at ucsd.edu> 
> escreveu:
>
>     Because when just making a patch the origin is conventionally top
>     left,
>     not bottom left.  So pixels count downward, and if you want "y" to
>     increase
>     as you go up, that's the opposite dorection.
>
>
> Sure, but let me see if I get things straight. This is just meaningful 
> for Data Structures, right? Cause if I change this in a "regular" 
> canvas, I don't see any difference. But maybe I'm missing something.

all the "units per pixel" values only affect data structure scalars.


> Now, I can see the difference is where to consider the origin (0/0 
> coordinate), but I don't know what's the benefit besides maybe having 
> a more intuitive expectation when resizing the window, right? Perhaps 
> one could argue it also makes easier to know where to append objects 
> on the canvas, but I'm not sure about that.
>
> Anyway, I really think it makes it very confusing for setting and 
> retrieving field values that represent the horizontal axis. In the 
> Data Structures tutorial examples, like 02.getting.data, the height of 
> the triangle is a negative number. This is particularly troublesome 
> for arrays, cause we really expect that the higher the element is, the 
> higher its value should be.
>
>     Just install a mirror on your desktop and look at your screen downward
>     through it, and you'll see 'y' increase upward when 'scale' is set
>     to 1 :)
>
>
> Not sure if that fixes everything and this can be easily fixed by 
> setting the "Y units per pixel" value to a positive number, like in 
> the 07.sequencer examples, which, by the way, makes much more sense to 
> follow the score.
>
> I'm now revising the Data Structures tutorial in my documentation 
> updates and would like to bring this discussion into attention. I have 
> changed all the patches so the "Y" unit is set to positive values and 
> have better documented how this works. But anyway, I really think it 
> makes more sense for a default value that we have Y units set to "1".

the problem is that when making new patches where height plays a role, 
unless you know the limits for your height and set your window 
accordingly, you'll always have to play around with the vertical slider 
for it to display correctly. Also, I think I remember display errors in 
the windows when opening them, even if the canvas was saved with enough 
height; readjusting minimally the canvas height fixes it.

Unless that a window slider control method would be added to pdcontrol 
to complement such issues, which would anyway be a good idea - it would 
allow for lots of new GUI possibilities.

Joao
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20220402/0d6d2fba/attachment.htm>


More information about the Pd-list mailing list