vMix Forums
»
General
»
General Discussion
»
VMIx 28 XML API VirtualSet missing <overlay>
Rank: Newbie
Groups: Registered
Joined: 6/6/2021(UTC) Posts: 6  Thanks: 2 times
|
Hi, I'm using the XML TCP API to manage my virtual sets. After the update to vMix 28 my software broke so I started to investigate what causes the issue. After some time I saw that the VirtualSets are missing their <overlay> Tags when no input is selected. For example this is the full <input> description I get for a virtualSet with three layer / inputs: Code:
<input
key="e2721bf3-6ce9-4474-b6fb-396b086b5657"
number="9" type="VirtualSet"
title="HAM-3personen"
shortTitle="HAM-3personen"
state="Paused"
position="0"
duration="0"
loop="False"
selectedIndex="0">HAM-3personen
</input>
As you can see there is no <overlay>-section in there. As soon as I select an Input for the first Layer the <overlay>-section appears in the XML: Code:
<input
key="e2721bf3-6ce9-4474-b6fb-396b086b5657"
number="9"
type="VirtualSet"
title="HAM-3personen"
shortTitle="HAM-3personen"
state="Paused"
position="0"
duration="0"
loop="False"
selectedIndex="0">HAM-3personen
<overlay
index="0"
key="a8c9f362-ab4e-4286-a38e-5c907149a696">
<position
panX="-0.5"
panY="0.364"
zoomX="0.45"
zoomY="0.45"
x="48"
y="100.4"
width="864"
height="486" />
</overlay>
</input>
This is bad because I use my software to assign inputs to layers and now my software has no way to detect how many layers are there for each virtual set. My software worked before so I'm sure that the behaviour of VMix changed. Of course I can assign inputs to every layer manually in vMix, but it would be nice to have the previous behaviour back. I'm currently on VMix Pro 28.0.0.42 x64 Best Regards Torben
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 7/4/2021(UTC) Posts: 374  Thanks: 8 times Was thanked: 55 time(s) in 46 post(s)
|
I'm curious how this worked before.
There doesn't seem to be anything special in the API about virtual sets--it's just the standard layers (still referenced as overlays for compatibility reasons).
My assumption would be that it checked to see if the layer had a zoom & positioning set, which would indicate it was a layer setup to receive an input.
I know v27 added shortcuts for layer positioning--was layer positioning in the API prior to that or was it added with v27?
And I know layers didn't populate the API without assigned inputs in the previous versions. Was setting a position enough to do populate a layer in the API that didn't have an assigned input?
I don't see how else this could've worked.
What software are you using and what are you using it to do?
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 12/24/2021(UTC) Posts: 685  Location: athens Thanks: 159 times Was thanked: 85 time(s) in 81 post(s)
|
Originally Posted by: WaltG12  I'm curious how this worked before.
There doesn't seem to be anything special in the API about virtual sets--it's just the standard layers (still referenced as overlays for compatibility reasons).
My assumption would be that it checked to see if the layer had a zoom & positioning set, which would indicate it was a layer setup to receive an input.
I know v27 added shortcuts for layer positioning--was layer positioning in the API prior to that or was it added with v27?
And I know layers didn't populate the API without assigned inputs in the previous versions. Was setting a position enough to do populate a layer in the API that didn't have an assigned input?
I don't see how else this could've worked.
What software are you using and what are you using it to do? I was also curious so yes i installed an older vmix version to compare with vmix 28 To re-produce the bug or feature... Add input-->virtualset-->choose a virtualset and dont touch it yet and see the API record for it vmix 27 <input key="1793ab0f-bf4f-4424-a8b7-1338b9d2265c" number="8" type="VirtualSet" title="2 virtualstudiosets.com_15_MIDLEFT" shortTitle="2 virtualstudiosets.com_15_MIDLEFT" state="Paused" position="0" duration="0" loop="False" selectedIndex="0"> 2 virtualstudiosets.com_15_MIDLEFT <overlay index="0" key="f7a78551-b469-4359-a0b9-1b0dfbca2cfc"/> <overlay index="1" key="b89758df-dc1d-403d-a841-d82d2711a7d5"/> <overlay index="2" key="f2caa2ee-2453-4d2b-b1cb-90e9c210b50b"/> <overlay index="4" key="cd182100-c742-4d63-9d9f-560f65063366"> <position panX="-0.32" panY="0.1" zoomX="0.35" zoomY="0.35" x="316.8" y="297" width="672" height="378"/> </overlay> <overlay index="5" key="2f1ae02f-0906-45db-a54c-d006edc39a09"/> vmix 28 <input key="05db9b45-cfa6-4913-8cc8-29a8ea55e0ea" number="39" type="VirtualSet" title="2 virtualstudiosets.com_15_MIDLEFT" shortTitle="2 virtualstudiosets.com_15_MIDLEFT" state="Paused" position="0" duration="0" loop="False" selectedIndex="0">2 virtualstudiosets.com_15_MIDLEFT</input> </inputs> same virtualset. In vmix 27 says the overlays indexes@layers without put something on them. This is empty/none Vmix 28 same thing. In order to appear an overlay index,need something to add in any layer So maybe the user had a script or program to read things from API and add in the empty ones. Vmix 28 doesnt mention from start these layers
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 12/27/2012(UTC) Posts: 5,400  Location: Belgium Thanks: 300 times Was thanked: 993 time(s) in 823 post(s)
|
Originally Posted by: nikosman88  So maybe the user had a script or program to read things from API and add in the empty ones. Vmix 28 doesnt mention from start these layers
This happens with other items also and has always been so within the vMix API XML. Its saves on not having to add them with blank data constantly. Its up to the script to check if they are available first before posibly extracting the data A simple way is to use a try ... catch to avoid crashing the script when something is not available(yet) in the xml
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 7/4/2021(UTC) Posts: 374  Thanks: 8 times Was thanked: 55 time(s) in 46 post(s)
|
Originally Posted by: nikosman88  <input key="1793ab0f-bf4f-4424-a8b7-1338b9d2265c" number="8" type="VirtualSet" title="2 virtualstudiosets.com_15_MIDLEFT" shortTitle="2 virtualstudiosets.com_15_MIDLEFT" state="Paused" position="0" duration="0" loop="False" selectedIndex="0"> 2 virtualstudiosets.com_15_MIDLEFT <overlay index="0" key="f7a78551-b469-4359-a0b9-1b0dfbca2cfc"/> <overlay index="1" key="b89758df-dc1d-403d-a841-d82d2711a7d5"/> <overlay index="2" key="f2caa2ee-2453-4d2b-b1cb-90e9c210b50b"/> <overlay index="4" key="cd182100-c742-4d63-9d9f-560f65063366"> <position panX="-0.32" panY="0.1" zoomX="0.35" zoomY="0.35" x="316.8" y="297" width="672" height="378"/> </overlay> <overlay index="5" key="2f1ae02f-0906-45db-a54c-d006edc39a09"/>
Why are there keys if nothing is on the layer? What are the keys for? With vMix 28's implementation, the key appears after an input is loaded onto a layer and they reflect the input that's loaded onto that layer. If you don't have anything on the layer, I can understand why vMix 28 is reflecting that there's no layer to report, but I'm even more confused than I was before about what happened before v28. If you go into the standard input settings of the virtual set input on the earlier version of vMix and go into the "Layers" tab, is it showing anything there?
|
|
|
|
Rank: Administration
Groups: Administrators
Joined: 1/13/2010(UTC) Posts: 5,208  Location: Gold Coast, Australia Was thanked: 4478 time(s) in 1561 post(s)
|
Hi,
This was a bug that was fixed in vMix 28. In the older version keys are referencing internal placeholder graphics in the virtual sets. These ended up breaking apps that would try to look up the input being used and could not find it.
The normal API behavior is to only show layers that have been assigned to by actual inputs.
Regards,
Martin vMix
|
 1 user thanked admin for this useful post.
|
|
|
vMix Forums
»
General
»
General Discussion
»
VMIx 28 XML API VirtualSet missing <overlay>
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.
Important Information:
The vMix Forums uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close