예제 #1
0
 public TVSession()
 {
     Log.Info("MCEDisplay.TVSession: Creating TV session");
     MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.TVTuner };
     object[] vals = new object[] { true };
     base.SetStatus(tags, vals);
 }
예제 #2
0
 public override void Dispose()
 {
     Log.Info("MCEDisplay.HomeSession: Closing Home Session");
     MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.SessionEnd };
     object[] vals = new object[] { true };
     base.SetStatus(tags, vals);
     base.Dispose();
 }
예제 #3
0
 public HomeSession()
 {
     Log.Info("MCEDisplay.HomeSession: Creating HOME session");
     MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[1];
     object[] vals = new object[1];
     tags[0] = MediaStatusPropertyTag.FS_Home;
     vals[0] = true;
     base.SetStatus(tags, vals);
 }
예제 #4
0
 public RecordedTVSession()
 {
     Log.Info("MCEDisplay.RecordedTVSession: Creating Recording session");
     MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.PVR };
     object[] vals = new object[] { true };
     base.SetStatus(tags, vals);
     tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Play };
     vals = new object[] { true };
     base.SetStatus(tags, vals);
 }
예제 #5
0
            public RadioSession()
            {
                Log.Info("MCEDisplay.RadioSession: Creating Radio session");
                string property = GUIPropertyManager.GetProperty("#Play.Current.Title");

                MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[]
                { MediaStatusPropertyTag.Radio, MediaStatusPropertyTag.RadioFrequency };
                object[] vals = new object[] { true, property };
                base.SetStatus(tags, vals);
                Log.Info("MCEDisplay.RadioSession: Playing radio station {0}", new object[] { property });
                tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Play };
                vals = new object[] { true };
                base.SetStatus(tags, vals);
            }
예제 #6
0
 public override void Dispose()
 {
     Log.Info("MCEDisplay.MusicSession: STOPPING music session");
     MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Stop };
     object[] vals = new object[] { true };
     base.SetStatus(tags, vals);
     Thread.Sleep(0x19);
     tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Stop };
     vals = new object[] { true };
     base.SetStatus(tags, vals);
     Thread.Sleep(0x19);
     tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.StreamingContentAudio };
     vals = new object[] { false };
     base.SetStatus(tags, vals);
     base.Dispose();
 }
예제 #7
0
            public override void Process()
            {
                MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[0];
                object[] vals     = new object[0];
                string   property = GUIPropertyManager.GetProperty("#Play.Current.Title");

                base.GetDuration2Int("#currentplaytime");
                if (!property.Equals(this.LastStation))
                {
                    tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.RadioFrequency };
                    vals = new object[] { property };
                    base.SetStatus(tags, vals);
                    Log.Info("MCEDisplay.RadioSession.Process(): Updating currentStation to \"{0}\" ", new object[] { property });
                    this.LastStation = property;
                }
            }
예제 #8
0
 public override void Dispose()
 {
     Log.Info("MCEDisplay.RadioSession: STOPPING Radio session");
     MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Stop };
     object[] vals = new object[] { true };
     base.SetStatus(tags, vals);
     Thread.Sleep(0x19);
     tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Stop };
     vals = new object[] { true };
     base.SetStatus(tags, vals);
     Thread.Sleep(0x19);
     tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Radio, MediaStatusPropertyTag.RadioFrequency };
     vals = new object[] { false, string.Empty };
     base.SetStatus(tags, vals);
     base.Dispose();
 }
예제 #9
0
 public override void Dispose()
 {
     Log.Info("MCEDisplay.TVSession: Stopping TV session");
     MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Stop };
     object[] vals = new object[] { true };
     base.SetStatus(tags, vals);
     Thread.Sleep(0x19);
     tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Stop };
     vals = new object[] { true };
     base.SetStatus(tags, vals);
     Thread.Sleep(0x19);
     tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.TVTuner };
     vals = new object[] { true };
     base.SetStatus(tags, vals);
     Thread.Sleep(0x19);
     base.Dispose();
 }
예제 #10
0
 public VideoSession()
 {
     Log.Info("MCEDisplay.VideoSession: Creating Video session");
     MediaStatusPropertyTag[] tags = null;
     object[] vals = null;
     tags = new MediaStatusPropertyTag[]
     {
         MediaStatusPropertyTag.StreamingContentVideo, MediaStatusPropertyTag.MediaName,
         MediaStatusPropertyTag.MediaTime, MediaStatusPropertyTag.TrackTime
     };
     vals = new object[]
     { true, GUIPropertyManager.GetProperty("#Play.Current.Title"), base.GetDuration2Int("#duration"), 0 };
     base.SetStatus(tags, vals);
     tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Play };
     vals = new object[] { true };
     base.SetStatus(tags, vals);
 }
