Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vMix? #285

Open
stevespaw opened this issue Oct 11, 2023 · 9 comments
Open

vMix? #285

stevespaw opened this issue Oct 11, 2023 · 9 comments

Comments

@stevespaw
Copy link

@olzzon @alvancamp I am back to a project that I would love to use this. I See that it supports vMix :-) now! I have a use case for Mixbus (ardour) and another that is vMix (this is a big one).
I am using docker. I do not see any setting for vMix. And I still can't seem to get a connection to Mixbus working. Here my run:
docker run --volume /opt/sisyfos-audio-controller:/opt/sisyfos-audio-controller/storage -p 1176:1176 -p 5255:5255 -p 5255:5255/udp -p 3819:3819/udp --restart always olzzon/sisyfos-audio-controller:develop
image
image

Any help to get this off of the ground would be appreciated! Thanks

@stevespaw
Copy link
Author

image

@stevespaw
Copy link
Author

OK Sorry I now used the (windows) docker commands and get the vMix settings, but when I make the connection, it crashes.
steve@Shadow-Studio:~$ docker run --mount source=sisyfos-vol,target=/opt/sisyfos-audio-controller/storage -p 1176:1176 -p 5255:5255 tv2media/sisyfos-audio-controller:develop
yarn run v1.22.19
$ cross-env NODE_ENV=production node server/dist/server
[node-vmix] Instanciating TCP socket to vMix instance 192.168.2.104
[node-vmix] Received host 192.168.2.104
[node-vmix] Received options { port: 8099, debug: true }
[node-vmix] Attempting to establish TCP socket connection to vMix instance 192.168.2.104:8099
[node-vmix] Connected to vMix instance via TCP socket 192.168.2.104 8099
[node-vmix] Sending message to vMix instance via socket XML

[node-vmix] Sending message to vMix instance via socket FUNCTION SUBSCRIBE TALLY

/opt/sisyfos-audio-controller/server/dist/server/src/utils/mixerConnections/VMixMixerConnection.js:137
const { inputGain, muteOn, pflOn, pgmOn, voOn } = store_1.state.faders[0].fader[assignedFaderIndex];
^

TypeError: Cannot destructure property 'inputGain' of 'store_1.state.faders[0].fader[assignedFaderIndex]' as it is undefined.
at /opt/sisyfos-audio-controller/server/dist/server/src/utils/mixerConnections/VMixMixerConnection.js:137:25
at Array.forEach ()
at /opt/sisyfos-audio-controller/server/dist/server/src/utils/mixerConnections/VMixMixerConnection.js:121:26
at /opt/sisyfos-audio-controller/node_modules/node-vmix/dist/modules/connection-tcp.js:291:21
at Array.forEach ()
at ConnectionTCP.emitXmlMessage (/opt/sisyfos-audio-controller/node_modules/node-vmix/dist/modules/connection-tcp.js:290:27)
at ConnectionTCP._processBufferXMLmessage (/opt/sisyfos-audio-controller/node_modules/node-vmix/dist/modules/connection-tcp.js:584:14)
at ConnectionTCP._processBuffer (/opt/sisyfos-audio-controller/node_modules/node-vmix/dist/modules/connection-tcp.js:206:29)
at Socket. (/opt/sisyfos-audio-controller/node_modules/node-vmix/dist/modules/connection-tcp.js:494:18)
at Socket.emit (node:events:513:28)

Node.js v18.16.1
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

@stevespaw
Copy link
Author

BTW docker on Windows WSL2 if it matters. If vMix is closed, sisyfos starts fine, but as soon as vMix starts this crash happens.

@olzzon
Copy link
Contributor

olzzon commented Oct 12, 2023

Hi @stevespaw
I'm not using vMix protocol myself, i guess it's running if you don't have any connection to vMix.
It looks like it receives a channel from vMix that is not available in Sisyfos. And as the reference is not optional it gives an error.
I think that @PeterC89 are using it? so maybe he knows something, there was an issue regards having more Sisyfos faders than vMix, maybe it's also the other way around, when vMix has more channels than Sisyfos?.
Maybe @mint-dewit knows something?

