public override void OnInspectorGUI() { //Init vars Event e = Event.current; mousePosition = e.mousePosition; //Speech properties GUILayout.Space(10); DrawSpeechProperties(); GUILayout.Space(10); //Select a voice box bool noVoice = string.IsNullOrEmpty(speech.voiceUUID); if (noVoice) { EditorGUILayout.HelpBox("Please select a voice.", MessageType.Info); } //Disable ui if there is no voice selecteds EditorGUI.BeginDisabledGroup(noVoice); //Rebuild list if needed and draw it if (list == null) { RebuildClipList(); } list.DoLayoutList(); //Draw commands buttons GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); EditorGUI.BeginDisabledGroup(list.index < 0); deleteButton.DoLayout((Rect r) => { HidePopups(); DeletePopup.Show(r, DeleteClip); }); EditorGUI.EndDisabledGroup(); importButton.DoLayout((Rect r) => { HidePopups(); ClipPopup.Show(r, speech, ImportClip); }); CreateButton.DoLayout((Rect r) => { HidePopups(); StringPopup.Show(r, "New clip name", CreateClip); }); GUILayout.EndHorizontal(); EditorGUI.EndDisabledGroup(); //Draw connected error Utils.ConnectionRequireMessage(); //Keep a constant refresh Repaint(); }
public override void OnInspectorGUI() { //Draw text area GUILayout.BeginVertical(EditorStyles.helpBox); DrawTextArea(); GUILayout.EndVertical(); //Error box if (request != null && request.status == AsyncRequest.Status.Error) { request.error.DrawErrorBox(); Rect rect = GUILayoutUtility.GetLastRect(); rect.Set(rect.x + rect.width - 70, rect.y + rect.height - 20, 68, 18); if (GUI.Button(rect, "Close")) { request.status = AsyncRequest.Status.Completed; AsyncRequest.RegisterRefreshEvent(); } } //Draw audio area GUILayout.Space(10); GUILayout.BeginVertical(EditorStyles.helpBox); DrawAudioArea(); GUILayout.EndVertical(); //Draw phonemes area if (clip.speech.includePhonemes) { GUILayout.Space(10); GUILayout.BeginVertical(EditorStyles.helpBox); DrawPhonemesArea(); GUILayout.EndVertical(); } //Draw userdata area GUILayout.Space(10); GUILayout.BeginVertical(EditorStyles.helpBox); DrawUserDataArea(); GUILayout.EndVertical(); //Drax connection message Utils.ConnectionRequireMessage(); GUILayout.Space(30); //TEMP (still necessary?) Keep refreshing this window Repaint(); }
public void DrawOneShotGUI() { //Check connection if (!Settings.haveProject) { Utils.ConnectionRequireMessage(); } EditorGUI.BeginDisabledGroup(!Settings.haveProject); //Update progress bar if exist if (drawProgressBar) { EditorUtility.DisplayProgressBar("Resemble", "Download clip...", preview.download.progress); if (preview.download.isDone) { drawProgressBar = false; EditorUtility.ClearProgressBar(); } } //Init components if (Resources.instance.oneShotText == null) { Resources.instance.oneShotText = new Text(); } if (drawer == null) { drawer = new Text_Editor(Resources.instance.oneShotText, SetDirty, Repaint); } //Tags drawer.DrawTagsBtnsLayout(!Settings.haveProject); //Draw text area Rect rect = GUILayoutUtility.GetRect(Screen.width, 300).Shrink(10); drawer.DrawTextArea(rect, Settings.haveProject); //Draw char count progress bar rect.Set(rect.x, rect.y + rect.height, rect.width, 16); drawer.DrawCharCountBar(rect); GUILayout.Space(20); //Bot commands GUILayout.BeginHorizontal(); GUILayout.Space(10); //Voice field DrawVoiceField(); //Generate button EditorGUI.BeginDisabledGroup(string.IsNullOrEmpty(voiceUUID) || string.IsNullOrEmpty(text.userString)); if (GUILayout.Button("Generate audio", GUILayout.ExpandWidth(false))) { Generate(); } EditorGUI.EndDisabledGroup(); GUILayout.Space(7); GUILayout.EndHorizontal(); EditorGUI.EndDisabledGroup(); //Footer GUILayout.FlexibleSpace(); Utils.DrawSeparator(); GUILayout.Label("The audio files generated here will not be saved in the Resemble project.", Styles.settingsBody); }