vMix Forums
	 » 
	General
	 » 
	Feature Requests
	 » 
	Negative Delay Time in OnCompletion Triggers
	 
	
        
            
            
    | 
	Rank: Member
 Groups: Registered
 Joined: 10/11/2018(UTC) Posts: 19   Location: MichindohThanks: 11 times
 | 
            
		      
                I thought this had been possible at one point in time, but I may be misremembering things.
 Here's my case: I have a daily segment that varies in length each day.  I've succeeded in using triggers to automate most of the things that need to happen when I play and stop it, but there's one problem.  I want to use an overlay as a two-second transition between that segment and the next, but I also want to fade out the audio while that transition is taking place.  With triggers functioning as they do now, the overlay will fire perfectly fine when the segment stops, and I can delay it to fire off later, but I need it to start one second earlier, before the end of the video, to get the audio to fade out during that last second (which is the first second of the transition overlay).
 
 I've tried doing this manually with the stinger function, but it simply cuts the audio off (even though I have all automatic audio switches turned off).  The only other option is to fade the audio out in the video file itself, but then that leaves me with two seconds of dead air.  I'm trying to tighten up my presentation, not loosen it.  I've seen other people attempting to accomplish this with a combination of triggers and timers, but that seems overly complicated, and I would have to set the timer for however long the video is every day, which kind of defeats the whole purpose of automating it in the first place: it's just another step of work for me.  I'd like to be able to render the file out in Premiere each morning, have it be in that input when I open vMix, and not have to worry about it at all.
 
 The only way I can think of to make this possible is to allow for negative delays in the OnCompletion trigger.  vMix is already keeping track of the time left in the video to display under the viewports, anyway, so it seems technically feasible.
 
 Is this at all a possibility?  Would anyone else find this useful?
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Advanced Member
 Groups: Registered
 Joined: 12/27/2012(UTC) Posts: 5,446  Location: BelgiumThanks: 311 timesWas thanked: 1006 time(s) in 830 post(s)
 
 | 
            
		      
                With a script one can check the remaining time of a clip and go from there. It does involves a bit of math | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: Registered
Joined: 2/23/2019(UTC)
 Posts: 617
 
 Thanks: 63 timesWas thanked: 144 time(s) in 130 post(s)
 
 | 
            
		      
                Originally Posted by: JoshTheRadioDude  
 I've tried doing this manually with the stinger function, but it simply cuts the audio off (even though I have all automatic audio switches turned off).  The only other option is to fade the audio out in the video file itself, but then that leaves me with two seconds of dead air.
 Doggy's hint puts you on the right track, but if you're not into scripting yet and are willing to do it manually, you could possibly trigger a fade transition or/and SetVolumeFade on OverlayIn, or put multiple shortcuts on one key... You'd still have to fire that shortcut at the right time, though. | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Advanced Member
 Groups: Registered
 Joined: 3/7/2012(UTC) Posts: 2,664  Location: CanadaThanks: 33 timesWas thanked: 512 time(s) in 480 post(s)
 
 | 
            
		      
                @ JoshTheRadioDude
 If you know the length of the video, you could set up a timer that is just shy of that and use the "OnCountdownCompleted" Trigger.
 It is a little more complex to setup than your suggestion of a "negative delay", but will work exactly as you want.
 
 
 Ice
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: Registered
 Joined: 12/27/2012(UTC) Posts: 5,446  Location: BelgiumThanks: 311 timesWas thanked: 1006 time(s) in 830 post(s)
 
 | 
            
		      
                Code:' Checking time left of active input
' and do some stuff at certain time remaining
dim position as string = ""
dim duration as string = ""
dim activeinput as string = ""
dim Timeleft as double = 0
dim triggertime as integer = 2000       '2 seconds before end
dim triggerduration as integer = 2000   'fade duration, could be different than trigger
do while true
   dim xml as string = API.XML()
   dim x as new system.xml.xmldocument
   x.loadxml(xml)
activeinput = (x.SelectSingleNode("//active").InnerText)
duration = (x.SelectSingleNode("//input[@number='"& activeinput &"']/@duration").Value)
position = (x.SelectSingleNode("//input[@number='"& activeinput &"']/@position").Value)
Timeleft= Double.Parse(duration)-Double.Parse(position)
if Timeleft < triggertime  
  API.Function("SetVolumeFade",Input:=activeinput.tostring(),Value:="0," & triggerduration.tostring())
  ' do whatever one wants to do 
