From dddef0eff3d48a9085cb5a3a0a964de41538b81c Mon Sep 17 00:00:00 2001 From: Petr Vanek Date: Thu, 20 Aug 2026 10:31:33 +0200 Subject: [PATCH 1/3] Initial start for Non-lighting fixtures support separation proposal --- proposal/other_devices_support/proposal.md | 153 +++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 proposal/other_devices_support/proposal.md diff --git a/proposal/other_devices_support/proposal.md b/proposal/other_devices_support/proposal.md new file mode 100644 index 00000000..bb06aae6 --- /dev/null +++ b/proposal/other_devices_support/proposal.md @@ -0,0 +1,153 @@ +# Support for non-lighting fixtures + +## Linked Issue + +https://github.com/mvrdevelopment/spec/issues/318 + +# Problem + +DMX Modes - DMX Mode is currently required for all devices, including Trusses, Power distros, Audio, Cables. + +## General information + +Currently, the DMX Mode is the entry point into the GDTF fixture type. If a +Speaker needs to be selected via MVR, then it is would currently be selected +via "DMX Mode" (GDTF Mode in MVR). + +# Proposals + +1. Keep it as it is, and define the specific MVR properties in the objects - for example length in Cable: + +In GDTF, the cable definition provides information about possible cable lengths, in MVR, the length is an instance field: + +```xml + + + + + + + ... +``` +Note: In GDTF, the DMX Mode must exist, even if empty, and link to the root geometry of the geometry tree. + +In MVR, define Length: + +```xml + + +``` + +Note: GDTFMode must be set on the Cable + +2. Define specific modes for each MVR object type. + +```xml + + + + + + + ... +``` +```xml + + +``` + +3. Define attributes of the specific object types into "DMX Mode" (for example cable length). + +```xml + + + + + + + ... +``` +In MVR, define Length: + +```xml + + +``` + +4. Besides DMX Mode, define specific modes for special devices: Speaker Mode, Cable Mode, and a generic "Device mode" for the rest. + +```xml + + + + + + + + + + + ... +``` +```xml + +``` + +5. Define new objects: + + + + + From 597230c194036303aca4de812f12c9730ab9f5ba Mon Sep 17 00:00:00 2001 From: Petr Vanek Date: Fri, 21 Aug 2026 13:59:05 +0200 Subject: [PATCH 2/3] Expand the proposal --- proposal/other_devices_support/proposal.md | 81 ++++++++++------------ 1 file changed, 35 insertions(+), 46 deletions(-) diff --git a/proposal/other_devices_support/proposal.md b/proposal/other_devices_support/proposal.md index bb06aae6..70c1f7fb 100644 --- a/proposal/other_devices_support/proposal.md +++ b/proposal/other_devices_support/proposal.md @@ -16,14 +16,14 @@ via "DMX Mode" (GDTF Mode in MVR). # Proposals -1. Keep it as it is, and define the specific MVR properties in the objects - for example length in Cable: +1. Keep it as it is and define the specific MVR properties in the objects - for example length in Cable: -In GDTF, the cable definition provides information about possible cable lengths, in MVR, the length is an instance field: +In GDTF, the cable definition provides information about possible cable lengths, in MVR, the length a field on the instance of the cable: ```xml - + ... ``` -Note: In GDTF, the DMX Mode must exist, even if empty, and link to the root geometry of the geometry tree. In MVR, define Length: ```xml + GDTFMode="My Power Cable"> ``` -Note: GDTFMode must be set on the Cable +Pros: + - full backwards compatibility + - easy addition to existing software +Cons: + - In GDTF, the DMX Mode must exist and link to the root geometry of the geometry tree. + - In MVR, the GDTFMode must be set, pointing to the DMX Mode + +In MVR, Fixure, Truss, Support, Video screen, and Projector already exist, other specific objects like Cable, Speaker, Amplifier... can be added. -2. Define specific modes for each MVR object type. + +2. In GDTF, Define specific modes for each MVR object type, with fields specific for the device ```xml - - - - + + + ... @@ -77,8 +85,19 @@ Note: GDTFMode must be set on the Cable CableMode="DMX cable"> ``` +Cable: +GDTF: for device types primarily cables: CableModes - CableMode, MVR: Cable: CableMode, Length + +Speaker: +GDTF: for devices primarly Speaker - SpeakerModes - SpeakerMode +MVR: Speaker - SpeakerMode + + +Note: Instead of "CableModes", "CableTypes - CableType" or other better wording could be used. + +3. as #2, but also define generic "DeviceModes - DeviceMode" for non specific devices. -3. Define attributes of the specific object types into "DMX Mode" (for example cable length). +4. Define attributes of the specific object types into "DMX Mode" (for example cable length). ```xml @@ -112,42 +131,12 @@ In MVR, define Length: ``` -4. Besides DMX Mode, define specific modes for special devices: Speaker Mode, Cable Mode, and a generic "Device mode" for the rest. - -```xml - - - - - - - - - - - ... -``` -```xml - -``` +5. Define new objects and specify properties/geometries that can be assigned: -5. Define new objects: +For example: + From 331cf80c3b3c42f53ff3678004406178af70e1c0 Mon Sep 17 00:00:00 2001 From: Petr Vanek Date: Thu, 27 Aug 2026 16:21:14 +0200 Subject: [PATCH 3/3] Extend the proposal --- proposal/other_devices_support/proposal.md | 41 +++++++++++++++------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/proposal/other_devices_support/proposal.md b/proposal/other_devices_support/proposal.md index 70c1f7fb..8c4fb62c 100644 --- a/proposal/other_devices_support/proposal.md +++ b/proposal/other_devices_support/proposal.md @@ -58,31 +58,43 @@ Cons: In MVR, Fixure, Truss, Support, Video screen, and Projector already exist, other specific objects like Cable, Speaker, Amplifier... can be added. -2. In GDTF, Define specific modes for each MVR object type, with fields specific for the device +2. In GDTF, Define specific modes for each MVR object type. Keep only the Geometry link there: ```xml - + + + + + + + + + + + + + + + + + + - - ... ``` + +MVR: ```xml + GDTFMode="Select one of the modes available in the GDTF fixture"> ``` Cable: @@ -93,7 +105,8 @@ GDTF: for devices primarly Speaker - SpeakerModes - SpeakerMode MVR: Speaker - SpeakerMode -Note: Instead of "CableModes", "CableTypes - CableType" or other better wording could be used. + + 3. as #2, but also define generic "DeviceModes - DeviceMode" for non specific devices. @@ -140,3 +153,5 @@ For example: +Cons: + - we would need to define "common" geometries and all other "shared" parts for combination devices