public AddToPlaylistMessage(QueueTrack track, int position) { Tracks = new List <QueueTrack> { track }; Position = position; }
public void Play(QueueTrack queue) { // Switch to the selected track MessageHelper.SendMessageToBackground(new TrackChangedMessage(queue.Id)); if (MediaPlayerState.Paused == BackgroundMediaPlayer.Current.CurrentState) { BackgroundMediaPlayer.Current.Play(); } }
private async Task <QueueTrack> InternalAddAsync(Track track, int position = -1) { var queue = new QueueTrack(track); if (position > -1 && position < PlaybackQueue.Count) { PlaybackQueue.Insert(position, queue); } else { PlaybackQueue.Add(queue); } MessageHelper.SendMessageToBackground(new AddToPlaylistMessage(queue, position)); await Task.Delay(50); return(queue); }
public void Play(QueueTrack queue) { throw new NotImplementedException(); }
protected override void Track(TrackingRecord record, TimeSpan timeout) { CustomTrackingRecord customTrackingRecord = record as CustomTrackingRecord; if (customTrackingRecord != null) { if (customTrackingRecord.Name == "Start" || customTrackingRecord.Name == "Route" || customTrackingRecord.Name == "Assign" || customTrackingRecord.Name == "UnAssign" || customTrackingRecord.Name == "QC") { QueueTrack t = new QueueTrack(); // Extract all the user data if ((customTrackingRecord != null) && (customTrackingRecord.Data.Count > 0)) { foreach (string key in customTrackingRecord.Data.Keys) { switch (key) { case "QueueInstanceKey": if (customTrackingRecord.Data[key] != null) { t.QueueInstanceKey = (Guid)customTrackingRecord.Data[key]; } break; case "SubQueueID": if (customTrackingRecord.Data[key] != null) { t.SubQueueID = (int)customTrackingRecord.Data[key]; } break; case "QC": if (customTrackingRecord.Data[key] != null) { t.QC = (bool)customTrackingRecord.Data[key]; } break; case "OperatorKey": if (customTrackingRecord.Data[key] != null) { t.OperatorKey = (Guid)customTrackingRecord.Data[key]; } break; } } } if (t.SubQueueID != null && t.QC == null) { t.QC = false; } t.EventType = customTrackingRecord.Name; t.EventDate = DateTime.UtcNow; // Insert a record into the TrackUser table UserTasksDataContext dc = new UserTasksDataContext(_connectionString); dc.QueueTracks.InsertOnSubmit(t); dc.SubmitChanges(); } } }
public static void Queue(this MediaSource item, QueueTrack queue) { Set(item, TrackKey, queue); }