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
Lazzie  
#1 Posted : Tuesday, April 22, 2025 7:01:25 AM(UTC)
Lazzie

Rank: Newbie

Groups: Registered
Joined: 4/22/2025(UTC)
Posts: 1
India
Location: HYDERABAD

Hey everyone,

I’ve been struggling with a specific use case for vMix and could really use some help or a proper solution from someone who’s done this before.

Goal:
I want to create a scrolling ticker in vMix that pulls data from an Excel file and scrolls through each column of a row, one by one, before moving on to the next row — and I need this to happen based on content completion, not a fixed time delay.

What I’ve Tried:
Excel as a Data Source — I've linked an .xlsx file successfully using vMix's Data Sources feature.

vMix Scripting (VB.NET) — I used scripts to loop through the rows and trigger DataSourceSelectRow and set a fixed Sleep() time between them.

Problem — The content scrolls on a fixed timer (Sleep(xxx)), but this doesn't work well because:

Some text is longer and needs more time to scroll.

Some is shorter and leaves too much gap.

As a result, the ticker doesn't feel smooth or professional.

Tried CSV or TXT — But vMix treats commas as new columns, and tabs/spacing doesn’t help either. It still reads everything as one line or breaks the formatting.

Dynamic Row Count — I want the ticker to auto-update if the Excel file changes (rows added or removed), without restarting the script or manually refreshing anything.

GT Title — I’m using a scrolling text GT title, and I know the animation cannot use Fly since it's a ticker — but I haven’t found a way to trigger scrolling completion events like "OnAnimationCompleted" or similar.

Triggers — Tried vMix triggers to detect when the scroll is finished, but they don’t seem to work reliably or trigger anything useful in this context.

What I Need:
A way to scroll through all the columns of a row, one at a time.

After all columns in a row are done scrolling, then move to the next row.

All of this needs to be content-driven, meaning:

It waits for the full scroll to finish before going to the next item.

No static sleep/delay.

It should auto-refresh if Excel data is updated (more or fewer rows).

Ideally no need to restart vMix, reload scripts, or refresh the data source manually.


I’ve tried a lot, and I’m honestly stuck. I’d really appreciate a working example, plugin, or script that solves this or any ideas to approach it better.

Thanks in advance!
doggy  
#2 Posted : Tuesday, April 22, 2025 8:04:45 AM(UTC)
doggy

Rank: Advanced Member

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

Thanks: 300 times
Was thanked: 989 time(s) in 821 post(s)
Originally Posted by: Lazzie Go to Quoted Post
Hey everyone,

I’ve been struggling with a specific use case for vMix and could really use some help or a proper solution from someone who’s done this before.

Goal:
I want to create a scrolling ticker in vMix that pulls data from an Excel file and scrolls through each column of a row, one by one, before moving on to the next row — and I need this to happen based on content completion, not a fixed time delay.

What I’ve Tried:
Excel as a Data Source — I've linked an .xlsx file successfully using vMix's Data Sources feature.

vMix Scripting (VB.NET) — I used scripts to loop through the rows and trigger DataSourceSelectRow and set a fixed Sleep() time between them.

Problem — The content scrolls on a fixed timer (Sleep(xxx)), but this doesn't work well because:

Some text is longer and needs more time to scroll.

Some is shorter and leaves too much gap.

As a result, the ticker doesn't feel smooth or professional.

Tried CSV or TXT — But vMix treats commas as new columns, and tabs/spacing doesn’t help either. It still reads everything as one line or breaks the formatting.

Dynamic Row Count — I want the ticker to auto-update if the Excel file changes (rows added or removed), without restarting the script or manually refreshing anything.

GT Title — I’m using a scrolling text GT title, and I know the animation cannot use Fly since it's a ticker — but I haven’t found a way to trigger scrolling completion events like "OnAnimationCompleted" or similar.

Triggers — Tried vMix triggers to detect when the scroll is finished, but they don’t seem to work reliably or trigger anything useful in this context.

What I Need:
A way to scroll through all the columns of a row, one at a time.

After all columns in a row are done scrolling, then move to the next row.

All of this needs to be content-driven, meaning:

It waits for the full scroll to finish before going to the next item.

No static sleep/delay.

It should auto-refresh if Excel data is updated (more or fewer rows).

Ideally no need to restart vMix, reload scripts, or refresh the data source manually.


I’ve tried a lot, and I’m honestly stuck. I’d really appreciate a working example, plugin, or script that solves this or any ideas to approach it better.

Thanks in advance!



not asking much ;-)

Scripting for spacing: calculate how long it takes for a text to scroll by using length of text (average characthe width of font), length of ticker box and speed (think pixels), then throw in the next text after calculated time plus time for added spacing has passed. Result is an equal spacing between the text items regardless of item lentgh.

Other things to consider;
Auto loop through the data source , or check if last item is reached to jump back to first
Reorganise the datasource so you can work om a row by row basis as is intended with ticker datasource connection
Use the 'add' option so items follow eachother
Let the script read the data file items and throw in the text in the ticker title textfield (not using datasource connection)
Search this forum as it has a few goodies regarding tickers

someoe used calculated timing here:



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.