This is a "plugin" for the Video Disk Recorder (VDR).

Written by:                           Hardy Flor <HFlor@web.de>

Project's homepage (vdr):             www.cadsoft.de/people/kls/vdr
Project's homepage (statusandquestion): www.fast-info.de/vdr/statusandquestion

See the file COPYING for license information.

statusandquestion-plugin version 0.0.2

This is a plugin for the Video Disk Recorder (VDR) to display status-text
with more lines and allow a question to the user from scipts

A patch for the VDR make available the SVDR-protokoll for the plugins. With this
Interface is this plugin accessible.

By the SVDRP-command 'MESG' is only one message allowed until this message is shown
of OSD, this plugin stores up to 99 messages in a queue to wait.

The time to display a message of OSD can used by VDR-Setup (Message time) or the time
is change by 'SAQTIME xx' range for xx = 1 to 99 seconds.

new SVDRP-commands:

SAQTIME [ timeout ]
    Set timeout for all messages (overwrite OSD-setting while display message).
SAQMESS [ <message> ]
    Displays the given message (status) on the OSD. If message is omitted,
    the currently pending message (if any) will be returned. The message
    will be displayed for a few seconds as soon as the OSD has become
    idle. If a new SAQMESI command is entered while the previous message
    has not yet been displayed, the new message will be stored.
    For more info for choise color and other andere sachen HELP SAQTEST
SAQMESI [ <message> ]
    Displays the given message (info) on the OSD. If message is omitted,
    the currently pending message (if any) will be returned. The message
    will be displayed for a few seconds as soon as the OSD has become
    idle. If a new SAQMESI command is entered while the previous message
    has not yet been displayed, the new message will be stored.
    For more info for choise color and other andere sachen HELP SAQTEST
SAQMESW [ <message> ]
    Displays the given message (warning) on the OSD. If message is omitted,
    the currently pending message (if any) will be returned. The message
    will be displayed for a few seconds as soon as the OSD has become
    idle. If a new SAQMESI command is entered while the previous message
    has not yet been displayed, the new message will be stored.
    For more info for choise color and other andere sachen HELP SAQTEST
SAQMESE [ <message> ]
    Displays the given message (error) on the OSD. If message is omitted,
    the currently pending message (if any) will be returned. The message
    will be displayed for a few seconds as soon as the OSD has become
    idle. If a new SAQMESE command is entered while the previous message
    has not yet been displayed, the new message will be stored.
    For more info for choise color and other andere sachen HELP SAQTEST
SAQPARA [ title, red, green, yellow, blue ]
    This command sets the parameter for display the menu with a long text
    from the SAQTEXT",
SAQTEXT [ long text ]
    Displays the given text as full screen text on the OSD. If message
    is omitted, the currently pending message (if any) will be returned.
    The message will be displayed for a few seconds as soon as the OSD has
    become idle. If a new SAQMESE command is entered while the previous
    message has not yet been displayed, the new message will be stored.
    A new line is the spezial char | by more line than the screen, scrolling
    is enabled with the up/down (line) or left/rigth (page) keys.
    For Display a short message use SAQMESS, SAQMESI, SAQMESWW or SAQMESWE
SAQLSTQ
    List all Messages in the Queue
SAQDELQ
    Delete all Messages in the Queue
SAQRESP [ id ]
    return then response (key) of message.
    Is the message in the queue then is a '514 currently in queue' returned
    Is the message on screen then is a '515 currently display' returned
SAQLSTR
    List all response (keys) in the Queue
SAQDELR
    Delete all response (keys) in the Queue"
    without this command the response deleted after 10 minutes
SAQTEST
    return version of plugin, when the plugin not runnig
    vdr returned 500 Command unrecognized:
    returncodes: 250 - Requested action okay, completed
                 501 - Syntax error in arguments
                 510 - lock for messagequeue failed
                 511 - lock for responsequeue failed
                 512 - lock for histroryqueue failed
                 513 - no data available
                 514 - currently in queue
                 515 - currently display
                 550 - Requested action not taken
    For Display a short message use the commands SAQMESS, SAQMESI, SAQMESW
    or SAQMESWE (Status, Info, Warning, Error) the colors for display the
    text are from the vdr-settings dependent.
    To show a long text use the SAQTEXT-command and set with the SAQPARAM
    the title and the buttons for display the long text.
    The first parameter of a 250-answer for store a message in the queue is
    the id, that use by the SAQRESP-command. Range for ID is 1 to 9999
    All responses from user is for 10 minutet stored to read by the script.
    The vdr 1.2.6 allowed a multi-line-text for SAQMESx with the '|' as new
    line, for a new line before or after the text use the character '@' at
    begin or/and end of text.

commandline-parameter:

  -m           --visible_in_mainmenu          Show the plugin in the mainmenu
  -M           --hide_in_mainmenu             Hide the plugin in the mainmenu
  -n Name      --mainmenu_name=Name           Select Name for entry in the mainmenu (set also -m)
  -b           --delete_begin                 Show the delete all messages line at begin of messagelist
  -B           --nodelete_begin               Hide the delete all messages line at begin of messagelist
  -e           --delete_end                   Show the delete all messages line at end of messagelist
  -E           --nodelete_end                 Hide the delete all messages line at end of messagelist
  -d xx        --min_entrys=xx                minimum entrys for display delete all messages line at begin and end (include -b and -e)
  -h xx        --holdtime_history=xx          minimum time (min) for message in historyqueue (OSD-list)           
  -r xx        --holdtime_respones=xx         minumum time (min) for responses in queue (readable by SAQRESP)
  -s           --sort_ascending               sortoption for messagelist (OSD)
  -S           --sort_descending              sortoption for messagelist (OSD)
  -v           --verbose                      Enable more logging
  -V           --noverbose                    Disable more loggig
               --nosetup_commandline          Hide the Preferr Command Line Parameter form setup-menu
