Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/vvvv/The-Gray-Book
Browse files Browse the repository at this point in the history
  • Loading branch information
joreg committed Nov 27, 2023
2 parents bf0f83a + ad42fd0 commit 5a419fb
Show file tree
Hide file tree
Showing 26 changed files with 849 additions and 159 deletions.
17 changes: 14 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,25 @@ jobs:
runs-on: ubuntu-latest

steps:

# Setup .NET SDK
- name: Dotnet Setup
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.x

# Checkout repo
- name: Checkout repo
uses: actions/checkout@v1
with:
fetch-depth: 1

# Install DocFX 2.71.0
- name: Install DocFX
run: dotnet tool update -g docfx --version 2.71.0

- uses: nikeee/docfx-action@master
with:
args: docfx.json
- name: Build documentation
run: ./build.bat

- name: SFTP Deploy
uses: wlixcc/[email protected]
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@
/**/obj/
_site
.vscode
/_exported_templates/*
2 changes: 2 additions & 0 deletions build-serve.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
docfx build
docfx serve
1 change: 1 addition & 0 deletions build.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docfx build docfx.json
20 changes: 20 additions & 0 deletions changelog/5.x.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
# vvvv gamma 5.3
TBA

## Changes
* `VL.Video` (former `VL.Video.MediaFoundation`) has been reworked:
* The package has no more dependencies on `Stride`, `Skia` or `SharpDX`. This reduces the size of exported applications.
* All backend specific node duplications have been removed. For example `VideoPlayer (Skia)`, `VideoPlayer (Stride)` are no more, instead we only have `VideoPlayer`.
* The `VideoPlayer` and `VideoIn` nodes return a `IVideoSource` on their main output. That pin can be connected to `VideoSourceToSKImage` (found within `VL.Skia`) or `VideoSourceToTexture` (found within `VL.Stride`). Both of these nodes take care of efficiently turning the received video frames into their respective image type.
* The before mentioned nodes were introduced earlier this year, but didn't get much attention yet as they were only usable in [VL.IO.NDI](https://github.com/vvvv/VL.IO.NDI). With this release, their functionality has been enhanced so that they can transport the used graphics device upstream. That allows the source (for example the `VideoPlayer`) to enter faster code paths if possible. The produced video frames can be backed by textures and used for rendering directly - no unnecessary memory copies, or GPU download & uploads.
* Whether or not the graphics device gets communicated to the video source can be controlled via a pin which defaults to true. The video sink nodes further allow to pull the video frames from upstream, that could be useful in scenarios where one wants to synchronize the update rate to the video source.
* The `MediaFoundation` part has been dropped in the package name to lay the groundwork for more platform neutral work.
* New serialization options
* Thanks to https://github.com/vvvv/VL.StandardLibs/pull/664 we can now serialize from/to [MessagePack](https://msgpack.org/index.html). The new nodes can be found in the pre-installed package `VL.Serialization.MessagePack`.
* The previous PR also brought in some plain & simple binary serialization - these nodes can be accessed via the new `VL.Serialization.Raw` package. Note that you should no what a blittable type is or you'll not be happy with them.
* To make thing symetric we moved the [FSPickler](https://mbraceproject.github.io/FsPickler/) based nodes to the new `VL.Serialization.FSPickler` package. A converter will take care of fixing your existing patches.
* Direct import of types & nodes from C#
* It's now possible to write types & nodes directly from within C# with the new [`ImportAsIs`](https://github.com/vvvv/VL.StandardLibs/blob/main/VL.Core/src/Import/ImportAsIsAttribute.cs) 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`](https://github.com/vvvv/VL.StandardLibs/blob/main/VL.Core/src/Import/ProcessNodeAttribute.cs) 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.

# vvvv gamma 5.2
released on 09 06 23
[Installer](https://teamcity.vvvv.org/guestAuth/app/rest/builds/id:37342/artifacts/content/vvvv_gamma_5.2_setup.exe) |
Expand Down
1 change: 1 addition & 0 deletions changelog/nuget-compatibility-chart.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Package|Version|Command to get recommended version
[VL.Badmapper](https://github.com/vvvv/VL.BadMapper) | >= 0.0.19 preview | `nuget install VL.Badmapper -pre`
[VL.Devices.Astra](https://github.com/vvvv/VL.Devices.Astra) | >= 1.2.0 | `nuget install VL.Devices.Astra`
[VL.Devices.Kinect2](https://github.com/vvvv/VL.Devices.Kinect2) | >= 1.3.0 | `nuget install VL.Devices.Kinect2`
[VL.Devices.Kinect](https://github.com/vvvv/VL.Devices.Kinect) | >= 1.0.3 | `nuget install VL.Devices.Kinect`
[VL.Devices.LeapOrion](https://github.com/vvvv/VL.Devices.LeapOrion) | >= 1.2.0 | `nuget install VL.Devices.LeapOrion`
[VL.Devices.RealSense](https://github.com/vvvv/VL.Devices.RealSense) | >= 1.5.0 | `nuget install VL.Devices.RealSense`
[VL.Fuse](https://github.com/TheFuseLab/VL.Fuse) | >= 1.0 preview | `nuget install VL.Fuse -pre`
Expand Down
49 changes: 0 additions & 49 deletions custom template/vvvv/layout/_master.tmpl

This file was deleted.

72 changes: 72 additions & 0 deletions custom template/vvvv_modern/layout/_master.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}}
{{!include(/^public/.*/)}}
{{!include(favicon.ico)}}
{{!include(logo.svg)}}

