public ChromecastService(IDeviceLocator deviceLocator, ISender sender) { DeviceLocator = deviceLocator; Sender = sender; sender.GetChannel <IMediaChannel>().StatusChanged += MediaChannelStatusChanged; sender.GetChannel <IReceiverChannel>().StatusChanged += ReceiverChannelStatusChanged; }
public MidiController(string definitionPath, string profilePath, ILogger logger, IDeviceLocator deviceLocator) { _commandQueue = new ConcurrentQueue <ICommand>(); _definitionPath = definitionPath; _profilePath = profilePath; _logger = logger; _deviceLocator = deviceLocator; }
public void Initialize(Control control, ControlGroup controlGroup, MidiController midiController, ILogger logger, IDeviceLocator deviceLocator) { _midiController = midiController; this.Control = control; this.Logger = logger; this.ControlGroup = controlGroup; this.DeviceLocator = deviceLocator; }
/// <summary> /// Initializes a new instance of MainViewModel class /// </summary> /// <param name="deviceLocator">GoogleCast device locator</param> /// <param name="sender">GoogleCast sender</param> public MainViewModel(IDeviceLocator deviceLocator, ISender sender) { DeviceLocator = deviceLocator; Sender = sender; sender.GetChannel <IMediaChannel>().StatusChanged += MediaChannelStatusChanged; sender.GetChannel <IReceiverChannel>().StatusChanged += ReceiverChannelStatusChanged; PlayCommand = new RelayCommand(async() => await Try(PlayAsync), () => AreButtonsEnabled); PauseCommand = new RelayCommand(async() => await Try(PauseAsync), () => AreButtonsEnabled); StopCommand = new RelayCommand(async() => await Try(StopAsync), () => AreButtonsEnabled); RefreshCommand = new RelayCommand(async() => await Try(RefreshAsync), () => IsLoaded); if (!IsInDesignMode) { Task.Run(RefreshAsync); } }
private void Window_Loaded(object sender, RoutedEventArgs e) { _deviceLocator = new MMDeviceLocator(); _midiController = new MidiController( ".\\nanoKONTROL2.controller", ".\\nanoKONTROL2.commands", new TraceLogger(), _deviceLocator); _midiController.ControlChanged += _midiController_ControlChanged; _controlGroups = new Dictionary <string, ControlGroupUserControl>() { { "Group 1", this.Group1 }, { "Group 2", this.Group2 }, { "Group 3", this.Group3 }, { "Group 4", this.Group4 }, { "Group 5", this.Group5 }, { "Group 6", this.Group6 }, { "Group 7", this.Group7 }, { "Group 8", this.Group8 } }; _midiController.Start(); }
public static ICommand Create(string name, Control control, ControlGroup controlGroup, MidiController midiController, ILogger logger, IDeviceLocator deviceLocator) { lock (_controllerCommandsLock) { InitializeCommands(); if (_controllerCommands.TryGetValue(control.Controller, out var commandInstance)) { return(commandInstance); } else { if (_commands.TryGetValue(name, out var _commandType) || _commands.TryGetValue(name + "Command", out _commandType)) { commandInstance = Activator.CreateInstance(_commandType) as ICommand; if (commandInstance != null) { commandInstance.Initialize(control, controlGroup, midiController, logger, deviceLocator); } _controllerCommands.Add(control.Controller, commandInstance); return(commandInstance); } } return(null); } }
public void Initialize(Control control, ControlGroup controlGroup, MidiController midiController, ILogger logger, IDeviceLocator deviceLocator) { _deviceLocator = deviceLocator; _controlGroup = controlGroup; }