NDINoAudioMeter

The latest (illustrated) version of this ReadMe can be accessed online at https://www.ndistuff.uk/zen-ndi-drag-drop-image-viewer/ (or press F1 while using the app's user interface) 

Two versions are included, 64bit & 32bit. If you are trying to use a USB relay and are having an issue with the 64bit version, please try the 32bit (x86) version which uses a diffeent relay .dll file.

IMPORTANT NOTES

1) This is a hobby project and I'm not a professional programmer, as a result of which:-

a) The software is supplied "as-is", and is not guaranteed to be fit for any particular purpose, nor to be bug-free (although bug-reports are welcome). Tested with Windows 10.

b) There is no "Installer", just a zipped folder containing the files I think you may need in order to run the .exe file. The folder can be located anywhere on your system, and you may wish to create a shortcut to the .exe file to make it quicker to run. You may need to allow network access for the program the first time you run it. As for the supporting .dll files, you will definitely need the included Processing.NDI.Lib.x86.dll file but I'm not sure what else. The reason for that is that I don't have enough computers to be able to test this process on a "clean" computer, only on those which already have other similar apps and/or the Microsoft Visual Studio 2017 edition which was used to create this code. If you get a message asking for a missing DLL, try installing the "vc_redist" run-time package from Microsoft (there's a link in the Installation Notes near the top of the zenvideo.co.uk/ndi.htm page) and, if you still have a problem, let me know.


2) The reason the audio values are in dBu is because this is how audio levels are notionally defined in the NDI protocol. Conversion to and from "dBu" levels is carried out by the applications that send and receive NDI streams, so there's no guarantee that any given pair of sender/receiver applications will use the same conversion factor. In my "wave-out" audio output (to the selected Windows audio output device) I support switchable EBU & SMPTE/NAB standards for conversion between dBu and dBFS levels. 

3) Audio threshold values for switching between OK/Low and Low/No audio indications are expressed as negative levels relative to NDI 0dBu. (Peak levels are expected to be at +8dBu or higher, as they would be in the analogue world.) The Timeout setting determines the approximate duration (in seconds) of "no audio" that must occur before the alerts are triggered.

4) The loudspeaker icon acts as a 3-way Dim & Cut switch for hearing the incoming NDI audio via the default Windows audio output device. Click on the top third of the speaker icon for Full Level, in the middle for Dim, and the bottom third to Cut (=Mute) the audio output. By default it is muted.

5) NDI sources on the LAN are continuously detected and available for selection via a drop-down list on the right. Clicking on the list control will disconnect the current source, or you can click the Disconnect button. 

6) The meter is designed to detect an NDI stream with "no audio": i.e. a valid audio stream but with audio levels below a certain threshold. When it detects low audio level (below the Low/No threshold) it will flash the red "No Audio" warning and give an audio beep alert. The audio alerts can be sent to two different audio devices, and as an NDI stream, via the Audio Settings panel, which can be opened via the main right-click system menu (which also gives access to the "About" information).  
If there is a break in the NDI stream itself (e.g. caused by a network cable disconnection), the warning display will alternate between "No NDI Source" and "No Audio". As yet there is no audio warning when this condition is triggered. 

7) USB (HID) Relay boards are also supported. For single channel boards, the relay action mimics the "No Audio" alerts/beeps and (optionally) the "High Audio" state. For dual/multi-channel boards, Ch2 will switch to indicate just the "OK audio" state. No higher channel numbers are supported.

8) This is a time-limited test version, valid for nine months after the month shown in the "About" window. I will continue to upload newer builds as I revise the code, so each new one will (probably) have a new time limit, starting from the new build date.   

Martin Kay
ZEN Computer Services
www.zenvideo.co.uk

HISTORY

v1.0.0.5  11-Nov-2016   First working version, adapted from other NDI software projects

v1.0.0.6  13-Nov-2016   Initial public version, as featured on Facebook video posted the same day.  Includes audio alert beeps for No Audio state.

v1.0.0.7  15-Nov-2016   Added detection of breaks in the NDI stream (e.g. disconnection) to trigger a visual alert.

v1.0.0.8  24-Nov-2016   Fixed a display/selection issue when large numbers of NDI sources are present

v1.1.0.0   6-Dec-2016   Recompiled with NDI v2.0 libraries and added a video preview window and generally rearranged the layout (but otherwise nothing has changed from before)

v1.1.0.1   4-May-2017   Recompiled with more recent NDI v2.0 libraries and new expiry date. No other changes.

v1.1.0.2  12-Sep-2017   Recompiled with new expiry date. No other changes (so still uses NDI v2.0 DLL).

v1.2.0.1  11-Oct-2017   Recompiled with more recent NDI v3.0 libraries and new expiry date. Minor changes including smoother meter fallback.

v1.2.0.8  19-Feb-2018   Revised user interface layout, new NDI source selection control, added Timeout setting and Audio Settings panel with dual channel audio alerts to selectable devices, plus NDI output of audio+visual alerts. 

v1.2.0.12 19-Mar-2018   Added HID Relay support for single/dual chanel USB relay boards.  This is a pre-release which will probably have its version number bumped up by a bigger notch once any bugs are found and fixed.

v1.2.0.13  2-Oct-2018   Recompiled with new expiry date. No other changes, AFAIK. Don't even remember having any bugs reported since the previous upload.  

v1.2.0.15 26-Dec-2018   Minor tweaks & fixes. Recomplied with NDI v3.8 libraries.

v1.2.0.16  1-Sep-2019   Recompiled to extend the expiry date (now expired). Was hoping NDI 4.0 would have been released by now, so will create a new version when it is.

v1.2.0.17  2-Feb-2020   Recompiled to extend the expiry date and use the NDI 4.15 SDK.

v1.2.0.18  4-Oct-2020   Recompiled to extend the expiry date and use the NDI 4.53 SDK.

v1.3.0.22    May-2021   Added new "High Audio" level threshold to be triggered when levels exceed the defined "Good" range, in addition to the existing Good, Low and No Audio detection modes. The package includes the NoAudioDisplay app, esentially resizable window which is a clone of the standard display within the main NoAudioMeter app, for use on the local PC or remotely via a TCP connection. Also added F1 & system menu methods of accessing the ReadMe online, and sponsor ads at startup. Includes the NDI v4.62 DLL.

v1.3.1.23 22-Oct-2021   Uses the NDI v5.0.3 SDK and includes a fix for displaying long source names in the NDI source selector dropdown menu. 64-bit only (no 32-bit version in this release)

v1.3.2.24  5-Sep-2022   Recompiled to extend the expiry date and use the NDI 5.5 SDK. Includes 32 & 64 bit versions. Please use the 32 bit version (in the x86 folder) if having any problems when using a USB Relay, as a Windows update appears to have made the relay DLL currently incompatible with 64 bit operation.

v1.3.3.25 12-Sep-2022   A few fixes and enhancements to the way external relays are controlled, including a settings option for the relay to switch on for "High Audio" (to show peaks) as well as flash on/off for a "No Audio" condition.