public void Start()
        {
            MessageHub.Instance.Subscribe <ReadyMessage>(ReadyToSend);
            MessageHub.Instance.Subscribe <DisconnectedMessage>(Disconnected);

            gameState = new DCSPlayerRadioInfo();
            gameState.radios[1].modulation = modulation[0];
            gameState.radios[1].freq       = freq[0]; // get into Hz
            gameState.radios[1].name       = name;

            Logger.Info($"Starting with params:");
            Logger.Info($"Path or Text to Say: {mp3Path} ");
            for (int i = 0; i < freq.Length; i++)
            {
                Logger.Info($"Frequency: {freq[i]} Hz - {modulation[i]} ");
            }
            Logger.Info($"Coalition: {coalition} ");
            Logger.Info($"IP: 127.0.0.1 ");
            Logger.Info($"Port: {port} ");
            Logger.Info($"Client Name: {name} ");
            Logger.Info($"Volume: {volume} ");

            var srsClientSyncHandler = new SRSClientSyncHandler(Guid, gameState, name, coalition);

            srsClientSyncHandler.TryConnect(new IPEndPoint(IPAddress.Loopback, port));

            //wait for it to end
            finished.Token.WaitHandle.WaitOne();
            Logger.Info("Finished - Closing");

            udpVoiceHandler?.RequestStop();
            srsClientSyncHandler?.Disconnect();

            MessageHub.Instance.ClearSubscriptions();
        }
        public void Start()
        {
            MessageHub.Instance.Subscribe <ReadyMessage>(ReadyToSend);
            MessageHub.Instance.Subscribe <DisconnectedMessage>(Disconnected);

            gameState = new DCSPlayerRadioInfo();
            gameState.radios[1].modulation = modulation[0];
            gameState.radios[1].freq       = freq[0]; // get into Hz
            gameState.radios[1].name       = opts.Name;

            Logger.Info($"Starting with params:");
            for (int i = 0; i < freq.Length; i++)
            {
                Logger.Info($"Frequency: {freq[i]} Hz - {modulation[i]} ");
            }

            DCSLatLngPosition position = new DCSLatLngPosition()
            {
                alt = opts.Altitude,
                lat = opts.Latitude,
                lng = opts.Longitude
            };

            var srsClientSyncHandler = new SRSClientSyncHandler(Guid, gameState, opts.Name, opts.Coalition, position);

            srsClientSyncHandler.TryConnect(new IPEndPoint(IPAddress.Loopback, opts.Port));

            //wait for it to end
            finished.Token.WaitHandle.WaitOne();
            Logger.Info("Finished - Closing");

            udpVoiceHandler?.RequestStop();
            srsClientSyncHandler?.Disconnect();

            MessageHub.Instance.ClearSubscriptions();
        }