Example #1
0
    private bool WriteFile(AudioInfoData audInfo)
    {
        StreamWriter writer = null;

        try {
            var sb = new StringBuilder(string.Empty);

            var safeFilter = audInfo.SearchFilter.Replace("'", "").Replace("\"", "");
            sb.Append(string.Format("<Files searchFilter='{0}' sortColumn='{1}' sortDir='{2}'>", safeFilter, audInfo.SortColumn, audInfo.SortDir));
            foreach (var aud in audInfo.AudioInfor)
            {
                var mono    = aud.HasChanged ? aud.ForceMono : aud.OrigForceMono;
                var loadBG  = aud.HasChanged ? aud.LoadBG : aud.OrigLoadBG;
                var preload = aud.HasChanged ? aud.Preload : aud.OrigPreload;

                var loadType = aud.HasChanged ? aud.LoadType : aud.OrigLoadType;

                var compressionFormat = aud.HasChanged ? aud.CompressionFormat : aud.OrigCompressionFormat;
                var quality           = aud.HasChanged ? aud.Quality : aud.OrigQuality;

                var sampleSetting = aud.HasChanged ? aud.SampleRateSetting : aud.OrigSampleRateSetting;
                var sampleRate    = aud.HasChanged ? aud.SampleRateOverride : aud.OrigSampleRateOverride;

                sb.Append(string.Format("<File path='{0}' name='{1}' forceMono='{2}' loadBG='{3}' preload='{4}' loadType='{5}' compFormat='{6}' quality='{7}' sampleSetting='{8}' sampleRate='{9}' />",
                                        UtilStrings.ReplaceUnsafeChars(aud.FullPath),
                                        UtilStrings.ReplaceUnsafeChars(aud.Name),
                                        mono,
                                        loadBG,
                                        preload,
                                        loadType,
                                        compressionFormat,
                                        quality,
                                        sampleSetting,
                                        sampleRate));
            }
            sb.Append("</Files>");

            writer = new StreamWriter(CacheFilePath);
            writer.WriteLine(sb.ToString());

            _clipList.AudioInfor.RemoveAll(delegate(AudioInformation obj) {
                return(obj.HasChanged);
            });

            _filterClips = null; // re-generate the filtered list.
        }
        catch (Exception ex) {
            Debug.LogError("Error occurred constructing or writing audioImportSettings.xml file: " + ex);
            return(false);
        }
        finally {
            if (writer != null)
            {
                writer.Close();
            }
        }

        return(true);
    }
Example #2
0
    private void BuildCache()
    {
        var filePaths = AssetDatabase.GetAllAssetPaths();

        var audioInfo = new AudioInfoData();

        _filterClips = null;
        _pageNumber  = 0;

        var updatedTime = DateTime.Now.Ticks;

        foreach (var aPath in filePaths)
        {
            if (!aPath.EndsWith(".wav", StringComparison.InvariantCultureIgnoreCase) &&
                !aPath.EndsWith(".mp3", StringComparison.InvariantCultureIgnoreCase) &&
                !aPath.EndsWith(".ogg", StringComparison.InvariantCultureIgnoreCase) &&
                !aPath.EndsWith(".aiff", StringComparison.InvariantCultureIgnoreCase))
            {
                continue;
            }

            // ReSharper disable once AccessToStaticMemberViaDerivedType
            var importer = (AudioImporter)AudioImporter.GetAtPath(aPath);

            var bitrate = importer.compressionBitrate;

            if (bitrate < 0)
            {
                bitrate = 156000;
            }

            // ReSharper disable once UseObjectOrCollectionInitializer
            var newClip = new AudioInformation(aPath, Path.GetFileNameWithoutExtension(aPath), importer.threeD, bitrate, importer.forceToMono, importer.format, importer.loadType);

            newClip.LastUpdated = updatedTime;

            audioInfo.AudioInfor.Add(newClip);
        }

        audioInfo.AudioInfor.RemoveAll(delegate(AudioInformation obj) {
            return(obj.LastUpdated < updatedTime);
        });

        // write file
        if (!WriteFile(audioInfo))
        {
            return;
        }

        LoadAndTranslateFile();
    }