예제 #11
0
 public override void Process()
 {
     try
     {
         this.program  = GUIPropertyManager.GetProperty("#TV.RecordedTV.Title");
         this.time     = base.GetDuration2Int("#currentplaytime");
         this.duration = base.GetDuration2Int("#duration");
         Log.Info("MCEDisplay.RecordedTVSession: Playing TV Recording: {0} ({1} of {2})",
                  new object[] { this.program, this.time, this.duration });
         if (((this.program.Length != 0) && (this.time >= 0)) && (this.duration > 0))
         {
             MediaStatusPropertyTag[] tagArray;
             object[] objArray;
             if (this.oldProgram != this.program)
             {
                 tagArray = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.ParentalAdvisoryRating };
                 objArray = new object[] { GUIPropertyManager.GetProperty("#TV.RecordedTV.Time") };
                 base.SetStatus(tagArray, objArray);
                 tagArray = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.TrackTime };
                 objArray = new object[] { this.time };
                 base.SetStatus(tagArray, objArray);
                 tagArray = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.MediaName };
                 objArray = new object[] { this.program };
                 base.SetStatus(tagArray, objArray);
                 tagArray = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.MediaTime };
                 objArray = new object[] { this.duration };
                 base.SetStatus(tagArray, objArray);
                 this.oldProgram = this.program;
             }
             if (this.time != this.oldTime)
             {
                 tagArray = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.TrackTime };
                 objArray = new object[] { this.time };
                 base.SetStatus(tagArray, objArray);
                 this.oldTime = this.time;
             }
         }
     }
     catch (ApplicationException exception)
     {
         Log.Info("MCEDisplay.RecordedTVSession: Exception occurred: {0}\nStackTrace:{1} ",
                  new object[] { exception.Message, exception.StackTrace });
     }
 }
예제 #12
0
            public MusicSession()
            {
                Log.Info("MCEDisplay.MusicSession: Creating music session");
                string property = GUIPropertyManager.GetProperty("#duration");
                string str2     = GUIPropertyManager.GetProperty("#Play.Current.Album");
                string str3     = GUIPropertyManager.GetProperty("#Play.Current.Artist");
                string str4     = GUIPropertyManager.GetProperty("#Play.Current.Title");

                MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[]
                {
                    MediaStatusPropertyTag.StreamingContentAudio, MediaStatusPropertyTag.Shuffle
                    ,
                    MediaStatusPropertyTag.RepeatSet, MediaStatusPropertyTag.MediaName,
                    MediaStatusPropertyTag.ArtistName, MediaStatusPropertyTag.TrackName,
                    MediaStatusPropertyTag.TrackDuration, MediaStatusPropertyTag.TrackTime
                };
                object[] vals = new object[] { true, false, false, str2, str3, str4, base.GetDuration2Int("#duration"), 0 };
                base.SetStatus(tags, vals);
                Log.Info("MCEDisplay.MusicSession: Playing {0} by {1} from the album {2} duration {3}",
                         new object[] { str4, str3, str2, property });
                tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Play };
                vals = new object[] { true };
                base.SetStatus(tags, vals);
            }
예제 #13
0
 public void Reset()
 {
     this.oldMenu = MediaStatusPropertyTag.FS_Extensibility;
     this.Process();
 }
예제 #14
0
            public override void Process()
            {
                MediaStatusPropertyTag tag;

                MiniDisplayHelper.GetSystemStatus(ref this.MPStatus);
                switch (GUIWindowManager.ActiveWindow)
                {
                case 0:
                    tag = MediaStatusPropertyTag.FS_Home;
                    break;

                case 1:
                case 0x1e14:
                case 0x1e15:
                case 600:
                case 0x259:
                case 0x25a:
                case 0x25b:
                case 0x25c:
                case 0x25d:
                case 0x25e:
                    tag = MediaStatusPropertyTag.FS_TV;
                    break;

                case 2:
                case 0x7d7:
                    tag = MediaStatusPropertyTag.FS_Photos;
                    break;

                case 5:
                case 500:
                case 0x1f5:
                case 0x1f6:
                case 0x1f7:
                case 0x1f8:
                case 0x1f9:
                case 0x1fa:
                case 0x1fb:
                case 0x7d1:
                case 0x7d4:
                    tag = MediaStatusPropertyTag.FS_Music;
                    break;

                case 6:
                case 0x15:
                case 0x16:
                case 0x17:
                case 0x19:
                case 0x1c:
                case 0xbb8:
                case 0x7d3:
                    tag = MediaStatusPropertyTag.FS_Videos;
                    break;

                case 30:
                    tag = MediaStatusPropertyTag.FS_Radio;
                    break;

                case 0x7d5:
                    if (this.MPStatus.Media_IsTV || this.MPStatus.Media_IsTVRecording)
                    {
                        tag = MediaStatusPropertyTag.FS_RecordedShows;
                    }
                    else
                    {
                        tag = MediaStatusPropertyTag.FS_Extensibility;
                    }
                    break;

                default:
                    tag = MediaStatusPropertyTag.FS_Extensibility;
                    break;
                }
                if (tag != this.oldMenu)
                {
                    Log.Info("MCEDisplay.HomeSession: Updating home status to {0} (window = {1})",
                             new object[] { tag.ToString(), GUIWindowManager.ActiveWindow.ToString() });
                    MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] { this.oldMenu, tag };
                    object[] vals = new object[] { false, true };
                    base.SetStatus(tags, vals);
                    this.oldMenu = tag;
                }
            }
