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
john30120  
#1 Posted : Thursday, January 2, 2020 9:02:06 AM(UTC)
john30120

Rank: Member

Groups: Registered
Joined: 8/8/2019(UTC)
Posts: 26
United States
Location: Georgia

Was thanked: 2 time(s) in 2 post(s)
I can build a countdown timer to zero with a stop time and a countdown counter to a particular time. But I see no way to countdown towards a particular time and set a stop time say 5 minutes before reaching that time.

What I am trying to do is stream a logo image overlayed with a counter ticking down to zero at 10:30 AM. At 10:25 I'd like to start some music and at 10:30 trigger a fade to the program start.

So at 10:00 the viewer would see 30:00, at 10:25, 05:00 would be displayed and the music would start, and at 10:30 the display would have ticked down to 00:00 and the program would be triggered.

I am comfortable with triggers and with scripting.

Thanks a million.
doggy  
#2 Posted : Thursday, January 2, 2020 9:31:25 AM(UTC)
doggy

Rank: Advanced Member

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

Thanks: 293 times
Was thanked: 955 time(s) in 790 post(s)
if you are familiar with scripting one can read the time from the countdownclock (throughthe API xml) and instruct whatever you like within the script at desired moments
doggy  
#3 Posted : Thursday, January 2, 2020 9:50:41 AM(UTC)
doggy

Rank: Advanced Member

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

Thanks: 293 times
Was thanked: 955 time(s) in 790 post(s)
also one can read content ( time) contained in the textblock within a script


or as you mention time(of day) , script reads DateTime.Now.ToString(), at desired time display/start countdown & music. End of countdown trigger program or in script at end time start program
john30120  
#4 Posted : Thursday, January 2, 2020 10:28:12 AM(UTC)
john30120

Rank: Member

Groups: Registered
Joined: 8/8/2019(UTC)
Posts: 26
United States
Location: Georgia

Was thanked: 2 time(s) in 2 post(s)
I assume if the countdown count were in a title description box I could read that with Input.Find("TimerInputName").Text("Description.Text). I couldn't find the command to read the count if it was in a timer xaml Input without being in a title box (Headline or description).

But in any case in regular VB script you have an "On Timer" interrupt which would fire when the timer reached the designated time. Apparently this is not available in vMix. So, do you have to launch a script that has a "loop until (time equals time you want)" and when the loop condition is met you can proceed with the music and later exit to the program. This would seem to stick you in the script until the condition was met and most programs don't like a quasi endless loop.

So is there a trigger that would fire when the timer reaches 00:05:00 or is there a script command that would read the count and make a comparison that doesn't involve running a prolonged loop or can you run a prolonged "loop until" within a script without problems?

Many thanks
IceStream  
#5 Posted : Thursday, January 2, 2020 11:40:21 AM(UTC)
IceStream

Rank: Advanced Member

Groups: Registered
Joined: 3/7/2012(UTC)
Posts: 2,636
Man
Location: Canada

Thanks: 33 times
Was thanked: 506 time(s) in 475 post(s)
@ john30120

I would be inclined to use a second Timer set for 25:00 minutes (that starts simultaneously with the 30:00 minute Timer but can remain hidden from view in the vMix Input tray) to Trigger the Music at the 5:00 minute mark.
This would certainly avoid writing any complicated scripts.


Ice
john30120  
#6 Posted : Thursday, January 2, 2020 12:06:46 PM(UTC)
john30120

Rank: Member

Groups: Registered
Joined: 8/8/2019(UTC)
Posts: 26
United States
Location: Georgia

Was thanked: 2 time(s) in 2 post(s)
Thanks Guys,

And Ice I think you are correct. That is the simplest solution. Even if you understand scripting it's hard to get all the variables straight in vMix as they are not well documented. Trial and error, alas.

But on a more serious note, I can get the simple counter (countdown to zero) to work perfectly and at zero the "OnCountdownComplete" trigger fires OK. But if I set up a countdown to time counter, for example its 9:00 PM and I set {0:10:00:00PM|HH:mm:ss} the counter counts down but at 00:00:00 the trigger does nothing.

What am I missing?
IceStream  
#7 Posted : Thursday, January 2, 2020 12:39:48 PM(UTC)
IceStream

Rank: Advanced Member

Groups: Registered
Joined: 3/7/2012(UTC)
Posts: 2,636
Man
Location: Canada

Thanks: 33 times
Was thanked: 506 time(s) in 475 post(s)
@ john30120

Basically, using the computer time-of-day clock doesn't work because the time technically never stops and cannot register a "complete" status (if that makes sense).



Ice
doggy  
#8 Posted : Thursday, January 2, 2020 9:08:50 PM(UTC)
doggy

Rank: Advanced Member

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

Thanks: 293 times
Was thanked: 955 time(s) in 790 post(s)
Quote:
Even if you understand scripting it's hard to get all the variables straight in vMix as they are not well documented. Trial and error, alas.




dim content = Input.Find("TitleName").Text("TextBlockName.Text") (omit .Text for xaml titles )

If you have a clock in a textblock (could even be invisible or as a place holder) the same works , but not retrieve from the API xml as it will show the format instead

In script DateTime.Now.ToString() can be used (as string) where one can manipulate/compare with a desired time (that you can set in a textblock for ease or operation)
All standard vb.net instruction are usable to process

applying a function can be done with API.Function("function name",Input:="xxxxx",value:="xxx" ) depending on the function (helps to check the shortcut settings to have an idea what is needed)

Personally i dont see much issue with a loop as when all is met one can stop the script (have one running constantly to reformat a time display ) but in your case your not doing much either until your program starts
One can always insert a few delays in the script also: Sleep(xxxx)


In the end the best process will be the one that is easiest to implement and set and will be worth the effort to create
john30120  
#9 Posted : Friday, January 3, 2020 1:28:21 AM(UTC)
john30120

Rank: Member

Groups: Registered
Joined: 8/8/2019(UTC)
Posts: 26
United States
Location: Georgia

Was thanked: 2 time(s) in 2 post(s)
Thanks to IceStream and doggy I have all I need to workout my timer. I'll run some tests on the do..loop and see if it has any adverse effects.

I'm sure scripting is a low priority for vMix but a little more clarity and resource material would be welcome. Also, the countdown to time function really should trip a trigger on reaching the designated time. This would be very useful and perhaps it can be included in the future.

This forum is a great resource and we newbies benefit greatly from the knowledge and willingness to help of the advanced users.

Thanks again..
kjones9999  
#10 Posted : Friday, January 10, 2020 11:55:54 AM(UTC)
kjones9999

Rank: Advanced Member

Groups: Registered
Joined: 8/20/2014(UTC)
Posts: 388

Thanks: 29 times
Was thanked: 80 time(s) in 51 post(s)
These may be helpful if anyone needs something quick and easy for this purpose

https://forums.vmix.com/...lities---New-and-Updated
Users browsing this topic
Guest (3)
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.