homepage | forum | wiki | feature requests & bugs

EPGPlugin

From Mms-wiki

Jump to: navigation, search

Contents

[edit] MMS-EPG-Plugin

[edit] Status, History and general Info

Status is mature

This Plugin has been enhanced a lot with MMS Version 1.1.0. Prior to Version 1.1.0 the Plugin only took xml-Data as Input and had no Timer Support. With releasing MMS Version 1.1.0 the Plugin currently provides 2 methods of Data-Gathering:

- XML-Files (XML-Tv)

- Direct Link over Svdrp-Protocol to a running Instance of a VDR to read EPG-Data, retreive Timers and set Timers and Switch to a certain Channel. Timersupport only is available when using this Method

Credits:

arj, lorenzodes : for their support on Understanding Classes and Inheritance

uatschitchun: for intense Testing and bug trcking

acmelabs : for peeing at me due to lacking performance :-)

[edit] Purpose

Display Electronic Program Guide inside MMS



[edit] Screenshots

EPG-Overview
EPG-Overview
Detail-View of EPG-Info
Detail-View of EPG-Info
modifying a Timer
modifying a Timer
highlighted Timer
highlighted Timer


modifying repetitive Timer
modifying repetitive Timer
Overview of Timers
Overview of Timers
Incremental Search
Incremental Search


[edit] Requirements and Configuration

[edit] General

[edit] configure-switch

  --disble-epg (Enabled by default)

[edit] Channel-Logos

You may want to use Channel-Logos to be displayed in front or instead of Channelnames. The Path to the Logo's (currently only xpm's are supported) is specified in EPGConfig's "icon_path"

Example:

  # Path to Channel-Logos
  icon_path = /etc/vdr/logos

The Display of a Channel-Name/Logo can be Channel-Logos true or false and Channel-Names true or false. That results in logical 4 Combinations. If both are set false or if there is no Logo for one of the Channels to be displayed then the Names of the Channels are displayed.

  # How to display Channel-Info (If for any channel a Logo is not available, display_channel_name is always TRUE)
  # display_channel_name is also TRUE if display_channel_logo is FALSE ;-)
  # 
  display_channel_name = true
  #
  # Display Channellogo
  #
  display_channel_logo = true

[edit] Timeslots

The Display in EPG-Overview can be controled by two parameters - The Number of Timeslots to be displayed and the Interval (Duration) a Timeslot has. Interval/Duration is taken in Minutes. On wide screens it may make sense to increase number of timeslots or decrease the Interval. The given Values fit well on a resolution of 1024x768.

  # Minutes a Timeslot covers
  #
  timeslot_interval = 30
  #
  # How many Timeslots to display
  #
  timeslots = 4

[edit] Refresh-Rate (for Data)

The Data gets reread with the Interval specified in EPGConfig's Interval-Parameter (Value is given in Minutes). The Backgrounded Thread checks for New-XML-File available or - when using svdrp - rereads the EPG-Data directly over svdrp-Protocol. The Minimum-Value is 5 Minutes.

  # Interval to Check for new Data
  #
  interval = 360

[edit] Refresh-Rate (Overview)

When in EPG-Overview, the Display gets updated every Minute

[edit] Using XML

[edit] Info

This is default. With using EPG-Plugin this way - EPG-Plugin only displays the EPG-Data - no Timers can be set/deleted/modified and no Channel-Switching is done. The second Menu-Entry in Main-Menu (Timer - Overview) is not displayed. The Format for the XML-File needs to be xmltv-compatible.

[edit] XML-TV - File

This mode reads the EPG-Data from the File specified in EPGConfig's epg_data - Parameter.

  # XMLTV file location
  #
  epg_data = /var/lib/mms/TV.xml

The File is checked every "Interval"-Minutes (see above) if it has changed since the last check - if so the File is read. The File is also read on first Entering of the Plugins Main - Screen (Overview).

[edit] Updating XML-TV - File

If the Data in the xml-File needs to be updated an external Script is called to retreive newer XML-Data. The Path to the Script is set with epg_update_script - Parameter.

  # Script to update the xml file
  #
  # Comment the next line in once you have modified the gen_tvlisting.sh
  # script to your needs
  #
  epg_update_script = /usr/lib/mms/gen_tvlisting.sh

[edit] Using Svdrp

[edit] Enable Svdrp

  # Use Svdrp ?
  # Epg-Plugin uses Simple VDR-Protocol for Interaction with a VDR
  #
  use_svdrp = true

[edit] Connecting to a VDR

When running this Plugin with Svdrp enabled (use_svdrp = true) several additional Features and Options apply. General Parameters to be set to use svdrp are :

  #
  # Hostname to Connect to
  #
  svdrp_host = localhost
  #
  # Port for Svdrp on VDR (Default is 2001)
  #
  svdrp_port = 2001

When using svdrp as Data-Source these options control additional settings. Some TV-Stations insert the "|" - Sign (Pipe) to indicate a Newline in their EPG-Data (Info). If set to true - the EPG-Plugin also regards Pipe's ("|") as Newline for Text-wrapping.

  #
  svdrp_pipe_is_nl = true

[edit] Different Character-Sets

If the running Instance of VDR does not run with UTF-8 enabled, use the following Opitions to do "on-the fly-conversion from VDR's Character-Set to MMS's UTF-8. VDR supports UTF-8 from 1.6 on at least - it is recommended using a VDR-Installation running with UTF-8 - not only for EPG-Data, but also for accessing and replay of the Recordings from within MMS's Movie-Plugin. svdrp_locale - setting is ignored if svdrp_convert is set to false (default).

  #
  svdrp_convert = false
  #
  svdrp_locale = ISO-8859-1

[edit] Channels to be displayed

In general VDR's List of Channels is more than a few hundred Entries long - most of them never used (switched to). To increase the Speed of EPG's Data-gathering limit the Number of Channels retrieved with the Parameter svdrp_channels. You can specify a comma-separated List of single Channel-Numbers or Ranges of Channel-Numbers:

  # List of Channels to Display (e.g. 1-5,7-9,-40)
  #
  svdrp_channels = 1-80

[edit] Creating Timers

When creating Timers, it is possible and recommended to define the Start of the Timer before the actual Event begins and the End after the actual Event ends. Doing so will prevent you from missing the Beginning or End of the to-be-recorded Event due to Delays in broadcasts.

  # Timer Lead (Minutes to start Timer before Event starts
  #
  svdrp_timer_lead = 5
  #
  # Timer Trailer (Minutes to End Timer after Event ends
  #
  svdrp_timer_trailer =  10

[edit] Switch to Channel / View TV

On a selected Channel/Event within EPG-Overview you can switch to that Channel and start an external TV-Frontend-Application (e.g. vdr-sxfe) to view the Channel/TV. You specify the Path and the Options for the Application with the Parameter svdrp_tv_path and svdrp_tv_opts :

  #
  svdrp_tv_path = /usr/local/bin/vdr-sxfe
  #
  svdrp_tv_opts = --lirc --fullscreen --aspect=auto --post=tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1 --video=xv --audio=alsa --reconnect    xvdr://localhost


[edit] Usage

Navigate with the cursor Keys (Up/Down/Left/Right)

Trigger Reload of Data with "r"

Search the EPG with "s" and enter Search-Pattern - the search is incrmental

Keys only available with Svdrp-Usage turned on:

Toggle Timer with "t" - this gets you in Timer creation/modification mode/view

Delete a Timer with "d" - Deletes the selected Timer

List all Timer with "l"

Switch to Channel with "c" - this starts the Tv-Application configured in EPGConfig with the selected Channel



--Magicamun 14:16, 28 December 2008 (CET)