예제 #15
0
      public override void Process()
      {
        MediaStatusPropertyTag tag;
        MiniDisplayHelper.GetSystemStatus(ref this.MPStatus);
        switch (GUIWindowManager.ActiveWindow)
        {
          case 0:
            tag = MediaStatusPropertyTag.FS_Home;
            break;

          case 1:
          case 0x1e14:
          case 0x1e15:
          case 600:
          case 0x259:
          case 0x25a:
          case 0x25b:
          case 0x25c:
          case 0x25d:
          case 0x25e:
            tag = MediaStatusPropertyTag.FS_TV;
            break;

          case 2:
          case 0x7d7:
            tag = MediaStatusPropertyTag.FS_Photos;
            break;

          case 5:
          case 500:
          case 0x1f5:
          case 0x1f6:
          case 0x1f7:
          case 0x1f8:
          case 0x1f9:
          case 0x1fa:
          case 0x1fb:
          case 0x7d1:
          case 0x7d4:
            tag = MediaStatusPropertyTag.FS_Music;
            break;

          case 6:
          case 0x15:
          case 0x16:
          case 0x17:
          case 0x19:
          case 0x1c:
          case 0xbb8:
          case 0x7d3:
            tag = MediaStatusPropertyTag.FS_Videos;
            break;

          case 30:
            tag = MediaStatusPropertyTag.FS_Radio;
            break;

          case 0x7d5:
            if (this.MPStatus.Media_IsTV || this.MPStatus.Media_IsTVRecording)
            {
              tag = MediaStatusPropertyTag.FS_RecordedShows;
            }
            else
            {
              tag = MediaStatusPropertyTag.FS_Extensibility;
            }
            break;

          default:
            tag = MediaStatusPropertyTag.FS_Extensibility;
            break;
        }
        if (tag != this.oldMenu)
        {
          Log.Info("MCEDisplay.HomeSession: Updating home status to {0} (window = {1})",
                   new object[] {tag.ToString(), GUIWindowManager.ActiveWindow.ToString()});
          MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] {this.oldMenu, tag};
          object[] vals = new object[] {false, true};
          base.SetStatus(tags, vals);
          this.oldMenu = tag;
        }
      }
예제 #16
0
 public void Reset()
 {
   this.oldMenu = MediaStatusPropertyTag.FS_Extensibility;
   this.Process();
 }
예제 #17
0
 public override void Process()
 {
   MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[0];
   object[] vals = new object[0];
   string property = GUIPropertyManager.GetProperty("#Play.Current.Title");
   base.GetDuration2Int("#currentplaytime");
   if (!property.Equals(this.LastStation))
   {
     tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.RadioFrequency};
     vals = new object[] {property};
     base.SetStatus(tags, vals);
     Log.Info("MCEDisplay.RadioSession.Process(): Updating currentStation to \"{0}\" ", new object[] {property});
     this.LastStation = property;
   }
 }
예제 #18
0
 public MusicSession()
 {
   Log.Info("MCEDisplay.MusicSession: Creating music session");
   string property = GUIPropertyManager.GetProperty("#duration");
   string str2 = GUIPropertyManager.GetProperty("#Play.Current.Album");
   string str3 = GUIPropertyManager.GetProperty("#Play.Current.Artist");
   string str4 = GUIPropertyManager.GetProperty("#Play.Current.Title");
   MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[]
                                     {
                                       MediaStatusPropertyTag.StreamingContentAudio, MediaStatusPropertyTag.Shuffle
                                       ,
                                       MediaStatusPropertyTag.RepeatSet, MediaStatusPropertyTag.MediaName,
                                       MediaStatusPropertyTag.ArtistName, MediaStatusPropertyTag.TrackName,
                                       MediaStatusPropertyTag.TrackDuration, MediaStatusPropertyTag.TrackTime
                                     };
   object[] vals = new object[] {true, false, false, str2, str3, str4, base.GetDuration2Int("#duration"), 0};
   base.SetStatus(tags, vals);
   Log.Info("MCEDisplay.MusicSession: Playing {0} by {1} from the album {2} duration {3}",
            new object[] {str4, str3, str2, property});
   tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Play};
   vals = new object[] {true};
   base.SetStatus(tags, vals);
 }
예제 #19
0
 public RadioSession()
 {
   Log.Info("MCEDisplay.RadioSession: Creating Radio session");
   string property = GUIPropertyManager.GetProperty("#Play.Current.Title");
   MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[]
                                     {MediaStatusPropertyTag.Radio, MediaStatusPropertyTag.RadioFrequency};
   object[] vals = new object[] {true, property};
   base.SetStatus(tags, vals);
   Log.Info("MCEDisplay.RadioSession: Playing radio station {0}", new object[] {property});
   tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Play};
   vals = new object[] {true};
   base.SetStatus(tags, vals);
 }
예제 #20
0
 public override void Dispose()
 {
   Log.Info("MCEDisplay.TVSession: Stopping TV session");
   MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Stop};
   object[] vals = new object[] {true};
   base.SetStatus(tags, vals);
   Thread.Sleep(0x19);
   tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Stop};
   vals = new object[] {true};
   base.SetStatus(tags, vals);
   Thread.Sleep(0x19);
   tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.TVTuner};
   vals = new object[] {true};
   base.SetStatus(tags, vals);
   Thread.Sleep(0x19);
   base.Dispose();
 }
예제 #21
0
 public TVSession()
 {
   Log.Info("MCEDisplay.TVSession: Creating TV session");
   MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.TVTuner};
   object[] vals = new object[] {true};
   base.SetStatus(tags, vals);
 }
예제 #22
0
 public override void Process()
 {
   try
   {
     this.program = GUIPropertyManager.GetProperty("#TV.RecordedTV.Title");
     this.time = base.GetDuration2Int("#currentplaytime");
     this.duration = base.GetDuration2Int("#duration");
     Log.Info("MCEDisplay.RecordedTVSession: Playing TV Recording: {0} ({1} of {2})",
              new object[] {this.program, this.time, this.duration});
     if (((this.program.Length != 0) && (this.time >= 0)) && (this.duration > 0))
     {
       MediaStatusPropertyTag[] tagArray;
       object[] objArray;
       if (this.oldProgram != this.program)
       {
         tagArray = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.ParentalAdvisoryRating};
         objArray = new object[] {GUIPropertyManager.GetProperty("#TV.RecordedTV.Time")};
         base.SetStatus(tagArray, objArray);
         tagArray = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.TrackTime};
         objArray = new object[] {this.time};
         base.SetStatus(tagArray, objArray);
         tagArray = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.MediaName};
         objArray = new object[] {this.program};
         base.SetStatus(tagArray, objArray);
         tagArray = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.MediaTime};
         objArray = new object[] {this.duration};
         base.SetStatus(tagArray, objArray);
         this.oldProgram = this.program;
       }
       if (this.time != this.oldTime)
       {
         tagArray = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.TrackTime};
         objArray = new object[] {this.time};
         base.SetStatus(tagArray, objArray);
         this.oldTime = this.time;
       }
     }
   }
   catch (ApplicationException exception)
   {
     Log.Info("MCEDisplay.RecordedTVSession: Exception occurred: {0}\nStackTrace:{1} ",
              new object[] {exception.Message, exception.StackTrace});
   }
 }
예제 #23
0
 public RecordedTVSession()
 {
   Log.Info("MCEDisplay.RecordedTVSession: Creating Recording session");
   MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.PVR};
   object[] vals = new object[] {true};
   base.SetStatus(tags, vals);
   tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Play};
   vals = new object[] {true};
   base.SetStatus(tags, vals);
 }
