public override void OnInteractivePreviewGUI(Rect r, GUIStyle background) { if (lsdTarget.length == 0) { lsdTarget.length = lsdTarget.clip.length; } #if UNITY_5_3_6 || UNITY_5_4_OR_NEWER if (lsdTarget.clip != null) { AudioUtility.DrawWaveForm(lsdTarget.clip, 0, new Rect(0, r.y + 3, EditorGUIUtility.currentViewWidth, r.height)); } #else if (waveform == null && lsdTarget.clip != null) { waveform = AudioUtility.GetWaveForm(lsdTarget.clip, 0, EditorGUIUtility.currentViewWidth, 128); } if (lsdTarget.clip != null && waveform != null) { GUI.DrawTexture(new Rect(0, r.y + 3, EditorGUIUtility.currentViewWidth, r.height), waveform); } #endif //Playhead if (Event.current.button != 1) { seekPosition = GUI.HorizontalSlider(new Rect(0, r.y + 3, EditorGUIUtility.currentViewWidth, r.height), seekPosition, 0, 1, GUIStyle.none, GUIStyle.none); } GUI.DrawTexture(new Rect((seekPosition * EditorGUIUtility.currentViewWidth) - 3, r.y, 7, r.height), playhead_line); GUI.DrawTexture(new Rect((seekPosition * EditorGUIUtility.currentViewWidth) - 7, r.y, 15, 15), playhead_top); GUI.DrawTexture(new Rect((seekPosition * EditorGUIUtility.currentViewWidth) - 7, r.y + r.height - 16, 15, 15), playhead_bottom); if (Event.current.type == EventType.Repaint) { LipSyncEditorExtensions.DrawTimeline(r.y, 0, lsdTarget.length, r.width); } if (visualPreview && previewTarget != null) { EditorGUI.HelpBox(new Rect(20, r.y + r.height - 45, r.width - 40, 25), "Preview mode active. Note: only Phonemes and Emotions will be shown in the preview.", MessageType.Info); } else if (previewTarget != null) { UpdatePreview(0); previewTarget = null; } }