Skip to content

Commit

Permalink
updated
Browse files Browse the repository at this point in the history
  • Loading branch information
joreg committed Mar 25, 2024
1 parent 4d464ef commit 859df87
Showing 1 changed file with 38 additions and 41 deletions.
79 changes: 38 additions & 41 deletions content/blog/2024/vvvv gamma Releases/6.0/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ When opening the Node Browser while making a link (or inserting a node into a li
* By Type: Here you'll see nodes that connect to the type of the link at hand. The direction of the link decides whether sub- or super-types are also shown.

## New Settings

At just the click of a single button (the Hamburger icon in the vvvv editors top-right corner) you can reach any of the global settings to customize your vvvvexperience. This release adds the following settings:

### Patch
Expand All @@ -78,7 +77,6 @@ ON: Releasing the mouse button opens the node browser or creates an element righ
- **HDE Font Size:** Allows to change the font size for HDE Windows, like the Inspector

## HDE windows

As you may have noticed, the different windows of our hybrid development environment (HDE) feel slightly detached. This has historical reasons and is not meant to be like that. Moving forward we believe we finally have an idea of how to unify them and starting with this release we have laid some ground work:

- Keyboard shortcuts are now unified across the main patch editor, extension windows and render windows
Expand All @@ -88,47 +86,46 @@ As you may have noticed, the different windows of our hybrid development environ
- There is a setting called "HDE Font Size" (not working on all windows yet)

## VL features


### Send and Receive
The S and R nodes from the `Primitives` category were renamed to Send (Global) and Receive (Global) and can now be found in the `Control` category.

This release introduces an additional Send (Local) region and Receive (Local) node that in combination allow you to keep better control of data you send around in your patches. Check the following patch in the Help Browser:

- HowTo Send and Receive Values

---
- .net8
- Direct import of types & nodes from C#

Direct import of types & nodes from C#
### Direct import of types & nodes from C#
If you thought that [extending vvvv](https://thegraybook.vvvv.org/reference/extending/overview.html) with your own types and nodes couldn't get any better, then what do you think of this: Where so far you had to use a [type forward](https://thegraybook.vvvv.org/reference/extending/forwarding.html#forwarding-types), you can now express your goal directly in C#!

Using the assembly attribute `[ImportAsIs]` you declare that all public classes, structs and enums will be available in VL as if they'd have been defined there directly, ie without the need for a manual type forward.

It's now possible to write types & nodes directly from within C# with the new ImportAsIs assembly attribute. When set, all the public classes / structs / enums will be available in VL as if they'd have been defined there directly. No type forwarding required.
It's further possible to write process nodes directly in C# by attaching the new ProcessNode on a class. Again, no further work has to be done on the VL side of thins.
This way (if desired) the C# code can be become the single source of truth for a library project.
It's further possible to write process nodes directly in C# by attaching the new `[ProcessNode]` attribute on a class. Again, no further work has to be done on the VL side of things. This way (if desired) the C# code can be become the single source of truth for a library project.

### .NET8
Learn more about these new attributes in the [Writing Nodes](https://thegraybook.vvvv.org/reference/extending/writing-nodes.html) section of the gray book.

## .NET8
![.NET](dotnet-logo.png)

Under the hood, vvvv gamma was sitting on .NET472, by now a rather old version of [.NET](https://en.wikipedia.org/wiki/.NET). With this release, we're upgrading to .NET6. If this means anything to you, you may want to read about [What's new in .NET6](https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-6).
Under the hood, vvvv gamma 5.x was sitting on .NET6, with this release we've updated to .NET8.

In more human-readable terms, for us this means:
What this basically means, is this:
- Generally improved performance
- We can now use newest .NET NuGets of libraries
- When [writing your own nodes](https://thegraybook.vvvv.org/reference/extending/writing-nodes.html) for vvvv you can now use [C#10 features](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-10)
- You can now use the newest .NET NuGets of libraries
- When [writing your own nodes](https://thegraybook.vvvv.org/reference/extending/writing-nodes.html) for vvvv you can now use [C#12 features](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-12)

## New Libraries
Our fully [opensource VL.StandardLibs](https://github.com/vvvv/VL.StandardLibs) has the following new features that are conveniently shipping with vvvv:
## New Standard Libraries
vvvv's famously fully [open-source standard libraries](https://github.com/vvvv/VL.StandardLibs) got some substantial additions. Here's an overview:

- Logging is now a breeze. Not only to the new Log Window mention above, but also to any [thirdparty logging provider](https://learn.microsoft.com/en-us/dotnet/core/extensions/logging-providers#third-party-logging-providers) you prefer. Browse for "logging" in the Helpbrowser to learn more
- Logging is now a breeze. Not only due to the new Log Window mention above, but also because you can use any [thirdparty logging provider](https://learn.microsoft.com/en-us/dotnet/core/extensions/logging-providers#third-party-logging-providers) you prefer. Browse for "logging" in the Helpbrowser to learn more
- No need anymore to reinvent the wheel for configuring your apps. With full support for [Configuration](https://learn.microsoft.com/en-us/dotnet/core/extensions/configuration) you can make use of all the different workflows available. For a start see "HowTo Use Configuration" in the Helpbrowser
- Our new favorite way for sharing data among PCs is using [Redis](https://redis.io/) via **VL.IO.Redis**. Basically a high-performance key-value store you can access from many PCs
- The above also made us add support for [MessagePack](https://msgpack.org/) serialization via **VL.Serialization.MessagePack**, which we use as a default with Redis. And on the side this pack also comes with handy JSON Serializer/Deserializer!
- The above also made us add support for [MessagePack](https://msgpack.org/) serialization via **VL.Serialization.MessagePack**, which we use as a default with Redis. And on the side this pack also comes with a handy new JSON Serializer/Deserializer!
- Support for the [OSCQuery protocol](https://github.com/Vidvox/OSCQueryProposal) via **VL.IO.OSCQuery**. It allows you to quickly expose parameters in your patch to other softwares supporting the protocol. Exactly, in a way similar to [VL.IO.RCP](https://www.nuget.org/packages/VL.IO.RCP)
- You have a complex scenario that can be heavily threaded to make use of all your 64 CPU cores? Have a look at [Dataflow](https://learn.microsoft.com/en-us/dotnet/standard/parallel-programming/dataflow-task-parallel-library) and then use it via **VL.TPL.Dataflow**
- And finally a tiny new feature that was long overdue: A new Random (process) node with a Seed input!

But that's not all, here are a bunch of new libraries you can install as needed:
## Additional New Libraries
But that's not all! While not shipping as part of the standard libraries, here are a bunch of new libraries that you can install on demand:

- [VL.ScalableDisplay](https://www.nuget.org/packages/VL.ScalableDisplay) adds support for automatic projector calibration by [Scalable Display Technologies](https://www.scalabledisplay.com/)
- [VL.Augmenta](https://www.nuget.org/packages/VL.Augmenta) adds support for people tracking by [Augmenta](https://augmenta.tech/)
Expand All @@ -138,32 +135,34 @@ But that's not all, here are a bunch of new libraries you can install as needed:
- [VL.MediaPipe](https://www.nuget.org/packages/VL.MediaPipe) adds support for hand-, face- and pose-tracking, object-detection and image-segmentation from a live video stream via [Google's MediaPipe](https://mediapipe-studio.webapps.google.com)

## Updated Standard Libraries
Here is an overview of the changes to existing libraries shipping with vvvv, for this release:
So the above was all the new stuff. Now here is an overview of the changes to existing libraries shipping with vvvv, for this release:

- **VL.Stride**, vvvv's 3d rendering library has the following new features
- We've updated to [Stride 4.2](https://www.stride3d.net/blog/announcing-stride-4-2-in-dotnet-8/)
- The PostFX pipeline is now completely flexible in that you're no longer limited to the pre-existing PostFX but you can completely patch the whole pipeline with your own shaders
- Shaders can now be organized in subfolders, their name must still be globally unique though
- The PostFX pipeline is now completely flexible in that you're no longer limited to using the pre-existing PostFX but you can completely patch the whole pipeline with your own shaders! See "HowTo Create Custom PostFX" and "HowTo Use pre-defined effect in Custom PostFX"
- TextureFX have moved to a separate pack VL.Stride.TextureFX
- compute() inputs on texturefx
- imgui PR
- **VL.CEF**, allowing to render websites in both Skia and Stride was updated to using CEF 103.0.0
- **VL.Skia**
- commandlist on renderers to have custom shortcuts
- **VL.ImGui**
- **VL.Video** breaking change
- **VL.Audio**: new extension
- **VL.IO.OSC**: binding
- TextureFX RGBA inputs are now of type ComputeColor
- And then [some more](https://thegraybook.vvvv.org/changelog/6.x.html#vlstride)
- **VL.Skia**, vvvv's 2d rendering library. Not many changes, see [change log](https://thegraybook.vvvv.org/changelog/6.x.html#vlskia)
- **VL.ImGui**, the rapid UI building library
- Adds a backend for directly rendering in VL.Stride (thanks [kopffarben](https://github.com/kopffarben))
- Has a small breaking change and some more, see [change log](https://thegraybook.vvvv.org/changelog/6.x.html#vlimgui)
- **VL.Video**, the MediaFoundation based video playback library has a breaking change, see [change log](https://thegraybook.vvvv.org/changelog/6.x.html#vlvideo)
- **VL.Audio**, vvvv's audio playback, analysis and synthesis library
- Comes with a simplified workflow for FFT analysis (see helppatch)
- Comes with a new Visualizer extension (thanks [chkworks](https://github.com/chkworks))
- **VL.IO.TUIO** now supports the 2.5D and 3D profiles

- webserver
- tcp
- ply
- kinect2
- artnet
- https://www.nuget.org/packages/VL.IO.RCP
## Additional Updated Libraries
- [VL.CEF](https://github.com/vvvv/VL.CEF), allowing to render websites in both Skia and Stride:
- Updated to use CEF 103.0.0
- [VL.IO.RCP](https://www.nuget.org/packages/VL.IO.RCP), the quickest way to expose parameters to control e.g. via a webbrowserto e.g. a web browser
- Now has nodes to directly work with Channels

## Community efforts
With the big focus on [extendability](https://thegraybook.vvvv.org/reference/extending/overview.html) we have with vvvv, it is possible for everyone to contribute to its ecosystem of libraries. And you do!
With the big focus on [extendability](https://thegraybook.vvvv.org/reference/extending/overview.html) we have with vvvv, it is possible for everyone to contribute to its ecosystem of libraries. And many of you do!

- launcher
- fuse, ...
- kairos - mention opencollectives
Expand Down Expand Up @@ -197,8 +196,6 @@ While they are already shipping with this release, we're still hiding all relate

Apart from regular 6.x bug-fix releases, we'll also add a few more features in the 6.x branch. Consult our [living roadmap](https://thegraybook.vvvv.org/roadmap/planned.html) for details.

---

## Licensing
The release of a new version is always a good moment to make sure you still have a valid license for commercial use. To check, log into your account on vvvv.org and then view [your vvvv gamma licenses](https://store.vvvv.org/licenses).

Expand Down

0 comments on commit 859df87

Please sign in to comment.