public void OutputTrackModel(Track track, bool graphicalOutput = true, bool screenReaderOutput = true) { // need to decide if we want any unique logic here // for now, we just wrap it in a T.B.I as it suits var item = new TrackBufferItem(track); this.OutputTrackItem(item, graphicalOutput, screenReaderOutput); }
public void OutputTrackItem(TrackBufferItem item, bool graphicalOutput = true, bool screenReaderOutput = true) { if (UseGraphicalOutput && graphicalOutput) { var artistString = String.Format("{0} {1}", StringStore.By, item.GetArtistNames()); OutputMessageGraphically(item.Model.Name, artistString); } if (UseScreenReader && screenReaderOutput) { OutputMessageToScreenReader(item.ToString()); } }
private void HandleChangeOfTrack() { if (playbackManager.PlayingTrack == null) { _trayIcon.Text = "Blindspot"; } else { var trackItem = new TrackBufferItem(playbackManager.PlayingTrack); _trayIcon.Text = String.Format("Blindspot - {0}", trackItem.ToTruncatedString()); } }
public override void Execute(object sender, HandledEventArgs e) { var playQueue = buffers[0]; ClearCurrentlyPlayingTrack(); if (playbackManager.HasPreviousTracks) { var nextTrack = playbackManager.GetPreviousTrack(); var nextTrackItem = new TrackBufferItem(nextTrack); playQueue.Insert(0, nextTrackItem); PlayNewTrackBufferItem(nextTrackItem); playQueue.CurrentItemIndex = 0; } }
private void PlayTrackBufferItem(TrackBufferItem item) { var response = Session.LoadPlayer(item.Model.TrackPtr); if (response.IsError && !settings.SkipUnplayableTracks) { output.OutputMessage(StringStore.UnableToPlayTrack + response.Message, false); return; } if (response.IsError && settings.SkipUnplayableTracks) { HandleEndOfCurrentTrack(); return; // don't carry on with this, as it got handled in a recursive call } Session.Play(); playbackManager.PlayingTrack = item.Model; playbackManager.fullyDownloaded = false; playbackManager.Play(); output.OutputTrackModel(playbackManager.PlayingTrack, settings.OutputTrackChangesGraphically, settings.OutputTrackChangesWithSpeech); }
private void PlayNewTrackBufferItem(TrackBufferItem item) { var response = Session.LoadPlayer(item.Model.TrackPtr); if (response.IsError && !UserSettings.Instance.SkipUnplayableTracks) { _output.OutputMessage(StringStore.UnableToPlayTrack + response.Message, false); return; } if (response.IsError && UserSettings.Instance.SkipUnplayableTracks) { playbackManager.AddCurrentTrackToPreviousTracks(); playbackManager.PlayingTrack = null; buffers[0].RemoveAt(0); PlayNextQueuedTrack(); return; // don't carry on with this, as it got handled in a recursive call } Session.Play(); playbackManager.PlayingTrack = item.Model; playbackManager.fullyDownloaded = false; playbackManager.Play(); }
private void PlayNewTrackBufferItem(TrackBufferItem item) { var output = OutputManager.Instance; var settings = UserSettings.Instance; var response = Session.LoadPlayer(item.Model.TrackPtr); if (response.IsError && !settings.SkipUnplayableTracks) { output.OutputMessage(StringStore.UnableToPlayTrack + response.Message, false); return; } if (response.IsError && settings.SkipUnplayableTracks) { // move to next track again Execute(this, new HandledEventArgs()); return; } Session.Play(); playbackManager.PlayingTrack = item.Model; playbackManager.fullyDownloaded = false; playbackManager.Play(); output.OutputTrackModel(playbackManager.PlayingTrack, settings.OutputTrackChangesGraphically, settings.OutputTrackChangesWithSpeech); }