Пример #1
0
        public override void SetSettingsToImporter(AssetImporter importer, string assetPath)
        {
            MovieImporter movieImporter = importer as MovieImporter;

            movieImporter.linearTexture = linearTexture;
            movieImporter.quality       = quality;
        }
Пример #2
0
        public override void GetSettingsFromImporter(AssetImporter importer)
        {
            MovieImporter movieImporter = importer as MovieImporter;

            linearTexture = movieImporter.linearTexture;
            quality       = movieImporter.quality;
        }
Пример #3
0
        public static APMovieTexture GetAPMovieTextureFromAssetGuid(string guid)
        {
#if UNITY_5_6_OR_NEWER
            VideoClipImporter movieImporter = GetAssetImporterFromAssetGuid <VideoClipImporter>(guid);
#else
            MovieImporter movieImporter = GetAssetImporterFromAssetGuid <MovieImporter>(guid);
#endif
            Debug.Log(movieImporter);
            // if texture is render texture or others, tImporter will to set to null.
            //
            if (movieImporter == null)
            {
                return(null);
            }

            string path = AssetDatabase.GUIDToAssetPath(guid);
            if (string.IsNullOrEmpty(path))
            {
                return(null);
            }

#if UNITY_5_6_OR_NEWER
            var texture = AssetDatabase.LoadAssetAtPath(path, typeof(VideoClip)) as VideoClip;
#else
            var texture = AssetDatabase.LoadAssetAtPath(path, typeof(MovieTexture)) as MovieTexture;
#endif
            Debug.Log(texture);
            if (texture == null)
            {
                return(null);
            }

            APMovieTexture apMovieTexture = new APMovieTexture();
            apMovieTexture.Icon = GetIconID(path);
#if UNITY_5_6_OR_NEWER
            apMovieTexture.Size = (long)movieImporter.outputFileSize;
            double approx = 0;
#else
            apMovieTexture.Size = TextureUtillity.GetStorageMemorySize(texture);
            double approx = (GetVideoBitrateForQuality(movieImporter.quality) + GetAudioBitrateForQuality(movieImporter.quality)) * movieImporter.duration / 8;
#endif
            apMovieTexture.Approx = approx;

            apMovieTexture.Name     = Utility.GetFileName(path);
            apMovieTexture.Path     = path;
            apMovieTexture.Hash     = Utility.GetFileMd5(path);
            apMovieTexture.Quality  = movieImporter.quality;
            apMovieTexture.FileSize = Utility.GetFileSize(path);
#if UNITY_5_6_OR_NEWER
            TimeSpan duration = TimeSpan.FromSeconds(texture.length);
#else
            TimeSpan duration = TimeSpan.FromSeconds(texture.duration);
#endif
            apMovieTexture.Duration = Utility.GetTimeDurationString(duration);
            apMovieTexture.Id       = guid;

            UnloadAsset(texture);
            return(apMovieTexture);
        }
Пример #4
0
        private void OnImportMovies(object sender, EventArgs e)
        {
            _movieImporter = new MovieImporter
            {
                Source = _view.MovieSource,
                Target = _view.MovieTarget
            };

            Run(_movieImporter, () => _view.MoviesImported(), (progress, message) => _view.MovieProgress(progress, message));
        }
Пример #5
0
 public ActionResult AddMoviesAndNominationsToDatabase(ImportNominationsViewModel viewModel)
 {
     try
     {
         MovieImporter.ImportMovies(viewModel.FilePath);
         NominationImporter.ImportNominations(viewModel.FilePath);
         return(RedirectToAction(nameof(Index)));
     }
     catch
     {
         return(RedirectToAction(nameof(ImportNominations)));
     }
 }
        public void Apply(AssetImporter originalImporter, string assetPath, Property[] properties)
        {
            MovieImporter importer = (MovieImporter)originalImporter;

            for (int i = 0; i < properties.Length; i++)
            {
                var property = properties [i];

                switch (property.name)
                {
                case "quality":
                    importer.quality = float.Parse(property.value);
                    break;

                case "linearTexture":
                    importer.linearTexture = bool.Parse(property.value);
                    break;

                case "userData":
                    importer.userData = property.value;
                    break;

                case "assetBundleName":
                    importer.assetBundleName = property.value;
                    break;

                case "assetBundleVariant":
                    importer.assetBundleVariant = property.value;
                    break;

                case "name":
                    importer.name = property.value;
                    break;

                case "hideFlags":
                    importer.hideFlags = (HideFlags)System.Enum.Parse(typeof(HideFlags), property.value, true);
                    break;
                }
            }
        }
Пример #7
0
        public static void Shutdown()
        {
            // Unregister Win32 PowerMode Event Handler
            Microsoft.Win32.SystemEvents.PowerModeChanged -= new Microsoft.Win32.PowerModeChangedEventHandler(onSystemPowerModeChanged);

            DeviceManager.StopMonitor();

            // Stop Importer
            if (_importer != null)
            {
                _importer.Stop();
            }

            stopBackgroundTasks();

            _importer = null;
            _settings = null;
            _databaseManager.Close();
            //_databaseManager = null;

            logger.Info("Plugin Closed");
        }
Пример #8
0
 private void miImportFromWebDB_Click(object sender, EventArgs e)
 {
     importer          = new MovieImporter();
     importer.Database = database;
     importer.Start();
 }