Exemple #1
0
    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();
        }
    }
Exemple #2
0
        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;
        }
Exemple #3
0
    //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;
        }
    }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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());
        }
Exemple #6
0
 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();
    }