From e36fe18c483b8e520752f61975e44ddd0317a332 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 23 Jan 2005 18:00:00 +0100 Subject: =?UTF-8?q?Version=201.3.19=20-=20Making=20sure=20at=20least=20the?= =?UTF-8?q?=20default=20skin=20is=20available=20at=20program=20start=20in?= =?UTF-8?q?=20case=20a=20=20=20plugin=20needs=20to=20issue=20an=20error=20?= =?UTF-8?q?message=20(thanks=20to=20Achim=20Tuffentshammer=20for=20=20=20r?= =?UTF-8?q?eporting=20a=20crash=20in=20such=20a=20case).=20Also=20checking?= =?UTF-8?q?=20if=20there=20is=20a=20current=20skin=20=20=20in=20cSkins::Me?= =?UTF-8?q?ssage().=20-=20Completed=20the=20Finnish=20OSD=20texts=20and=20?= =?UTF-8?q?fixed=20internationalization=20of=20the=20text=20=20=20for=20"S?= =?UTF-8?q?etup/DVB/Audio=20language(s)"=20(thanks=20to=20Rolf=20Ahrenberg?= =?UTF-8?q?).=20-=20Completed=20the=20Estonian=20OSD=20texts=20and=20switc?= =?UTF-8?q?hed=20to=20iso8859-13=20character=20set=20=20=20(thanks=20to=20?= =?UTF-8?q?Arthur=20Konovalov).=20-=20Made=20cCondWait::SleepMs()=20sleep?= =?UTF-8?q?=20at=20least=203ms=20to=20avoid=20a=20possible=20busy=20wait.?= =?UTF-8?q?=20-=20Fixed=20canceling=20the=20LIRC=20thread=20(thanks=20to?= =?UTF-8?q?=20Marco=20Schl=C3=BC=C3=9Fler=20for=20pointing=20out=20=20=20t?= =?UTF-8?q?his=20one).=20-=20The=20"Green"=20button=20in=20the=20"Main"=20?= =?UTF-8?q?menu=20is=20now=20always=20"Audio",=20since=20the=20audio=20=20?= =?UTF-8?q?=20channel=20might=20be=20changed=20even=20if=20there=20is=20on?= =?UTF-8?q?ly=20one=20actual=20audio=20PID.=20-=20Fixed=20handling=20the?= =?UTF-8?q?=20'-E'=20option=20which=20was=20broken=20in=20version=201.3.18?= =?UTF-8?q?=20(thanks=20to=20=20=20Christian=20Jacobsen=20for=20reporting?= =?UTF-8?q?=20this=20one).=20-=20Added=20'channels.conf.terr'=20entries=20?= =?UTF-8?q?for=20Mainz=20(thanks=20to=20Michael=20Heyse).=20-=20Implemente?= =?UTF-8?q?d=20cDolbyRepacker=20for=20better=20handling=20of=20Dolby=20Dig?= =?UTF-8?q?ital=20PES=20packets=20=20=20(thanks=20to=20Reinhard=20Nissl).?= =?UTF-8?q?=20-=20Fixed=20playing=20files=20with=20PES=20packets=20longer?= =?UTF-8?q?=20than=202048=20byte=20through=20the=20full=20=20=20featured?= =?UTF-8?q?=20DVB=20card=20(thanks=20to=20Marco=20Kremer=20for=20reporting?= =?UTF-8?q?=20this=20one=20and=20providing=20=20=20a=20test=20sample).=20-?= =?UTF-8?q?=20Recording=20and=20Transfer=20Mode=20now=20handle=20more=20th?= =?UTF-8?q?an=202=20audio=20PIDs.=20For=20this=20the=20=20=20interfaces=20?= =?UTF-8?q?of=20the=20following=20functions=20have=20been=20changed:=20=20?= =?UTF-8?q?=20cTransferControl::cTransferControl()=20=20=20cTransfer::cTra?= =?UTF-8?q?nsfer()=20=20=20cRecorder::cRecorder()=20=20=20cReceiver::cRece?= =?UTF-8?q?iver()=20=20=20cRemux::cRemux()=20-=20Fixed=20a=20possible=20ra?= =?UTF-8?q?ce=20condition=20in=20cDevice::Action()=20and=20cTSBuffer::Acti?= =?UTF-8?q?on()=20=20=20(thanks=20to=20Stefan=20Huelswitt).=20-=20Extended?= =?UTF-8?q?=20some=20buffer=20sizes=20to=20allow=20handling=20HDTV=20strea?= =?UTF-8?q?ms=20(thanks=20to=20Reinhard=20=20=20Nissl).=20-=20Added=20'cha?= =?UTF-8?q?nnels.conf.terr'=20entries=20for=20D=C3=BCsseldorf=20and=20K?= =?UTF-8?q?=C3=B6ln=20(thanks=20to=20Walter=20Koch).=20-=20Falling=20back?= =?UTF-8?q?=20to=20'stereo'=20when=20switching=20channels=20in=20case=20th?= =?UTF-8?q?e=20user=20had=20switched=20=20=20to=20'left'=20or=20'right'=20?= =?UTF-8?q?(suggested=20by=20Rolf=20Groppe).=20-=20Completed=20the=20Danis?= =?UTF-8?q?h=20OSD=20texts=20(thanks=20to=20Mogens=20Elneff).=20-=20Record?= =?UTF-8?q?ing=20and=20Transfer=20Mode=20can=20now=20handle=20up=20to=208?= =?UTF-8?q?=20Dolby=20Digital=20tracks=20(thanks=20=20=20to=20Marco=20Schl?= =?UTF-8?q?=C3=BC=C3=9Fler=20for=20a=20patch=20that=20implements=20substre?= =?UTF-8?q?am=20handling=20into=20=20=20cDevice::PlayPesPacket(),=20and=20?= =?UTF-8?q?Reinhard=20Nissl=20for=20adding=20substream=20handling=20to=20?= =?UTF-8?q?=20=20cDolbyRepacker).=20-=20Added=20PlayPes(NULL,=200)=20to=20?= =?UTF-8?q?cTransfer::Action()=20when=20clearing=20the=20transfer=20buffer?= =?UTF-8?q?=20=20=20to=20avoid=20overflows=20(thanks=20to=20Marco=20Schl?= =?UTF-8?q?=C3=BC=C3=9Fler=20for=20pointing=20this=20out).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PLUGINS.html | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) (limited to 'PLUGINS.html') diff --git a/PLUGINS.html b/PLUGINS.html index 9132aa2..e8f456a 100644 --- a/PLUGINS.html +++ b/PLUGINS.html @@ -14,18 +14,18 @@ Copyright © 2004 Klaus Schmidinger
www.cadsoft.de/vdr

