Ticket #3829: osd-multiple.diff

File osd-multiple.diff, 2.8 KB (added by maverik044, 18 years ago)
  • libs/libmythtv/tv_play.cpp

    old new void TV::ToggleOSD(bool includeStatusOSD 
    45814581    }
    45824582    else if (osd->IsSetDisplaying("status"))
    45834583    {
    4584         if (osd->HasSet("program_info_small"))
     4584        if (playbackinfo->isVideo && osd->HasSet("program_info_small_video"))
     4585            UpdateOSDProgInfo("program_info_small_video");
     4586        else if (playbackinfo->isVideo && osd->HasSet("program_info_video"))
     4587            UpdateOSDProgInfo("program_info_video");
     4588        else if (StateIsPlaying(GetState()) && !playbackinfo->isVideo &&
     4589                 osd->HasSet("program_info_small_recording"))
     4590            UpdateOSDProgInfo("program_info_small_recording");
     4591        else if (StateIsPlaying(GetState()) && !playbackinfo->isVideo &&
     4592                 osd->HasSet("program_info_recording"))
     4593            UpdateOSDProgInfo("program_info_recording");
     4594        else if (osd->HasSet("program_info_small"))
    45854595            UpdateOSDProgInfo("program_info_small");
    45864596        else
    45874597            UpdateOSDProgInfo("program_info");
    void TV::ToggleOSD(bool includeStatusOSD 
    45894599    // If small is displaying, show long if we have it, else hide info
    45904600    else if (osd->IsSetDisplaying("program_info_small"))
    45914601    {
    4592         if (osd->HasSet("program_info"))
     4602        if (playbackinfo->isVideo && osd->HasSet("program_info_video"))
     4603            UpdateOSDProgInfo("program_info_video");
     4604        else if (StateIsPlaying(GetState()) && !playbackinfo->isVideo &&
     4605                 osd->HasSet("program_info_recording"))
     4606            UpdateOSDProgInfo("program_info_recording");
     4607        else if (osd->HasSet("program_info"))
    45934608            UpdateOSDProgInfo("program_info");
    45944609        else
    45954610            osd->HideAll();
    void TV::ToggleOSD(bool includeStatusOSD 
    46074622    // No status desired? Nothing is up, Display small if we have, else display long
    46084623    else
    46094624    {   
    4610         if (osd->HasSet("program_info_small"))
     4625        if (playbackinfo->isVideo && osd->HasSet("program_info_small_video"))
     4626            UpdateOSDProgInfo("program_info_small_video");
     4627        else if (playbackinfo->isVideo && osd->HasSet("program_info_video"))
     4628            UpdateOSDProgInfo("program_info_video");
     4629        else if (StateIsPlaying(GetState()) && !playbackinfo->isVideo &&
     4630                 osd->HasSet("program_info_small_recording"))
     4631            UpdateOSDProgInfo("program_info_small_recording");
     4632        else if (StateIsPlaying(GetState()) && !playbackinfo->isVideo &&
     4633                 osd->HasSet("program_info_recording"))
     4634            UpdateOSDProgInfo("program_info_recording");
     4635        else if (osd->HasSet("program_info_small"))
    46114636            UpdateOSDProgInfo("program_info_small");
    46124637        else
    46134638            UpdateOSDProgInfo("program_info");