/// <summary>
        /// Set the Active Transition popup in Wirecast
        /// A value of 0 represents the left most popup in the Wirecast UI
        /// </summary>
        public bool SetActiveTransitionIndex(int index)
        {
            bool isIndexValid = isTransitionIndexValid(index);

            if (isIndexValid)
            {
                Late.Set(_Document, "ActiveTransitionIndex", index);
            }
            return(isIndexValid);
        }
        /// <summary>
        /// Sets the active shot of the currently selected layer
        /// The Active shot is equivilent to the shot the user has clicked, so this method is the same as when a user clicked the shot
        /// 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 bool SetActiveShot(int shotID)
        {
            bool   isShotValid = false;
            object shot        = GetShotWithID(shotID);

            if (shot != null)
            {
                Late.Set(_SelectedLayer, "ActiveShotID", shotID);
            }
            return(isShotValid);
        }
        public bool SetActiveShot(string name)
        {
            bool   isShotValid = false;
            object shot        = GetShotWithName(name);

            if (shot != null)
            {
                int shotID = GetShotIDByName(name);
                Late.Set(_SelectedLayer, "ActiveShotID", shotID);
            }
            return(isShotValid);
        }
        /// <summary>
        /// Sets the Transition speed of the durrent document
        /// Returns true if the speed is valie
        /// Returns false if the speed is invalid
        ///
        /// For a list of valid transition speeds, see GetValidTransitionSpeeds()
        /// </summary>
        public bool SetTransitionSpeed(string speed)
        {
            string lowerSpeed   = speed.ToLower();
            bool   isValidSpeed = isSpeedValid(lowerSpeed);

            if (isValidSpeed)
            {
                Late.Set(_Document, "TransitionSpeed", lowerSpeed);
            }

            return(isValidSpeed);
        }
        /// <summary>
        /// Returns true if the name was set successfully
        /// Returns false if there is no shot called "oldName"
        /// </summary>
        public bool SetShotNameWithName(string oldName, string newName)
        {
            bool   isShotValid = false;
            object shot        = GetShotWithName(oldName);

            if (shot != null)
            {
                Late.Set(shot, "Name", newName);
                isShotValid = true;
            }
            return(isShotValid);
        }
        /// <summary>
        /// Toggles the selected layer's visibility
        /// </summary>
        public void ToggleLayerVisibility()
        {
            bool visible = IsLayerVisible();

            Late.Set(_SelectedLayer, "Visible", !visible);
        }
 public void SetAudioMutedToSpeakers(bool muted)
 {
     Late.Set(_Document, "AudioMutedToSpeaker", muted);
 }
 public void SetAutoLive(bool on)
 {
     Late.Set(_Document, "AutoLive", on);
 }