VDMX b126.96.36.199 Update
The b188.8.131.52 adds two major new network related features to VDMX. This document contains pre-release information about how to make use of this functionality and will eventually be folded into the complete manual.
Download VDMX5 b184.108.40.206: VDMX5 b220.127.116.11
NDI® Support in VDMX
VDMX is now capable of sending and receiving a/v streams over a network using the NDI® protocol from Newtek. Multiple streams can be used in each direction, within the limitations of your network bandwidth and system resources.
10/100 Ethernet will work for a single connection, but Cat-6 Gigabit 10/100/1000 is better for multiple NDI connections.
Receiving NDI® Video Streams in VDMX
Video streams published by other applications and devices on your local network work similarly to other video input types:
- From the Workspace Inspector in the VidIn section you can directly manage which streams are enabled and adjust the input settings:
- Receive as RGB: Requests receiving a high quality / higher bandwidth video stream.
- Audio Playthru: If an audio stream is provided, allows for selecting an audio output device to use for playthru. Volume and mute controls are also provided.
- NDI® receiving streams can be directly accessed from the Use Source menu in the Layer Source Control panel. Selected streams will automatically be enabled if not already turned on.
- NDI® receiving streams can be added to Media Bin pages to be triggered like any other media type by using the Media Browser panel or by using the ‘Add Clips From Built-In Sources” option from the page right click contextual menu.
Publishing Video Streams in VDMX to NDI®
The NDI® Output plugin can be used to publish video and audio streams from VDMX to other client software and devices that support the protocol. Like other plugins, you can add them to your project from the Plugins section of the Workspace Inspector.
From the main NDI® Output plugin interface you can adjust the following settings:
- Video Source: Sets which video stream from VDMX is published.
- Black: Overrides the current output with a black frame of the same resolution.
- Audio Source: Sets the audio input device that is streamed along with the video.
- Mute: Overrides the current audio output with silence.
From the inspector panel additional options for NDI® publishing can be set:
- Alpha: Enables sending of alpha channel with the stream. Turning this on increases the bandwidth used for the stream.
- Send as RGB: Enables using the higher quality RGB mode for sending. Turning this on increases the bandwidth used for the stream.
- Crop (left/right/top/base): Set the number of pixels to crop off from the incoming video signal before publishing.
- Resize: Optionally resize the video stream before it is published.
- Throttle FPS: Optionally limit the rate at which video is published in frames per second.
Using External IP Addresses
From the VDMX Preferences under the NDI® tab you can enter a list of remote sources outside of your local network to connect to.
Related Freebie App
Although VDMX now has native support for NDI® streams, we have also created a free NDI Syphon tool for macOS which can be used to connect other Syphon enabled applications with NDI® clients and servers on your local network.
OSC Query Protocol
The new OSC Query Protocol is an extension to OSC that we have been working with along with several other developers as a way to make setting up connections between software easier by allowing applications that receive messages to also publish their namespace in such a way that other software can ask for. This makes it possible to do useful tasks such as automatically creating user interfaces to remotely control parameters of other tools.
Using OSC Query in VDMX
Within OSC Query Protocol, an application can be a server (publishes a list of OSC parameters) or a client (requests information from the server and sends control data over OSC), or both.
VDMX is capable of being both a client and a server in OSC Query Protocol – it can both publish a listing of any parameters you choose so that they can be remotely controlled and it can ask other applications for a listing of their address spaces so that you can automatically create control interfaces that send the appropriate OSC data type.
Within VDMX the OSC Query Protocol can be used in several ways:
In the Control Surface plugin inspector there is a new option to publish the listing of UI elements using OSC Query. When this is active, other software on the local network can automatically detect these controls and access them.
Using the new OSCQuery Client plugin you can browse the address spaces of other software and quickly create UI controls that are automatically configured to send / receive data from other systems.
The main interface is similar to a Control Surface plugin except that the interface elements added represent parts of other applications that are being remotely controlled from VDMX.
Like with the Control Surface plugin, the inspector for the OSCQuery Client plugin is where you can select a remote server to connect to and which elements you’d like to remotely control:
VDMX supports bi-directional OSC messaging and when using OSCQuery Protocol, changes made on one system can be reflected in the user interfaces of each piece of software that is connected to it as a server.
Note that while VDMX supports bi-directional OSC message sending, other applications using OSCQuery Protocol may not. In these cases the VDMX interface may not dynamically update to keep in sync with remote servers, it will only send control information to them.
- The OSCQuery Browser Window can be opened from the Window menu or by using the cmd+5 keyboard shortcut. From this panel you can access, browse and search the namespaces of other applications. For each of the listed OSC address destinations at the remote server you can:
- Use the provided interface control to quickly send test data.
- Dragged the listed item on to UI elements in VDMX (such as sliders, buttons, and color wheels – this also works with the list of variables in the Cue List plugin inspector) to automatically configure OSC sending to the remote hosts. Example video.
Related OSCQuery Utility Apps
Along with support for OSCQuery Protocol in VDMX itself we have created a handful of utility applications that can be used to with software that does not yet have its own native support for the specification.
- OSCQuery Browser: Provides a simple interface for browsing available OSCQuery servers, displays their OSC node hierarchies, creates UI items for endpoints that advertise their type, and sends OSC data to the remote server when the UI items are used.
- OSCQuery Helper: A simple app that makes it possible to use OSCQuery Protocol with applications that only support basic OSC receiving. This works by loading a template JSON file that describes the OSC namespace of another piece of software and directs clients to send their messages to the proper place.
- MIDI OSCQuery Helper: A simple app that makes it possible to use OSCQuery Protocol with applications that only support MIDI input. This app can receive OSC messages and converts them into MIDI that gets sent to a specified destination app. Allows for creating templates (JSON files) to describe a set of MIDI receivers that are published via OSCQuery Protocol. This app can also be used to load in an Ableton Live Set file (.als) and parses them for potential any MIDI receivers. An address space is automatically created for each discovered element and the app serves as a bridge, converting OSC messages into the MIDI messages expected by Live.
These free utilities can be found in the Extras folder on the VDMX dmg.
Other Noteworthy Changes
b18.104.22.168 includes dozens of bug fixes, small feature improvements, new interactive generators / FX and includes updated versions of the AVF Batch Exporter and ISF Editor in the Extras folder.
Consult the Change Log below for a full listing of differences from the previous release.
We also have two new related releases:
- There is an updated version of Black Syphon available.
- There is a new free utility NDI Syphon available.
This download is a pre-release update and while it contains many bug fixes, it may contain unknown new issues. If you run into any problems please let us know as soon as possible so we can fix them before the public release.
- If VDMX crashes (“The Application VDMX5 has unexpectedly quit”), just relaunch it: on launch, it checks to see if it can access the internet, and if it can it will automatically send us the crash log your system generated. From this panel you can request an email reply to crash logs submitted if you would like more information about the issue.
- If VDMX hangs (if it’s not responding and you’ve got the “spinny beachball”) please email us a Stack Trace and anything from your Console Logs that happened while VDMX was running.
- If you’re having any other kind of problem, please file a bug report by choosing “Report Bug” from the “Help” menu.
- For other general questions about using VDMX, please send us an email: email@example.com
Please keep in mind that the faster we can reproduce whatever problem you’re having, the sooner we’ll be able to fix it. Describing exactly how to duplicate your problem is usually helpful - if it is easier, feel free to include images or record a short screencast demonstrating your bug and send that to us!
- Fixed a potential problem, made movie export safer
- Fixed a crash that could happen on audio device refresh under odd circumstances.
- Clock Plugin now supports receiving MIDI song position messages for setting time when using external MIDI clock mode.
- Fix to LFO track menu- track menu now properly refreshes names when changed from inspector
- Fixed edge case where picking a QC or Vuo composition from the layer source menu could result in a hang or other odd behaviors.
- Vuo thumbnails only render if they are of the appropriate size
- Worked around a Vuo-adjacent bug that prevented thumbs from rendering under some circumstances
- Added support for ranged 2d point inputs in Vuo comps
- Fixed a bug with the Vuo binary cache, which wasn’t correctly caching binaries for some .vuo comps
- Reduced use of VuoRunner::firePublishedInputPortEvent() calls, which will hopefully improve vuo comp performance slightly
- Fixed bug that resulted in an extra layer resize while images were loaded in some cases, causing a brief stretching.
- Fixed bug where prev / next cue list plugin buttons would not change cues under certain conditions.
- Fixed bug where movie cues in the cue list plugin would retrigger under certain conditions.
- Fixed a bug where event cues in the cue list plugin might not trigger when stepping through cues.
- Fixed bug with timecode plugin where MTC output would continue to advance instead of pausing or jumping backwards.
- Fixed a bug- some text fields (including the resolution fields in the movie recorder plugin) were incorrectly modifying numbers as a result of a localization bug
- Added a new OSC sender type- “event”. Only buttons are capable of sending this OSC value type- there’s not real accompanying value, but the inspector lets you choose whether these events are sent as OSC nil values or OSC infinity values
- Cue List data sources of type float, int and string can now be limited to specific ranges or a specific set of values that are presented as a pop-up menu instead of traditional text entry field.
- Fixed a bug with cue list and timecode plugins- When a cue list plugin is receiving from a timecode plugin, in some cases its display fps was not set properly when a preset is loaded.
- Fixed a bug- frames received via syphon would flash black under some circumstances
- Fixed a bug- the movie recorder plugin would inappropriately show “dropped frames/slow drive” status if audio recording was disabled
- Fixed a bug that would manifest as SS/LFO plugins that stopped responding to clocks if more than one clock was created
- Asset path is now displayed in the vid fx chain manager and txt src chain manager
- Fixed bug with Vuo source comp thumbnail cache
- Added jam sync option for MTC and LTC modes of timecode plugin- timecode will continue if MTC or LTC streams are interrupted unexpectedly
- Fixed a bug, cmd-resizing windows was screwing up snapping with the windows below it
- Change to Cue List plugin- Cues using the same target can’t be set to the same time.
- Fixed media file prerolling bug- empty file slots were being counted as clips when determining preloading status by index in media bin.
- Switched to a slightly-modified version of the syphon framework- this version lets clients indicate that they want to receive frames on a non-main thread, which substantially improves performance
- Fixed a bug, live inputs can no longer be started multiple times (should prevent some wonky behavior under some specific circumstances involving live inputs around project opens)
- Fixed a really stupid bug, audio-related ISF inputs weren’t being applied to ISF filters Changed the rounding behavior slightly when converting rational time values to SMPTE time values. This is a display-only change.
- 10.14 will no longer try to load 32-bit FFGL plugins because apple has completely disabled support for 32-bit code and trying to load them just crashes immediately :(
- Video capture plugin uses TIFF files for image export instead of PNGs.
- Fixed a bug with the Timecode Plugin- MTC Format selection now works properly in Timecode plugin
- Fixed a bug where webcams would reset their resolution when displays were connected/disconnected
- Fixed a bug- under some circumstances, color element values weren’t restoring properly when presets were triggered
- Fixed a bug- under some specific circumstances, menu items in pop-up buttons were un-checking themselves (the check mark that appears next to the item in the menu wasn’t visible).
- Fixed a bug- under some circumstances, tap pop-up buttons were displaying that no tap was selected when a tap was selected
- Added new ISFs: Random Shape Blast, Graph Paper, Random Freeze, Noise Adapt, Resize Glitch, Brick Pattern, Displace, Power Warp, Color Blowout, Edge Trace, Quad Mask, Sliding Strips, Radial Spectrogram, Waveform Displace, Etch-a-sketch, Multi-Pixellate, and Noise Displace!