Ejemplo n.º 1
0
 private void VolumeUp(ScriptEventData data)
 {
     Log.Write("In volumeUp");
     curLoudness = currentPlayHandle.GetLoudness();
     curLoudness = 5;
     currentPlayHandle.SetLoudness(curLoudness);
     scenePlayHandle.SetLoudness(curLoudness);
 }
Ejemplo n.º 2
0
    public override void Init()
    {
        //myVolume = ScenePrivate.PlayStream(StreamChannel.MediaChannel, 0);
        scenePlayHandle = ScenePrivate.PlayStream(StreamChannel.AudioChannel1, 0.0f);  //turns off scene audio
        ObjectPrivate.TryGetFirstComponent(out audio);
        if (audio == null)
        {
            Log.Write("Did Not Find Audio Component");
            ScenePrivate.Chat.MessageAllUsers("Media Screen for Youtube Viewer requires an Audio Emitter");
        }
        else
        {
            Log.Write("Found Audio Component");
            currentPlayHandle = audio.PlayStreamOnComponent(StreamChannel.AudioChannel1, volume);
            currentPlayHandle.SetLoudness(volume);

            SubscribeToAll("VolumeUp", VolumeUp);
            SubscribeToAll("VolumeDown", VolumeDown);
            SubscribeToAll("VolumeOn", VolumeOn);
            SubscribeToAll("VolumeOff", VolumeOff);
        }

        Log.Write("Script Started");

        Script.UnhandledException += UnhandledException; // Catch errors and keep running unless fatal
    }
Ejemplo n.º 3
0
    void setVolume(float volume)
    {
        if (DebugLogging)
        {
            Log.Write("setVolume " + volume);
        }

        if ((scenePlayHandle != null) && scenePlayHandle.IsPlaying())
        {
            scenePlayHandle.SetLoudness(LoudnessPercentToDb(volume));
        }
    }
Ejemplo n.º 4
0
        private void AdjustSound(float loudness, float pitchOffset)
        {
            if ((currentPlayHandle != null) && currentPlayHandle.IsPlaying())
            {
                targetLoudness   = loudness + LoudnessVariance * RandomNegOneToOne();
                targetPitchShift = pitchOffset + PitchVariance * RandomNegOneToOne();

                if (AdjustFadeTime > 0.0f)
                {
                    previousLoudness   = LoudnessDbToPercent(currentPlayHandle.GetLoudness());
                    previousPitchShift = currentPlayHandle.GetPitchShift();

                    fadeTime = AdjustFadeTime;
                }
                else
                {
                    fadeTime = 0.0f;

                    float targetLoudnessDb = LoudnessPercentToDb(targetLoudness);
                    currentPlayHandle.SetLoudness(targetLoudnessDb);
                    currentPlayHandle.SetPitchShift(targetPitchShift);
                }
            }
        }
