Exemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PlaylistViewModel" /> class.
        /// </summary>
        /// <param name="publicTransport">The public transport.</param>
        /// <param name="playlistService">The playlist service.</param>
        /// <param name="dispatcher">The dispatcher.</param>
        /// <param name="playerService">The audio player service.</param>
        /// <param name="fileInfoBuilder">The fileInfoBuilder.</param>
        /// <param name="configurationManager">The configuration manager.</param>
        /// <param name="globalHotkeyService">The global hotkey service.</param>
        /// <param name="windowManager">The window manager.</param>
        /// <param name="searchView">The search view.</param>
        public PlaylistViewModel(IPublicTransport publicTransport,
                                 IPlaylistService playlistService,
                                 IDispatcher dispatcher,
                                 IPlayerService playerService,
                                 IInfoBuilder <StorableTaggedFile> fileInfoBuilder,
                                 IConfigurationManager configurationManager,
                                 IGlobalHotkeyService globalHotkeyService,
                                 IWindowManager windowManager,
                                 ISearchView searchView)
        {
            this.publicTransport = Guard.IsNull(() => publicTransport);
            Guard.IsNull(() => configurationManager);
            this.dispatcher          = Guard.IsNull(() => dispatcher);
            this.fileInfoBuilder     = Guard.IsNull(() => fileInfoBuilder);
            this.globalHotkeyService = Guard.IsNull(() => globalHotkeyService);
            this.windowManager       = Guard.IsNull(() => windowManager);
            this.searchView          = Guard.IsNull(() => searchView);
            publicTransport.ApplicationEventBus.Subscribe <PlaylistUpdatedEvent>(OnPlaylistUpdated);
            publicTransport.ApplicationEventBus.Subscribe <TrackChangedEvent>(OnTrackChanged);
            searchHotkey = configurationManager.GetValue("Search", new HotkeyDescriptor(ModifierKeys.Control | ModifierKeys.Alt, Key.J),
                                                         KnownConfigSections.GlobalHotkeys);
            searchHotkey.ValueChanged += SearchHotkeyOnValueChanged;
            globalHotkeyService.RegisterHotkey(searchHotkey.Value, OnSearch);
            searchView.PlayFile += SearchViewOnPlayFile;
            Files = new List <FileItem>(playlistService.Files.Select(x => new FileItem(x)));
            var currenTrack = playerService.CurrentTrackAsReadonly;

            if (null == currenTrack)
            {
                return;
            }
            SetPlayingFile(playlistService.Files.Find(x => x.Filename == currenTrack.Name));
        }
Exemplo n.º 2
0
        protected void RegisterHotkeys()
        {
            var playPauseValue = configurationManager.GetValue("Play/Pause", new HotkeyDescriptor(ModifierKeys.None, Key.MediaPlayPause), KnownConfigSections.GlobalHotkeys);

            playPauseValue.ValueChanged += PlayPauseValueOnValueChanged;
            var nextValue = configurationManager.GetValue("Next", new HotkeyDescriptor(ModifierKeys.None, Key.MediaNextTrack), KnownConfigSections.GlobalHotkeys);

            nextValue.ValueChanged += NextValueOnValueChanged;
            var previousValue = configurationManager.GetValue("Previous", new HotkeyDescriptor(ModifierKeys.None, Key.MediaPreviousTrack), KnownConfigSections.GlobalHotkeys);

            previousValue.ValueChanged += PreviousValueOnValueChanged;
            var stopValue = configurationManager.GetValue("Stop", new HotkeyDescriptor(ModifierKeys.None, Key.MediaStop), KnownConfigSections.GlobalHotkeys);

            stopValue.ValueChanged += StopValueOnValueChanged;
            hotkeyService.RegisterHotkey(playPauseValue.Value, PlayPause); // Closing in on a train wreck...
            hotkeyService.RegisterHotkey(nextValue.Value, Next);
            hotkeyService.RegisterHotkey(previousValue.Value, Previous);
            hotkeyService.RegisterHotkey(stopValue.Value, Stop);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PlaylistViewModel" /> class.
 /// </summary>
 /// <param name="publicTransport">The public transport.</param>
 /// <param name="playlistService">The playlist service.</param>
 /// <param name="dispatcher">The dispatcher.</param>
 /// <param name="playerService">The audio player service.</param>
 /// <param name="builder">The builder.</param>
 /// <param name="configurationManager">The configuration manager.</param>
 /// <param name="globalHotkeyService">The global hotkey service.</param>
 /// <param name="windowManager">The window manager.</param>
 /// <param name="searchView">The search view.</param>
 /// <param name="serializerService">The serializer service.</param>
 /// <param name="logger">The logger.</param>
 public PlaylistViewModel(IPublicTransport publicTransport,
                          IPlaylistService playlistService,
                          IDispatcher dispatcher,
                          IPlayerService playerService,
                          IInfoBuilder <StorableTaggedFile> builder,
                          IConfigurationManager configurationManager,
                          IGlobalHotkeyService globalHotkeyService,
                          IWindowManager windowManager,
                          ISearchView searchView,
                          ISerializerService serializerService,
                          ILogger logger)
     : base(logger)
 {
     publicTransport.Guard("publicTransport");
     playlistService.Guard("playlistService");
     dispatcher.Guard("dispatcher");
     playerService.Guard("playerService");
     builder.Guard("builder");
     configurationManager.Guard("configurationManager");
     globalHotkeyService.Guard("globalHotkeyService");
     windowManager.Guard("windowManager");
     searchView.Guard("searchView");
     serializerService.Guard("serializerService");
     this.playlistService     = playlistService;
     this.dispatcher          = dispatcher;
     this.playerService       = playerService;
     this.builder             = builder;
     this.globalHotkeyService = globalHotkeyService;
     this.windowManager       = windowManager;
     this.searchView          = searchView;
     publicTransport.ApplicationEventBus.Subscribe <PlaylistUpdatedEvent>(OnPlaylistUpdated);
     publicTransport.ApplicationEventBus.Subscribe <TrackChangedEvent>(OnTrackChanged);
     searchHotkey = configurationManager.GetValue("Search", new HotkeyDescriptor(ModifierKeys.Control | ModifierKeys.Alt, Key.J),
                                                  KnownConfigSections.GlobalHotkeys);
     searchHotkey.ValueChanged += SearchHotkeyOnValueChanged;
     globalHotkeyService.RegisterHotkey(searchHotkey.Value, OnSearch);
     //globalHotkeyService.RegisterHotkey(new HotkeyDescriptor(ModifierKeys.None, Key.A), () => MessageBox.Show("Stuff"));
     searchView.PlayFile += SearchViewOnPlayFile;
     Files = new List <FileItem>(playlistService.Files.Select(x => new FileItem(x)));
 }