Example #1
0
        private void ResetEngine(uint counter, string str)
        {
            if (startTimer.IsEnabled) startTimer.Stop();
            if (audioEngine != null) audioEngine.Finish();
            audioEngine = null;

            client.AddMessage(HeartBeatType.DEVICE_ERROR, buffering, networkError, 0, 0, 0, 0, 0, 0, 0, 0, 0);          

            EmptyTexts(str);
            startCounter = counter;
            startTimer.Start();
            GC.Collect();
        }
Example #2
0
        private async void Tick(object sender, object e)
        {
            try
            {
                if (startCounter == 10)
                {
                    startCounter--;
                    startTimer.Stop();
                    if (beat == 0)
                    {
                        reboot = await ReadStatus();
                        if (reboot) await WriteStatus(false);
                        await client.LoadQueueAsync();
                    }
                    AudioDeviceStatus();
                    startTimer.Start();
                    text2.Text = startCounter.ToString();     
                }
                else if (startCounter == 0)
                {
                    if (reboot)
                    {
                        startTimer.Stop();
                        await client.SaveQueueAsync();
                        reboot = false;
                        LibRPi.HelperClass hc = new LibRPi.HelperClass();
                        hc.Restart();
                    }
                    else
                    {
                        text1.Text = "STARTED";
                        errorText.Text = "";    
                        startTimer.Stop();

                        audioEngine = new WASAPIEngine();

                        var channels = new AudioChannel[2]
                        {
                            new AudioChannel(0, 0, ""),
                            new AudioChannel(0, 1, "")
                        };
    
                        var devParam = new AudioDevices(channels, 1);
                        var param = new AudioParameters(50000, 200, 50, 250, -50, true, true, "sample.txt", 1000, 212);
                        await audioEngine.InitializeAsync(ThreadDelegate, devParam, param);
                    }
                }
                else
                {
                    text2.Text = startCounter.ToString();
                    startCounter--;
                }
            }
            catch (Exception ex)
            {
                Error("Tick: " + ex.ToString() + " " + ex.Message + " " + ex.HResult);
            }
        }