Ejemplo n.º 5
0
    private void ParseCommands(string DataCmdIn)
    {
        Errormsg = "No Errors";
        Log.Write("DataCmdIn: " + DataCmdIn);
        if (DataCmdIn.Contains("/"))
        {
            strErrors = false;
            if (DataCmdIn.Contains("/forcevideo"))
            {
                //play video
                IsWatchFormat = false;
                Log.Write("video: " + video);
                Log.Write("video length: " + video.Length);
                video = DataCmdIn.Substring(12, DataCmdIn.Length - 12);
                PlayVideo(video);
            }
            if (DataCmdIn.Contains("/forcecurrentvideo"))
            {
                //play video
                IsWatchFormat = false;
                //Log.Write("videoIn: " + videoIn);
                //Log.Write("videoIn length: " + videoIn.Length);
                //video = DataCmdIn.Substring(12, DataCmdIn.Length - 12);
                video = videoIn.Trim();
                //Log.Write("video length: " + video.Length);
                PlayVideo(video);
            }
            if (DataCmdIn.Contains("/next"))
            {
                string VideoToPlay = null;
                //Log.Write("PlayList Size: " + PlayList.Count());
                //Log.Write("playListPosition: " + playListPosition);
                if (PlayList.Count() == 0)
                {
                    Log.Write("No Playlist");
                }
                else
                if (playListPosition > PlayList.Count() - 1)
                {
                    playListPosition = 1;
                }
                else
                {
                    playListPosition++;
                }
                VideoToPlay = PlayList[playListPosition - 1];
                //Log.Write("video: " + VideoToPlay);
                videoIn = VideoToPlay;
                if (VideoToPlay.Contains("/watch?v="))
                {
                    IsWatchFormat = true;
                    VideoToPlay   = URLToEmbedFormat(VideoToPlay);
                }
                PlayVideo(VideoToPlay);
            }
            if (DataCmdIn.Contains("/previous"))
            {
                string VideoToPlay = null;
                Log.Write("PlayList Size: " + PlayList.Count());
                Log.Write("playListPosition: " + playListPosition);
                if (PlayList.Count() == 0)
                {
                    Log.Write("No Playlist");
                }
                else if (playListPosition < 1)
                {
                    playListPosition = PlayList.Count() - 1;
                }
                else
                {
                    playListPosition--;
                }
                VideoToPlay = PlayList[playListPosition];
                Log.Write("video: " + VideoToPlay);
                videoIn = VideoToPlay;
                if (VideoToPlay.Contains("/watch?v="))
                {
                    IsWatchFormat = true;
                    VideoToPlay   = URLToEmbedFormat(VideoToPlay);
                }
                PlayVideo(VideoToPlay);
            }
            if (DataCmdIn.Contains("/playlist"))
            {
                ScenePrivate.Chat.MessageAllUsers("Playlist Not Yet Implemented");

                /*
                 * playListPosition = 0;
                 * string VideoToPlay = null;
                 * keepPlaying = true;
                 * do
                 * {
                 *  VideoToPlay = PlayList[playListPosition];
                 *  Log.Write("video: " + VideoToPlay);
                 *  videoIn = VideoToPlay;
                 *  if (VideoToPlay.Contains("/watch?v="))
                 *  {
                 *      IsWatchFormat = true;
                 *      VideoToPlay = URLToEmbedFormat(VideoToPlay);
                 *  }
                 *  PlayVideo(VideoToPlay);
                 *  Log.Write("playListPosition" + playListPosition);
                 *  if (playListPosition >= PlayList.Count())
                 *  {
                 *      playListPosition = 0;
                 *  }
                 *  else
                 *  {
                 *      playListPosition++;
                 *  }
                 * } while (keepPlaying);
                 */
            }
            if (DataCmdIn.Contains("/shuffle"))
            {
                ScenePrivate.Chat.MessageAllUsers("Shuffle Not Yet Implemented");
            }

            if ((DataCmdIn.Contains("/video")) || (DataCmdIn.Contains("/stream")))
            {
                //play video
                IsWatchFormat = false;
                video         = DataCmdIn.Substring(7, DataCmdIn.Length - 7);
                videoIn       = video;
                Log.Write("video: " + video);
                if (DataCmdIn.Contains("/watch?v="))
                {
                    IsWatchFormat = true;
                    video         = URLToEmbedFormat(DataCmdIn);
                    Log.Write("New Video: " + video);
                }
                if (DataCmdIn.Contains("Youtu.be"))
                {
                    IsWatchFormat = true;
                    video         = ShortenedURLToEmbedFormat(DataCmdIn);
                    Log.Write("New Video: " + video);
                }
                PlayVideo(video);
            }
            if (DataCmdIn.Contains("/play"))
            {
                //play video
                string VideoToPlay = null;
                Log.Write("DataCmdIn: " + DataCmdIn.Trim());
                switch (DataCmdIn.Trim())
                {
                case "/play1":
                    if (Play1.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play1;
                        playListPosition = 1;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play1");
                    }
                    break;

                case "/play2":
                    if (Play2.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play2;
                        playListPosition = 2;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play2");
                    }
                    break;

                case "/play3":
                    if (Play3.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play3;
                        playListPosition = 3;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play3");
                    }
                    break;

                case "/play4":
                    if (Play4.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play4;
                        playListPosition = 4;
                    }
                    else
                    {
                        Log.Write("No Play4");
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play4");
                    }
                    break;

                case "/play5":
                    if (Play5.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play5;
                        playListPosition = 5;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play5");
                    }
                    break;

                case "/play6":
                    if (Play6.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play6;
                        playListPosition = 6;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play6");
                    }
                    break;

                case "/play7":
                    if (Play7.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play7;
                        playListPosition = 7;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play7");
                    }
                    break;

                case "/play8":
                    if (Play8.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play8;
                        playListPosition = 8;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play8");
                    }
                    break;

                case "/play9":
                    if (Play9.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play9;
                        playListPosition = 9;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play9");
                    }
                    break;

                case "/play10":
                    if (Play10.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play10;
                        playListPosition = 10;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play10");
                    }
                    break;

                case "/play11":
                    if (Play11.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play11;
                        playListPosition = 11;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play11");
                    }
                    break;

                case "/play12":
                    if (Play12.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play12;
                        playListPosition = 12;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play12");
                    }
                    break;

                case "/play13":
                    if (Play13.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play13;
                        playListPosition = 13;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play13");
                    }
                    break;

                case "/play14":
                    if (Play14.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play14;
                        playListPosition = 14;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play14");
                    }
                    break;

                case "/play15":
                    if (Play15.Length > 0)
                    {
                        IsWatchFormat    = false;
                        VideoToPlay      = Play15;
                        playListPosition = 15;
                    }
                    else
                    {
                        ScenePrivate.Chat.MessageAllUsers("No Video in Slot Play15");
                    }
                    break;

                default:
                    Errormsg = "Must be Play1 thru Play15";
                    break;
                }

                Log.Write("PlayListPosition: " + playListPosition);
                Log.Write("video: " + VideoToPlay);
                videoIn = VideoToPlay;
                if (VideoToPlay.Contains("/watch?v="))
                {
                    IsWatchFormat = true;
                    VideoToPlay   = URLToEmbedFormat(VideoToPlay);
                }
                PlayVideo(VideoToPlay);
            }
            if (DataCmdIn.Contains("/pause") && IsWatchFormat)
            {
                intVideoCurrentTime = (int)(DateTime.Now - VideoStartTime).TotalSeconds;
                video = "https://www.youtube.com/embed/" + EmbedVideoID + "?rel=0&end=1&controls=0&showinfo=0&autoplay=1&allowfullscreen";
                Log.Write("Video on pause: " + video);
                ScenePrivate.OverrideMediaSource(video, ScreenWidth, ScreenHeight);
            }
            if (DataCmdIn.Contains("/resume") && IsWatchFormat)
            {
                intVideoCurrentTime = (int)(DateTime.Now - VideoStartTime).TotalSeconds;
                video = "https://www.youtube.com/embed/" + EmbedVideoID + "?rel=0&start=" + intVideoCurrentTime.ToString() + "&controls=0&showinfo=0&autoplay=1&allowfullscreen";
                Log.Write("Video on resume: " + video);
                ScenePrivate.OverrideMediaSource(video, ScreenWidth, ScreenHeight);
            }
            if (DataCmdIn.Contains("/stop") && IsWatchFormat)
            {
                intVideoCurrentTime = 0;
                VideoStartTime      = DateTime.Now;
                EmbedVideoID        = "4wTPTh6-sSo";
                video = "https://www.youtube.com/embed/" + EmbedVideoID + "  ?rel=0&controls=0&showinfo=0&autoplay=1&allowfullscreen";
                Log.Write("Video on pause: " + video);
                ScenePrivate.OverrideMediaSource(video, ScreenWidth, ScreenHeight);
                keepPlaying = false;
            }
            if (DataCmdIn.Contains("/volumeUp"))
            {
                Log.Write("In volumeUp");
                float curLoudness = currentPlayHandle.GetLoudness();
                curLoudness = curLoudness + 5;
                currentPlayHandle.SetLoudness(curLoudness);
            }
            if (DataCmdIn.Contains("/volumeDown"))
            {
                Log.Write("In volumeDown");
                float curLoudness = currentPlayHandle.GetLoudness();
                curLoudness = curLoudness - 5;
                currentPlayHandle.SetLoudness(curLoudness);
            }

            /*
             *
             * if (DataCmdIn.Contains("/commands"))
             * {
             *  DisplayHelp(agent);
             *
             * }
             */
        }
    }