protected virtual void InitializeDsp() { if (Dsp == null) { return; } var components = new List <string>(); var config = ConfigManager.Config; foreach (var roomConfig in config.Rooms) { if (roomConfig.DspConfig == null) { continue; } var dspConfig = roomConfig.DspConfig; components.Add(dspConfig.PgmVolControlName); components.AddRange(dspConfig.OtherComponents); } if (ConfigManager.Config.DspFaderComponents != null) { foreach (var item in ConfigManager.Config.DspFaderComponents .Where(item => !string.IsNullOrEmpty(item.ComponentName))) { components.Add(item.ComponentName); if (string.IsNullOrEmpty(item.TrafficLightBaseName)) { continue; } components.Add(item.TrafficLightBaseName + ".signal"); components.Add(item.TrafficLightBaseName + ".good"); components.Add(item.TrafficLightBaseName + ".peak"); } } components.Add("monitors.mixer"); components.Add("room.mode"); components.Add("fire.mute"); Dsp.Initialize(components); }