PepperDash.Essentials.Plugin.CrestronNvx 2.5.0-IMatrixRouting-implementation.2

This is a prerelease version of PepperDash.Essentials.Plugin.CrestronNvx.
dotnet add package PepperDash.Essentials.Plugin.CrestronNvx --version 2.5.0-IMatrixRouting-implementation.2
NuGet\Install-Package PepperDash.Essentials.Plugin.CrestronNvx -Version 2.5.0-IMatrixRouting-implementation.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PepperDash.Essentials.Plugin.CrestronNvx" Version="2.5.0-IMatrixRouting-implementation.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PepperDash.Essentials.Plugin.CrestronNvx --version 2.5.0-IMatrixRouting-implementation.2
#r "nuget: PepperDash.Essentials.Plugin.CrestronNvx, 2.5.0-IMatrixRouting-implementation.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PepperDash.Essentials.Plugin.CrestronNvx as a Cake Addin
#addin nuget:?package=PepperDash.Essentials.Plugin.CrestronNvx&version=2.5.0-IMatrixRouting-implementation.2&prerelease

// Install PepperDash.Essentials.Plugin.CrestronNvx as a Cake Tool
#tool nuget:?package=PepperDash.Essentials.Plugin.CrestronNvx&version=2.5.0-IMatrixRouting-implementation.2&prerelease

PepperDash NVX Plugin

The NVX plugin endeavors to provide device control and routing over Crestron NVX type devices without the need for an XIO director.

Installation

Navigate to the BUILDS folder in the repository. Place the .cplz file into the Plugins folder for Essentials and reset the application.

IMPORTANT:

The name property in the Esssentials Device config is what the actual NVX device will be named. This value must not contain any spaces or special characters.

<strong>This plugin does not currently support E30/D30 encoders and decoders. They will throw null reference exeptions. This is in development.</strong>

Join Map

See details section below for detailed description of device properties.

Joins

Join Digital Analog Serial
1 Device Online Video Route Video Route
2 Stream Started Audio Route Audio Route
3 HDMI01 Sync Detected Video Input Video Input
4 HDMI02 Sync Detected Audio Input Audio Input
5 - USB Route USB Route
6 Supports HDMI01 HDMI01 HDCP Capability HDMI01 HDCP Capability
7 Supports HDMI02 HDMI02 HDCP Capability HDMI02 HDCP Capability
8 Output Disabled by Hdcp Hdmi Output Res. Hdmi Output Res.
9 Supports Videowall Videowall Mode -
10 - Video Aspect Ratio Mode Dante Input
11 - Nax Input Device Name
12 Supports Nax Nax Route Nax Route
13 - Nax Input Nax Input
14 - - Stream Url
15 - - Multicast Video Address
16 - - Secondary Audio Address
17 - - NAX Tx Address
18 - - NAX Rx Address

Join Details

  1. Video Source = In RX mode; will route the video stream of the device with the Virtual ID of the value selected to the receiver. No action in TX mode.
  2. Audio Source = In RX mode; will route the audio stream of the device with the Virtual ID of the value selected to the receiver. No action in TX mode.
  3. Video Input Source = Selects the video source of the TX/RX. DISABLE = 0, Hdmi1 = 1, Hdmi2 = 2, Stream = 3. This is set automatically in config; do not recommend changing.
  4. Audio Input Source = Selected the audio source of the TX/RX. AUTOMATIC = 0, NoAudioSelected = 0, Input1 = 1, Input2 = 2, Analog Audio = 3, PrimaryStreamAudio = 4, Secondary Stream Audio = 5, Dante = 6(Not yet supported). This is set automatically in config; do not recommend changing.
  5. Device Mode = Reports the device mode. RX = 0, TX = 1
  6. HDCP Capability = Reports and sets HDCP cabaility on selected input. HDCPSupportOff = 0, HDCPSupportAuto = 1, HDCP1xSupport = 2, HDCP2xSupport = 3
  7. HDCP Supported Level = UNUSED for NVX devices
  8. HDMI Output Horizontal Resolution = Custom Wharton usage; reports the horizontal resolution of the connected display on the HDMI output.

