This is a "plugin" for the Video Disk Recorder (VDR). Written by Carsten Siebholz (c.siebholz AT t-online.de> From 0.0.8 on maintained by Andreas 'powARman' Regel (andreas.regel AT powarman.de) from 0.1.5 on maintained by Wolfgang Astleitner (mrwastl AT users.sourceforge.net) & Andreas 'randy' Weinberger (vdr AT smue.org) Project's homepage: http://projects.vdr-developer.org/projects/show/graphlcd before 0.1.5: http://graphlcd.berlios.de/ before 0.0.8: http://c.siebholz.bei.t-online.de/ GIT repo: http://projects.vdr-developer.org/projects/show/graphlcd See the file COPYING for license information. Description: ------------ graphlcd is a plugin for the Video Disc Recorder and shows information about the current state of VDR on displays supported by the GraphLCD driver library. Installation and Configuration: ------------------------------- 1. Install and configure the GraphLCD base package. 2. Unpack the tarball to .../VDR/PLUGINS/src directory 3. Compile the plugin make plugins (from VDR's source directory) or make all (from the plugin's source directory) 4. Copy the 'graphlcd' subdirecory to <VDRconfigDir>/plugins/ Afterwards, the structure should look like this: VDR config directory (eg: /video) | +- plugins | | | +- graphlcd (contains logonames.alias) | | | | | +-- fonts (contains *.fnt files) | | | | | +-- logos (contains *.glcd files) | | | . . +-- skins (contains skin files and definitions) . . 5. If you are using VDR 1.3 or higher, you will have to recreate the link to logonames.alias: ln -sf logonames.alias.13 logonames.alias 6. Start VDR with the plugin. You have to specify your the path and name of the driver library's configuration file and the name of your display in the config file on the command line. Possible options are: -c CONFIG, --config=CONFIG file name and path of the configuration file -d DISPLAY, --display=DISPLAY name of the display -s SKIN, --skin=SKIN name of the skin -c: Sets the file path and name of the driver library's config file. If this parameter is not given the default '/etc/graphlcd.conf' will be used. -d: Sets the name of the section in the config file that specifies the display used for the plugin's output. If this parameter is not given, the first section will be used. -s: Sets the name of the skin to be used. If this parameter is not given, skin 'default' will be used. Examples: vdr -P 'graphlcd -c /video/graphlcd.conf -d ks0108' vdr -P 'graphlcd -c /etc/graphlcd.conf' vdr -P 'graphlcd -c /video/graphlcd.conf -d usb13700 -s bigskin' Channel Logos ------------- To be able to see logos for the channels, you can create a *.glcd file in the 'logos' directory. This file can be created with the convpic tool from the GraphLCD base package. The size of the image must be 64x48 (for the *_l.glcd files) or 40x29 (for the *_m.glcd files). Normally, the plugin looks for a file with the name <ChannelID>_<Size>.glcd, where <ChannelID> is the ID of the channel like used by VDR itself and <Size> is a character depending of the size of the logo. (l for large size logos and m for medium size logos). To keep an overview over the logos it instead would be better to name them <ChannelName>_<Size>.glcd and use the file logonames.alias for the relation between channel ID and channel name. example: ZDF_l.glcd Setup Parameters: ----------------- Plugin active: This is something like a 'main switch' for the plugin. If it's set to NO, the output to the LCD will be suspended. (Possible values: 'no', 'yes') Show Date/Time: Enables/disables the date/time bar. (Possible values: 'no', 'yes', 'not in menu') Show Channel: Enables/disables the channel bar. (Possible values: 'no', 'yes') Show Logo: Enables/disables the channel logo. (Possible values: 'no', 'auto', 'medium', 'large') Show Symbols: Enables/disables the symbols for teletext, dolby digital, 2-channel audio, encryption and recordings. (Possible values: 'no', 'yes', 'compressed') Show ET Symbols: Enables/disables external triggered symbols. graphlcd is able to show some symbols, that can be switched on and off by external progams (like vbox). Therefore it reads a file (/tmp/graphlcd_symbols). The format of this file is very simple: It might have one or more lines. Each line triggers one symbol. The format of each line is [ASCII-Char][0|1]. example: V1 X0 This example enables the symbol 'V' and disables the symbol 'X'. To get an idea, why the symbols are represented by those ASCII-Characters, look into sym*.fon and sym*.bmp (in ./tools/crtfont/fonts/ directory): You will see, that the symbols are nothing more than a special font and each symbol stands for a character. (Possible values: 'no', 'yes') Show Program: Enables/disables the time, title and subtitle of the current program. (Possible values: 'no', 'yes') Show Timebar: Enables/disables the timebar (under the start and end time of the current program). (Possible values: 'no', 'yes') Show Menu: Enables/disables the menu. (Possible values: 'no', 'yes') Show Messages: Enables/disables displaying messages. (Possible values: 'no', 'yes') Show Color Buttons: Enables/disables the 4 colered buttons. (Possible values: 'no', 'yes') Show Volume: Enables/disables the volume bar. (Possible values: 'no', 'yes') Show free cards: enables/disables the display of the free cards as empty rectangles with one icon for each card. (Possible values: 'no', 'yes') Identify replay type: Based on the replay's name the plugins tries to identify the type of replay, e.g. if it is a VDR, DVD or MP3 replay. (Possible values: 'no', 'yes') Modify replay string: Enables/disables replay string modification (Identify replay type has to be enabled for this). Based on the replay type graphlcd tries to 'improve' the replay name string, e.g. extracts and capitalizes DVD titles. (Possible values: 'no', 'yes') Show Logo on Replay: Enables/disables the replay-dependent logo (Identify replay type has to be enabled for this). (Possible values: 'no', 'auto', 'medium', 'large') Scroll text lines: Enables/disables the scrolling of text lines if they don't fit on screen. (used by program information and replay text) (Possible values: 'never', 'once', 'always') Scroll speed: Sets the scroll speed in pixels per update. (Possible values: 1 <= x <= 10) Scroll time interval: Sets the time between scroller updates in milliseconds. (Possible values: 100 <= x <= 2000) Patches ------- femon: versions <= 1.7.7 require a patch to be functionable with graphlcd. if graphlcd-plugin detects a femon version <= 1.7.7 and this version has not yet been patched, femon will ignored by graphlcd (problem: if graphlcd calls an unpatched femon, vdr will crash when shutting or restarting). the bug has already been reported to the maintainer of femon and will be fixed in 1.7.8. note: $SOURCEDIR/VDR == source directory of vdr. replace accordingly. for femon <= 1.2.x apply the following patch: cd $SOURCEDIR/VDR/PLUGINS/src/femon patch -p0 < $SOURCEDIR/VDR/PLUGINS/src/graphlcd/patches/femon-1.1.5_fixnullandsegfault_path.diff for femon > 1.2.x and <= 1.7.7 apply the following patch: cd $SOURCEDIR/VDR/PLUGINS/src/femon patch -p0 < $SOURCEDIR/VDR/PLUGINS/src/graphlcd/patches/femon-1.7.7_fixsegfault_patch.diff or, if you don't want to apply a patch or the patch fails with your version of femon, replace the entire function bool cPluginFemon::Service(const char *Id, void *Data) { .... } with the following one (should be valid for all femon versions >= 1.1.x): bool cPluginFemon::Service(const char *Id, void *Data) { if (strcmp(Id,"FemonService-v1.0") == 0) { if (Data) { FemonService_v1_0 *data = (FemonService_v1_0*)Data; if (! cDevice::ActualDevice() ) return false; int ndx = cDevice::ActualDevice()->CardIndex(); data->fe_name = getFrontendName(ndx); data->fe_status = getFrontendStatus(ndx); data->fe_snr = getSNR(ndx); data->fe_signal = getSignal(ndx); data->fe_ber = getBER(ndx); data->fe_unc = getUNC(ndx); data->video_bitrate = cFemonOsd::Instance() ? cFemonOsd::Instance()->GetVideoBitrate() : 0.0; data->audio_bitrate = cFemonOsd::Instance() ? cFemonOsd::Instance()->GetAudioBitrate() : 0.0; data->dolby_bitrate = cFemonOsd::Instance() ? cFemonOsd::Instance()->GetDolbyBitrate() : 0.0; } return true; } return false; } after applying this patch uncomment DEFINES += -DGRAPHLCD_SERVICE_FEMON_VALID in the Makefile.
vdr-projects/vdr-plugin-graphlcd
graphlcd is a plugin for the Video Disc Recorder and shows information about the current state of VDR on displays supported by the GraphLCD driver library.
CGPL-2.0