public ApplicationLogic(IDevices devicesIn, IDiscoverDevices discoverDevicesIn
                         , ILoopbackRecorder loopbackRecorderIn, IConfiguration configurationIn
                         , IStreamingRequestsListener streamingRequestListenerIn, IDeviceStatusTimer deviceStatusTimerIn)
 {
     devices = devicesIn;
     devices.SetCallback(OnAddDevice);
     discoverDevices          = discoverDevicesIn;
     loopbackRecorder         = loopbackRecorderIn;
     configuration            = configurationIn;
     streamingRequestListener = streamingRequestListenerIn;
     deviceStatusTimer        = deviceStatusTimerIn;
 }
        public MainForm(IApplicationLogic applicationLogicIn, IDevices devicesIn, ILoopbackRecorder loopbackRecorderIn, ILogger loggerIn)
        {
            InitializeComponent();

            ApplyLocalization();
            loopbackRecorder = loopbackRecorderIn;
            applicationLogic = applicationLogicIn;
            devices          = devicesIn;
            logger           = loggerIn;
            logger.SetCallback(Log);
            devices.SetDependencies(this, applicationLogic);
            applicationLogic.SetDependencies(this);
            wavGenerator = new WavGenerator();
        }