View Single Post
Old April 22nd, 2013   #5
Task Group Member
Join Date: Aug 2008
Posts: 369

For Scenario #1:
If you're implementing an RDM responder with different kinds of sub-device modules that can be installed, I'd probably take an "all of the above" strategy. I would give each different kind of module its own:

Model Id
Model Description
Product Category/Detail ID List

If the module behavior can be set in software (rather than requiring a hardware change), than it should use the personality/personality description mechanism.

If you're implementing a controller, then you can't depend in any one specific behavior from a responder. A controller will need to handle responder that use any or all of the mechanisms we've discussed.

For Scenario #2:
The case of having multiple universes should be straightforward. The RDM responder will have a separate UID for each responder port ("universe"), and use the "Binding UID" mechanism to tell the controller that this group of UIDs all correspond to the same piece of hardware.

Then, each responder port only advertises the layers that are patched to it. So, you could have a responder with the following structure:

DMX Port A: UID 454A:11111111
SubDev1: Master Layer
SubDev2: Layer 1

DMX Port B: UID 454A:22222222
SubDev1: Layer 2
SubDev2: Layer 3
SubDev3: Effects Layer

Port A would advertise 2 sub-devices, and port B would advertise 3 sub-devices.

Each different *kind* of layer should probably have its own Model ID/Model Description, but identical layers that are repeated several times can share a Model ID/Model Description.

For example:
Model ID 0001: Master Layer
Model ID 0002: Basic Video Layer
Model ID 0003: Advanced Video Layer
Model ID 0004: Mix Layer

A given configuration might advertise a Master Layer, 5 Basic Video Layers, and 2 Advanced Video Layers.

One limitation is that RDM does not have a standardized way to patch a Sub-Device to a universe. RDM assumes that universes are assigned by how the cables are run and not software assigned. If you wanted the ability to move a sub-device from one responder port to another you'd need to use manufacturer specific PIDs.

One final thought: If you truly end up in a bind, and it's simply impossible to describe the behavior you need using Sub-Devices, you always have the option to have the media server act as a proxy rather then a root device with sub-devices. In this scheme, the media server advertises itself as a Managed Proxy. You would then give each layer its own UID, and advertise it through the "Proxied Devices" mechanism. Each layer now acts like a separate fixture. The downside of this is it may not be obvious to the user which layers belong to the same media server depending on how the controller's user interface handles proxies.
ericthegeek is offline   Reply With Quote