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
jello  
#1 Posted : Sunday, October 13, 2024 2:04:15 PM(UTC)
jello

Rank: Member

Groups: Registered
Joined: 5/28/2022(UTC)
Posts: 17

Thanks: 1 times
Was thanked: 1 time(s) in 1 post(s)
I need a method for either accessing the zoomchat data directly... or to add functionality allowing someone to call the last X rows.

I am trying to create a giant running chat window (a vertical 80" display) that our faculty can see while they are teaching... the last 10 or so chats, newest on top.

Currently, Zoomchat is just presented as a datasource. We can access the chats one row at a time, but we can't do anything more because there is no file or accessible source to manipulate by script... as there would be for other datasources xml, google sheets, etc.

For my purposes, I just need a way to get at the data... I can figure something out from there.

But it would be nicer if there were some multi-line data display options in vMix like "display Last X rows" or other filters, sql command or whatever.


(If this is sounding familiar, we talked about it at NAB.)


Thank you!
spinfold  
#2 Posted : Sunday, October 13, 2024 4:15:18 PM(UTC)
spinfold

Rank: Advanced Member

Groups: Registered
Joined: 1/23/2022(UTC)
Posts: 131
United Kingdom
Location: Milton Keynes

Thanks: 14 times
Was thanked: 14 time(s) in 14 post(s)
Originally Posted by: jello Go to Quoted Post
I need a method for either accessing the zoomchat data directly... or to add functionality allowing someone to call the last X rows.

I am trying to create a giant running chat window (a vertical 80" display) that our faculty can see while they are teaching... the last 10 or so chats, newest on top.

Currently, Zoomchat is just presented as a datasource. We can access the chats one row at a time, but we can't do anything more because there is no file or accessible source to manipulate by script... as there would be for other datasources xml, google sheets, etc.

For my purposes, I just need a way to get at the data... I can figure something out from there.

But it would be nicer if there were some multi-line data display options in vMix like "display Last X rows" or other filters, sql command or whatever.


(If this is sounding familiar, we talked about it at NAB.)


Thank you!


I haven't used Zoom chat data as a datasource, but I have before used the same datasource to show multiple rows, by adding the datasource multiple times in the data manager. Is that something you can do with the Zoom chat data source?
Josemite  
#3 Posted : Friday, October 18, 2024 7:29:42 AM(UTC)
Josemite

Rank: Advanced Member

Groups: Registered
Joined: 6/4/2020(UTC)
Posts: 40
United States
Location: California

Thanks: 14 times
Was thanked: 4 time(s) in 4 post(s)
I've been trying to figure out a way to pull this off too. If I could somehow sort where the last chat comment was instead the 1st line in the data source (instead of the last, as it is now) it would be simple. The problem that I can't work around is that the latest comment appends vs prepends, so it's always a different row number.

Of course I can get the latest one to show up with auto-next, but I can't get the latest 5 or 10 chats to stay up. As I'd need to lock in what rows they were, but that is always changing.

An option to prepend vs append would solve it, or some other kind of persistent sorting option for like time.



Originally Posted by: spinfold Go to Quoted Post
Originally Posted by: jello Go to Quoted Post
I need a method for either accessing the zoomchat data directly... or to add functionality allowing someone to call the last X rows.

I am trying to create a giant running chat window (a vertical 80" display) that our faculty can see while they are teaching... the last 10 or so chats, newest on top.

Currently, Zoomchat is just presented as a datasource. We can access the chats one row at a time, but we can't do anything more because there is no file or accessible source to manipulate by script... as there would be for other datasources xml, google sheets, etc.

For my purposes, I just need a way to get at the data... I can figure something out from there.

But it would be nicer if there were some multi-line data display options in vMix like "display Last X rows" or other filters, sql command or whatever.


(If this is sounding familiar, we talked about it at NAB.)


Thank you!


I haven't used Zoom chat data as a datasource, but I have before used the same datasource to show multiple rows, by adding the datasource multiple times in the data manager. Is that something you can do with the Zoom chat data source?


jello  
#4 Posted : Friday, December 13, 2024 2:34:06 AM(UTC)
jello

Rank: Member

Groups: Registered
Joined: 5/28/2022(UTC)
Posts: 17

Thanks: 1 times
Was thanked: 1 time(s) in 1 post(s)
Just refreshing this one.

Again, the ZoomChat is the only kind of datasource that we can't interact with outside of vMix, and doing anything meaningful with it inside vMix is difficult if not impossible.

If vMix would write the chat out to json or xml, or make it possible to make have more meaningful interactions with datasources inside vMix, either would be a big help.

Thanks
Josemite  
#5 Posted : Friday, December 20, 2024 8:28:49 AM(UTC)
Josemite

Rank: Advanced Member

Groups: Registered
Joined: 6/4/2020(UTC)
Posts: 40
United States
Location: California

Thanks: 14 times
Was thanked: 4 time(s) in 4 post(s)
Originally Posted by: jello Go to Quoted Post
Just refreshing this one.

Again, the ZoomChat is the only kind of datasource that we can't interact with outside of vMix, and doing anything meaningful with it inside vMix is difficult if not impossible.

If vMix would write the chat out to json or xml, or make it possible to make have more meaningful interactions with datasources inside vMix, either would be a big help.

Thanks



That would be really cool. However, I'd be happy if it just held its 'Received' sorting options in Data Sources, so I could have it prepend instead of append new messages.

Then I could display the latest 5 messages by using the rows 1-5.

As it is, I can't do anything but use the auto-next to display the very last message.

Josemite  
#6 Posted : Thursday, April 2, 2026 2:49:06 PM(UTC)
Josemite

Rank: Advanced Member

Groups: Registered
Joined: 6/4/2020(UTC)
Posts: 40
United States
Location: California

Thanks: 14 times
Was thanked: 4 time(s) in 4 post(s)
Originally Posted by: spinfold Go to Quoted Post
Originally Posted by: jello Go to Quoted Post
I need a method for either accessing the zoomchat data directly... or to add functionality allowing someone to call the last X rows.

I am trying to create a giant running chat window (a vertical 80" display) that our faculty can see while they are teaching... the last 10 or so chats, newest on top.

Currently, Zoomchat is just presented as a datasource. We can access the chats one row at a time, but we can't do anything more because there is no file or accessible source to manipulate by script... as there would be for other datasources xml, google sheets, etc.

For my purposes, I just need a way to get at the data... I can figure something out from there.

But it would be nicer if there were some multi-line data display options in vMix like "display Last X rows" or other filters, sql command or whatever.


(If this is sounding familiar, we talked about it at NAB.)


Thank you!



If you haven't found a solution, there is a thing called Zoom Graphics Toolkit (Zoom just bought them). This gives you a way to display the Zoom chat as a local HTML page, and bring it in as a webpage into vMix. It has a lot of options and abilities to customize.

One draw back though, is you can't use it and the vMix Zoom plugin at the same time (think it shares the same SDK). So there is still a need for vMix to change something with the data source management. Either change the sorting order to have the newest chat messages prepended to the first row. Or give us a way for the data sorting to stick, so we can sort by the time column and keep newest first.
WaltG12  
#7 Posted : Monday, April 27, 2026 1:46:12 PM(UTC)
WaltG12

Rank: Advanced Member

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

Thanks: 9 times
Was thanked: 60 time(s) in 51 post(s)
Originally Posted by: Josemite Go to Quoted Post

Of course I can get the latest one to show up with auto-next, but I can't get the latest 5 or 10 chats to stay up.


This isn't even remotely difficult.

If you have access to scripting, I've literally posted one way to do this in the "Scripting for Dummies" thread.

If you use something external, like Bitfocus Companion, you can do it there just as easily.

I run a Bingo game where I show the last 4 numbers called in a title. This is one step "harder" than that.
Josemite  
#8 Posted : Tuesday, April 28, 2026 11:30:32 AM(UTC)
Josemite

Rank: Advanced Member

Groups: Registered
Joined: 6/4/2020(UTC)
Posts: 40
United States
Location: California

Thanks: 14 times
Was thanked: 4 time(s) in 4 post(s)
Originally Posted by: WaltG12 Go to Quoted Post
Originally Posted by: Josemite Go to Quoted Post

Of course I can get the latest one to show up with auto-next, but I can't get the latest 5 or 10 chats to stay up.


This isn't even remotely difficult.

If you have access to scripting, I've literally posted one way to do this in the "Scripting for Dummies" thread.

If you use something external, like Bitfocus Companion, you can do it there just as easily.

I run a Bingo game where I show the last 4 numbers called in a title. This is one step "harder" than that.


Could you share your code? Maybe I'm doing something stupid.

Although, I'm not optimistic as the ZoomChat datasource works in an odd way compared to other datasources. I do all kinds of other live scoring displays without issue using standard datasources. The ZoomChat datasource is derailing all my previous methods, because it ignores sorting and there is no raw datasource file to manipulate (that I can find access to).

I tried for a while to use scripting to just export the ZoomChat datasource to an XML that I could just re-import and use like a normal datasource, but I couldn't get that to work. I get a file generated, but it's empty.
WaltG12  
#9 Posted : Thursday, April 30, 2026 7:14:36 AM(UTC)
WaltG12

Rank: Advanced Member

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

Thanks: 9 times
Was thanked: 60 time(s) in 51 post(s)
Originally Posted by: Josemite Go to Quoted Post
Could you share your code?


https://forums.vmix.com/...g-for-Dummies#post113993

Originally Posted by: Josemite Go to Quoted Post
Although, I'm not optimistic as the ZoomChat datasource works in an odd way compared to other datasources.


You don't have to be optimistic; you just have to have a vague understanding of what you're doing.

And the Zoom chat data source doesn't behave any differently than any other data source in any meaningful way.

It writes the contents to title fields which are accessible via the API.

I've said multiple times, which should be obvious to anyone without me having to say it, that hidden title fields are a great way to track data in, and outside of, vMix.

You can store whatever you want in them and retrieve it wherever you want. The "whatever" could be literally anything, including the previous X number of Zoom chats and the sender's name, and the "wherever" could be, again, anything, including visible fields on the same or different titles.

Originally Posted by: Josemite Go to Quoted Post
The ZoomChat datasource is derailing all my previous methods, because it ignores sorting and there is no raw datasource file to manipulate (that I can find access to).


I don't know what your previous methods are, nor do I know what "sorting" you could possibly need, beyond "most recent" or "oldest", but if you need them in, say, alphabetical order or sorted by sender, you could achieve that too, it'd just take a bit more work.

I also don't know why you'd need to manipulate the underlying file when you can simply manipulate the data it feeds you before you make it public.

Originally Posted by: Josemite Go to Quoted Post
I tried for a while to use scripting to just export the ZoomChat datasource to an XML that I could just re-import and use like a normal datasource


I don't understand why you'd do that instead of just taking the data out of the data source and doing whatever you want with it (which goes for this and any other data source).
Josemite  
#10 Posted : Thursday, April 30, 2026 1:16:14 PM(UTC)
Josemite

Rank: Advanced Member

Groups: Registered
Joined: 6/4/2020(UTC)
Posts: 40
United States
Location: California

Thanks: 14 times
Was thanked: 4 time(s) in 4 post(s)
Originally Posted by: Josemite Go to Quoted Post
I tried for a while to use scripting to just export the ZoomChat datasource to an XML that I could just re-import and use like a normal datasource


Originally Posted by: WaltG12 Go to Quoted Post
I don't understand why you'd do that instead of just taking the data out of the data source and doing whatever you want with it (which goes for this and any other data source).


To avoid scripting.

If I build something stored in settings/scripting, after a year I'd probably forget what I did and be pulling out my hair trying to figure out how to edit my chat scroll to show the last 8 messages instead of the last 6.

Just seems like too much tinkering to get around not being able to sort data by a column and have it stick.

Fortunately Zoom Graphics Toolkit works great, and it's has a lot cool features for chat scrolls.
WaltG12  
#11 Posted : Thursday, April 30, 2026 1:43:17 PM(UTC)
WaltG12

Rank: Advanced Member

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

Thanks: 9 times
Was thanked: 60 time(s) in 51 post(s)
Originally Posted by: Josemite Go to Quoted Post
If I build something stored in settings/scripting, after a year I'd probably forget what I did and be pulling out my hair trying to figure out how to edit my chat scroll to show the last 8 messages instead of the last 6.


I would think that'd be as simple as "looking at what you did & changing it accordingly". Scripts can be annotated. They can also be fairly self-explanatory.

There are also, as I said, tools like Bitfocus Companion that, after recent developments, will do all the heavy lifting for you, if you don't want to do it yourself.

As I stated, this isn't even remotely complicated. It'd take me about 2-3 hours to do. Less if I can just feed everything into a single title field, one after the other.

You can also just feed all the data into a Google Sheet, if, for some reason, you need it to be a Google Sheet. That's more complicated to do with pure vMix than with something that's designed to integrate with both vMix and Google Sheets, but still doable in either case.

You can put the new data on the top, on the bottom, wherever.

Now, to me, taking the data and putting it in a Google Sheet only to take the data out of the Google Sheet and do something with it seems more drawn out and unnecessary to me than simply taking the data and using it, but the option exists for you to do it, and has for some time.

And none of the myriad of options discussed thus far even get into the fact that the Zoom Chat is also available via vMix Social to be queued up however you want.
Josemite  
#12 Posted : Thursday, April 30, 2026 6:04:46 PM(UTC)
Josemite

Rank: Advanced Member

Groups: Registered
Joined: 6/4/2020(UTC)
Posts: 40
United States
Location: California

Thanks: 14 times
Was thanked: 4 time(s) in 4 post(s)
Originally Posted by: WaltG12 Go to Quoted Post
Originally Posted by: Josemite Go to Quoted Post
If I build something stored in settings/scripting, after a year I'd probably forget what I did and be pulling out my hair trying to figure out how to edit my chat scroll to show the last 8 messages instead of the last 6.


Now, to me, taking the data and putting it in a Google Sheet only to take the data out of the Google Sheet and do something with it seems more drawn out and unnecessary to me than simply taking the data and using it, but the option exists for you to do it, and has for some time.


Got both ways figured out and working. Thanks for the encouragement! (I'll post code of both for people after I get a little real world use from them).

What I did was export out the ZoomChat to a JSON in the usable order, then added that back in as a DataSource. Now I have a DataSource of the ZoomChat, but in a order where I can use the row numbers 1-6 to create a chat scroll of the latest 6 messages on screen at same time. Allowing for the traditional use of the GT Designer and Title Editor mapping to have all 6 of the newest chats display.

However, I gotta admit. Once I realized I could manipulate the data in scripting, and could do stuff like give VIP UserNames their own icons or text effects, it looks like the better way to go.


...

I not seeing how vMix social would solve it, wouldn't people have the exact same problem, where they'd only be able to show one chat box at a time?

Sorry, maybe I should have defined what I meant by a "chat scroll": having several chat messages scrolling up in a overlay as they come in, pushing the older messages off the screen.

chat scroll example





Users browsing this topic
Guest
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.