<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: proworkspace.proto

namespace Rv\Data;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;

/**
 * Generated from protobuf message <code>rv.data.ProPresenterWorkspace</code>
 */
class ProPresenterWorkspace extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>repeated .rv.data.ProPresenterScreen pro_screens = 1;</code>
     */
    private $pro_screens;
    /**
     * Generated from protobuf field <code>repeated .rv.data.ProAudienceLook audience_looks = 2;</code>
     */
    private $audience_looks;
    /**
     * Generated from protobuf field <code>.rv.data.ProAudienceLook live_audience_look = 3;</code>
     */
    protected $live_audience_look = null;
    /**
     * Generated from protobuf field <code>repeated .rv.data.ProMask masks = 4;</code>
     */
    private $masks;
    /**
     * Generated from protobuf field <code>repeated .rv.data.VideoInput videoInputs = 5;</code>
     */
    private $videoInputs;
    /**
     * Generated from protobuf field <code>repeated .rv.data.Stage.ScreenAssignment stage_layout_mappings = 6;</code>
     */
    private $stage_layout_mappings;
    /**
     * Generated from protobuf field <code>.rv.data.Audio.SettingsDocument audio_settings = 7;</code>
     */
    protected $audio_settings = null;
    /**
     * Generated from protobuf field <code>string selected_library_name = 8;</code>
     */
    protected $selected_library_name = '';
    /**
     * Generated from protobuf field <code>.rv.data.Recording.SettingsDocument record_settings = 9;</code>
     */
    protected $record_settings = null;
    /**
     * Generated from protobuf field <code>.rv.data.DigitalAudio.Setup digital_audio_setup = 10;</code>
     */
    protected $digital_audio_setup = null;
    /**
     * Generated from protobuf field <code>repeated .rv.data.AudioInput audio_inputs = 11;</code>
     */
    private $audio_inputs;
    /**
     * Generated from protobuf field <code>double audio_input_transition_time = 12;</code>
     */
    protected $audio_input_transition_time = 0.0;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type array<\Rv\Data\ProPresenterScreen>|\Google\Protobuf\Internal\RepeatedField $pro_screens
     *     @type array<\Rv\Data\ProAudienceLook>|\Google\Protobuf\Internal\RepeatedField $audience_looks
     *     @type \Rv\Data\ProAudienceLook $live_audience_look
     *     @type array<\Rv\Data\ProMask>|\Google\Protobuf\Internal\RepeatedField $masks
     *     @type array<\Rv\Data\VideoInput>|\Google\Protobuf\Internal\RepeatedField $videoInputs
     *     @type array<\Rv\Data\Stage\ScreenAssignment>|\Google\Protobuf\Internal\RepeatedField $stage_layout_mappings
     *     @type \Rv\Data\Audio\SettingsDocument $audio_settings
     *     @type string $selected_library_name
     *     @type \Rv\Data\Recording\SettingsDocument $record_settings
     *     @type \Rv\Data\DigitalAudio\Setup $digital_audio_setup
     *     @type array<\Rv\Data\AudioInput>|\Google\Protobuf\Internal\RepeatedField $audio_inputs
     *     @type float $audio_input_transition_time
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Proworkspace::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.ProPresenterScreen pro_screens = 1;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getProScreens()
    {
        return $this->pro_screens;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.ProPresenterScreen pro_screens = 1;</code>
     * @param array<\Rv\Data\ProPresenterScreen>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setProScreens($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Rv\Data\ProPresenterScreen::class);
        $this->pro_screens = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.ProAudienceLook audience_looks = 2;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getAudienceLooks()
    {
        return $this->audience_looks;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.ProAudienceLook audience_looks = 2;</code>
     * @param array<\Rv\Data\ProAudienceLook>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setAudienceLooks($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Rv\Data\ProAudienceLook::class);
        $this->audience_looks = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.ProAudienceLook live_audience_look = 3;</code>
     * @return \Rv\Data\ProAudienceLook|null
     */
    public function getLiveAudienceLook()
    {
        return $this->live_audience_look;
    }

    public function hasLiveAudienceLook()
    {
        return isset($this->live_audience_look);
    }

    public function clearLiveAudienceLook()
    {
        unset($this->live_audience_look);
    }

    /**
     * Generated from protobuf field <code>.rv.data.ProAudienceLook live_audience_look = 3;</code>
     * @param \Rv\Data\ProAudienceLook $var
     * @return $this
     */
    public function setLiveAudienceLook($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\ProAudienceLook::class);
        $this->live_audience_look = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.ProMask masks = 4;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getMasks()
    {
        return $this->masks;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.ProMask masks = 4;</code>
     * @param array<\Rv\Data\ProMask>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setMasks($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Rv\Data\ProMask::class);
        $this->masks = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.VideoInput videoInputs = 5;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getVideoInputs()
    {
        return $this->videoInputs;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.VideoInput videoInputs = 5;</code>
     * @param array<\Rv\Data\VideoInput>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setVideoInputs($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Rv\Data\VideoInput::class);
        $this->videoInputs = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.Stage.ScreenAssignment stage_layout_mappings = 6;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getStageLayoutMappings()
    {
        return $this->stage_layout_mappings;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.Stage.ScreenAssignment stage_layout_mappings = 6;</code>
     * @param array<\Rv\Data\Stage\ScreenAssignment>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setStageLayoutMappings($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Rv\Data\Stage\ScreenAssignment::class);
        $this->stage_layout_mappings = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.Audio.SettingsDocument audio_settings = 7;</code>
     * @return \Rv\Data\Audio\SettingsDocument|null
     */
    public function getAudioSettings()
    {
        return $this->audio_settings;
    }

    public function hasAudioSettings()
    {
        return isset($this->audio_settings);
    }

    public function clearAudioSettings()
    {
        unset($this->audio_settings);
    }

    /**
     * Generated from protobuf field <code>.rv.data.Audio.SettingsDocument audio_settings = 7;</code>
     * @param \Rv\Data\Audio\SettingsDocument $var
     * @return $this
     */
    public function setAudioSettings($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\Audio\SettingsDocument::class);
        $this->audio_settings = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string selected_library_name = 8;</code>
     * @return string
     */
    public function getSelectedLibraryName()
    {
        return $this->selected_library_name;
    }

    /**
     * Generated from protobuf field <code>string selected_library_name = 8;</code>
     * @param string $var
     * @return $this
     */
    public function setSelectedLibraryName($var)
    {
        GPBUtil::checkString($var, True);
        $this->selected_library_name = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.Recording.SettingsDocument record_settings = 9;</code>
     * @return \Rv\Data\Recording\SettingsDocument|null
     */
    public function getRecordSettings()
    {
        return $this->record_settings;
    }

    public function hasRecordSettings()
    {
        return isset($this->record_settings);
    }

    public function clearRecordSettings()
    {
        unset($this->record_settings);
    }

    /**
     * Generated from protobuf field <code>.rv.data.Recording.SettingsDocument record_settings = 9;</code>
     * @param \Rv\Data\Recording\SettingsDocument $var
     * @return $this
     */
    public function setRecordSettings($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\Recording\SettingsDocument::class);
        $this->record_settings = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.DigitalAudio.Setup digital_audio_setup = 10;</code>
     * @return \Rv\Data\DigitalAudio\Setup|null
     */
    public function getDigitalAudioSetup()
    {
        return $this->digital_audio_setup;
    }

    public function hasDigitalAudioSetup()
    {
        return isset($this->digital_audio_setup);
    }

    public function clearDigitalAudioSetup()
    {
        unset($this->digital_audio_setup);
    }

    /**
     * Generated from protobuf field <code>.rv.data.DigitalAudio.Setup digital_audio_setup = 10;</code>
     * @param \Rv\Data\DigitalAudio\Setup $var
     * @return $this
     */
    public function setDigitalAudioSetup($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\DigitalAudio\Setup::class);
        $this->digital_audio_setup = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.AudioInput audio_inputs = 11;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getAudioInputs()
    {
        return $this->audio_inputs;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.AudioInput audio_inputs = 11;</code>
     * @param array<\Rv\Data\AudioInput>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setAudioInputs($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Rv\Data\AudioInput::class);
        $this->audio_inputs = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>double audio_input_transition_time = 12;</code>
     * @return float
     */
    public function getAudioInputTransitionTime()
    {
        return $this->audio_input_transition_time;
    }

    /**
     * Generated from protobuf field <code>double audio_input_transition_time = 12;</code>
     * @param float $var
     * @return $this
     */
    public function setAudioInputTransitionTime($var)
    {
        GPBUtil::checkDouble($var);
        $this->audio_input_transition_time = $var;

        return $this;
    }

}

