Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/origin/main' into feature/VL.Im…
Browse files Browse the repository at this point in the history
…Gui.Stride
  • Loading branch information
kopffarben committed Mar 5, 2024
2 parents b491503 + 2fbcca4 commit af909f9
Show file tree
Hide file tree
Showing 42 changed files with 3,408 additions and 2,278 deletions.
16 changes: 16 additions & 0 deletions VL.Core/src/Lang.PublicAPI/Message.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,22 @@ public class Message : IEquatable<Message>
private bool? flowToParent;
public readonly object Symbol;

/// <summary>
/// A short version of the original `What` containing only the first line.
/// </summary>
public string ShortWhat
{
get
{
// Tests for both Unix (\n) and Non-unix (\r\n)
var newLineIndex = What.IndexOf('\n');
if (newLineIndex > 0)
return What.Substring(0, newLineIndex);

return What;
}
}

public Message(MessageSeverity severity, string what, string why = "", string how = "", string ignore = "", object symbol = null)
: this(default(UniqueId), severity, what, why, how, ignore, symbol: symbol)
{
Expand Down
3 changes: 2 additions & 1 deletion VL.Core/src/Logging/LogMessage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ public string ShortMessage
{
get
{
var newLineIndex = Message.IndexOf(Environment.NewLine);
// Tests for both Unix (\n) and Non-unix (\r\n)
var newLineIndex = Message.IndexOf('\n');
if (newLineIndex > 0)
return Message.Substring(0, newLineIndex);

Expand Down
5 changes: 0 additions & 5 deletions VL.Core/tests/VL.Core.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@
<IsPackable>false</IsPackable>
</PropertyGroup>

<!-- https://github.com/microsoft/vstest/issues/4469 -->
<ItemGroup>
<ProjectCapability Remove="TestContainer" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="NUnit" />
Expand Down
479 changes: 238 additions & 241 deletions VL.CoreLib/CoreLibBasics.vl

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions VL.CoreLib/VL.CoreLib.HDE.vl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Document xmlns:p="property" xmlns:r="reflection" Id="HUWWSNXXnQ1P5wdcpo8xUg" LanguageVersion="2024.6.0-0171-gac855f71b1" Version="0.128">
<Document xmlns:p="property" xmlns:r="reflection" Id="HUWWSNXXnQ1P5wdcpo8xUg" LanguageVersion="2024.6.0-0184-g0d8a8689e2" Version="0.128">
<NugetDependency Id="KPmX60dXxxIPR0NzHzZYpA" Location="VL.CoreLib" IsFriend="true" Version="2023.5.1-0043-g9323c33cf7" />
<Patch Id="QM8A1zcHsqAPAZW1BHMEK6">
<Canvas Id="G3Et4nox7XvODbEeP6RZaF" CanvasType="FullCategory">
Expand Down Expand Up @@ -676,7 +676,7 @@
<Pin Id="LrmKLlzzvUBLK9xAD3EkMa" Name="Input 2" Kind="InputPin" />
<Pin Id="ViXChs4Y9svMCTcjd5ixsW" Name="Output" Kind="OutputPin" />
</Node>
<Pad Id="CDcfj4prkJTQLuTvZSgcFJ" Comment="Shortcut" Bounds="296,281,119,15" ShowValueBox="true" isIOBox="true" Value="G">
<Pad Id="CDcfj4prkJTQLuTvZSgcFJ" Comment="Shortcut" Bounds="296,281,119,15" ShowValueBox="true" isIOBox="true" Value="F3">
<p:TypeAnnotation LastCategoryFullName="IO.Keyboard" LastDependency="VL.CoreLib.vl">
<Choice Kind="TypeFlag" Name="Keys" />
</p:TypeAnnotation>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
<?xml version="1.0" encoding="utf-8"?>
<Document xmlns:p="property" xmlns:r="reflection" Id="L9WsMTRJD04QEvcAhbynwT" LanguageVersion="2024.6.0-0211-ga7213b5ca3" Version="0.128">
<NugetDependency Id="ADcMuj3MEMaPZT6IyGdMHB" Location="VL.CoreLib" Version="2024.6.0-0203-gf9bb287561" />
<Patch Id="HpAZb8ThhLwN0jPglHWcQ8">
<Canvas Id="MbYMKurAnRWLsZaAK2qCaw" DefaultCategory="Main" BordersChecked="false" CanvasType="FullCategory" />
<!--
************************ Application ************************
-->
<Node Name="Application" Bounds="100,100" Id="Rv8BXudNiLyQBF2DkO7k60">
<p:NodeReference>
<Choice Kind="ContainerDefinition" Name="Process" />
<CategoryReference Kind="Category" Name="Primitive" />
</p:NodeReference>
<Patch Id="MDdWOA629YSQEVNjz41a7J">
<Canvas Id="KJmRkPnBUDwNMEtv2UaveY" CanvasType="Group">
<Node Bounds="198,260,51,26" Id="A96Hqk6P0gMLFDgsuegHeT">
<p:NodeReference LastCategoryFullName="2D.Rectangle" LastDependency="VL.CoreLib.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="4026531840" Name="Rectangle" />
<Choice Kind="OperationCallFlag" Name="Union (Points)" />
</p:NodeReference>
<p:HelpFocus p:Assembly="VL.Lang" p:Type="VL.Model.HelpPriority">High</p:HelpFocus>
<Pin Id="QS93tffoOjHObbkjAL6zHy" Name="Input" Kind="StateInputPin" />
<Pin Id="BtxBnGAJ0h6M5UhBN3qJk7" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="320,174,85,19" Id="LGFAau0uZR5P31lurQbX4N">
<p:NodeReference LastCategoryFullName="Collections.Spread" LastDependency="VL.CoreLib.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="RandomSpread (2d)" />
</p:NodeReference>
<Pin Id="IQWlQ7RsqsjNMN37MWkgrw" Name="Node Context" Kind="InputPin" IsHidden="true" />
<Pin Id="ELnCOVqPufBMCqQrm0posi" Name="Center" Kind="InputPin" />
<Pin Id="A1viSibWzuYNjIiUyEA2LV" Name="Size" Kind="InputPin" />
<Pin Id="UJudGudKcx9MDW2j5xDFFI" Name="Seed" Kind="InputPin" DefaultValue="25" />
<Pin Id="IcmUSmsRrChQdUQm5VBhd7" Name="Count" Kind="InputPin" DefaultValue="5" />
<Pin Id="IEHTyaa7T3mNmQtzefBPx4" Name="Output" Kind="OutputPin" />
</Node>
<Node Bounds="241,599,125,19" Id="UH7qCuhrcebOzhgmBQkm5s">
<p:NodeReference LastCategoryFullName="Graphics.Skia" LastDependency="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="Category" Name="Skia" NeedsToBeDirectParent="true" />
<Choice Kind="ProcessAppFlag" Name="Renderer" />
</p:NodeReference>
<Pin Id="PWQMobdaHjTQIa6SsXxb7t" Name="Bounds" Kind="InputPin" DefaultValue="1048, 61, 616, 439" IsHidden="true" />
<Pin Id="EcZZ4QNkr3fPKOhJN7nsmb" Name="Save Bounds" Kind="InputPin" IsHidden="true" />
<Pin Id="F4Q3WvqAZp2NQX7ZtdqCYP" Name="Bound to Document" Kind="InputPin" IsHidden="true" />
<Pin Id="QBGHs36b5UcLm8pqrgWGrd" Name="Node Context" Kind="InputPin" IsHidden="true" />
<Pin Id="VKRIYpFY4EEPdkhsCiKFlb" Name="Dialog If Document Changed" Kind="InputPin" IsHidden="true" />
<Pin Id="L5pr4Fpl2yTLmXSd7BXCBD" Name="Input" Kind="InputPin" />
<Pin Id="PDEvVExMjTvLsPQ23hBslS" Name="Color" Kind="InputPin" />
<Pin Id="Bx6LyaQH5s3MxfaPNY79H2" Name="Clear" Kind="InputPin" />
<Pin Id="AjykUPevxhCL6IrTm8C4hX" Name="Space" Kind="InputPin" />
<Pin Id="VQTHGoiDvKQOw7rNx0v7kB" Name="Show Cursor" Kind="InputPin" />
<Pin Id="F9jOeCdz9cVP0Djouvjlv4" Name="VSync" Kind="InputPin" />
<Pin Id="Fh51dkrbI2ANKy1yh3MMIV" Name="Commands" Kind="InputPin" IsHidden="true" />
<Pin Id="UHe2ZUpRcxxNadrmyXLG9P" Name="Enable Keyboard Shortcuts" Kind="InputPin" IsHidden="true" />
<Pin Id="K6uDRnOFrtZLc3RwzXCgY1" Name="Enabled" Kind="InputPin" />
<Pin Id="GtJliQkavIwNHBhpdLdj04" Name="Form Bounds Notifications" Kind="OutputPin" IsHidden="true" />
<Pin Id="Td4olwM3PTxPMyMxldKO6b" Name="Form" Kind="OutputPin" />
<Pin Id="MEBE03RU4gfLNXkCCrlIPQ" Name="ClientBounds" Kind="OutputPin" />
<Pin Id="GLHInNf1GTzQHRLvBvWD6J" Name="Render Time" Kind="OutputPin" />
</Node>
<Node Bounds="241,543,65,19" Id="T7AwDAxpzUiNBDA3gfn06c">
<p:NodeReference LastCategoryFullName="Graphics.Skia" LastDependency="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="Group" />
</p:NodeReference>
<Pin Id="RNW9V6OC2VHO3c6MiSOTaU" Name="Node Context" Kind="InputPin" IsHidden="true" />
<Pin Id="E03e7Ze744uQaE8OlrPQtQ" Name="Input" Kind="InputPin" />
<Pin Id="AALx92xP1oyQGevOGdg2t9" Name="Input 2" Kind="InputPin" />
<Pin Id="LaC8D6LeHxQQVIVzRuqGQK" Name="Debug" Kind="InputPin" />
<Pin Id="NQOFIpHhVAkMyWHbxdHoCu" Name="Enabled" Kind="InputPin" />
<Pin Id="DfCIF72xTuhPtfj6KFia0D" Name="Output" Kind="OutputPin" />
</Node>
<Node Bounds="241,501,61,19" Id="DQOOow1Q9a2MzyX7Qr64nR">
<p:NodeReference LastCategoryFullName="Graphics.Skia.Layers" LastDependency="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="Rectangle (Bounds)" />
</p:NodeReference>
<Pin Id="Nq3T1P79cRYL5ryWThyEJk" Name="Node Context" Kind="InputPin" IsHidden="true" />
<Pin Id="HgncITP7ucWPWerjcTxKOx" Name="Bounds" Kind="InputPin" />
<Pin Id="MYHU3wIRTVnLqI5P06mOoz" Name="Paint" Kind="InputPin" />
<Pin Id="NVjEB6HRwTFOdljV1PHGMk" Name="Enabled" Kind="InputPin" />
<Pin Id="ICSviqo9czeMXqcEF8sCfJ" Name="Output" Kind="OutputPin" />
</Node>
<Node Bounds="321,500,85,19" Id="FEMWVZbCSJSNwSq9YZAQWH">
<p:NodeReference LastCategoryFullName="Graphics.Skia.Layers" LastDependency="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="Category" Name="Layers" NeedsToBeDirectParent="true" />
<Choice Kind="ProcessAppFlag" Name="Points" />
</p:NodeReference>
<Pin Id="ET8AaPfFVKbP4zCaqNF2HM" Name="Node Context" Kind="InputPin" IsHidden="true" />
<Pin Id="RyNKb9n6ZZaOfhfXtehQfR" Name="Points" Kind="InputPin" />
<Pin Id="D39WYiCvO0QNt84ge8cboV" Name="Size" Kind="InputPin" />
<Pin Id="KK7wCxZTzdWPdsEmKpm4yt" Name="Shape" Kind="InputPin" />
<Pin Id="AOwieqhXHOpOC16BTNLsQn" Name="Paint" Kind="InputPin" />
<Pin Id="TVBDOETMNoONwWDaAaOHwz" Name="Enabled" Kind="InputPin" />
<Pin Id="C9U9EjaFfl2MaPttrco5MO" Name="Output" Kind="OutputPin" />
</Node>
<Node Bounds="381,461,45,19" Id="ExV1O46tTTwOmSwb6IguoK">
<p:NodeReference LastCategoryFullName="Graphics.Skia.Paint" LastDependency="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<FullNameCategoryReference ID="Graphics.Skia.Paint" />
<Choice Kind="ProcessAppFlag" Name="Fill" />
</p:NodeReference>
<Pin Id="DreKGHgoXfOO3g1mwCAQIb" Name="Node Context" Kind="InputPin" IsHidden="true" />
<Pin Id="QbTRPikShdIPdJI8cVITCn" Name="Input" Kind="InputPin" />
<Pin Id="U0Pcjwdcuw6NZuavTY1iRi" Name="Color" Kind="InputPin" DefaultValue="1, 0, 0, 1" />
<Pin Id="S1Dnwk3rnKjMOtlVrRhsJq" Name="Shader" Kind="InputPin" />
<Pin Id="V4NkM9XPqyuLGIs85unw3L" Name="Output" Kind="OutputPin" />
</Node>
<Pad Id="KQw4fM1xtzsOXFQi44aUcq" Comment="Seed" Bounds="375,141,35,15" ShowValueBox="true" isIOBox="true" Value="42">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pad>
<Node Bounds="130,317,58,26" Id="DkzBpicHGAuL69x4r08yxK">
<p:NodeReference LastCategoryFullName="Primitive.Nullable" LastDependency="VL.CoreLib.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="Nullable" NeedsToBeDirectParent="true" />
<Choice Kind="OperationCallFlag" Name="HasValue" />
</p:NodeReference>
<Pin Id="E7JKVOZ6T4yM2da4rkcDy1" Name="Input" Kind="StateInputPin" />
<Pin Id="FZFcc6zdm4WOAMD8yr5iLk" Name="Output" Kind="StateOutputPin" />
<Pin Id="BRx4wAvyZrhOjDl09yECwj" Name="Has Value" Kind="OutputPin" />
</Node>
<Node Bounds="188,372,72,80" Id="Ii0IBIJTRoXNhDV678Ynlh">
<p:NodeReference LastCategoryFullName="Primitive" LastDependency="Builtin">
<Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
<CategoryReference Kind="Category" Name="Primitive" />
<Choice Kind="ApplicationStatefulRegion" Name="If" />
</p:NodeReference>
<Pin Id="PROZZ387FabPv5zJ6AxEjl" Name="Condition" Kind="InputPin" />
<Patch Id="FRZwZlklNmqMP37BR3Oyon" ManuallySortedPins="true">
<Patch Id="BlQQBvbfo8JO6EAfkUCo9n" Name="Create" ManuallySortedPins="true" />
<Patch Id="VU4IlWjRnnON9h9GmPmdKq" Name="Then" ManuallySortedPins="true" />
<Node Bounds="200,401,46,26" Id="PIg25l3nfcwLQVqSfhmkdQ">
<p:NodeReference LastCategoryFullName="Primitive.Nullable" LastDependency="VL.CoreLib.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="Nullable" />
<Choice Kind="OperationCallFlag" Name="Value" />
</p:NodeReference>
<Pin Id="CC7pAoXZBVILRpsbZksKe4" Name="Input" Kind="StateInputPin" />
<Pin Id="L8xKlANHjMANbwNyF6UvUr" Name="Output" Kind="StateOutputPin" />
<Pin Id="OeWuP09GM6qP77PBzLlSVk" Name="Value" Kind="OutputPin" />
</Node>
</Patch>
<ControlPoint Id="Mv5JBaCxmjfM2hDUW2jN5W" Bounds="243,446" Alignment="Bottom" />
<ControlPoint Id="BtSVMXkzfCKOUHIKdSEFfp" Bounds="243,378" Alignment="Top" />
</Node>
</Canvas>
<Patch Id="VTxXS87pSU6QZCJXIKHCBQ" Name="Create" />
<Patch Id="SBOnTjTU1IbP3sQ2UKKGlo" Name="Update" />
<ProcessDefinition Id="Li7yaf1VyVpNZdElxwnTfs">
<Fragment Id="Byl3kkgiDNiMvwwJsUFXpF" Patch="VTxXS87pSU6QZCJXIKHCBQ" Enabled="true" />
<Fragment Id="EbcJsV0OBjaLalQcYSP35Z" Patch="SBOnTjTU1IbP3sQ2UKKGlo" Enabled="true" />
</ProcessDefinition>
<Link Id="KWZCmxaTvEsMGbeo0OZVPF" Ids="IEHTyaa7T3mNmQtzefBPx4,QS93tffoOjHObbkjAL6zHy" />
<Link Id="Q7T6vC9o6BMPDEri6s1a8R" Ids="DfCIF72xTuhPtfj6KFia0D,L5pr4Fpl2yTLmXSd7BXCBD" />
<Link Id="UHnKB0bpM1YNPJ4kb4vAWx" Ids="BtxBnGAJ0h6M5UhBN3qJk7,CC7pAoXZBVILRpsbZksKe4" />
<Link Id="GpnV0wIVjzMLEz1CsoCJEZ" Ids="ICSviqo9czeMXqcEF8sCfJ,E03e7Ze744uQaE8OlrPQtQ" />
<Link Id="Ngn6duFHKSwL8mIQj3siwp" Ids="C9U9EjaFfl2MaPttrco5MO,AALx92xP1oyQGevOGdg2t9" />
<Link Id="UlV1WmAGtKdMXf4ENnMVjS" Ids="IEHTyaa7T3mNmQtzefBPx4,RyNKb9n6ZZaOfhfXtehQfR" />
<Link Id="Sp8eYgEPGzJQJLdpQaOdQ3" Ids="V4NkM9XPqyuLGIs85unw3L,AOwieqhXHOpOC16BTNLsQn" />
<Link Id="N8tAzvhE0PIPno9VdgxJsR" Ids="KQw4fM1xtzsOXFQi44aUcq,UJudGudKcx9MDW2j5xDFFI" />
<Link Id="Nio6Gnnu6TiML2h48nZgwk" Ids="BtxBnGAJ0h6M5UhBN3qJk7,E7JKVOZ6T4yM2da4rkcDy1" />
<Link Id="TQD3l8eHHBJQIwkpKUa15t" Ids="BRx4wAvyZrhOjDl09yECwj,PROZZ387FabPv5zJ6AxEjl" />
<Link Id="SblES4oOIO7OLd5bv4rPpL" Ids="BtSVMXkzfCKOUHIKdSEFfp,Mv5JBaCxmjfM2hDUW2jN5W" IsFeedback="true" />
<Link Id="ENlVymq8qbQMsR98TYuQjQ" Ids="OeWuP09GM6qP77PBzLlSVk,Mv5JBaCxmjfM2hDUW2jN5W" />
<Link Id="F6u1JEY1yBsOWmzoLU8JcS" Ids="Mv5JBaCxmjfM2hDUW2jN5W,HgncITP7ucWPWerjcTxKOx" />
</Patch>
</Node>
</Patch>
<NugetDependency Id="F6T9d2NmNSdLOvaCYACbUl" Location="VL.Skia" Version="2024.6.0-0203-gf9bb287561" />
</Document>
2 changes: 1 addition & 1 deletion VL.CoreLib/src/Color/Color.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public static class ColorNodes
{
public static readonly Color4 One = new Color4(1, 1, 1, 1);

public static readonly Color4 Zero = new Color4(0, 0, 0, 0);
public static readonly Color4 Zero = new Color4(0, 0, 0, 1);

/// <summary>
/// Joins a color from its components
Expand Down
20 changes: 20 additions & 0 deletions VL.IO.OSCQuery/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# VL.IO.OSCQuery
Allows to expose parameters via the [OSCQuery protocol](https://github.com/Vidvox/OSCQueryProposal).

For use with vvvv, the visual live-programming environment for .NET: http://visualprogramming.net

## Getting started
- Ships with vvvv
- Usage examples and more information are included in the pack and can be found via the [Help Browser](https://thegraybook.vvvv.org/reference/hde/findinghelp.html)

## Contributing
- Report issues on [the vvvv forum](https://discourse.vvvv.org/c/vvvv-gamma/28)
- For custom development requests, please [get in touch](mailto:devvvvs@vvvv.org)
- When making a pull-request, please make sure to read the general [guidlines on contributing to vvvv libraries](https://thegraybook.vvvv.org/reference/extending/contributing.html)

## Credits
Based on [VRChat.OSCQuery](https://www.nuget.org/packages/VRChat.OSCQuery).

## Sponsoring
Development of this library was partially sponsored by:
- [Refik Anadol Studio](https://refikanadolstudio.com)
9 changes: 7 additions & 2 deletions VL.IO.OSCQuery/src/VL.IO.OSCQuery.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@
<OutputPath>..\lib</OutputPath>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);IncludeReferencedAssembliesInPackage</TargetsForTfmSpecificBuildOutput>
<VLPackageBasePath>..\</VLPackageBasePath>
<Description>OSCQuery support for VL</Description>
<PackageTags>VL, OSC</PackageTags>
<Description>OSCQuery support for vvvv</Description>
<PackageTags>VL, OSC</PackageTags>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<PackageReadmeFile>readme.md</PackageReadmeFile>
</PropertyGroup>

<ItemGroup>
Expand All @@ -16,6 +17,10 @@
<PackageReference Include="WatsonWebsocket" />
</ItemGroup>

<ItemGroup>
<None Include="..\readme.md" Pack="true" PackagePath="\"/>
</ItemGroup>

<Target Name="IncludeReferencedAssembliesInPackage" DependsOnTargets="ResolveReferences">
<ItemGroup>
<!-- Include assemblies from transitive package references https://github.com/NuGet/Home/issues/5103 -->
Expand Down
35 changes: 35 additions & 0 deletions VL.IO.Redis/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# VL.IO.Redis
A Redis client for accessing Redis databases.

For use with vvvv, the visual live-programming environment for .NET: http://visualprogramming.net

## Getting started
- Ships with vvvv
- Usage examples and more information are included in the pack and can be found via the [Help Browser](https://thegraybook.vvvv.org/reference/hde/findinghelp.html)

## Useful links
### Redis servers
- [General info](https://developer.redis.com/create/) on different options for running servers

### Redis servers for Linux or WSL (Windows Subsystem for Linux)
- [Official option](https://developer.redis.com/create/windows)
- [Dragonfly](https://www.dragonflydb.io/)

### Redis server for Windows
- [Memurai](https://www.memurai.com/) free only for development and testing

### Redis GUIs
- Official: Redis Insight [as download](https://redis.com/redis-enterprise/redis-insight/#insight-form) or [via Windows Store](https://apps.microsoft.com/store/detail/redisinsight/XP8K1GHCB0F1R2)
- [Alternatives](https://redis.io/resources/tools/#gui)

## Contributing
- Report issues on [the vvvv forum](https://discourse.vvvv.org/c/vvvv-gamma/28)
- For custom development requests, please [get in touch](mailto:devvvvs@vvvv.org)
- When making a pull-request, please make sure to read the general [guidlines on contributing to vvvv libraries](https://thegraybook.vvvv.org/reference/extending/contributing.html)

## Credits
Based on [StackExchange.Redis](https://www.nuget.org/packages/StackExchange.Redis).

## Sponsoring
Development of this library was partially sponsored by:
- [Refik Anadol Studio](https://refikanadolstudio.com)
Loading

0 comments on commit af909f9

Please sign in to comment.