From 25c942c0e388e17ffd239e871a362d6c702eec33 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 12 Feb 2005 13:01:24 +0100 Subject: Added 'uchar Id' to cAudio::Play()' --- PLUGINS.html | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) (limited to 'PLUGINS.html') diff --git a/PLUGINS.html b/PLUGINS.html index df6d0fad..49f5ff72 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.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.
-
  +
  Important modifications introduced in version 1.3.20 are marked like this.
+
  +Important modifications introduced in version 1.3.21 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. @@ -58,7 +58,7 @@ structures and allows it to hook itself into specific areas to perform special a

  • Command line arguments
  • Command line help
  • Getting started -
      +
     
  • Shutting down
  • Main menu entry @@ -306,7 +306,7 @@ since VDR, for instance, has to create the plugin objects in order to get their command line help - and after that immediately destroys them again.

    The destructor has to clean up any data created by the plugin. -
      +
      Any threads the plugin may have created shall be stopped in the Stop() function.
    @@ -504,7 +504,7 @@ VDR to exit. If the plugin doesn't implement any background functionality or internationalized texts, it doesn't need to implement either of these functions. -
      +
     

    Shutting down

    Stop it, right there!

    @@ -1044,7 +1044,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

    @@ -1067,7 +1067,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 @@ -1204,7 +1204,7 @@ public: }; cMyReceiver::cMyReceiver(int Pid) -
      +
      :cReceiver(0, -1, Pid)
    { @@ -1382,7 +1382,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); @@ -1404,7 +1404,6 @@ 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 @@ -1414,8 +1413,6 @@ skinxyz where xyz is the actual name of the skin. -
    -


    Themes

    Eye of the beholder...

    @@ -1514,7 +1511,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);
    @@ -1679,7 +1676,9 @@ private:
       virtual void Action(void);
     public:
       cMyAudio(void);
    -  virtual void Play(const uchar *Data, int Length);
    +
      + virtual void Play(const uchar *Data, int Length, uchar Id); +
    virtual void Mute(bool On); virtual void Clear(void); }; -- cgit v1.2.3