private void NewPlaylistValue(Object newvalue)
 {
     DestroyOldListView();
     nowPlaying         = (PlaylistAsset)newvalue;
     videoListView      = InitVideoListView(nowPlaying.VideoClipList);
     playlistTitle.text = nowPlaying.PlaylistTitle;
     UpdatePlaylistStatus();
 }
Пример #2
0
        private void AddPlayTimes(PlaylistAsset playlistAsset)
        {
            _totalDisplayTime += playlistAsset.DisplayLength;

            if (playlistAsset is AdvertPlaylistAsset)
            {
                _totalAdvertDisplayTime += playlistAsset.DisplayLength;
            }
        }
Пример #3
0
 void OnEnable()
 {
     targetAsset = (PlaylistAsset)serializedObject.targetObject;
     if (targetAsset.VideoClipList == null)
     {
         targetAsset.VideoClipList = new List <VideoClipData>();
     }
     EditorUtility.SetDirty(targetAsset);
 }
Пример #4
0
        private void LoadAsset(ChannelAssetAssociation channelAssetAssociation, IPlayer player)
        {
            PlaylistAsset playlistAsset = channelAssetAssociation.PlaylistAsset;

            AddPlayTimes(playlistAsset);

            _logger.WriteMessage("PlayerType: " + playlistAsset.PlayerType);


            if (player is IStreamLoader)
            {
                _logger.WriteMessage("Decrypting");
                IStreamLoader streamLoader = (IStreamLoader)player;
                using (
                    MemoryStream stream =
                        channelAssetAssociation.PlaylistAsset.DecryptAssetFile(
                            _assetPath + channelAssetAssociation.PlaylistAsset.GetAssetFilenameGUIDSuffix() + "\\" +
                            channelAssetAssociation.PlaylistAsset.AssetFilename, "password"))
                {
                    //if (_count > 1) Thread.Sleep(5000);
                    _logger.WriteMessage("Loading");
                    if (!_runScreenSaver)
                    {
                        _previousSlide.NewContentRequired();
                        return;
                    }
                    streamLoader.Load(stream);
                }
            }
            else if (player is IURLLoader)
            {
                IURLLoader urlLoader = (IURLLoader)player;
                urlLoader.Load(channelAssetAssociation.PlaylistAsset.AssetWebSite);
            }
            else if (player is IFileLoader)
            {
                _logger.WriteMessage("Decrypting");
                // if (_count > 1) Thread.Sleep(15000);
                string decryptedFilePath = DecryptToTemp(channelAssetAssociation);
                _logger.WriteMessage("Decrypting Finished");
                IFileLoader fileLoader = (IFileLoader)player;
                if (!_runScreenSaver)
                {
                    File.Delete(decryptedFilePath);
                    _previousSlide.NewContentRequired();
                    return;
                }
                fileLoader.Load(decryptedFilePath);
                _logger.WriteMessage("Finished loading");
            }
            else if (player is INoAssetsLoader)
            {
                ((INoAssetsLoader)player).Load(((ContentPlaylistAsset)channelAssetAssociation.PlaylistAsset).Message);
            }
        }
Пример #5
0
        private bool IsNonLargeFile(PlaylistAsset playlistAsset)
        {
            string filePath = _assetFilePath + playlistAsset.GetAssetFilenameGUIDSuffix() + "\\" + playlistAsset.AssetFilename;

            if (!File.Exists(filePath))
            {
                return(false);
            }

            FileInfo fi = new FileInfo(filePath);

            _logger.WriteTimestampedMessage("Length of file " + playlistAsset.AssetFilename + " is " + fi.Length + ". Is it small enough? " + (fi.Length < 62914560));

            return(fi.Length < 62914560);
        }
    private void InitPlaylistVisualElements()
    {
        PlaylistStatus = windowRoot.Q <Label>("PlaylistStatus");
        videoListArea  = windowRoot.Q(className: "video-list-area");
        nowPlaying     = ScriptableObject.CreateInstance <PlaylistAsset>();
        nowPlaying     = Resources.Load <PlaylistAsset>("Playlists/DefultPlaylist");
        var picker = windowRoot.Q <ObjectField>("PlaylistPicker");

        picker.objectType = typeof(PlaylistAsset);
        picker.SetValueWithoutNotify(nowPlaying);
        picker.label = "Now Playing";
        picker.RegisterCallback <ChangeEvent <Object> >((evt) => OnPlaylistChanged(evt.newValue));
        videoListView = InitVideoListView(nowPlaying.VideoClipList);
        UpdatePlaylistStatus();
    }