end if
sleep(500)
Loop
 | 
    | 
              2 users thanked doggy for this useful post. |  | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Member
 Groups: Registered
 Joined: 10/11/2018(UTC) Posts: 19   Location: MichindohThanks: 11 times
 | 
            
		      
                Originally Posted by: IceStream  @ JoshTheRadioDude
 If you know the length of the video, you could set up a timer that is just shy of that and use the "OnCountdownCompleted" Trigger.
 It is a little more complex to setup than your suggestion of a "negative delay", but will work exactly as you want.
 
 
 Ice
 Like I said, the length of the video changes from day to day, so while I could  possibly time it out that way, that somewhat defeat the purpose.  I'd like to just render it out and have it ready to go without having to program anything else in. | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: Registered
 Joined: 12/27/2012(UTC) Posts: 5,446  Location: BelgiumThanks: 311 timesWas thanked: 1006 time(s) in 830 post(s)
 
 | 
            
		      
                Originally Posted by: JoshTheRadioDude  Originally Posted by: IceStream  @ JoshTheRadioDude
 If you know the length of the video, you could set up a timer that is just shy of that and use the "OnCountdownCompleted" Trigger.
 It is a little more complex to setup than your suggestion of a "negative delay", but will work exactly as you want.
 
 
 Ice
 Like I said, the length of the video changes from day to day, so while I could  possibly time it out that way, that somewhat defeat the purpose.  I'd like to just render it out and have it ready to go without having to program anything else in. Use the posted script  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Member
 Groups: Registered
 Joined: 10/11/2018(UTC) Posts: 19   Location: MichindohThanks: 11 times
 | 
            
		      
                Originally Posted by: doggy  
 Use the posted script
 
 
 I will give that a shot, but again, this is something that would be much simpler if it were just a function in vMix.  I would like to see it added if at all possible. | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: Registered
 Joined: 3/28/2017(UTC) Posts: 70   Location: Haapsalu, EstoniaThanks: 75 timesWas thanked: 3 time(s) in 3 post(s)
 
 |  | 
    | 
              1 user thanked vvcvvc for this useful post. |  | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Newbie
 Groups: Registered
 Joined: 1/11/2021(UTC) Posts: 3  Location: Cape TownThanks: 1 times
 |  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: Registered
 Joined: 12/27/2012(UTC) Posts: 5,446  Location: BelgiumThanks: 311 timesWas thanked: 1006 time(s) in 830 post(s)
 
 | 
            
		      
                Originally Posted by: spiro67  +1 as well! Use the script above as of 12 months (1 year) ago those (few) who needed it seemed happy with the solution ;-) | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Newbie
 Groups: Registered
 Joined: 12/16/2018(UTC) Posts: 6  Thanks: 1 times
 | 
            
		      
                Originally Posted by: doggy  Originally Posted by: spiro67  +1 as well! Use the script above as of 12 months (1 year) ago those (few) who needed it seemed happy with the solution ;-) Scripting is only available in 4K and Pro versions. ÷1 for Negative delay on OnCompletion triggers | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: Registered
 Joined: 12/27/2012(UTC) Posts: 5,446  Location: BelgiumThanks: 311 timesWas thanked: 1006 time(s) in 830 post(s)
 
 | 
            
		      
                Originally Posted by: renevane  Scripting is only available in 4K and Pro versions.
 
 Just like several other options and extras ;-) create external script/app then | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Newbie
 Groups: Registered
 Joined: 12/16/2018(UTC) Posts: 6  Thanks: 1 times
 | 
            
		      
                Originally Posted by: doggy  Originally Posted by: renevane  Scripting is only available in 4K and Pro versions.
 
 Just like several other options and extras ;-) create external script/app then What I meant was that not everybody is able to employ a script when their vMix edition doesn't support scripting. I think negative delay times for the OnCompletion trigger would be a great feature to have! By the way: negative delays are already a 'thing' in vMix (in the audio settings for an input). So to request it as a feature for an OnCompletion trigger does not seem far fetched. Here's hoping ;-) | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: Registered
 Joined: 12/27/2012(UTC) Posts: 5,446  Location: BelgiumThanks: 311 timesWas thanked: 1006 time(s) in 830 post(s)
 
 | 
            
		      
                Originally Posted by: renevane  What I meant was that not everybody is able to employ a script when their vMix edition doesn't support scripting.
 
 Not true as  mentioned before you can create a script externally (as was done - and still done - before vMix scripting was introduced ) Then you have no problem in which license it is used  Can't compare audio and video | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Newbie
 Groups: Registered
 Joined: 12/16/2018(UTC) Posts: 6  Thanks: 1 times
 | 
            
		      
                Originally Posted by: doggy  Originally Posted by: renevane  What I meant was that not everybody is able to employ a script when their vMix edition doesn't support scripting.
 
 Not true as  mentioned before you can create a script externally (as was done - and still done - before vMix scripting was introduced ) Then you have no problem in which license it is used  Can't compare audio and video Understand, but being able to do scripting outside vMix doesn't invalidate a feature request. Not everybody is a programmer. Also, it would be a lot less complicated being able to do it in vMix. Anyway, I'm not here to start a long discussion. Just +1'ing the original suggestion. ;-) | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Newbie
 Groups: Registered
 Joined: 12/26/2020(UTC) Posts: 7  |  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Advanced Member
 Groups: Registered
 Joined: 6/5/2020(UTC) Posts: 91  Location: JakartaThanks: 17 timesWas thanked: 5 time(s) in 3 post(s)
 
 |  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Rank: Advanced Member
 Groups: Registered
 Joined: 7/23/2013(UTC) Posts: 127  Location: NorthThanks: 12 timesWas thanked: 13 time(s) in 11 post(s)
 
 | 
            
		      
                +1
 This would be definitely a worthwhile improvement for smoother transitions from video inserts back to live.
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Rank: Advanced Member
 Groups: Registered
 Joined: 1/23/2022(UTC) Posts: 130  Location: Milton KeynesThanks: 14 timesWas thanked: 14 time(s) in 14 post(s)
 
 |  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
                           
	vMix Forums
	 » 
	General
	 » 
	Feature Requests
	 » 
	Negative Delay Time in OnCompletion Triggers
	 
	
    
        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.
	
	
    
    
        Important Information:
        The vMix Forums uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close