public void Prepare(int slideIndex) { if (mainPlayerController == null) { return; } Debug.Log("Prepping talk"); mainPlayer = mainPlayerController.vPlayer; lookaheadPlayer = lookaheadPlayerController.vPlayer; mainPlayerController.currUrl = talkUrl; currSlide = slideIndex; var currSlideStart = GetSlideStart(); mainPlayerController.LoadAndSeek(currSlideStart); if (!isOwner) { lookaheadPlayer.Stop(); lookaheadPlayerController.enabled = false; return; } lookaheadPlayerController.enabled = true; lookaheadPlayerController.currUrl = talkUrl; lookaheadPlayerController.LoadAndSeek(GetNextSlideEnd(currSlideStart)); }
public void Init() { // Init Check if (initComplete) { return; } // Variables baseVRCVideoPlayer = (BaseVRCVideoPlayer)GetComponent(typeof(BaseVRCVideoPlayer)); // GetBaseVRCVideoPlayer().Loop = false; // TODO: Add checks to ensure VideoURL is empty and AutoPlay is false // This is currently impossible because casting from BaseVRCVideoPlayer to VRCAVProVideoPlayer is not supported /* * VRCAVProVideoPlayer vrcAvProVideoPlayer = (VRCAVProVideoPlayer)GetBaseVRCVideoPlayer(); * if (!string.IsNullOrEmpty(vrcAvProVideoPlayer.VideoURL.Get())) * { Debug.LogError("Error: URL field must be empty on all VRCAVProVideoPlayer components."); } * if (vrcAvProVideoPlayer.AutoPlay) * { Debug.LogError("Error: AutoPlay must be disabled on all VRCAVProVideoPlayer components."); } */ loaded = false; // Init Finalize initComplete = true; Debug.Log("Completed Init MultiVideoPlayer"); }
void ChangePlayerMode() { if (currentPlayerMode == _localPlayerMode) { return; } _nextPlaylistIndex = -2; _currentPlayer.Stop(); _locallyPaused = _ownerPaused = false; switch (currentPlayerMode) { case PLAYER_MODE_VIDEO: _currentPlayer = unityVideoPlayer; syncModeController.SetVideoVisual(); pauseIcon.SetActive(true); stopIcon.SetActive(false); videoProgressSlider.gameObject.SetActive(true); break; case PLAYER_MODE_STREAM: _currentPlayer = avProVideoPlayer; syncModeController.SetStreamVisual(); pauseIcon.SetActive(false); stopIcon.SetActive(true); videoProgressSlider.gameObject.SetActive(false); break; } UpdateScreenMaterial(SCREEN_MODE_NORMAL); _localPlayerMode = currentPlayerMode; }
public void OnPowerOnLive() { DebugLog($"Received a live player power-on event."); enabled = true; _status = _status & ~_status_off | _status_on | _status_live | _status_stop; _player = _player2; ValidateView(); }
public void OnPowerOnVideo() { DebugLog($"Received a video player power-on event."); enabled = true; _status = _status & ~_status_off | _status_on | _status_video | _status_stop; _player = _player1; ValidateView(); }
public void OnPowerOff() { DebugLog($"Received a power-off event."); enabled = false; _status = _status_off | _status_stop; _player1.Stop(); _player2.Stop(); _addressInput.SetUrl(VRCUrl.Empty); _player = null; _progressDrag = false; ValidateView(); }
private void Start() { unityVideoPlayer.Loop = false; unityVideoPlayer.Stop(); avProVideoPlayer.Loop = false; avProVideoPlayer.Stop(); _currentPlayer = unityVideoPlayer; //_currentPlayer = avProVideoPlayer; _videoRenderTex = (RenderTexture)screenRenderer.sharedMaterial.GetTexture("_EmissionMap"); PlayNextVideoFromPlaylist(); #if !UNITY_EDITOR // Causes null ref exceptions so just exclude it from the editor masterTextField.text = Networking.GetOwner(masterCheckObj).displayName; #endif }
void Start() { avProVideo.Loop = false; avProVideo.Stop(); _currentPlayer = avProVideo; if (Networking.IsOwner(gameObject)) { _syncLocked = defaultLocked; locked = _syncLocked; RequestSerialization(); _PlayVideo(defaultUrl); } }
void ChangePlayerMode() { if (currentPlayerMode == _localPlayerMode) { return; } _nextPlaylistIndex = -1; _currentPlayer.Stop(); _locallyPaused = _ownerPaused = false; Material screenMaterial = screenRenderer.sharedMaterial; switch (currentPlayerMode) { case PLAYER_MODE_VIDEO: _currentPlayer = unityVideoPlayer; screenMaterial.SetTexture("_EmissionMap", _videoRenderTex); screenMaterial.SetInt("_IsAVProInput", 0); syncModeController.SetVideoVisual(); pauseIcon.SetActive(true); stopIcon.SetActive(false); videoProgressSlider.gameObject.SetActive(true); break; case PLAYER_MODE_STREAM: _currentPlayer = avProVideoPlayer; screenMaterial.SetTexture("_EmissionMap", streamRTSource.sharedMaterial.GetTexture("_MainTex")); screenMaterial.SetInt("_IsAVProInput", 1); syncModeController.SetStreamVisual(); pauseIcon.SetActive(false); stopIcon.SetActive(true); videoProgressSlider.gameObject.SetActive(false); break; } _localPlayerMode = currentPlayerMode; }
public void SetVideoInstance(BaseVRCVideoPlayer instance) { videoPlayer = instance; }
public void ExecuteTests() { SetProgramVariable("transformIn", transform); tester.TestAssertion("GetComponent on object strongbox", transformIn.GetComponent <Transform>().position != Vector3.one * 1000f); // Shouldn't throw tester.TestAssertion("GetComponent UdonSharp Type", transformIn.GetComponent <GetComponentTest>() != null); tester.TestAssertion("GetComponent on GameObject", transformIn.gameObject.GetComponent <Transform>() != null); tester.TestAssertion("GetComponent user type on GameObject", transformIn.gameObject.GetComponent <GetComponentTest>() != null); tester.TestAssertion("GetComponent on GameObject 2", GameObject.Find("GetComponents").GetComponent <GetComponentTest>() != null); transforms = new[] { transform, transform }; // Udon StrongBox assignment test transforms[1].GetComponentInChildren <BoxCollider>().enabled = false; transforms[1].GetComponentInChildren <BoxCollider>().enabled = true; tester.TestAssertion("GetComponent<Transform>()", GetComponent <Transform>() != null); tester.TestAssertion("GetComponent(typeof(Transform))", GetComponent(typeof(Transform)) != null); BoxCollider[] colliders = GetComponentsInChildren <BoxCollider>(); tester.TestAssertion("GetComponentsInChildren<BoxCollider>()", colliders.Length == 3); tester.TestAssertion("GetComponentInChildren<NameOf>()", GetComponentInChildren <NameOf>() != null); NameOf[] nameOfs = GetComponentsInChildren <NameOf>(); tester.TestAssertion("GetComponentsInChildren<NameOf>()", nameOfs.Length == 3); tester.TestAssertion("GetComponentsInChildren<MeshRenderer>()", GetComponentsInChildren <MeshRenderer>().Length == 2); #if COMPILER_UDONSHARP UdonSharpBehaviour getBehaviour = (UdonSharpBehaviour)modObject.GetComponent(typeof(UdonBehaviour)); tester.TestAssertion("Get UdonBehaviour typeof(UdonBehaviour)", getBehaviour != null); long typeID = GetUdonTypeID <NameOf>(); tester.TestAssertion("Type ID matches", typeID == getBehaviour.GetUdonTypeID()); #endif tester.TestAssertion("Correct number of UdonBehaviours on gameobject", modObject.GetComponents(typeof(UdonBehaviour)).Length == 4); videoPlayer = (VRCUnityVideoPlayer)GetComponent(typeof(VRCUnityVideoPlayer)); avProVideoPlayer = (VRCAVProVideoPlayer)GetComponent(typeof(VRCAVProVideoPlayer)); baseVideoPlayer = (BaseVRCVideoPlayer)GetComponent(typeof(BaseVRCVideoPlayer)); VRCStation station; station = (VRCStation)GetComponent(typeof(VRCStation)); // Should compile GetComponents <Collider>()[0].enabled = false; GetComponents <Collider>()[0].enabled = true; // U# inheritance tester.TestAssertion("Base type GetComponent", inheritContainer.GetComponents <TestInheritanceClassBase>().Length == 3); tester.TestAssertion("Inherited GetComponent 1", inheritContainer.GetComponents <ClassA>().Length == 1); tester.TestAssertion("Inherited GetComponent 2", inheritContainer.GetComponents <ClassB>().Length == 2); tester.TestAssertion("Inherited GetComponent 3", inheritContainer.GetComponents <ClassC>().Length == 1); tester.TestAssertion("Get UdonBehaviour", GetComponent <UdonBehaviour>()); tester.TestAssertion("Get UdonBehaviours", GetComponents <UdonBehaviour>().Length == 2); tester.TestAssertion("Get UdonBehaviours 2", inheritContainer.GetComponents <UdonBehaviour>().Length == 5); tester.TestAssertion("Get VRC component 1", GetComponent <VRCObjectSync>()); tester.TestAssertion("Get VRC component 2", GetComponent <VRCAvatarPedestal>()); tester.TestAssertion("Get VRC component 3", GetComponent <VRC_AvatarPedestal>()); tester.TestAssertion("Get VRC components 1", GetComponents <VRC_AvatarPedestal>().Length == 1 && GetComponents <VRC_AvatarPedestal>()[0] != null); }
private void Start() { if (settingsProfile != null) { allowSeeking = settingsProfile.allowSeeking; defaultUnlocked = settingsProfile.defaultUnlocked; defaultStream = settingsProfile.defaultStream; controlMode = settingsProfile.controlMode; defaultPlaylistMode = settingsProfile.defaultPlaylistMode; _streamBypassOwner = settingsProfile.streamBypassOwner; logoTexture = settingsProfile.logoTexture; loopTexture = settingsProfile.connectingTexture; audioOnlyTexture = settingsProfile.audioOnlyTexture; errorBlockedTexture = settingsProfile.errorBlockedTexture; videoControlHandler = settingsProfile.videoControlHandler; playlist = settingsProfile.playlist; extraScreenMaterials = settingsProfile.materialUpdateList; extraScreenMaterialProps = settingsProfile.materialTexList; userWhitelist = settingsProfile.userWhitelist; } foreach (string user in userWhitelist) { if (Networking.LocalPlayer.displayName == user) { _isWhitelisted = true; } } unityVideoPlayer.Loop = false; unityVideoPlayer.Stop(); avProVideoPlayer.Loop = false; avProVideoPlayer.Stop(); _currentPlayer = unityVideoPlayer; //_currentPlayer = avProVideoPlayer; _videoRenderTex = (RenderTexture)screenRenderer.sharedMaterial.GetTexture("_EmissionMap"); if (defaultUnlocked && Networking.IsOwner(gameObject)) { _masterOnly = false; _masterOnlyLocal = false; } if (defaultStream && Networking.IsOwner(gameObject)) { currentPlayerMode = PLAYER_MODE_STREAM; ChangePlayerMode(); _nextPlaylistIndex = 0; } SetPlaylistMode(defaultPlaylistMode); UpdateScreenMaterial(SCREEN_MODE_LOGO); PlayNextVideoFromPlaylist(); #if !UNITY_EDITOR // Causes null ref exceptions so just exclude it from the editor masterTextField.text = Networking.GetOwner(masterCheckObj).displayName; #endif }
private void Start() { unityVideo.Loop = false; _currentPlayer = unityVideo; }
public void ExecuteTests() { SetProgramVariable("transformIn", transform); tester.TestAssertion("GetComponent on object strongbox", transformIn.GetComponent <Transform>().position != Vector3.one * 1000f); // Shouldn't throw tester.TestAssertion("GetComponent UdonSharp Type", transformIn.GetComponent <GetComponentTest>() != null); tester.TestAssertion("GetComponent on GameObject", transformIn.gameObject.GetComponent <Transform>() != null); tester.TestAssertion("GetComponent user type on GameObject", transformIn.gameObject.GetComponent <GetComponentTest>() != null); tester.TestAssertion("GetComponent on GameObject 2", GameObject.Find("GetComponents").GetComponent <GetComponentTest>() != null); transforms = new[] { transform, transform }; // Udon StrongBox assignment test transforms[1].GetComponentInChildren <BoxCollider>().enabled = false; transforms[1].GetComponentInChildren <BoxCollider>().enabled = true; tester.TestAssertion("GetComponent<Transform>()", GetComponent <Transform>() != null); tester.TestAssertion("GetComponent(typeof(Transform))", GetComponent(typeof(Transform)) != null); BoxCollider[] colliders = GetComponentsInChildren <BoxCollider>(); tester.TestAssertion("GetComponentsInChildren<BoxCollider>()", colliders.Length == 3); tester.TestAssertion("GetComponentInChildren<NameOf>()", GetComponentInChildren <NameOf>() != null); NameOf[] nameOfs = GetComponentsInChildren <NameOf>(); tester.TestAssertion("GetComponentsInChildren<NameOf>()", nameOfs.Length == 3); tester.TestAssertion("GetComponentsInChildren<MeshRenderer>()", GetComponentsInChildren <MeshRenderer>().Length == 2); #if COMPILER_UDONSHARP UdonSharpBehaviour getBehaviour = (UdonSharpBehaviour)modObject.GetComponent(typeof(UdonBehaviour)); tester.TestAssertion("Get UdonBehaviour typeof(UdonBehaviour)", getBehaviour != null); long typeID = GetUdonTypeID <NameOf>(); tester.TestAssertion("Type ID matches", typeID == getBehaviour.GetUdonTypeID()); #endif tester.TestAssertion("Correct number of UdonBehaviours on gameobject", modObject.GetComponents(typeof(UdonBehaviour)).Length == 4); videoPlayer = (VRCUnityVideoPlayer)GetComponent(typeof(VRCUnityVideoPlayer)); avProVideoPlayer = (VRCAVProVideoPlayer)GetComponent(typeof(VRCAVProVideoPlayer)); baseVideoPlayer = (BaseVRCVideoPlayer)GetComponent(typeof(BaseVRCVideoPlayer)); VRCStation station; station = (VRCStation)GetComponent(typeof(VRCStation)); //Debug.Log(getBehaviour.GetUdonTypeID()); //Debug.Log(getBehaviour.GetUdonTypeName()); //foreach (Component behaviour in modObject.GetComponents(typeof(UdonBehaviour))) //{ // Debug.Log("Component name: " + ((UdonSharpBehaviour)behaviour).GetUdonTypeName()); //} }
private void Start() { #if UDONCONSOLE InitializeUConsoleIfNeeded(); #endif DebugLog($"Started `{_appname} {_version}`."); _player1 = (VRCUnityVideoPlayer)GetComponent(typeof(VRCUnityVideoPlayer)); _player2 = (VRCAVProVideoPlayer)GetComponent(typeof(VRCAVProVideoPlayer)); _panel1 = transform.Find("Control/Panel").gameObject; _lock1 = transform.Find("Control/Panel/Lock").gameObject; _lock1Button = transform.Find("Control/Panel/Lock/Button").GetComponent <Button>(); _lock1Image = transform.Find("Control/Panel/Lock/Button/Image").GetComponent <Image>(); _lock2 = transform.Find("Control/Panel/UnLock").gameObject; _lock2Button = transform.Find("Control/Panel/UnLock/Button").GetComponent <Button>(); _lock2Image = transform.Find("Control/Panel/UnLock/Button/Image").GetComponent <Image>(); _versionText = transform.Find("Control/Panel/Text").GetComponent <Text>(); _versionText.text = $"{_appname} {_version}"; _video = transform.Find("Control/Panel/Video").gameObject; _videoButton = transform.Find("Control/Panel/Video/Button").GetComponent <Button>(); _videoText = transform.Find("Control/Panel/Video/Button/Text").GetComponent <Text>(); _live = transform.Find("Control/Panel/Live").gameObject; _liveButton = transform.Find("Control/Panel/Live/Button").GetComponent <Button>(); _liveText = transform.Find("Control/Panel/Live/Button/Text").GetComponent <Text>(); _panel2 = transform.Find("Control/Panel (1)").gameObject; _pause = transform.Find("Control/Panel (1)/Pause").gameObject; _pauseButton = transform.Find("Control/Panel (1)/Pause/Button").GetComponent <Button>(); _pauseImage = transform.Find("Control/Panel (1)/Pause/Button/Image").GetComponent <Image>(); _play = transform.Find("Control/Panel (1)/Play").gameObject; _playButton = transform.Find("Control/Panel (1)/Play/Button").GetComponent <Button>(); _playImage = transform.Find("Control/Panel (1)/Play/Button/Image").GetComponent <Image>(); _message = transform.Find("Control/Panel (1)/Message").gameObject; _messageText = transform.Find("Control/Panel (1)/Message/Text").GetComponent <Text>(); _progress = transform.Find("Control/Panel (1)/Message/Progress").gameObject; _progressSlider = transform.Find("Control/Panel (1)/Message/Progress").GetComponent <Slider>(); _address = transform.Find("Control/Panel (1)/Address").gameObject; _addressInput = (VRCUrlInputField)transform.Find("Control/Panel (1)/Address").GetComponent(typeof(VRCUrlInputField)); _sync = transform.Find("Control/Panel (1)/Sync").gameObject; _off = transform.Find("Control/Panel (1)/PowerOff").gameObject; _offButton = transform.Find("Control/Panel (1)/PowerOff/Button").GetComponentInChildren <Button>(); _offText = transform.Find("Control/Panel (1)/PowerOff/Button/Text").GetComponentInChildren <Text>(); _quad = transform.Find("Screen/Quad").gameObject; _screen1 = transform.Find("Screen/Video").gameObject; _screen1Quad1 = transform.Find("Screen/Video/Quad").gameObject; if (mirrorReflection) { _screen1Quad1.layer = 4; } _screen1Quad1.transform.position = _screen1Quad1.transform.localPosition + _quad.transform.position; _screen1Quad1.transform.rotation = _quad.transform.rotation; _screen1Quad1.transform.localScale = _quad.transform.localScale; _screen1Quad2 = transform.Find("Screen/Video/Quad (1)").gameObject; _screen1Quad2.SetActive(mirrorReflection); if (mirrorReflection) { _screen1Quad2.layer = 18; } _screen1Quad2.transform.position = _quad.transform.position; _screen1Quad2.transform.rotation = _quad.transform.rotation; _screen1Quad2.transform.localScale = Vector3.Scale(_quad.transform.localScale, new Vector3(-1f, 1f, 1f)); _screen2 = transform.Find("Screen/Live").gameObject; _screen2Quad1 = transform.Find("Screen/Live/Quad").gameObject; if (mirrorReflection) { _screen2Quad1.layer = 4; } _screen2Quad1.transform.position = _screen2Quad1.transform.localPosition + _quad.transform.position; _screen2Quad1.transform.rotation = _quad.transform.rotation; _screen2Quad1.transform.localScale = _quad.transform.localScale; _screen2Quad2 = transform.Find("Screen/Live/Quad (1)").gameObject; _screen2Quad2.SetActive(mirrorReflection); if (mirrorReflection) { _screen2Quad2.layer = 18; } _screen2Quad2.transform.position = _quad.transform.position; _screen2Quad2.transform.rotation = _quad.transform.rotation; _screen2Quad2.transform.localScale = Vector3.Scale(_quad.transform.localScale, new Vector3(-1f, 1f, 1f)); _dummyScreen = _quad.activeSelf; _normalColor = _addressInput.selectionColor; _disabledColor = _addressInput.colors.disabledColor; OnPowerOff(); }