void OnGUI() { // header float defaultColumnWidth = 120; float timeColumnWidth = 60; float nameColumnWidth = 90; GUIStyle headerStyle = new GUIStyle(EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("time", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("audioID", headerStyle, GUILayout.Width(defaultColumnWidth)); EditorGUILayout.LabelField("clipName", headerStyle, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField("category", headerStyle, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField("volume", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("startTime", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("scheduledDSP", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("delay", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("parent", headerStyle, GUILayout.Width(defaultColumnWidth)); EditorGUILayout.LabelField("worldPos", headerStyle, GUILayout.Width(defaultColumnWidth)); EditorGUILayout.EndHorizontal(); // data AudioLog.LogData_PlayClip loggedClip; _scrollPos = EditorGUILayout.BeginScrollView(_scrollPos); foreach (var log in AudioLog.logData) { EditorGUILayout.BeginHorizontal(); loggedClip = log as AudioLog.LogData_PlayClip; if (loggedClip != null) { EditorGUILayout.LabelField(string.Format("{0:0.00}", loggedClip.time), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(loggedClip.audioID, GUILayout.Width(defaultColumnWidth)); EditorGUILayout.LabelField(loggedClip.clipName, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField(loggedClip.category, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", loggedClip.volume), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", loggedClip.startTime), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", loggedClip.scheduledDspTime), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", loggedClip.delay), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(loggedClip.parentObject, GUILayout.Width(defaultColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.0} / {1:0.0} / {2:0.0}", loggedClip.position.x, loggedClip.position.y, loggedClip.position.z), GUILayout.Width(defaultColumnWidth)); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndScrollView(); if (GUILayout.Button("Clear", GUILayout.Width(120))) { AudioLog.Clear(); } }
private void inzinierius_DoWork(object sender, DoWorkEventArgs e) { _recorderService.Setup(_activeDevice); _recorderService.StartRecording(); do { var audioLog = new AudioLog(AppParameters.TemporaryFolder, DateTime.Now, AudioLogFormat.Wav); _recorderService.WaveFile(audioLog); var now = DateTime.Now; var fileLenghtrequested = Convert.ToInt32(_filelenght); var endofSpan = roundup(now, TimeSpan.FromMinutes(fileLenghtrequested)); var span = endofSpan.Subtract(now); var sleeptime = 1000 * Convert.ToInt32(span.TotalSeconds) + 1000; _progressTotal = Convert.ToInt32(sleeptime); var i = 0; while (i < Convert.ToInt32(sleeptime)) { i++; _progress = i; Thread.Sleep(1); if (inzinierius.CancellationPending) { i = sleeptime; } } var asyncConvert = new Thread(() => AsyncConvertAndUpload(audioLog)); asyncConvert.Start(); } while (!inzinierius.CancellationPending); _recorderService.StopRecording(); e.Cancel = true; }
//do we want to cross fade? or just not allow interuption public void PlayLog(AudioLog a) { AudioSource aS = gameObject.AddComponent <AudioSource>(); aS.spatialBlend = 0f; aS.clip = a.Log; aS.Play(); if (CurrentSource != null) { StartCoroutine(CrossFade(aS)); } else { CurrentSource = aS; } }
private void AsyncConvertAndUpload(AudioLog audioLog) { Thread.Sleep(1000); _converterService.AsyncConvert(audioLog.GetWav(), audioLog.GetMp3()); _converterService.Wait(); try { UploadConvertedFile(audioLog); File.Delete(audioLog.GetWav()); File.Delete(audioLog.GetMp3()); } catch (Exception ex) { Logger.Error(ex.Message); } }
private void UploadConvertedFile(AudioLog audioLog) { var uploadService = UploadServiceFactory.CreateUploadService(AppParameters); // Retry cycle var retryCount = 3; for (var i = 0; i < retryCount; i++) { if (uploadService.TryUploadFile(audioLog)) { break; } Logger.Error($"Upload attempt {i + 1} failed"); if (i >= retryCount) { Logger.Error("Failed to upload file"); } Thread.Sleep(2000); } FileManager.TryDeleteOldFiles(uploadService, GetEndOfLifeDate()); }
protected override void Awake() { base.Awake(); aL = GetComponent <AudioLog>(); }
public void PlayLevel2Log(AudioLog kiosk) { if (kiosk.islevel2AudioLog1) log.text = audioLogs[2]; else if (kiosk.islevel2AudioLog2) log.text = audioLogs[3]; else if (kiosk.islevel2AudioLog3) log.text = audioLogs[4]; }
void OnGUI() { // header float defaultColumnWidth = 120; float timeColumnWidth = 60; float typeColumnWidth = 50; float nameColumnWidth = 200; float parentColumnWidth = 200; GUIStyle headerStyle = new GUIStyle(EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("time", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("type", GUILayout.Width(typeColumnWidth)); EditorGUILayout.LabelField("audioID", headerStyle, GUILayout.Width(defaultColumnWidth)); EditorGUILayout.LabelField("clipName", headerStyle, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField("category", headerStyle, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField("volume", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("pitch", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("startTime", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("scheduledDSP", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("delay", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("parent", headerStyle, GUILayout.Width(parentColumnWidth)); EditorGUILayout.LabelField("worldPos", headerStyle, GUILayout.Width(defaultColumnWidth)); EditorGUILayout.EndHorizontal(); // data AudioLog.LogData_PlayClip loggedClip; _scrollPos = EditorGUILayout.BeginScrollView(_scrollPos); foreach (var log in AudioLog.logData) { EditorGUILayout.BeginHorizontal(); loggedClip = log as AudioLog.LogData_PlayClip; if (loggedClip != null) { EditorGUILayout.LabelField(string.Format("{0:0.00}", loggedClip.time), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("PLAY", GUILayout.Width(typeColumnWidth)); EditorGUILayout.LabelField(loggedClip.audioID, GUILayout.Width(defaultColumnWidth)); EditorGUILayout.LabelField(loggedClip.clipName, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField(loggedClip.category, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", loggedClip.volume), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", loggedClip.pitch), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", loggedClip.startTime), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", loggedClip.scheduledDspTime), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", loggedClip.delay), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(loggedClip.parentObject, GUILayout.Width(parentColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.0} / {1:0.0} / {2:0.0}", loggedClip.position.x, loggedClip.position.y, loggedClip.position.z), GUILayout.Width(defaultColumnWidth)); } var skippedClip = log as AudioLog.LogData_SkippedPlay; if (skippedClip != null) { EditorGUILayout.LabelField(string.Format("{0:0.00}", skippedClip.time), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("SKIP", GUILayout.Width(typeColumnWidth)); EditorGUILayout.LabelField(skippedClip.audioID, GUILayout.Width(defaultColumnWidth)); EditorGUILayout.LabelField(skippedClip.reasonForSkip, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField(skippedClip.category, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", skippedClip.volume), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", skippedClip.startTime), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", skippedClip.scheduledDspTime), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.00}", skippedClip.delay), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(skippedClip.parentObject, GUILayout.Width(parentColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.0} / {1:0.0} / {2:0.0}", skippedClip.position.x, skippedClip.position.y, skippedClip.position.z), GUILayout.Width(defaultColumnWidth)); } if (showStopEvents) { var stopClip = log as AudioLog.LogData_Stop; if (stopClip != null) { EditorGUILayout.LabelField(string.Format("{0:0.00}", stopClip.time), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("STOP", GUILayout.Width(typeColumnWidth)); EditorGUILayout.LabelField(stopClip.audioID, GUILayout.Width(defaultColumnWidth)); EditorGUILayout.LabelField(stopClip.clipName, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField(stopClip.category, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField("", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(stopClip.parentObject, GUILayout.Width(parentColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.0} / {1:0.0} / {2:0.0}", stopClip.position.x, stopClip.position.y, stopClip.position.z), GUILayout.Width(defaultColumnWidth)); } var destroyClip = log as AudioLog.LogData_Destroy; if (destroyClip != null) { EditorGUILayout.LabelField(string.Format("{0:0.00}", destroyClip.time), GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("DESTROY", GUILayout.Width(typeColumnWidth)); EditorGUILayout.LabelField(destroyClip.audioID, GUILayout.Width(defaultColumnWidth)); EditorGUILayout.LabelField(destroyClip.clipName, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField(destroyClip.category, GUILayout.Width(nameColumnWidth)); EditorGUILayout.LabelField("", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField("", GUILayout.Width(timeColumnWidth)); EditorGUILayout.LabelField(destroyClip.parentObject, GUILayout.Width(parentColumnWidth)); EditorGUILayout.LabelField(string.Format("{0:0.0} / {1:0.0} / {2:0.0}", destroyClip.position.x, destroyClip.position.y, destroyClip.position.z), GUILayout.Width(defaultColumnWidth)); } } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndScrollView(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Clear", GUILayout.Width(120))) { AudioLog.Clear(); } showStopEvents = GUILayout.Toggle(showStopEvents, "Show Stop Events"); EditorGUILayout.EndHorizontal(); }