public static void RegenerateAudioSampleMask() { if (Selection.objects != null && Selection.objects.Any(obj => (obj is AudioSampleMask))) { var masks = Selection.objects .Where(obj => obj is AudioSampleMask) .Select(mask => (AudioSampleMask)mask); foreach (var mask in masks) { if (mask != null && mask.clip != null) { mask.values = AudioSampler.LoadSamples(mask.clip, SAMPLE_STEP_SIZE); } } } }
public static void CreateAudioSampleMask() { if (Selection.objects != null && Selection.objects.Any(obj => (obj is AudioClip))) { var clips = Selection.objects .Where(obj => obj is AudioClip) .Select(clip => (AudioClip)clip); foreach (var clip in clips) { AudioSampleMask newMask = ScriptableObject.CreateInstance <AudioSampleMask>(); newMask.clip = clip; newMask.values = AudioSampler.LoadSamples(clip, SAMPLE_STEP_SIZE); string path = AssetDatabase.GetAssetPath(clip).Split('.')[0]; AssetDatabase.CreateAsset(newMask, path + "_Mask.asset"); } } }