[vdr] MP3/MPlayer pre-release

Soeren Sonnenburg vdr-ml at nn7.de
Sat Apr 8 14:10:26 CEST 2006


On Sat, 08 Apr 2006 09:37:48 +0000, Stefan Huelswitt wrote:

> On 08 Apr 2006 Soeren Sonnenburg <vdr-ml at nn7.de> wrote:
> 
>> Well and there is the problem, I am doing all this and don't get a OSD...
>> any ideas on how to debug this ?
> 
> Well, I would add additional debug output to
> cMPlayerControl::ShowProgress() (in mplayer.c) and to
> cMPlayerPlayer::GetIndex() (in player-mplayer.c) first.
> 
> If GetIndex() doesn't delivers counting values, you have to debug
> in cMPlayerPlayer::Action().
> 
> You can enable DEBUG_SLAVE in player-mplayer.c too (additional
> output about slave cmd responses).

OK, after messing around for some hours in your code, I've found that the
bug is that there is no bug, but one should *NOT* call mplayer with
--really-quiet if one expects that to work... It is now working nicely
(including resume which was also not working because of that).

I then went further through your code and I think it is a good idea to
have the same menu-buttons as are shown in the recordings menu, i.e. the
blue button should be 'info' and not AID ... for that issue when a movie
is played it would be nice to get the green button (displaying audio) to
work somehow... do you know if that is possible or is it occupied by vdr
somehow ?

For the info button it would be nice to see
filename.mpg -> filename.{txt,nfo} 
files to be parsed too.

As this is trivial todo, I added this to cMenuMPlayBrowse::Summary
right after the int fd=open(sum,O_RDONLY); call:

      if (fd==-1)
      {
          sum[strlen(sum)-strlen(".summary")]='_';
	  char* p=rindex(sum,'.');
          if (p)
          {
              p[1]='t'; p[2]='x'; p[3]='t'; p[4]='\0';

              fd=open(sum,O_RDONLY);

              if (fd==-1)
              {
                  p[1]='n'; p[2]='f'; p[3]='o'; p[4]='\0';

                  fd=open(sum,O_RDONLY);
              }
          }
      }

and also to the exclude list:

static const char *excl_br[] = { ".*","*.summary","*.txt","*.nfo",0 };

however that one does only work after choosing browse, as excl=0 
in cMenuMPlayBrowse::cMenuMPlayBrowse() to fix this I added NewDir(0)
there as:

cMenuMPlayBrowse::cMenuMPlayBrowse(void)
:cMenuBrowse(MPlaySources.GetSource(),false,false,tr("MPlayer browser"))
{
  static const char *excl_br[] = { ".*","*.summary","*.txt","*.nfo",0 };
  excl=excl_br;
  sourcing=aidedit=false;
  NewDir(0);
  SetButtons();
}

So far so good, the only two things I'm missing now is visualization in
mp3 playback, like in the nullsoft visualization plugins... (has there
been any work done on this ? Where would be the audio-hooks, can one
display images already ?) and the up/down keys act strangely in the mp3
mode (up moves down in the list and down rewinds)

Soeren.



More information about the vdr mailing list