best regards
Kasper

@stevespaw
Copy link
Author

Thanks for the reply Kasper @olzzon !
If @PeterC89 or @mint-dewit could give me an idea that would be great. I am now running it in linux docker to make sure no issues. I have made a simple 4 input project and selected 4 faders in vMix. I get the same crash as above as soon as it connects.

@olzzon
Copy link
Contributor

olzzon commented Oct 13, 2023

@stevespaw It's related to the doesChannelExists, it looks like it is taken for given that all channels in Sisyfos has a fader assigned to it.
So maybe a workaround that could work would be to assign all vMix channels to a fader (route 1:1)
But as i don't have acces to a vMix i can't test this.

To fix the issue in the code either "this.doesChannelExists" check should be enhanced to also check whether it's assigned to a fader, or a second check "if (!state.faders[0].fader[assignedFaderIndex])" should be added like in this example:

                if (!this.doesChannelExists(input.number - 1)) {
                    return
                }

                const { outputLevel, fadeActive } =
                    state.channels[0].chMixerConnection[this.mixerIndex]
                        .channel[input.number - 1]
                const assignedFaderIndex = this.getAssignedFaderIndex(input.number - 1)
                if (!state.faders[0].fader[assignedFaderIndex]) {
                    return
                }
                const { inputGain, muteOn, pflOn, pgmOn, voOn } =
                    state.faders[0].fader[assignedFaderIndex]

@olzzon
Copy link
Contributor

olzzon commented Oct 13, 2023

@stevespaw
You could also try and run the nrkno version:
https://github.com/nrkno/sofie-sisyfos-audio-controller/pkgs/container/sofie-sisyfos-audio-controller

As this is from prior to the last refactor (that might have broken the vMix protocol)
And feel free to give feed back if this works, so we can fix it in the TV2 version :)

@stevespaw
Copy link
Author

Still no luck with the nkrno version. I have tried every combination of faders and setting that I can think of. It still crashes when I launch vMix:
Done in 49.25s.
yarn run v1.22.18
$ cross-env NODE_ENV=production node server/dist/server
ERR Error: connect ECONNREFUSED 172.30.0.103:8099
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1157:16)
ERR Error: connect ECONNREFUSED 172.30.0.103:8099
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1157:16)
/opt/sisyfos-audio-controller/server/dist/server/src/utils/mixerConnections/VMixMixerConnection.js:125
const { inputGain, muteOn, pflOn, pgmOn, voOn } = store_1.state.faders[0].fader[assignedFader];
^
TypeError: Cannot destructure property 'inputGain' of 'store_1.state.faders[0].fader[assignedFader]' as it is undefined.
at /opt/sisyfos-audio-controller/server/dist/server/src/utils/mixerConnections/VMixMixerConnection.js:125:25
at Array.forEach ()
at /opt/sisyfos-audio-controller/server/dist/server/src/utils/mixerConnections/VMixMixerConnection.js:113:26
at /opt/sisyfos-audio-controller/node_modules/node-vmix/dist/modules/connection-tcp.js:291:21
at Array.forEach ()
at ConnectionTCP.emitXmlMessage (/opt/sisyfos-audio-controller/node_modules/node-vmix/dist/modules/connection-tcp.js:290:27)
at ConnectionTCP._processBufferXMLmessage (/opt/sisyfos-audio-controller/node_modules/node-vmix/dist/modules/connection-tcp.js:584:14)
at ConnectionTCP._processBuffer (/opt/sisyfos-audio-controller/node_modules/node-vmix/dist/modules/connection-tcp.js:206:29)
at Socket. (/opt/sisyfos-audio-controller/node_modules/node-vmix/dist/modules/connection-tcp.js:494:18)
at Socket.emit (node:events:526:28)
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.

@stevespaw
Copy link
Author

docker pull ghcr.io/nrkno/sofie-sisyfos-audio-controller:master
docker volume create sisyfos-vol
sudo docker run --mount source=sisyfos-vol,target=/opt/sisyfos-audio-controller/storage --network="host" ghcr.io/nrkno/sofie-sisyfos-audio-controller:master

This is what I ran BTW.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants