public AddToPlaylistMessage(QueueTrack track, int position)
 {
     Tracks = new List <QueueTrack> {
         track
     };
     Position = position;
 }
Beispiel #2
0
        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();
            }
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 public void Play(QueueTrack queue)
 {
     throw new NotImplementedException();
 }
Beispiel #5
0
        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);
 }