예제 #24
0
      public override void Process()
      {
        MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[0];
        object[] vals = new object[0];
        string property = GUIPropertyManager.GetProperty("#currentplaytime");
        int num = base.Duration2Int(property);
        MiniDisplayHelper.GetSystemStatus(ref this.MPStatus);
        int num2 = -1;
        if (this.MPStatus.MediaPlayer_Paused)
        {
          num2 = 1;
        }
        else if (this.MPStatus.Media_Speed == 1)
        {
          num2 = 2;
        }
        else if (this.MPStatus.Media_Speed > 1)
        {
          num2 = 3;
        }
        else if (this.MPStatus.Media_Speed < 0)
        {
          num2 = 4;
        }
        else if (((this.MPStatus.Media_Speed == 0) ||
                  (!this.MPStatus.MediaPlayer_Paused & !this.MPStatus.MediaPlayer_Playing)) ||
                 !this.MPStatus.MediaPlayer_Active)
        {
          num2 = 5;
        }
        if (num2 != this.LastPlayState)
        {
          switch (num2)
          {
            case 1:
              tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Pause};
              vals = new object[] {true};
              Log.Info("MCEDisplay.MusicSession.Process(): Updating PlayState to PAUSED");
              base.SetStatus(tags, vals);
              break;

            case 2:
              tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Play};
              vals = new object[] {true};
              Log.Info("MCEDisplay.MusicSession.Process(): Updating PlayState to PLAY");
              base.SetStatus(tags, vals);
              break;

            case 3:
              tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.FF1};
              vals = new object[] {true};
              Log.Info("MCEDisplay.MusicSession.Process(): Updating PlayState to FASTFORWARD");
              base.SetStatus(tags, vals);
              break;

            case 4:
              tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Rewind1};
              vals = new object[] {true};
              Log.Info("MCEDisplay.MusicSession.Process(): Updating PlayState to REWIND");
              base.SetStatus(tags, vals);
              break;

            default:
              if (num2 == 4)
              {
                tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Stop, MediaStatusPropertyTag.MediaControl};
                vals = new object[] {true, false};
                Log.Info("MCEDisplay.MusicSession.Process(): Updating PlayState to STOP");
                base.SetStatus(tags, vals);
              }
              break;
          }
          this.LastPlayState = num2;
        }
        if (property != this.LastPlayTime)
        {
          tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.TrackTime};
          vals = new object[] {num};
          base.SetStatus(tags, vals);
          this.LastPlayTime = property;
          Log.Info("MCEDisplay.MusicSession.Process(): Updating TrackTime to {0} ", new object[] {num});
        }
      }
예제 #25
0
            public override void Process()
            {
                MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[0];
                object[] vals     = new object[0];
                string   property = GUIPropertyManager.GetProperty("#currentplaytime");
                int      num      = base.Duration2Int(property);

                MiniDisplayHelper.GetSystemStatus(ref this.MPStatus);
                int num2 = -1;

                if (this.MPStatus.MediaPlayer_Paused)
                {
                    num2 = 1;
                }
                else if (this.MPStatus.Media_Speed == 1)
                {
                    num2 = 2;
                }
                else if (this.MPStatus.Media_Speed > 1)
                {
                    num2 = 3;
                }
                else if (this.MPStatus.Media_Speed < 0)
                {
                    num2 = 4;
                }
                else if (((this.MPStatus.Media_Speed == 0) ||
                          (!this.MPStatus.MediaPlayer_Paused & !this.MPStatus.MediaPlayer_Playing)) ||
                         !this.MPStatus.MediaPlayer_Active)
                {
                    num2 = 5;
                }
                if (num2 != this.LastPlayState)
                {
                    switch (num2)
                    {
                    case 1:
                        tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Pause };
                        vals = new object[] { true };
                        Log.Info("MCEDisplay.MusicSession.Process(): Updating PlayState to PAUSED");
                        base.SetStatus(tags, vals);
                        break;

                    case 2:
                        tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Play };
                        vals = new object[] { true };
                        Log.Info("MCEDisplay.MusicSession.Process(): Updating PlayState to PLAY");
                        base.SetStatus(tags, vals);
                        break;

                    case 3:
                        tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.FF1 };
                        vals = new object[] { true };
                        Log.Info("MCEDisplay.MusicSession.Process(): Updating PlayState to FASTFORWARD");
                        base.SetStatus(tags, vals);
                        break;

                    case 4:
                        tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Rewind1 };
                        vals = new object[] { true };
                        Log.Info("MCEDisplay.MusicSession.Process(): Updating PlayState to REWIND");
                        base.SetStatus(tags, vals);
                        break;

                    default:
                        if (num2 == 4)
                        {
                            tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Stop, MediaStatusPropertyTag.MediaControl };
                            vals = new object[] { true, false };
                            Log.Info("MCEDisplay.MusicSession.Process(): Updating PlayState to STOP");
                            base.SetStatus(tags, vals);
                        }
                        break;
                    }
                    this.LastPlayState = num2;
                }
                if (property != this.LastPlayTime)
                {
                    tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.TrackTime };
                    vals = new object[] { num };
                    base.SetStatus(tags, vals);
                    this.LastPlayTime = property;
                    Log.Info("MCEDisplay.MusicSession.Process(): Updating TrackTime to {0} ", new object[] { num });
                }
            }
예제 #26
0
 protected static void SetStatus(IMediaStatusSession[] sessions, MediaStatusPropertyTag[] tags, object[] vals)
 {
   for (int i = 0; i < sessions.Length; i++)
   {
     try
     {
       sessions[i].MediaStatusChange(tags, vals);
     }
     catch (Exception exception)
     {
       Log.Info(
         "MCEDisplay.MCESession.SetStatus(): CAUGHT EXCEPTION setting status for session driver # {0}: {1}",
         new object[] {i, exception});
     }
   }
 }
예제 #27
0
 public override void Dispose()
 {
   Log.Info("MCEDisplay.HomeSession: Closing Home Session");
   MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.SessionEnd};
   object[] vals = new object[] {true};
   base.SetStatus(tags, vals);
   base.Dispose();
 }
예제 #28
0
 public override void Dispose()
 {
   Log.Info("MCEDisplay.RadioSession: STOPPING Radio session");
   MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Stop};
   object[] vals = new object[] {true};
   base.SetStatus(tags, vals);
   Thread.Sleep(0x19);
   tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Stop};
   vals = new object[] {true};
   base.SetStatus(tags, vals);
   Thread.Sleep(0x19);
   tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Radio, MediaStatusPropertyTag.RadioFrequency};
   vals = new object[] {false, string.Empty};
   base.SetStatus(tags, vals);
   base.Dispose();
 }
예제 #29
0
 public override void Process()
 {
   try
   {
     this.program = GUIPropertyManager.GetProperty("#TV.View.title");
     this.channel = GUIPropertyManager.GetProperty("#TV.View.channel");
     this.start = base.Time2Int("#TV.View.start");
     this.end = base.Time2Int("#TV.View.stop");
     Log.Info("MCEDisplay.TVSession: Playing TV: {0} on {1} from {2} -> {3}",
              new object[] {this.program, this.channel, this.start, this.end});
     if (((this.program.Length != 0) && (this.channel.Length != 0)) && ((this.end >= 0) && (this.start >= 0)))
     {
       MediaStatusPropertyTag[] tagArray;
       object[] objArray;
       int num3;
       if (this.channel != this.oldChannel)
       {
         int index = this.channel.IndexOf(' ');
         int num2 = 1;
         if (((index > 0) && (this.channel[0] >= '0')) && (this.channel[1] <= '9'))
         {
           num2 = int.Parse(this.channel.Substring(0, index));
         }
         tagArray = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.TrackNumber};
         objArray = new object[] {num2};
         base.SetStatus(tagArray, objArray);
         tagArray = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Play};
         objArray = new object[] {this.playing};
         base.SetStatus(tagArray, objArray);
         if (this.oldChannel.Length != 0)
         {
           Thread.Sleep(100);
           base.SetStatus(tagArray, objArray);
         }
         tagArray = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.ParentalAdvisoryRating};
         objArray = new object[] {""};
         base.SetStatus(tagArray, objArray);
         this.oldChannel = this.channel;
       }
       if (((this.program != this.oldProgram) || (this.end != this.oldEnd)) || (this.start != this.oldStart))
       {
         num3 = ((int)DateTime.Now.TimeOfDay.TotalSeconds) - this.start;
         tagArray = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.TrackTime};
         objArray = new object[] {num3};
         base.SetStatus(tagArray, objArray);
         this.oldTime = num3;
         if (this.program.Length == 0)
         {
           this.program = GUILocalizeStrings.Get(0x2e0);
         }
         tagArray = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.MediaName};
         objArray = new object[] {this.program};
         base.SetStatus(tagArray, objArray);
         tagArray = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.MediaTime};
         objArray = new object[] {this.end - this.start};
         base.SetStatus(tagArray, objArray);
         this.oldProgram = this.program;
         this.oldEnd = this.end;
         this.oldStart = this.start;
       }
       num3 = ((int)DateTime.Now.TimeOfDay.TotalSeconds) - this.start;
       if (num3 != this.oldTime)
       {
         tagArray = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.TrackTime};
         objArray = new object[] {num3};
         base.SetStatus(tagArray, objArray);
         this.oldTime = num3;
       }
     }
   }
   catch (ApplicationException exception)
   {
     Log.Info("MCEDisplay.TVSession: Exception occurred: {0}\nStackTrace:{1} ",
              new object[] {exception.Message, exception.StackTrace});
   }
 }
