endpoint to retrieve angle index and name

stp_productions

Active member
When using the replay feature of a Tricaster you may have several ISO recordings that present as an Angle for a given clip in one of your DDRs. I would like to be able to programmatically find out which angle is currently set for a given clip. For example I can make a request to ddr_playlist and get values like this:

<clip alias="Mix 1" frame_rate="59.94006" file_length="10122.8127" filename="D:\Sessions\Rollins Sports\Clips\Capture\1 - ERIC (3).mov" audio_level="0" in_point="9745.085350300003" out_point="9954.461183700005" clip_length="209.37583340000128" should_transcode="false" is_transcoding="false"/>

This tells me the actual clip or angle in use but without reference to the others. Angle 1 - Eric is in use. Which may be angle index 1.

What i would expect on the ddr_timecode endpoint is the angle index as a value to go along with the other provided values, here is an example:

<ddr2 clip_seconds_elapsed="-0.016684" clip_seconds_remaining="209.392517" clip_embedded_timecode="74190.5709833" clip_in="9745.08535" clip_out="9954.461184" file_duration="10122.8127" play_speed="1" clip_framerate="59.94006"playlist_seconds_elapsed="-0.016683" playlist_seconds_remaining="1256.271683" preset_index="0" clip_index="0" num_clips="6"/>


I can see which preset of the DDR that I am in, 0. There is then a clip_index so I can tell which clip is selected in the playlist, i think there should be an angle_index as well. So I know that I am using a given angle. This is so I can display correctly the angle selected and its name on my Skaarhoj device or any 3rd party system or web page.

Thanks
 
This is a bit trickier than in 3Play. In 3Play we are constantly recording all angles, so pointing to the right angle is simple, especially you have only 8 all together, but they are recorded in sync all the time.

In the TriCaster, as nearly anything hitting the input module can be sent to ISO recording and you can turn on and off which one is being recorded (even on the fly). You can have up to 44 inputs, additionally the DDRs might have different clips added, so the clip_index you see as the TCP request return is just showing you that this clip is the first in that DDR preset (or playlist - preset_index="0"), but if you add a any video there just by accident (to be the first entry), it will change the clip_index for everything in the list (literally shifting all by 1).

Long story short, not sure if there will be any change in the TCP API, and even if there will be this is messy at best. The best I can do is to ask for this feature, somewhere along the lines of adding one more element to the XML return, something like "clip_isorecroded="true" or "false" and clip_iso_id="0"-"44" but this is going to be mistleading at best, as if it's not isorecorded you will have two tags in the line with absolutely no function.
 
This is a bit trickier than in 3Play. In 3Play we are constantly recording all angles, so pointing to the right angle is simple, especially you have only 8 all together, but they are recorded in sync all the time.

In the TriCaster, as nearly anything hitting the input module can be sent to ISO recording and you can turn on and off which one is being recorded (even on the fly). You can have up to 44 inputs, additionally the DDRs might have different clips added, so the clip_index you see as the TCP request return is just showing you that this clip is the first in that DDR preset (or playlist - preset_index="0"), but if you add a any video there just by accident (to be the first entry), it will change the clip_index for everything in the list (literally shifting all by 1).

Long story short, not sure if there will be any change in the TCP API, and even if there will be this is messy at best. The best I can do is to ask for this feature, somewhere along the lines of adding one more element to the XML return, something like "clip_isorecroded="true" or "false" and clip_iso_id="0"-"44" but this is going to be mistleading at best, as if it's not isorecorded you will have two tags in the line with absolutely no function.
Thank you for the reply, I understand the clip index part as if you have 3 clips in the DDR and inserting a random clip would +1 that. But depending on which clip you have selected it could have an angle index and a way to get what angles are available. I thought the tricky part had already been worked out because this works very well in the UI.

I can load up any ISO recorded clip even in a new session if I recall, and when I right click on that clip there is an Angles menu along with the available angles to switch to. (Attached Image) it also shows a check mark next to the currently selected angle. In theory I am asking for this logic to be exposed, potentially via a new end point which is to say that if the clip I have selected in DDR2 in the current clip index of 3, I can poll an end point to find out that the selected clip has x angles and the angle 3 with xyz name is currently selected. If I move to the next clip which is a standard imported video with one angle the same end point would indicate only one angle or return null or something to this effect. Right now if I click on a clip like that the Angle option in the right click disappears.

Long story short I was hoping that the hard work of tracking things is already done because it seems there is a method in use in order to provide that information to the menu system no?

Thanks!
 
So sorry for dropping the ball on this (I was on Holiday back at that time, then IBC and the Vizion launch happened).

So, it's interesting how we identify these clips, if you look into the recorded clip folder you will find a "*.Angles" file, and it is a dead simple XML:
<angles>
<angle index="0" filename="D:\Sessions\2025-01-08\Clips\Capture\MIX 1.mov" title="MIX 1" />
<angle index="8" filename="G:\Sessions\2025-01-08\Clips\Capture\INPUT 1.mov" title="INPUT 1" />
<angle index="9" filename="L:\Sessions\2025-01-08\Clips\Capture\INPUT 2.mov" title="INPUT 2" />
<angle index="10" filename="D:\Sessions\2025-01-08\Clips\Capture\INPUT 3.mov" title="INPUT 3" />
</angles>

I wonder, when this file is available next to the recorded clip, the "Angle" menu option is quite literally just reading the XML "titles" and when you click on them, it just changes the clip the system referring to :D

This will make this feature request lot harder, but let's see what we can do here.
 
So sorry for dropping the ball on this (I was on Holiday back at that time, then IBC and the Vizion launch happened).

So, it's interesting how we identify these clips, if you look into the recorded clip folder you will find a "*.Angles" file, and it is a dead simple XML:
<angles>
<angle index="0" filename="D:\Sessions\2025-01-08\Clips\Capture\MIX 1.mov" title="MIX 1" />
<angle index="8" filename="G:\Sessions\2025-01-08\Clips\Capture\INPUT 1.mov" title="INPUT 1" />
<angle index="9" filename="L:\Sessions\2025-01-08\Clips\Capture\INPUT 2.mov" title="INPUT 2" />
<angle index="10" filename="D:\Sessions\2025-01-08\Clips\Capture\INPUT 3.mov" title="INPUT 3" />
</angles>

I wonder, when this file is available next to the recorded clip, the "Angle" menu option is quite literally just reading the XML "titles" and when you click on them, it just changes the clip the system referring to :D

This will make this feature request lot harder, but let's see what we can do here.
Thank you for the reply, right now we can do angle index + and minus so an end point that exposes the values as they are above would work. I think the only added new feature would be to return the currently selected one?
 
Back
Top