plugdata-team / plugdata

Pure Data as a plugin, with a new GUI
https://plugdata.org
GNU General Public License v3.0
1.59k stars 67 forks source link

array display properties in points is just "bad" #1677

Closed porres closed 5 months ago

porres commented 5 months ago

In Vanilla, when we display with points we can see a sample quite nicely, but plugdata's point view is jut bad and can only show some points.

Taking as an example the [soundilfer] help file below

Screenshot 2024-06-25 at 21 47 57
porres commented 5 months ago

No one in their right mind would consider changing the way Pd looks and relies on graphically and break things and simply ruin sample visualization for no good reason just because one might challenge the conceptual meaning of points... it'd make more sense to change the name perhaps to "weird and odd black mass"... but 'points' does make sense since for smaller table sizes you can see the points and they are in fact actual points. You just cannot see 'every point' when there are too many points, and the same is true for any digital sound editor, cause you can't see the sample points unless you zoom in drastically.

Screenshot 2024-06-26 at 02 50 49
ben-wes commented 5 months ago

The plugdata display is simply more precise, so you don't get these visual artifacts.

hmm ... puredata is ~drawing~ pretending to draw all the points ~(or at least: drawing each pixel when there is a point)~, resulting in a shape that doesn't resemble points. might be called an artifact - but that result is expected in this case and gives a visualization of a filled envelope. plugdata is skipping points (not sure how it chooses the ones to visualize - since that doesn't change with zooming). but i wouldn't call skipping information more precise.

puredata arguably does the same skipping for lines/bezier ... certainly for performance reasons.

[...] there should be the classic "lolly-pop" view.

that would be a nice addition for sure and faster to draw. is that derived from the max amplitude per visual step?

ben-wes commented 5 months ago

In the case of vanilla they choose to show lines instead of points when there is more data than pixels (or so it seems).

i think it's the logic as described (color the pixel if there is a point inside). you can see the single points when enlarging the area of the array ... i wish i could just zoom in there. ;)

ben-wes commented 5 months ago

i think it's the logic as described (color the pixel if there is a point inside)

i withdraw this statement ... it's not just points. it seems more like what you said: it draws lines when there are too many points (on the screenshot, there should only be a single point at the bottom otherwise). so there could be improvements on all sides ... zooming in with plugdata would be great. not sure how to get these visualizations completely right (maybe plugdata could actually do the "color pixel if there is a point" logic with its opengl power?).

image

ben-wes commented 5 months ago

both renders are too course to be really informative at this array resolution.

puredata is obviously using a little hack here to achieve the typical amplitude envelope view by drawing these vertical lines from min to max value that are inside each horizontal step.

it's certainly not a point view anymore then (and possibly shouldn't be called that way) - but it does transport a bit more information (obviously: min and max values instead of arbitrary single value per bin).

porres commented 5 months ago

that would be a nice addition for sure and faster to draw. is that derived from the max amplitude per visual step?

That would be a job for another GUI external then...

dromer commented 5 months ago

@porres stop being such a fucking dick, you psychopath.

porres commented 5 months ago

closing and rebooting this as it's gone sour and comments have been deleted... sorry to see it escalated when we only had innocent utter jokes, I will try to avoid having a light-hearted conversation next time.