예제 #30
0
 protected void SetStatus(MediaStatusPropertyTag[] tags, object[] vals)
 {
   SetStatus(this.session, tags, vals);
 }
예제 #31
0
 public VideoSession()
 {
   Log.Info("MCEDisplay.VideoSession: Creating Video session");
   MediaStatusPropertyTag[] tags = null;
   object[] vals = null;
   tags = new MediaStatusPropertyTag[]
            {
              MediaStatusPropertyTag.StreamingContentVideo, MediaStatusPropertyTag.MediaName,
              MediaStatusPropertyTag.MediaTime, MediaStatusPropertyTag.TrackTime
            };
   vals = new object[]
            {true, GUIPropertyManager.GetProperty("#Play.Current.Title"), base.GetDuration2Int("#duration"), 0};
   base.SetStatus(tags, vals);
   tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Play};
   vals = new object[] {true};
   base.SetStatus(tags, vals);
 }
예제 #32
0
 public override void Dispose()
 {
   Log.Info("MCEDisplay.VideoSession: Stopping Video session");
   MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Stop};
   object[] vals = new object[] {true};
   base.SetStatus(tags, vals);
   Thread.Sleep(0x19);
   tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Stop};
   vals = new object[] {true};
   base.SetStatus(tags, vals);
   Thread.Sleep(0x19);
   tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.StreamingContentVideo};
   vals = new object[] {false};
   base.SetStatus(tags, vals);
   Thread.Sleep(0x19);
   base.Dispose();
 }
예제 #33
0
 public override void Process()
 {
     try
     {
         this.program = GUIPropertyManager.GetProperty("#TV.View.title");
         this.channel = GUIPropertyManager.GetProperty("#TV.View.channel");
         this.start   = base.Time2Int("#TV.View.start");
         this.end     = base.Time2Int("#TV.View.stop");
         Log.Info("MCEDisplay.TVSession: Playing TV: {0} on {1} from {2} -> {3}",
                  new object[] { this.program, this.channel, this.start, this.end });
         if (((this.program.Length != 0) && (this.channel.Length != 0)) && ((this.end >= 0) && (this.start >= 0)))
         {
             MediaStatusPropertyTag[] tagArray;
             object[] objArray;
             int      num3;
             if (this.channel != this.oldChannel)
             {
                 int index = this.channel.IndexOf(' ');
                 int num2  = 1;
                 if (((index > 0) && (this.channel[0] >= '0')) && (this.channel[1] <= '9'))
                 {
                     num2 = int.Parse(this.channel.Substring(0, index));
                 }
                 tagArray = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.TrackNumber };
                 objArray = new object[] { num2 };
                 base.SetStatus(tagArray, objArray);
                 tagArray = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Play };
                 objArray = new object[] { this.playing };
                 base.SetStatus(tagArray, objArray);
                 if (this.oldChannel.Length != 0)
                 {
                     Thread.Sleep(100);
                     base.SetStatus(tagArray, objArray);
                 }
                 tagArray = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.ParentalAdvisoryRating };
                 objArray = new object[] { "" };
                 base.SetStatus(tagArray, objArray);
                 this.oldChannel = this.channel;
             }
             if (((this.program != this.oldProgram) || (this.end != this.oldEnd)) || (this.start != this.oldStart))
             {
                 num3     = ((int)DateTime.Now.TimeOfDay.TotalSeconds) - this.start;
                 tagArray = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.TrackTime };
                 objArray = new object[] { num3 };
                 base.SetStatus(tagArray, objArray);
                 this.oldTime = num3;
                 if (this.program.Length == 0)
                 {
                     this.program = GUILocalizeStrings.Get(0x2e0);
                 }
                 tagArray = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.MediaName };
                 objArray = new object[] { this.program };
                 base.SetStatus(tagArray, objArray);
                 tagArray = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.MediaTime };
                 objArray = new object[] { this.end - this.start };
                 base.SetStatus(tagArray, objArray);
                 this.oldProgram = this.program;
                 this.oldEnd     = this.end;
                 this.oldStart   = this.start;
             }
             num3 = ((int)DateTime.Now.TimeOfDay.TotalSeconds) - this.start;
             if (num3 != this.oldTime)
             {
                 tagArray = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.TrackTime };
                 objArray = new object[] { num3 };
                 base.SetStatus(tagArray, objArray);
                 this.oldTime = num3;
             }
         }
     }
     catch (ApplicationException exception)
     {
         Log.Info("MCEDisplay.TVSession: Exception occurred: {0}\nStackTrace:{1} ",
                  new object[] { exception.Message, exception.StackTrace });
     }
 }