<!DOCTYPE html>
<html {{#_lang}}lang="{{_lang}}"{{/_lang}}>

{{>partials/head}}

{{^redirect_url}}
<body class="tex2jax_ignore" data-layout="{{_layout}}{{layout}}" data-yaml-mime="{{yamlmime}}">
<header class="bg-body border-bottom">
{{>partials/navbar}}
</header>

<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>

<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" style="margin-top: -.65em; margin-left: -.8em"
type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas"
aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>

<nav id="breadcrumb"></nav>
</div>

<article data-uid="{{uid}}">
{{!body}}
</article>

{{^_disableNextArticle}}
<div class="next-article d-print-none border-top" id="nextArticle"></div>
{{/_disableNextArticle}}

</div>

<div class="affix">
{{^_disableContribution}}
<div class="contribution d-print-none">
{{#sourceurl}}
<a href="{{sourceurl}}" class="edit-link">{{_improveThisDoc}}</a>
{{/sourceurl}}
{{^sourceurl}}{{#docurl}}
<a href="{{docurl}}" class="edit-link">{{_improveThisDoc}}</a>
{{/docurl}}{{/sourceurl}}
</div>
{{/_disableContribution}}
<nav id="affix"></nav>
</div>
</main>

{{^_disableFooter}}
{{>partials/footer}}
{{/_disableFooter}}
{{>partials/scripts}}
</body>
{{/redirect_url}}
</html>
9 changes: 9 additions & 0 deletions custom template/vvvv_modern/partials/breadcrumb.tmpl.partial
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}}

<div class="subnav navbar navbar-default">
<div class="container hide-when-search" id="breadcrumb">
<ul class="breadcrumb">
<li>{{_tocTitle}}</li>
</ul>
</div>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}}
{{!Add your own custom template for the content for ManagedReference here}}
{{#_splitReference}}
{{#isCollection}}
{{>partials/collection}}
{{/isCollection}}
{{#isItem}}
{{>partials/item}}
{{/isItem}}
{{/_splitReference}}
11 changes: 11 additions & 0 deletions custom template/vvvv_modern/partials/footer.tmpl.partial
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<footer class="border-top">
<div class="container-xxl">
<div class="flex-fill">
<div class="d-flex flex-column flex-sm-row justify-content-between pt-1 text-center small mx-3">
<p>Brought to you by <a href="https://vvvv.org" target="_blank">vvvv.org</a> | <a href="https://www.visualprogramming.net" target="_blank">visualprogramming.net</a></p>
<p>Made with <a href="https://dotnet.github.io/docfx" target="_blank">docfx</a></p>
<p><a href="#top">Back to top</a></p>
</div>
</div>
</div>
</footer>
46 changes: 46 additions & 0 deletions custom template/vvvv_modern/partials/head.tmpl.partial
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<head>
<meta charset="utf-8">
{{#redirect_url}}
<meta http-equiv="refresh" content="0;URL='{{redirect_url}}'">
{{/redirect_url}}
{{^redirect_url}}
<title>{{#title}}{{title}}{{/title}}{{^title}}{{>partials/title}}{{/title}} {{#_appTitle}}| {{_appTitle}} {{/_appTitle}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="{{#title}}{{title}}{{/title}}{{^title}}{{>partials/title}}{{/title}} {{#_appTitle}}| {{_appTitle}} {{/_appTitle}}">
{{#_description}}<meta name="description" content="{{_description}}">{{/_description}}
<link rel="icon" href="{{_rel}}{{{_appFaviconPath}}}{{^_appFaviconPath}}favicon.ico{{/_appFaviconPath}}">
<link rel="stylesheet" href="{{_rel}}public/docfx.min.css">
<link rel="stylesheet" href="{{_rel}}public/main.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@docsearch/css@3"/>
<link rel="stylesheet" href="{{_rel}}public/customDocSearch.css">
<meta name="docfx:navrel" content="{{_navRel}}">
<meta name="docfx:tocrel" content="{{_tocRel}}">
{{#_noindex}}<meta name="searchOption" content="noindex">{{/_noindex}}
{{#_enableSearch}}<meta name="docfx:rel" content="{{_rel}}">{{/_enableSearch}}
{{#_disableNewTab}}<meta name="docfx:disablenewtab" content="true">{{/_disableNewTab}}
{{#_disableTocFilter}}<meta name="docfx:disabletocfilter" content="true">{{/_disableTocFilter}}
{{#docurl}}<meta name="docfx:docurl" content="{{docurl}}">{{/docurl}}
<meta name="loc:inThisArticle" content="{{_inThisArticle}}">
<meta name="loc:searchResultsCount" content="{{__global.searchResultsCount}}">
<meta name="loc:searchNoResults" content="{{__global.searchNoResults}}">
<meta name="loc:tocFilter" content="{{__global.tocFilter}}">
<meta name="loc:nextArticle" content="{{__global.nextArticle}}">
<meta name="loc:prevArticle" content="{{__global.prevArticle}}">
<meta name="loc:themeLight" content="{{__global.themeLight}}">
<meta name="loc:themeDark" content="{{__global.themeDark}}">
<meta name="loc:themeAuto" content="{{__global.themeAuto}}">
<meta name="loc:changeTheme" content="{{__global.changeTheme}}">
<meta name="loc:copy" content="{{__global.copy}}">
{{/redirect_url}}
</head>

<script type="module">
import options from './{{_rel}}public/main.js'
import { init } from './{{_rel}}public/docfx.min.js'
init(options)
</script>

<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
3 changes: 3 additions & 0 deletions custom template/vvvv_modern/partials/item.tmpl.partial
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}}

{{>partials/class.header}}
23 changes: 23 additions & 0 deletions custom template/vvvv_modern/partials/navbar.tmpl.partial
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}}
<div class="topbar d-none d-md-flex">
<div class="container-xxl px-4">
<a href="https://www.visualprogramming.net" class="backtovvvv">Back to vvvv</a>
</div>
</div>
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="{{_appLogoUrl}}{{^_appLogoUrl}}{{_rel}}index.html{{/_appLogoUrl}}">
<img id="logo" class="svg" src="{{_rel}}{{{_appLogoPath}}}{{^_appLogoPath}}logo.svg{{/_appLogoPath}}" alt="{{_appName}}" >
{{_appName}}
</a>
<a href="https://www.visualprogramming.net" class="nav-link d-md-none">Back to vvvv</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
</div>
<div id="docsearch" class="ds-search ds-search mx-auto mb-3 mb-md-0"></div>
</div>
</div>
</nav>
4 changes: 4 additions & 0 deletions custom template/vvvv_modern/partials/scripts.tmpl.partial
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<script type="text/javascript" src="{{_rel}}styles/gdpr-video.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@docsearch/js@3"></script>
<script type="text/javascript"> docsearch({ appId: 'ZHW2WU2R4S', apiKey: 'e51f751bd604785e217464c70a19aa39', indexName: 'thegraybook-vvvv', container: '#docsearch', debug: 'false'});</script>
<script async defer data-domain="thegraybook.visualprogramming.net" src="https://plausible.io/js/plausible.js"></script>
80 changes: 80 additions & 0 deletions custom template/vvvv_modern/public/customDocSearch.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
:root {
--docsearch-primary-color: #505050;
--docsearch-logo-color: #505050;
--docsearch-container-background: rgba(33, 33, 33, 0.8);
}

.ds-search
{
width: 250px;
background-color: var(--bs-body-bg);
}

.DocSearch-SearchBar
{
/* position: relative; */
}

.DocSearch-Modal
{
margin: 0 auto auto;
border-radius: 0px;
}

@media (min-width: 768px) {
.DocSearch-Modal
{
margin: 110px auto auto;
border-radius: 3px;
}
}


.DocSearch-Button
{
border-radius: 2px;
height: 30px;
border-width: 1px;
border-style: solid;
border-radius: 2px;
border-color: var(--bs-border-color);
text-decoration: none;
background-color: var(--bs-body-bg);
padding: 0.5em 0.5em;
min-width: 200px;
color: var(--bs-secondary-color);
margin-right: auto;
margin-left: auto;
}

.DocSearch-Button:hover
{
background-color: var(--bs-body-bg);
color: var(--bs-body-color);
}

.DocSearch-Button .DocSearch-Search-Icon {
color: var(--bs-border-color);
}

.DocSearch-Button-Keys
{
padding-top: 3px;
}

.DocSearch-Button:hover
{
box-shadow: inherit;
}

.DocSearch-Button-Placeholder {
padding: 0 60px 0 6px;
}

.DocSearch-Logo svg {
color: var(--bs-border-color);
}

.DocSearch-Logo .cls-1, .DocSearch-Logo .cls-2 {
color: var(--bs-border-color);
}
Loading

0 comments on commit 5a419fb

Please sign in to comment.