Live Play
On a Summit Client you now have the ability to play a currently recording asset in Live Mode. This means that the player will play within a 0.5 second of the record position.
Note: the Summit must have an AppCenter Pro license for this feature to work.
Note: playing live only works if the asset is currently being recorded on a channel that is on the same Summit Client as the player channel.
Check if a channel is in Live Mode:
You can check if a channel is in Live Mode by querying a ChanStatus object's "CountdownStr" property (see Get channel status properties). Normally, this property would return a timecode string representing the amount of play time left on the timeline. In Live Mode this property will return the string "Live".
string countdown = (string) ichanStatus.GetStatus("CountdownStr");
Setup a channel for Live Mode:
Full sample code can be downloaded from the C# Script Samples page. Look for the sample named LivePlay.cs.
Below is a code snippet showing how to setup Live Mode on a player.
[C#]
// setup defaults
string volume = "V:";
string bin = "default";
string clip = "Clip";
string clipUri = String.Format("edl/cmf//local/{0}/{1}/{2}", volume, bin, clip);
// after starting a recording, you need to wait until the clip is
// under construction. if you don't wait and you tell the player to
// go into live mode, the player will cue to the start of the clip
// instead and you will see this message in the log:
// "Can't go live: not under construction. Cueing to 0."
// wait until the clip is under construction...
while ( true != (bool) mediaMgr.GetProperty(clipUri, "underConstruction") )
{
Thread.Sleep(50);
}
// load the recording clip onto the player
player.Load(clipUri);
// Cue to the live position and start playing. in this case the command
// name "cue" is a bit of a misnomer since this command does more than
// just cueing here. it cues to the latest updated play position which
// will be within a 0.5 second of the record position and starts playing.
//
// note: playing live only works if the asset is currently being recorded
// on a channel that is on the same Summit as the player channel.
player.Cue("live");