예제 #34
0
      public override void Process()
      {
        MediaStatusPropertyTag[] tags = null;
        object[] vals = null;
        base.SetStatus(tags, vals);
        MiniDisplayHelper.GetSystemStatus(ref this.MPStatus);
        int num = -1;
        if (this.MPStatus.MediaPlayer_Paused)
        {
          num = 1;
        }
        else if (this.MPStatus.Media_Speed == 1)
        {
          num = 2;
        }
        else if (this.MPStatus.Media_Speed > 1)
        {
          num = 3;
        }
        else if (this.MPStatus.Media_Speed < 0)
        {
          num = 4;
        }
        else if (!this.MPStatus.MediaPlayer_Paused & !this.MPStatus.MediaPlayer_Playing)
        {
          num = 4;
        }
        if (num != this.LastPlayState)
        {
          switch (num)
          {
            case 1:
              tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Pause};
              vals = new object[] {true};
              Log.Info("MCEDisplay.VideoSession.Process(): Updating PlayState to PAUSED");
              base.SetStatus(tags, vals);
              break;

            case 2:
              tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Play};
              vals = new object[] {true};
              Log.Info("MCEDisplay.VideoSession.Process(): Updating PlayState to PLAY");
              base.SetStatus(tags, vals);
              break;

            case 3:
              tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.FF1};
              vals = new object[] {true};
              Log.Info("MCEDisplay.VideoSession.Process(): Updating PlayState to FASTFORWARD");
              base.SetStatus(tags, vals);
              break;

            case 4:
              tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.Rewind1};
              vals = new object[] {true};
              Log.Info("MCEDisplay.VideoSession.Process(): Updating PlayState to REWIND");
              base.SetStatus(tags, vals);
              break;
          }
          this.LastPlayState = num;
        }
        tags = new MediaStatusPropertyTag[] {MediaStatusPropertyTag.TrackTime};
        vals = new object[] {base.GetDuration2Int("#currentplaytime")};
        base.SetStatus(tags, vals);
      }
예제 #35
0
            public override void Process()
            {
                MediaStatusPropertyTag[] tags = null;
                object[] vals = null;
                base.SetStatus(tags, vals);
                MiniDisplayHelper.GetSystemStatus(ref this.MPStatus);
                int num = -1;

                if (this.MPStatus.MediaPlayer_Paused)
                {
                    num = 1;
                }
                else if (this.MPStatus.Media_Speed == 1)
                {
                    num = 2;
                }
                else if (this.MPStatus.Media_Speed > 1)
                {
                    num = 3;
                }
                else if (this.MPStatus.Media_Speed < 0)
                {
                    num = 4;
                }
                else if (!this.MPStatus.MediaPlayer_Paused & !this.MPStatus.MediaPlayer_Playing)
                {
                    num = 4;
                }
                if (num != this.LastPlayState)
                {
                    switch (num)
                    {
                    case 1:
                        tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Pause };
                        vals = new object[] { true };
                        Log.Info("MCEDisplay.VideoSession.Process(): Updating PlayState to PAUSED");
                        base.SetStatus(tags, vals);
                        break;

                    case 2:
                        tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Play };
                        vals = new object[] { true };
                        Log.Info("MCEDisplay.VideoSession.Process(): Updating PlayState to PLAY");
                        base.SetStatus(tags, vals);
                        break;

                    case 3:
                        tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.FF1 };
                        vals = new object[] { true };
                        Log.Info("MCEDisplay.VideoSession.Process(): Updating PlayState to FASTFORWARD");
                        base.SetStatus(tags, vals);
                        break;

                    case 4:
                        tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.Rewind1 };
                        vals = new object[] { true };
                        Log.Info("MCEDisplay.VideoSession.Process(): Updating PlayState to REWIND");
                        base.SetStatus(tags, vals);
                        break;
                    }
                    this.LastPlayState = num;
                }
                tags = new MediaStatusPropertyTag[] { MediaStatusPropertyTag.TrackTime };
                vals = new object[] { base.GetDuration2Int("#currentplaytime") };
                base.SetStatus(tags, vals);
            }
예제 #36
0
 public HomeSession()
 {
   Log.Info("MCEDisplay.HomeSession: Creating HOME session");
   MediaStatusPropertyTag[] tags = new MediaStatusPropertyTag[1];
   object[] vals = new object[1];
   tags[0] = MediaStatusPropertyTag.FS_Home;
   vals[0] = true;
   base.SetStatus(tags, vals);
 }