/// <summary>
        /// Tells the input Playlist Shot to transition to the previous shot
        /// </summary>
        public void PreviousShotByShotID(int shotID)
        {
            object shot = GetShotWithID(shotID);

            Late.Invoke(shot, "PreviousShot");
        }
 public void StartBroadcast()
 {
     Late.Invoke(_Document, "Broadcast", "start");
 }
        /// <summary>
        /// Returns the shot info of the shot currently in preview, of the currently selected layer
        /// The shot in preview is equivilent to the active shot
        /// </summary>
        public int GetPreviewShotID()
        {
            int shotID = (int)Late.Invoke(_SelectedLayer, "PreviewShotID");

            return(shotID);
        }
        /// <summary>
        /// Tells the input Playlist Shot to transition to the next shot
        /// </summary>
        public void NextShotByShotID(int shotID)
        {
            object shot = GetShotWithID(shotID);

            Late.Invoke(shot, "NextShot");
        }
 /// <summary>
 /// Makes the active shot of the selected layer go live
 /// </summary>
 public void Go()
 {
     Late.Invoke(_SelectedLayer, "Go");
 }
        /// <summary>
        /// Toggles the selected layer's visibility
        /// </summary>
        public void ToggleLayerVisibility()
        {
            bool visible = IsLayerVisible();

            Late.Set(_SelectedLayer, "Visible", !visible);
        }
        /// <summary>
        /// Returns the ShotID for the index within the selected layer
        /// The index is Zero based and from left to right in the layer
        /// </summary>
        public int GetShotIDByIndex(int index)
        {
            int shotID = (int)Late.Invoke(_SelectedLayer, "ShotIDByIndex", index);

            return(shotID);
        }
        /// <summary>
        /// Creates a new shot with the asset located in the given path and adds it to the currently selected layer
        /// </summary>
        public int AddShotWithMedia(string path)
        {
            int shotID = (int)Late.Invoke(_SelectedLayer, "AddShotWithMedia", path);

            return(shotID);
        }
        /// <summary>
        /// Returns the total umber of shots in the selected layer
        /// To change which layer to count the shots in, use switch layers
        /// To get the total number of shots in the document, use GetTotalShotCount
        /// </summary>
        public int GetShotCount()
        {
            int shotCount = (int)Late.Invoke(_SelectedLayer, "ShotCount");

            return(shotCount);
        }
        /// <summary>
        /// Returns the ShotID for associated with the Shot name
        /// The name is the text under the shot in the Shot bin
        /// </summary>
        public int GetShotIDByName(string name)
        {
            int shotID = (int)Late.Invoke(_SelectedLayer, "ShotIDByName", name, 2);

            return(shotID);
        }
 public void StopRecording()
 {
     Late.Invoke(_Document, "ArchiveToDisk", "stop");
 }
        /// <summary>
        /// Returns whether or not the current document is recording to disk
        /// </summary>
        public bool IsRecording()
        {
            int isRecording = (int)Late.Invoke(_Document, "IsArchivingToDisk");

            return(isRecording == 1);
        }
 public void StopBroadcast()
 {
     Late.Invoke(_Document, "Broadcast", "stop");
 }
 /// <summary>
 /// Takes a snapshot still image of the current output and saves it as a JPEG to the given path
 /// </summary>
 public void SaveSnapshot(string path)
 {
     Late.Invoke(_Document, "SaveSnapshot", path);
 }
 /// <summary>
 /// Returns the Shot COM object for the shotID
 /// Usually would not need to call this method directly
 ///
 /// Returns null if there are no shots assoicated witht he shotID
 /// </summary>
 public object GetShotWithID(int shotID)
 {
     return(Late.Invoke(_Document, "ShotByShotID", shotID));
 }
 /// <summary>
 /// Remove the media asset at the given path from Wirecast
 /// The path is not the shot name, but the actual media location on disk
 /// </summary>
 public void RemoveMedia(string path)
 {
     Late.Invoke(_Document, "RemoveMedia", path);
 }
        /// <summary>
        /// Returns the currently select Transition speed name
        ///
        /// For a list of valid transition speeds, see GetValidTransitionSpeeds()
        /// </summary>
        public string GetTransitionSpeed()
        {
            string transSpeed = (string)Late.Get(_Document, "TransitionSpeed");

            return(transSpeed);
        }
 /// <summary>
 /// Removes the shot with the given ID from the currently selected layer
 /// Does nothing if the shot ID is invalid or not associated with any shots in the currently selected layer
 /// </summary>
 public void RemoveShotWithID(int shotID)
 {
     Late.Invoke(_SelectedLayer, "RemoveShotByID", shotID);
 }
        /// <summary>
        /// Returns the current sate of AutoLive in the selected document
        /// </summary>
        public bool IsAutoLiveOn()
        {
            int autoLiveOn = (int)Late.Get(_Document, "AutoLive");

            return(autoLiveOn == 1);
        }
        /// <summary>
        /// Returns true if the currently selected layer is visible, false otherwise
        /// </summary>
        public bool IsLayerVisible()
        {
            int visible = (int)Late.Get(_SelectedLayer, "Visible");

            return(visible == 1);
        }
 public void SetAutoLive(bool on)
 {
     Late.Set(_Document, "AutoLive", on);
 }
        /// <summary>
        /// Returns the shot ID of the active shot, of the currently selected layer
        /// The Active shot is equivilent to the shot the user has clicked
        /// It doesn't mean the shot that is currently live or in preview, though it is possible the active shot is live or in preview
        /// </summary>
        public int GetActiveShotID()
        {
            int shotID = (int)Late.Get(_SelectedLayer, "ActiveShotID");

            return(shotID);
        }
        /// <summary>
        /// Returns the index of the currently active Transition popup
        /// A value of 0 represents the left most popup in the Wirecast UI
        /// </summary>
        public int GetActiveTransitionIndex()
        {
            int activeTransIndex = (int)Late.Get(_Document, "ActiveTransitionIndex");

            return(activeTransIndex);
        }
        /// <summary>
        /// Returns the shot info of the shot currently live, in the currently selected layer
        /// </summary>
        public int GetLiveShotID()
        {
            int shotID = (int)Late.Invoke(_SelectedLayer, "LiveShotID");

            return(shotID);
        }
        /// <summary>
        /// Returns true if the Audio is muted tot he speakers
        /// </summary>
        public bool IsAudioMutedToSpeakers()
        {
            int audioMuted = (int)Late.Get(_Document, "AudioMutedToSpeaker");

            return(audioMuted == 1);
        }
        public void NextShotByShotName(string name)
        {
            object shot = GetShotWithName(name);

            Late.Invoke(shot, "NextShot");
        }
 public void SetAudioMutedToSpeakers(bool muted)
 {
     Late.Set(_Document, "AudioMutedToSpeaker", muted);
 }
        public void PreviousShotByShotName(string name)
        {
            object shot = GetShotWithName(name);

            Late.Invoke(shot, "PreviousShot");
        }
        /// <summary>
        /// Return whether or not the current document is broadcasting a stream
        /// </summary>
        public bool IsBroadcasting()
        {
            int isBroadcasting = (int)Late.Invoke(_Document, "IsBroadcasting");

            return(isBroadcasting == 1);
        }