Example #3
0
    private bool WriteFile(AudioInfoData audInfo)
    {
        StreamWriter writer = null;

        try {
            var sb = new StringBuilder(string.Empty);

            var safeFilter = audInfo.SearchFilter.Replace("'", "").Replace("\"", "");
            sb.Append(string.Format("<Files searchFilter='{0}' sortColumn='{1}' sortDir='{2}'>", safeFilter, audInfo.SortColumn, audInfo.SortDir));
            foreach (var aud in audInfo.AudioInfor)
            {
                var is3D     = aud.HasChanged ? aud.Is3D : aud.OrigIs3D;
                var bitrate  = aud.HasChanged ? aud.CompressionBitrate : aud.OrigCompressionBitrate;
                var mono     = aud.HasChanged ? aud.ForceMono : aud.OrigForceMono;
                var fmt      = aud.HasChanged ? aud.Format : aud.OrigFormat;
                var loadType = aud.HasChanged ? aud.LoadType : aud.OrigLoadType;

                sb.Append(string.Format("<File path='{0}' name='{1}' is3d='{2}' bitRate='{3}' forceMono='{4}' format='{5}' loadType='{6}' />",
                                        UtilStrings.ReplaceUnsafeChars(aud.FullPath),
                                        UtilStrings.ReplaceUnsafeChars(aud.Name),
                                        is3D,
                                        bitrate,
                                        mono,
                                        fmt,
                                        loadType));
            }
            sb.Append("</Files>");

            writer = new StreamWriter(CacheFilePath);
            writer.WriteLine(sb.ToString());

            _clipList.AudioInfor.RemoveAll(delegate(AudioInformation obj) {
                return(obj.HasChanged);
            });
        }
        catch (Exception ex) {
            Debug.LogError("Error occurred constructing or writing audioImportSettings.xml file: " + ex);
            return(false);
        }
        finally {
            if (writer != null)
            {
                writer.Close();
            }
        }

        return(true);
    }
    private void BuildCache()
    {
        string[] filePaths = AssetDatabase.GetAllAssetPaths();

        var audioInfo = new AudioInfoData();

        filterClips = null;
        pageNumber  = 0;

        var updatedTime = DateTime.Now.Ticks;

        for (var i = 0; i < filePaths.Length; i++)
        {
            var aPath = filePaths[i];

            if (!aPath.EndsWith(".wav", StringComparison.InvariantCultureIgnoreCase) &&
                !aPath.EndsWith(".mp3", StringComparison.InvariantCultureIgnoreCase) &&
                !aPath.EndsWith(".ogg", StringComparison.InvariantCultureIgnoreCase))
            {
                continue;
            }

            var importer = (AudioImporter)AudioImporter.GetAtPath(aPath);

            var bitrate = importer.compressionBitrate;
            if (bitrate < 0)
            {
                bitrate = 156000;
            }

            var newClip = new AudioInfo(aPath, Path.GetFileNameWithoutExtension(aPath), importer.threeD, bitrate, importer.forceToMono, importer.format, importer.loadType);
            newClip._lastUpdated = updatedTime;

            audioInfo.audioInfo.Add(newClip);
        }

        audioInfo.audioInfo.RemoveAll(delegate(AudioInfo obj) {
            return(obj._lastUpdated < updatedTime);
        });

        // write file
        if (!WriteFile(audioInfo))
        {
            return;
        }

        LoadAndTranslateFile();
    }
    private bool WriteFile(AudioInfoData audInfo)
    {
        StreamWriter writer = null;

        try {
            var sb = new StringBuilder(string.Empty);

            var safeFilter = audInfo.searchFilter.Replace("'", "").Replace("\"", "");
            sb.Append(string.Format("<Files searchFilter='{0}' sortColumn='{1}' sortDir='{2}'>", safeFilter, audInfo.sortColumn, audInfo.sortDir));
            for (var i = 0; i < audInfo.audioInfo.Count; i++)
            {
                var aud = audInfo.audioInfo[i];

                var is3d     = aud._hasChanged ? aud._is3d : aud._origIs3d;
                var bitrate  = aud._hasChanged ? aud._compressionBitrate : aud._origCompressionBitrate;
                var mono     = aud._hasChanged ? aud._forceMono : aud._origForceMono;
                var fmt      = aud._hasChanged ? aud._format : aud._origFormat;
                var loadType = aud._hasChanged ? aud._loadType : aud._origLoadType;

                sb.Append(string.Format("<File path='{0}' name='{1}' is3d='{2}' bitRate='{3}' forceMono='{4}' format='{5}' loadType='{6}' />",
                                        UtilStrings.ReplaceUnsafeChars(aud._fullPath),
                                        UtilStrings.ReplaceUnsafeChars(aud._name),
                                        is3d,
                                        bitrate,
                                        mono,
                                        fmt.ToString(),
                                        loadType));
            }
            sb.Append("</Files>");

            writer = new StreamWriter(CACHE_FILE_PATH);
            writer.WriteLine(sb.ToString());

            clipList.audioInfo.RemoveAll(delegate(AudioInfo obj) {
                return(obj._hasChanged == true);
            });
        }
        catch (Exception ex) {
            Debug.LogError("Error occurred constructing or writing audioImportSettings.xml file: " + ex.ToString());
            return(false);
        }
        finally {
            writer.Close();
        }

        return(true);
    }
        private void BuildCache()
        {
            var filePaths = AssetDatabase.GetAllAssetPaths();

            var audioInfo = new AudioInfoData();

            _filterClips = null;
            _pageNumber  = 0;

            var updatedTime = DateTime.Now.Ticks;

            foreach (var aPath in filePaths)
            {
                if (!aPath.EndsWith(".wav", StringComparison.InvariantCultureIgnoreCase) &&
                    !aPath.EndsWith(".mp3", StringComparison.InvariantCultureIgnoreCase) &&
                    !aPath.EndsWith(".ogg", StringComparison.InvariantCultureIgnoreCase) &&
                    !aPath.EndsWith(".aiff", StringComparison.InvariantCultureIgnoreCase))
                {
                    continue;
                }

                // ReSharper disable once AccessToStaticMemberViaDerivedType
                var importer = (AudioImporter)AudioImporter.GetAtPath(aPath);

                // ReSharper disable once UseObjectOrCollectionInitializer
                AudioImporterSampleSettings settings = importer.defaultSampleSettings;
                var newClip = new AudioInformation(aPath, Path.GetFileNameWithoutExtension(aPath), importer.forceToMono, importer.loadInBackground, importer.preloadAudioData,
                                                   settings.loadType, settings.compressionFormat, settings.quality, settings.sampleRateSetting, int.Parse(settings.sampleRateOverride.ToString()));

                newClip.LastUpdated = updatedTime;

                audioInfo.AudioInfor.Add(newClip);
            }

            audioInfo.AudioInfor.RemoveAll(delegate(AudioInformation obj)
            {
                return(obj.LastUpdated < updatedTime);
            });

            // write file
            if (!WriteFile(audioInfo))
            {
                return;
            }

            LoadAndTranslateFile();
        }
    private bool WriteFile(AudioInfoData audInfo)
    {
        StreamWriter writer = null;

        try {
            var sb = new StringBuilder(string.Empty);

            var safeFilter = audInfo.SearchFilter.Replace("'", "").Replace("\"", "");
            sb.Append(string.Format("<Files searchFilter='{0}' sortColumn='{1}' sortDir='{2}'>", safeFilter, audInfo.SortColumn, audInfo.SortDir));
            foreach (var aud in audInfo.AudioInfor) {
                var is3D = aud.HasChanged ? aud.Is3D : aud.OrigIs3D;
                var bitrate = aud.HasChanged ? aud.CompressionBitrate : aud.OrigCompressionBitrate;
                var mono = aud.HasChanged ? aud.ForceMono : aud.OrigForceMono;
                var fmt = aud.HasChanged ? aud.Format : aud.OrigFormat;
                var loadType = aud.HasChanged ? aud.LoadType : aud.OrigLoadType;

                sb.Append(string.Format("<File path='{0}' name='{1}' is3d='{2}' bitRate='{3}' forceMono='{4}' format='{5}' loadType='{6}' />",
                    UtilStrings.ReplaceUnsafeChars(aud.FullPath),
                    UtilStrings.ReplaceUnsafeChars(aud.Name),
                    is3D,
                    bitrate,
                    mono,
                    fmt,
                    loadType));
            }
            sb.Append("</Files>");

            writer = new StreamWriter(CacheFilePath);
            writer.WriteLine(sb.ToString());

            _clipList.AudioInfor.RemoveAll(delegate(AudioInformation obj) {
                return obj.HasChanged;
            });
        }
        catch (Exception ex) {
            Debug.LogError("Error occurred constructing or writing audioImportSettings.xml file: " + ex);
            return false;
        }
        finally {
            if (writer != null) {
                writer.Close();
            }
        }

        return true;
    }
    private void BuildCache()
    {
        var filePaths = AssetDatabase.GetAllAssetPaths();

        var audioInfo = new AudioInfoData();
        _filterClips = null;
        _pageNumber = 0;

        var updatedTime = DateTime.Now.Ticks;

        foreach (var aPath in filePaths) {
            if (!aPath.EndsWith(".wav", StringComparison.InvariantCultureIgnoreCase)
                && !aPath.EndsWith(".mp3", StringComparison.InvariantCultureIgnoreCase)
                && !aPath.EndsWith(".ogg", StringComparison.InvariantCultureIgnoreCase)
                && !aPath.EndsWith(".aiff", StringComparison.InvariantCultureIgnoreCase)) {

                continue;
            }

            // ReSharper disable once AccessToStaticMemberViaDerivedType
            var importer = (AudioImporter)AudioImporter.GetAtPath(aPath);

            var bitrate = importer.compressionBitrate;

            if (bitrate < 0) {
                bitrate = 156000;
            }

            // ReSharper disable once UseObjectOrCollectionInitializer
            var newClip = new AudioInformation(aPath, Path.GetFileNameWithoutExtension(aPath), importer.threeD, bitrate, importer.forceToMono, importer.format, importer.loadType);

            newClip.LastUpdated = updatedTime;

            audioInfo.AudioInfor.Add(newClip);
        }

        audioInfo.AudioInfor.RemoveAll(delegate(AudioInformation obj) {
            return obj.LastUpdated < updatedTime;
        });

        // write file
        if (!WriteFile(audioInfo)) {
            return;
        }

        LoadAndTranslateFile();
    }
    private bool WriteFile(AudioInfoData audInfo)
    {
        StreamWriter writer = null;

        try {
            var sb = new StringBuilder(string.Empty);

            var safeFilter = audInfo.searchFilter.Replace("'", "").Replace("\"", "");
            sb.Append(string.Format("<Files searchFilter='{0}' sortColumn='{1}' sortDir='{2}'>", safeFilter, audInfo.sortColumn, audInfo.sortDir));
            for (var i = 0; i < audInfo.audioInfo.Count; i++) {
                var aud = audInfo.audioInfo[i];

                var is3d = aud._hasChanged ? aud._is3d : aud._origIs3d;
                var bitrate = aud._hasChanged ? aud._compressionBitrate : aud._origCompressionBitrate;
                var mono = aud._hasChanged ? aud._forceMono : aud._origForceMono;
                var fmt = aud._hasChanged ? aud._format : aud._origFormat;
                var loadType = aud._hasChanged ? aud._loadType : aud._origLoadType;

                sb.Append(string.Format("<File path='{0}' name='{1}' is3d='{2}' bitRate='{3}' forceMono='{4}' format='{5}' loadType='{6}' />",
                    UtilStrings.ReplaceUnsafeChars(aud._fullPath),
                    UtilStrings.ReplaceUnsafeChars(aud._name),
                    is3d,
                    bitrate,
                    mono,
                    fmt.ToString(),
                    loadType));
            }
            sb.Append("</Files>");

            writer = new StreamWriter(CACHE_FILE_PATH);
            writer.WriteLine(sb.ToString());

            clipList.audioInfo.RemoveAll(delegate(AudioInfo obj) {
                return obj._hasChanged == true;
            });
        }
        catch (Exception ex) {
            Debug.LogError("Error occurred constructing or writing audioImportSettings.xml file: " + ex.ToString());
            return false;
        }
        finally {
            writer.Close();
        }

        return true;
    }
    private void BuildCache()
    {
        string[] filePaths = AssetDatabase.GetAllAssetPaths();

        var audioInfo = new AudioInfoData();
        filterClips = null;

        var updatedTime = DateTime.Now.Ticks;

        for (var i = 0; i < filePaths.Length; i++) {
            var aPath = filePaths[i];

            if (!aPath.EndsWith(".wav", StringComparison.InvariantCultureIgnoreCase)
                && !aPath.EndsWith(".mp3", StringComparison.InvariantCultureIgnoreCase)
                && !aPath.EndsWith(".ogg", StringComparison.InvariantCultureIgnoreCase)) {

                continue;
            }

            var importer = (AudioImporter) AudioImporter.GetAtPath(aPath);

            var bitrate = importer.compressionBitrate;
            if (bitrate < 0) {
                bitrate = 156000;
            }

            var newClip = new AudioInfo(aPath, Path.GetFileNameWithoutExtension(aPath), importer.threeD, bitrate, importer.forceToMono, importer.format, importer.loadType);
            newClip._lastUpdated = updatedTime;

            audioInfo.audioInfo.Add(newClip);
        }

        audioInfo.audioInfo.RemoveAll(delegate(AudioInfo obj) {
            return obj._lastUpdated < updatedTime;
        });

        // write file
        if (!WriteFile(audioInfo)) {
            return;
        }

        LoadAndTranslateFile();
    }