logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
Dragon  
#1 Posted : Sunday, June 15, 2025 2:34:02 AM(UTC)
Dragon

Rank: Newbie

Groups: Registered
Joined: 6/6/2021(UTC)
Posts: 6
Germany

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
WaltG12  
#2 Posted : Sunday, June 15, 2025 5:09:57 AM(UTC)
WaltG12

Rank: Advanced Member

Groups: Registered
Joined: 7/4/2021(UTC)
Posts: 374
United States

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?
nikosman88  
#3 Posted : Sunday, June 15, 2025 5:21:06 AM(UTC)
nikosman88

Rank: Advanced Member

Groups: Registered
Joined: 12/24/2021(UTC)
Posts: 685
Greece
Location: athens

Thanks: 159 times
Was thanked: 85 time(s) in 81 post(s)
Originally Posted by: WaltG12 Go to Quoted Post
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
doggy  
#4 Posted : Sunday, June 15, 2025 5:35:44 AM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 5,400
Belgium
Location: Belgium

Thanks: 300 times
Was thanked: 993 time(s) in 823 post(s)
Originally Posted by: nikosman88 Go to Quoted Post

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
WaltG12  
#5 Posted : Sunday, June 15, 2025 7:59:38 AM(UTC)
WaltG12

Rank: Advanced Member

Groups: Registered
Joined: 7/4/2021(UTC)
Posts: 374
United States

Thanks: 8 times
Was thanked: 55 time(s) in 46 post(s)
Originally Posted by: nikosman88 Go to Quoted Post
<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?
admin  
#6 Posted : Monday, June 16, 2025 2:59:22 AM(UTC)
admin

Rank: Administration

Groups: Administrators
Joined: 1/13/2010(UTC)
Posts: 5,208
Man
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
thanks 1 user thanked admin for this useful post.
nikosman88 on 6/16/2025(UTC)
Users browsing this topic
Guest (2)
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.