I start this topic to report and discuss ideas coming in my mind while patching or teaching for further improvements of the help browser (topics, keyword, terms, HowTo-patch ideas).
Skia: Draw images: if you don’t know about DrawImage, I’m not sure if it would be the first topic I’d select to understand that’s for loading/displaying images. I’d suggest to name it e.g. “Load and draw image files”
Search term: picture: shows no result, should refer to Draw image and maybe other related topics
search term: “video” I would suggest to also show the “Play a videofile with Skia” from Video.MediaFoundation not only in the Video.MediaFoundation category but also in the Skia category
Skia: Play a stack of images: A lightweight image file sequence would maybe great (currently there’s only a placeholder). Here’s a short loop sequence of a pumping quad with 30KB in total (@30fps):
image_sequence_pumping_quad.zip (12.8 KB) → Set loop active in help patch
Ideas for more howto examples:
- How to split a spread into its slices? (Decons)
- How to create a spread from a certain number of values? (Cons, IOBox)
- How to set/trigger a certain value or string once into a node/IOBox (which is already connected with another value (e.g. with a bang). (that’s a question often asked by my students)
- How can I always update the value that was last changed? (Hot to combne muliple incoming sources always choosing latest changes) (simple solution suggestion, you may have better solutions:
Howto combine mulitple input values always updating latest changes.zip (4.0 KB)
- How to change the size of the renderer window from vvvv (Skia)? / How to set renderer to exact size and pos in pixel? Strange aspect of Skia renderer bounds / How to set renderer to exact size and pos in pixel?
– and/or if more options as resize are available: a more detailed explanation overview for all options on Skia windowing (Size, fullscreen, Title, …) → “How to configure a renderers window (Skia)” as “Explanation Overview Window and Fullscreen (Stride)”
-How to get the width and height of the renderer window (Skia)? (Skia: ClientBounds → Size (see also TopLeft → TopRight))
- How to get the width and height of two (or more) combined layers (Skia)?
- How to animate a value in a certain time from one to another value? (Filter) (maybe also see TweenerAnimation for use cases)
- How to animate along a (bézier) path → refer to existing help patch “How to sample a path”
not sure i understand. do you have an answer you’d provide?
I’m trying to patch a patch ;) or send you an example what I mean.
If I have a Skia Group, is there a way to get the total size of all combined layers in the group? E.g. if you combine a retangle with a width from 0,25 and a circle with a radius of 0,15 the size exaclty translated next to the rectangle, you would get a size from 0,4.
… and another one: How to read/load/play Audio Files?
Search terms: audio, music, sound, mp3, wav, m4a, ogg, …
→ Solution “Use a video player with VL.Video.MediaFoundation.”
I think this should be also listed with VL.Video.MediaFoundation, which is the solution I recommend to my students atm – as for VL.Audio you need to have Asio4All installed (which is honestly a pain in the a… if you just want to play a audio file) whereas Mediafoundation works straight ahead. Nevertheless, we were experiencing some trouble with playback last week while doing so… Trying to reproduce it later at home everything was working fine.
Skia: How to store Layers in a queue? (vgl. Manage a queue of items & Stride: store textures in a queue)
Tryout: HowTo Queue Skia Layers tryout bnj.vl (31.8 KB)
Which is actually storing the values in a queue, not the layers. But: is it also possible to store the current state of the texture instead of layer properties?
Vgl. auch ggf. How to queue a path? → Example
HowTo Queue paths or add them to a list _ simple path drawing app.vl (46.7 KB)
How to map a projection using Homography (with Skia)?
Vgl. Help Patch: How to map a projection using Homography (Stride).
See my attempt to use a Skia-Renderer(Offscreen) to Strides SkiaTexture below but there might be a better solution to bring Homography directly to Skia?
it feels like the gray book and the learn section in the help browser should be one
Let’s start with IOBoxes/Data Types (most comments via IOBoxes | vvvv gamma documentation):
Overview of IOBoxes and Data Types:
Overview of IOBoxes and data types.vl (17.3 KB)
In addition to “Fill and Stroke”: How to set the color of a Skia Primitive (Layer):
How to set the color of a skia primitive.vl (26.3 KB)
Is there a way to combine “Stroke” and “Fill” in one paint for a primitive instead of grouping two circles?
Why not combining them together through the input of each other (Stroke over Fill and Fill over Stroke as set in the data flow)?
Keywords: Color, SetColor, Fill, Stroke, Contour, Outline, Layer, Primitive, Shape
You would create your own datatype e.g. MyPrimitive that can group any drawing nodes. And then queue instances of this datatype.
this is dictated by the way the underlying Skia library handles this. we briefly thought about working around this, because yes, it feels like and obvious thing, but decided against it because working against the principles of an underlying library often has its limits and can be really hard to maintain.
Missing search tags:
Tags: Sine, Sinus, SineWave, Wave, Lfo, Cosine, Sawtooth, TriangleWave, RectangleWave, Generator, WaveShaper:
→ Help patch “HowTo Generate a value going from 0 to 1 in a given time.vl” → maybe also with a more visual
Tags: Hold, Sample, S+H, Pause, Keep, Random, Trigger, Trigger Value, Gate
→ Help patch “HowTo Pass On a Value Only when a Condition is met.vl” or similar help patch with different use cases of s+h
Tags: Pad, Property, Variable:
Often asked: “How can I use/set a variable”.
→ This should lead to an explanation of pads I would suggest? Or at least to a help patch “Use a pad.”
But maybe also explaning further purposes of pads.
The only information you can currently find is not so much ;): Pads | vvvv gamma documentation
added most of the above suggested tags. keep them coming. regarding pads, there is some docu to be found under Properties which you’ll now also find in the helpbrowser when searching for pads.