Ejemplo n.º 1
0
 private FunctionGroupManager(IFunctionCatalog functionCatalog, Device device, List <ModuleGroup> modules)
 {
     _functionCatalog         = functionCatalog;
     _device                  = device;
     _device.ControllerAdded += DeviceOnControllerAdded;
     _modules                 = modules;
     OnPropertyChanged(nameof(Modules));
 }
Ejemplo n.º 2
0
 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)
     }));
 }
Ejemplo n.º 3
0
        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);
        }