vMix Forums
	 » 
	General
	 » 
	Feature Requests
	 » 
	Expose Replay tags and position via API
	 
	
        
            
            
    
        
	Rank: Advanced Member
  Groups: Registered
 Joined: 8/21/2017(UTC) Posts: 319 Location: Uk
  Thanks: 26 times Was thanked: 34 time(s) in 30 post(s)
  
	 
	
     | 
    
        
            
		      
                If possible show replay tags and position in the API. It would be good on a simple level to show replay tags as a title.
  If we had positions we could work out replays we need for a highlight reel and have a script, after looking at a data sheet, copy them to a new event then when playing out we can also display the tags as titles, or reference what title to display when that tag or replay number is in the output/selected, again according to a production data sheet.
  Additionally we can use certain tags like 'midrollONE' on perhaps just a nice broll clip, and using a script to watch, display midroll titles and some background music inbetween rounds/segments to make more of a show and break up just playing out a list of replays with no context.
  Also we could display production notes on a commentary monitor that are saved in the data sheet and display when the related titles are playing so they know info about the current replay playing and next one about to play 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Rank: Advanced Member
  Groups: Registered
 Joined: 12/27/2012(UTC) Posts: 5,451  Location: Belgium Thanks: 311 times Was thanked: 1008 time(s) in 830 post(s)
  
	 
	
     | 
    
        
            
		      
                Originally Posted by: Barney Box Lane  If possible show replay tags and position in the API. It would be good on a simple level to show replay tags as a title.
  If we had positions we could work out replays we need for a highlight reel and have a script, after looking at a data sheet, copy them to a new event then when playing out we can also display the tags as titles, or reference what title to display when that tag or replay number is in the output/selected, again according to a production data sheet.
  Additionally we can use certain tags like 'midrollONE' on perhaps just a nice broll clip, and using a script to watch, display midroll titles and some background music inbetween rounds/segments to make more of a show and break up just playing out a list of replays with no context.
  Also we could display production notes on a commentary monitor that are saved in the data sheet and display when the related titles are playing so they know info about the current replay playing and next one about to play  Check the "replay2.xml" file in the replay folder for this info  One caveat (Bug ?) though, new assigned/edited tags are only saved after a stop/start replay recording  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Rank: Advanced Member
  Groups: Registered
 Joined: 8/21/2017(UTC) Posts: 319 Location: Uk
  Thanks: 26 times Was thanked: 34 time(s) in 30 post(s)
  
	 
	
     | 
    
        
            
		      
                That's not as fun but that might be a way to do it - the ultimate goal is to get full data analysis and show compiled automatically which I don't think is too over the top, and frees you up to add even more production value to that process, thank you )
  Just to clarify do you mean just stop recording for a moment to allow it to offload all that data to replay2.xml then hopefully carry out the process of populating the show? Also I think a script would still get stuck on finding the position of everything required in the list and moving it to say event 10 or do you think that could be done within the xml while recording is off?
  example: data sheet says we need replay 014, 017, 113, (or tag names) and the script finds them amongst all the replays and copies to event10
  also would the API still need to expose the replay tag selected/currently in the output to accurately display the current tag title when playing out? 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Rank: Advanced Member
  Groups: Registered
 Joined: 2/23/2019(UTC) Posts: 135  Thanks: 16 times Was thanked: 29 time(s) in 26 post(s)
  
	 
	
     | 
    
        
            
		      
                I think there may be an existing FR but it would definitely be useful to have more access to the replay data.
  My main use would be onscreen graphics for replay events but automating selections for highlights is a good shout.
  For getting data on the replay that is currently playing, it would be useful if data was added to the existing replay node for the input in the API. It currently has which event list and camera are selected, and playback speed. I think the data that would need to be added is the description for each camera for the current event, time remaining for this clip and total time remaining for the selection playing out. 
  I think having a separate call that returns live replay event lists (i.e. similar to what is in Replay2.xml) would be good, rather than bloating the existing API call with a lot of data.
  Hopefully adding fields to one node of the API xml can be done without a full release.  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Rank: Advanced Member
  Groups: Registered
 Joined: 12/27/2012(UTC) Posts: 5,451  Location: Belgium Thanks: 311 times Was thanked: 1008 time(s) in 830 post(s)
  
	 
	
     | 
    
        
            
		      
                Had a go at this  while ago ( 4K license - one angle) to automatically display the tag(s) and eventname in a title of the events being replayed Seems to work EDIT: just found out the tags are also updated in the xml file when opening the replay configuration window and close it instead  stop/start the recording  Code:
'Display Tag(s) of instant replay(s) playing
'ReplayStartStopRecording  to update XML after adding tags (vMix BUG)!!
'run script and do a replay , tag will be displayed in title
'made for 4K license ( one replay )
' Setup : Edit accordingly =========================
dim RFolder as string = "E:\Replay"           ' Instant Replay Folder 
dim TagTitle as string = "Blue.gtzip"          ' Title name or Input number to display Tag on
dim TagText as string = "Headline.Text"       ' Title TextBlock to hold the Tag
dim EvenText as string = "Description.Text"   ' Title TextBlock to hold the Event name
' ==================================================
dim x as new system.xml.xmldocument
Dim document As XmlDocument = New XmlDocument()
do while true 
    x.loadxml(API.XML())
    'get the events number (to select list )
    dim events as string = x.SelectSingleNode("//input[@type='Replay']//replay/@events").value
    'get the channelmode used 
    dim mode AS string = x.SelectSingleNode("//input[@type='Replay']//replay/@channelMode").value
    dim Rinput as string
    if mode = "B"  'which channel is one using 
       Rinput = "ReplayPreview"
    else
       Rinput = "Replay"
    end if
   
    document.Load(RFolder & "\replay2.xml")  'get XML for retrieving tags
    Dim nodeList As XmlNodeList = document.SelectNodes("//list[" & events & "]/event")
    Dim count As Integer = nodeList.Count
    dim z as integer
    do while true
        x.loadxml(API.XML())
        dim state as string = x.SelectSingleNode("//input[@type='" & Rinput & "']/@state").value  'get the state of replay (Running or Paused), mode dependent
        if state = "Running"
            '********************** Optional  Comment out if not needed *************
            dim eventname as string =document.SelectSingleNode("//list[" & events & "]/@name").innertext
            if eventname = "" 
                eventname= events 'if not name show events number
            end if
            ' Display the EVENTNAME
            API.Function("SetText",Input:=TagTitle,SelectedName:=EvenText,Value:=eventname ) 
            '***********************************
            dim pos as string = x.SelectSingleNode("//input[@type='" & Rinput & "']/@position").value   
            for z  = 1 to count
                dim ins as string = (document.SelectSingleNode("//list[" & events & "]/event["& z & "]/inPoint").innertext)\10000 
                dim outs as string = (document.SelectSingleNode("//list[" & events & "]/event["& z & "]/outPoint").innertext)\10000 
                if (pos > ins) and (pos < outs)
                    dim tag as string = document.SelectSingleNode("//list[" & events & "]/event["& z & "]/description[1]").innertext  
                    API.Function("SetText",Input:=TagTitle,SelectedName:=TagText,Value:=tag )  'display the TAG
                end if 
            next
        else
            API.Function("SetText",Input:=TagTitle,SelectedName:=TagText,Value:=" stopped " )  'clear/done title
            Exit do 
        end if
        sleep(200)
    loop
    sleep(500)
loop 
  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
                           
	vMix Forums
	 » 
	General
	 » 
	Feature Requests
	 » 
	Expose Replay tags and position via API
	 
	
    
        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