-
  -Important modifications introduced in version 1.3.0 are marked like this. -
-
  +
  Important modifications introduced in version 1.3.7 are marked like this.
-
  +
  Important modifications introduced in version 1.3.8 are marked like this.
-
  +
  Important modifications introduced in version 1.3.18 are marked like this.
+
  +Important modifications introduced in version 1.3.19 are marked like this. +

VDR provides an easy to use plugin interface that allows additional functionality to be added to the program by implementing a dynamically loadable library file. @@ -73,11 +73,9 @@ structures and allows it to hook itself into specific areas to perform special a

  • Status monitor
  • Players
  • Receivers -
     
  • Filters -
  • The On Screen Display -
      +
     
  • Skins
  • Themes
  • @@ -1023,7 +1021,7 @@ public: Take a look at the files player.h and dvbplayer.c to see how VDR implements its own player for the VDR recordings.

    -
      +
      To play the actual data, the player needs to call its member function

    @@ -1046,7 +1044,7 @@ bool DevicePoll(cPoller &Poller, int TimeoutMs = 0);
     
     to determine whether the device is ready for further data.
     

    -
      +
      By default all audio track handling is done by the device a player is attached to. If the player can provide more than a single audio track, and has special @@ -1183,7 +1181,9 @@ public: }; cMyReceiver::cMyReceiver(int Pid) -:cReceiver(0, -1, 1, Pid) +
      +:cReceiver(0, -1, Pid) +
    { } @@ -1223,7 +1223,6 @@ Mode). If the cReceiver isn't needed any more, it may simply be deleted and will automatically detach itself from the cDevice. -
     

    Filters

    A Fistful of Datas

    @@ -1267,9 +1266,8 @@ If the cFilter isn't needed any more, it may simply be deleted and will automatically detach itself from the cDevice.

    See VDR/eit.c or VDR/pat.c to learn how to process filter data. -

    -
      +
     

    The On Screen Display

    Window to the world

    @@ -1362,7 +1360,7 @@ public: virtual cSkinDisplayMenu *DisplayMenu(void); virtual cSkinDisplayReplay *DisplayReplay(bool ModeOnly); virtual cSkinDisplayVolume *DisplayVolume(void); -
      +
      virtual cSkinDisplayMessage *DisplayTrack(int NumTracks, const char * const *Tracks);
    virtual cSkinDisplayMessage *DisplayMessage(void); @@ -1384,7 +1382,7 @@ new cMySkin; in the Start() function of your plugin. Do not delete this object, it will be automatically deleted when the program ends.

    -
      +
      In order to be able to easily identify plugins that implement a skin it is recommended that the name of such a plugin should be @@ -1495,7 +1493,7 @@ repectively. If the device can provide more than a single audio track, it can implement the following function to make them available: -
      +
     

     virtual void SetAudioTrackDevice(eTrackType Type);
     virtual int GetAudioChannelDevice(void);
    @@ -1558,7 +1556,6 @@ virtual void SetVideoFormat(bool VideoFormat16_9);
     virtual void SetVolumeDevice(int Volume);
     

    -
     

    Section Filtering

    @@ -1583,12 +1580,11 @@ from its constructor.

    See Filters on how to set up actual filters that can handle section data. -

    On Screen Display

    -
      +
      If your device provides On Screen Display (OSD) capabilities (which every device that is supposed to be used as a primary device should do), it shall implement an "OSD provider" class, derived from cOsdProvider, which, when its CreateOsd() -- cgit v1.2.3