private FunctionGroupManager(IFunctionCatalog functionCatalog, Device device, List <ModuleGroup> modules) { _functionCatalog = functionCatalog; _device = device; _device.ControllerAdded += DeviceOnControllerAdded; _modules = modules; OnPropertyChanged(nameof(Modules)); }
public static FunctionGroupManager DefaultGroups(LrApi api, IFunctionCatalog functionCatalog, Device device) { return(new FunctionGroupManager(functionCatalog, device, new List <ModuleGroup> { CreateModuleWithGlobal(api, Module.Library), CreateDevelopModule(api), CreateModuleWithGlobal(api, Module.Map), CreateModuleWithGlobal(api, Module.Book), CreateModuleWithGlobal(api, Module.Slideshow), CreateModuleWithGlobal(api, Module.Print), CreateModuleWithGlobal(api, Module.Web) })); }
private LrControlApplication() { // Configure logging var template = "{Timestamp:yyyy-MM-dd HH:mm:ss.sss} [{SourceContext:l}] [{Level}] {Message}{NewLine}{Exception}"; Serilog.Log.Logger = new LoggerConfiguration() .MinimumLevel.Information() .WriteTo.ColoredConsole(outputTemplate: template) .WriteTo.RollingFile("LrControl.exe.{Date}.log", outputTemplate: template, fileSizeLimitBytes: 10 * 1024 * 1024, flushToDiskInterval: TimeSpan.FromSeconds(1), retainedFileCountLimit: 5, shared: true) .CreateLogger(); _settings = Configurations.Settings.LoadOrDefault(); _lrApi = new LrApi(); _functionCatalog = Functions.Catalog.FunctionCatalog.DefaultCatalog(_settings, _lrApi); _device = new Device(); _functionGroupManager = FunctionGroupManager.DefaultGroups(_lrApi, _functionCatalog, _device); // Hookup module listener _lrApi.LrApplicationView.ModuleChanged += _functionGroupManager.EnableModule; _lrApi.ConnectionStatus += (connected, version) => ConnectionStatus?.Invoke(connected, version); // Listen for Setting changes _settings.PropertyChanged += SettingsOnPropertyChanged; // Restore previously selected input/output devices RefreshAvailableDevices(false); SetInputDevice(_inputDevices.FirstOrDefault(x => x.Name == _settings.LastUsedInputDevice)); SetOutputDevice(_outputDevices.FirstOrDefault(x => x.Name == _settings.LastUsedOutputDevice)); // Load configuration LoadConfiguration(); Log.Information("LrControl application started, running {Version}", Environment.Version); }