Config Example

{
    "key": "Tx-1",
    "uid": 1,
    "name": "Laptop",
    "type": "DmNvx351",
    "group": "nvx",
    "properties": {
        "control": {
            "method": "ipid",
            "ipid": "41"
        },
        "mode": "tx",
        "deviceId": 1,
        "multicastVideoAddress": "239.0.0.2",
        "multicastAudioAddress": "239.0.0.3",
        "usb": {
            "mode": "local",
            "default": "nvx-decoder11",
            "followVideo": false
        }
    }
},
{
    "key": "Rx-1",
    "uid": 74,
    "name": "PC-Cam",
    "type": "DmNvx363",
    "group": "nvx",
    "properties": {
        "control": {
            "method": "ipid",
            "ipid": "51"
        },
        "mode": "rx",
        "deviceId": 1,
        "usb": {
            "mode": "remote",
            "default": "nvx-encoder5",
            "followVideo": false
        }
    }
}

Config Details

Properties:

  1. IPID = sets the IPID of the device.
  2. Model = Case-insentive model number of the actual NVX device.
  3. Mode = VALID VALUES: { "tx", "rx" }; sets the device as a transmitter or receiver. This must be defined or else the application will throw an exception. Many default values are set based on this property. Adjusting this value via the web interface is not supported.
  4. Device Id: A unique number that can be thought of as an "input" or "output" number when performing routing. For example, if you required to route TX-1 to RX-1, you would send a value of 1 to the Video Source input of RX-1.
  5. Multicast Video Address = Sets the local multicast Video address that a transmitter will attempt to stream to. This address must have an even number as the last Octet and is recommended to fall within a locally scoped mulitcast address range. Recommended reading : [http://www.tcpipguide.com/free/t_IPMulticastAddressing.htm]
  6. Multicast Audio Address = Sets the local multicast Audio address that a transmitter will attempt to stream the secondary audio to. In most cases set this to be +1 of the Multicast Video address.

Planned Updates

  1. Add a name property in the config file to set the device to.
  2. Add a "Friendly Name" property in the config file to show for client facing UI purposes.
  3. Add XIO director support.
  4. Add a "Virtual Routing" plugin to mimic DynDM API to make easy drop in changes.
  5. Add and test Dante Audio routing.

Feature Requests

Product Compatible and additional computed target framework versions.
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.5.0-IMatrixRouting-implem... 48 3/19/2024
2.5.0-IMatrixRouting-implem... 41 3/19/2024
2.5.0-4-series-updates.1 45 3/19/2024
2.4.2-beta-17 127 3/19/2024
2.4.2-beta-16 134 3/19/2024
2.4.1 183 3/13/2024
2.4.1-beta-15 192 2/15/2024
2.4.1-beta-14 180 2/2/2024
2.4.0 227 2/1/2024
2.3.9-beta-13 167 2/1/2024
2.3.8 264 1/12/2024
2.3.8-hotfix-12 229 1/12/2024
2.3.8-hotfix-11 215 1/11/2024
2.3.7 236 1/11/2024
2.3.7-hotfix-9 409 11/17/2023
2.3.7-hotfix-8 326 11/16/2023
2.3.7-beta-7 328 10/13/2023
2.3.7-beta-6 477 7/24/2023
2.3.7-beta-2 505 7/24/2023
2.3.7-beta-10 227 1/11/2024
2.3.6 649 7/24/2023
2.3.6-hotfix-5 510 7/23/2023
2.3.6-beta-1 531 3/14/2023
2.3.6-alpha-4 497 5/31/2023
2.3.5-beta-3 529 3/14/2023
2.3.5-beta-2 533 3/14/2023