public AudioInformation(string fullPath, string name, bool forceMono, bool loadInBG, bool preload, AudioClipLoadType loadType, AudioCompressionFormat compressionFormat, float quality, AudioSampleRateSetting sampleRateSetting, int sampleRateOverride) { OrigForceMono = forceMono; ForceMono = forceMono; OrigLoadBG = loadInBG; LoadBG = loadInBG; OrigPreload = preload; Preload = preload; OrigLoadType = loadType; LoadType = loadType; OrigCompressionFormat = compressionFormat; CompressionFormat = compressionFormat; OrigSampleRateSetting = sampleRateSetting; SampleRateSetting = sampleRateSetting; OrigQuality = quality; Quality = quality; OrigSampleRateOverride = sampleRateOverride; SampleRateOverride = sampleRateOverride; FullPath = fullPath; Name = name; IsSelected = false; HasChanged = false; LastUpdated = DateTime.MinValue.Ticks; }
private void CopySampleRateSettingToSelected(AudioSampleRateSetting _bulkSampleRateSetting) { foreach (var aClip in SelectedClips) { aClip.SampleRateSetting = _bulkSampleRateSetting; } }
public override void DrawEditor() { forceToMono = EditorGUILayout.Toggle("Force to mono", forceToMono); loadInBackground = EditorGUILayout.Toggle("Load In Background", loadInBackground); preloadAudioData = EditorGUILayout.Toggle("Preload Audio Data", preloadAudioData); loadType = (AudioClipLoadType)EditorGUILayout.EnumPopup("Load Type", loadType); quality = EditorGUILayout.Slider("Quality", quality, 0, 1); sampleRateSetting = (AudioSampleRateSetting)EditorGUILayout.EnumPopup("Sample Rate Settings", sampleRateSetting); }
public override void ApplyDefaults() { base.ApplyDefaults(); this.Suffix = ".ogg"; this.LoadType = AudioClipLoadType.Streaming; this.CompressionFormat = AudioCompressionFormat.Vorbis; this.SampleRate = AudioSampleRateSetting.PreserveSampleRate; }
public override void ApplyDefaults() { base.ApplyDefaults(); this.SuffixFilter = ".ogg"; this.forceToMono = false; this.normalize = true; this.loadInBackground = true; this.ambisonic = false; this.loadType = AudioClipLoadType.Streaming; this.preloadAudioData = true; this.compressionFormat = AudioCompressionFormat.Vorbis; this.quality = 100; this.sampleRateSetting = AudioSampleRateSetting.PreserveSampleRate; }
public override void DrawRuleGUI() { base.DrawRuleGUI(); GUILayout.Space(10); EditorGUILayout.LabelField("Audio Import Settings", EditorStyles.boldLabel); EditorGUI.DrawRect(EditorGUILayout.GetControlRect(false, 2), QuickEditorColors.DarkGrayX11); GUILayout.Space(3); forceToMono = EditorGUILayout.Toggle(AssetImportStyles.Audio.ForceToMono, forceToMono); EditorGUI.indentLevel++; EditorGUI.BeginDisabledGroup(forceToMono); normalize = EditorGUILayout.Toggle(AssetImportStyles.Audio.Normalize, normalize); EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel--; loadInBackground = EditorGUILayout.Toggle(AssetImportStyles.Audio.LoadBackground, loadInBackground); ambisonic = EditorGUILayout.Toggle(AssetImportStyles.Audio.Ambisonic, ambisonic); GUILayout.Space(6); EditorGUILayout.LabelField("Default Import Settings", EditorStyles.boldLabel); EditorGUI.DrawRect(EditorGUILayout.GetControlRect(false, 2), QuickEditorColors.DarkGrayX11); GUILayout.Space(3); loadType = (AudioClipLoadType)EditorGUILayout.EnumPopup(AssetImportStyles.Audio.LoadType, loadType); EditorGUI.BeginDisabledGroup(loadType == AudioClipLoadType.Streaming ? true : false); preloadAudioData = EditorGUILayout.Toggle(AssetImportStyles.Audio.PreloadAudioData, preloadAudioData); EditorGUI.EndDisabledGroup(); if (loadType == AudioClipLoadType.Streaming) { preloadAudioData = false; } int compressionFormatIndex = Math.Max(Array.FindIndex(AssetImportStyles.Audio.CompressionEnumOpts, opt => opt.Equals(compressionFormat)), 0); compressionFormatIndex = EditorGUILayout.Popup(AssetImportStyles.Audio.CompressionFormat, compressionFormatIndex, AssetImportStyles.Audio.CompressionFormatOpts); compressionFormat = AssetImportStyles.Audio.CompressionEnumOpts[compressionFormatIndex]; EditorGUI.BeginDisabledGroup(compressionFormat != AudioCompressionFormat.Vorbis ? true : false); quality = EditorGUILayout.IntSlider(AssetImportStyles.Audio.Quality, quality, 1, 100); EditorGUI.EndDisabledGroup(); sampleRateSetting = (AudioSampleRateSetting)EditorGUILayout.EnumPopup(AssetImportStyles.Audio.SampleRateSetting, sampleRateSetting); if (sampleRateSetting == AudioSampleRateSetting.OverrideSampleRate) { sampleRate = (SampleRates)EditorGUILayout.EnumPopup(AssetImportStyles.Audio.SampleRate, sampleRate); } }
public override void DrawInnerGUI() { DrawFilterGUI(); GUILayout.Space(6); EditorGUILayout.LabelField("Audio", EditorStyles.boldLabel); EditorGUI.DrawRect(EditorGUILayout.GetControlRect(false, 2), QuickEditorColors.DarkGrayX11); GUILayout.Space(3); m_forceToMono = EditorGUILayout.Toggle("Force To Mono", m_forceToMono); m_loadInBackground = EditorGUILayout.Toggle("Load In Background", m_loadInBackground); GUILayout.Space(6); EditorGUILayout.LabelField("Default Import Settings", EditorStyles.boldLabel); EditorGUI.DrawRect(EditorGUILayout.GetControlRect(false, 2), QuickEditorColors.DarkGrayX11); GUILayout.Space(3); m_AudioClipLoadType = (AudioClipLoadType)EditorGUILayout.EnumPopup("Load Type", m_AudioClipLoadType); EditorGUI.BeginDisabledGroup(m_AudioClipLoadType == AudioClipLoadType.Streaming ? true : false); m_preloadAudioData = EditorGUILayout.Toggle("Preload Audio Data", m_preloadAudioData); EditorGUI.EndDisabledGroup(); if (m_AudioClipLoadType == AudioClipLoadType.Streaming) { m_preloadAudioData = false; } m_audioCompressionFormat = (AudioCompressionFormat)EditorGUILayout.EnumPopup("Compression Format", m_audioCompressionFormat); m_audioQuality = EditorGUILayout.IntSlider("Quality", m_audioQuality, 1, 100); m_sampleRateSetting = (AudioSampleRateSetting)EditorGUILayout.EnumPopup("Sample Rate Setting", m_sampleRateSetting); if (m_sampleRateSetting == AudioSampleRateSetting.OverrideSampleRate) { m_sampleRateOverride = (SampleOverrideValues)EditorGUILayout.EnumPopup("Sample Rate Setting", m_sampleRateOverride); } }
//オーディオファイルの設定を変更する private static void ChangeSetting(string audioPath, bool forceToMono, bool normalize, bool ambisonic, bool loadInBackground, AudioClipLoadType loadType, float quality, AudioCompressionFormat compressionFormat, AudioSampleRateSetting sampleRateSetting) { if (AssetDatabase.LoadAssetAtPath <AudioClip>(audioPath) == null) { return; } var importer = AssetImporter.GetAtPath(audioPath) as AudioImporter; importer.forceToMono = forceToMono; var serializedObject = new SerializedObject(importer); var normalizeProperty = serializedObject.FindProperty("m_Normalize"); normalizeProperty.boolValue = normalize; serializedObject.ApplyModifiedProperties(); importer.ambisonic = ambisonic; importer.loadInBackground = loadInBackground; var settings = importer.defaultSampleSettings; settings.loadType = loadType; settings.quality = quality; settings.compressionFormat = compressionFormat; settings.sampleRateSetting = sampleRateSetting; importer.defaultSampleSettings = settings; Debug.Log(audioPath + "の設定を変更しました"); }
private void OnSampleSettingGUI(BuildTargetGroup platform, AudioImporterInspector.MultiValueStatus status, bool selectionContainsTrackerFile, ref AudioImporterInspector.SampleSettingProperties properties, bool disablePreloadAudioDataOption) { EditorGUI.showMixedValue = status.multiLoadType && !properties.loadTypeChanged; EditorGUI.BeginChangeCheck(); AudioClipLoadType audioClipLoadType = (AudioClipLoadType)EditorGUILayout.EnumPopup("Load Type", (Enum)properties.settings.loadType, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { properties.settings.loadType = audioClipLoadType; properties.loadTypeChanged = true; } EditorGUI.BeginDisabledGroup(disablePreloadAudioDataOption); if (disablePreloadAudioDataOption) { EditorGUILayout.Toggle("Preload Audio Data", false, new GUILayoutOption[0]); } else { EditorGUILayout.PropertyField(this.m_PreloadAudioData); } EditorGUI.EndDisabledGroup(); if (selectionContainsTrackerFile) { return; } AudioCompressionFormat[] formatsForPlatform = this.GetFormatsForPlatform(platform); EditorGUI.showMixedValue = status.multiCompressionFormat && !properties.compressionFormatChanged; EditorGUI.BeginChangeCheck(); AudioCompressionFormat compressionFormat = (AudioCompressionFormat)EditorGUILayout.IntPopup("Compression Format", (int)properties.settings.compressionFormat, Array.ConvertAll <AudioCompressionFormat, string>(formatsForPlatform, (Converter <AudioCompressionFormat, string>)(value => value.ToString())), Array.ConvertAll <AudioCompressionFormat, int>(formatsForPlatform, (Converter <AudioCompressionFormat, int>)(value => (int)value)), new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { properties.settings.compressionFormat = compressionFormat; properties.compressionFormatChanged = true; } if (this.CompressionFormatHasQuality(properties.settings.compressionFormat)) { EditorGUI.showMixedValue = status.multiQuality && !properties.qualityChanged; EditorGUI.BeginChangeCheck(); int num = EditorGUILayout.IntSlider("Quality", (int)Mathf.Clamp(properties.settings.quality * 100f, 1f, 100f), 1, 100, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { properties.settings.quality = 0.01f * (float)num; properties.qualityChanged = true; } } EditorGUI.showMixedValue = status.multiSampleRateSetting && !properties.sampleRateSettingChanged; EditorGUI.BeginChangeCheck(); AudioSampleRateSetting sampleRateSetting = (AudioSampleRateSetting)EditorGUILayout.EnumPopup("Sample Rate Setting", (Enum)properties.settings.sampleRateSetting, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { properties.settings.sampleRateSetting = sampleRateSetting; properties.sampleRateSettingChanged = true; } if (properties.settings.sampleRateSetting == AudioSampleRateSetting.OverrideSampleRate) { EditorGUI.showMixedValue = status.multiSampleRateOverride && !properties.sampleRateOverrideChanged; EditorGUI.BeginChangeCheck(); int num = EditorGUILayout.IntPopup("Sample Rate", (int)properties.settings.sampleRateOverride, AudioImporterInspector.Styles.kSampleRateStrings, AudioImporterInspector.Styles.kSampleRateValues, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { properties.settings.sampleRateOverride = (uint)num; properties.sampleRateOverrideChanged = true; } } EditorGUI.showMixedValue = false; }
private void OnSampleSettingGUI(BuildTargetGroup platform, MultiValueStatus status, bool selectionContainsTrackerFile, ref SampleSettingProperties properties, bool disablePreloadAudioDataOption) { //Load Type EditorGUI.showMixedValue = status.multiLoadType && !properties.loadTypeChanged; EditorGUI.BeginChangeCheck(); AudioClipLoadType newLoadType = (AudioClipLoadType)EditorGUILayout.EnumPopup("Load Type", properties.settings.loadType); if (EditorGUI.EndChangeCheck()) { properties.settings.loadType = newLoadType; properties.loadTypeChanged = true; } using (new EditorGUI.DisabledScope(disablePreloadAudioDataOption)) { if (disablePreloadAudioDataOption) { EditorGUILayout.Toggle("Preload Audio Data", false); } else { EditorGUILayout.PropertyField(m_PreloadAudioData); } } if (!selectionContainsTrackerFile) { //Compression format AudioCompressionFormat[] allowedFormats = GetFormatsForPlatform(platform); EditorGUI.showMixedValue = status.multiCompressionFormat && !properties.compressionFormatChanged; EditorGUI.BeginChangeCheck(); AudioCompressionFormat newFormat = (AudioCompressionFormat)EditorGUILayout.IntPopup("Compression Format", (int)properties.settings.compressionFormat, Array.ConvertAll(allowedFormats, value => value.ToString()), Array.ConvertAll(allowedFormats, value => (int)value)); if (EditorGUI.EndChangeCheck()) { properties.settings.compressionFormat = newFormat; properties.compressionFormatChanged = true; } //Quality if (CompressionFormatHasQuality(properties.settings.compressionFormat)) { EditorGUI.showMixedValue = status.multiQuality && !properties.qualityChanged; EditorGUI.BeginChangeCheck(); int newQuality = EditorGUILayout.IntSlider("Quality", (int)Mathf.Clamp(properties.settings.quality * 100.0f, 1.0f, 100.0f), 1, 100); if (EditorGUI.EndChangeCheck()) { properties.settings.quality = 0.01f * newQuality; properties.qualityChanged = true; } } if (platform != BuildTargetGroup.WebGL) { //Sample rate settings EditorGUI.showMixedValue = status.multiSampleRateSetting && !properties.sampleRateSettingChanged; EditorGUI.BeginChangeCheck(); AudioSampleRateSetting newSetting = (AudioSampleRateSetting)EditorGUILayout.EnumPopup("Sample Rate Setting", properties.settings.sampleRateSetting); if (EditorGUI.EndChangeCheck()) { properties.settings.sampleRateSetting = newSetting; properties.sampleRateSettingChanged = true; } //Sample rate settings if (properties.settings.sampleRateSetting == AudioSampleRateSetting.OverrideSampleRate) { EditorGUI.showMixedValue = status.multiSampleRateOverride && !properties.sampleRateOverrideChanged; EditorGUI.BeginChangeCheck(); int newRate = EditorGUILayout.IntPopup("Sample Rate", (int)properties.settings.sampleRateOverride, Styles.kSampleRateStrings, Styles.kSampleRateValues); if (EditorGUI.EndChangeCheck()) { properties.settings.sampleRateOverride = (uint)newRate; properties.sampleRateOverrideChanged = true; } } } //TODO include the settings for things like HEVAG EditorGUI.showMixedValue = false; } }
private void OnGUI() { // Grabbing game object which holds configuration ImportProperties importProperties = (ImportProperties)AssetDatabase.LoadAssetAtPath("Assets/Prefabs/ImportProperties.prefab", typeof(ImportProperties)); // Basic Editor Setup EditorGUILayout.BeginVertical(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Height(300)); // Boolean For Applying Editor Props GUILayout.Label("Enable Custom Import Settings", EditorStyles.boldLabel); enableCustomImportSettings = EditorGUILayout.Toggle("Enable Custom Import Settings", enableCustomImportSettings); // Add toggle for if user wants to apply their own import settings if (enableCustomImportSettings) { importProperties.enableCustomImportSetting = enableCustomImportSettings; } else { importProperties.enableCustomImportSetting = enableCustomImportSettings; } // Texture Settings GUILayout.Label("Texture Import Settings", EditorStyles.boldLabel); maxTextureSizeSelected = EditorGUILayout.Popup("Max Texture Size", maxTextureSizeSelected, maxTextureSizes); mipMapLevel = EditorGUILayout.IntField("Mip Map Level", mipMapLevel); // Android Texture Overrides overrideTexturesForAndroid = EditorGUILayout.BeginToggleGroup("Override Texture Settings For Android", overrideTexturesForAndroid); maxTextureSizeSelectedForAndroid = EditorGUILayout.Popup("Max Texture Size", maxTextureSizeSelectedForAndroid, maxTextureSizes); mipMapLevelForAndroid = EditorGUILayout.IntField("Mip Map Level", mipMapLevelForAndroid); EditorGUILayout.EndToggleGroup(); // Audio Settings GUILayout.Label("Audio Import Settings", EditorStyles.boldLabel); audioCompressionFormat = (AudioCompressionFormat)EditorGUILayout.EnumPopup("Audio Compression Format", audioCompressionFormat); audioSampleRateSetting = (AudioSampleRateSetting)EditorGUILayout.EnumPopup("Audio Sample Rate Setting", audioSampleRateSetting); audioClipLoadType = (AudioClipLoadType)EditorGUILayout.EnumPopup("Audio Clip Load Type", audioClipLoadType); // Android Audio Overrides overrideAudioForAndroid = EditorGUILayout.BeginToggleGroup("Override Audio Settings For Android", overrideAudioForAndroid); audioCompressionFormatForAndroid = (AudioCompressionFormat)EditorGUILayout.EnumPopup("Audio Compression Format", audioCompressionFormatForAndroid); audioSampleRateSettingForAndroid = (AudioSampleRateSetting)EditorGUILayout.EnumPopup("Audio Sample Rate Setting", audioSampleRateSettingForAndroid); audioClipLoadTypeForAndroid = (AudioClipLoadType)EditorGUILayout.EnumPopup("Audio Clip Load Type", audioClipLoadTypeForAndroid); EditorGUILayout.EndToggleGroup(); EditorGUILayout.EndScrollView(); EditorGUILayout.EndVertical(); bool assignImportSettingsButton = GUILayout.Button("Assign Import Settings"); if (assignImportSettingsButton) { if (importProperties) { // Texture Settings if (maxTextureSizeSelected >= 0) { importProperties.maxTextureSizeSelected = int.Parse(maxTextureSizes[maxTextureSizeSelected]); } if (overrideTexturesForAndroid) { importProperties.overrideTexturesForAndroid = overrideTexturesForAndroid; importProperties.maxTextureSizeSelectedForAndroid = int.Parse(maxTextureSizes[maxTextureSizeSelectedForAndroid]); } // Audio Settings importProperties.audioCompressionFormat = audioCompressionFormat; importProperties.audioSampleRateSetting = audioSampleRateSetting; importProperties.audioClipLoadType = audioClipLoadType; if (overrideAudioForAndroid) { importProperties.overrideAudioForAndroid = overrideAudioForAndroid; importProperties.audioCompressionFormatForAndroid = audioCompressionFormatForAndroid; importProperties.audioSampleRateSettingForAndroid = audioSampleRateSettingForAndroid; importProperties.audioClipLoadTypeForAndroid = audioClipLoadTypeForAndroid; } } Debug.Log("Assigned Import Settings"); } }