Skip to content
Will Cooke edited this page Apr 4, 2017 · 35 revisions

A streamlined, mobile-first program guide for MythTV.

Contents

Installation
Customization
Record & Transcode
MythTV 0.28 Features

Installation

Mythling EPG comes embedded in the Mythling Android app.
If you've installed Mythling according to the Setup Guide, the fully-functional EPG is available through the action menu. However, Mythling EPG is 100% HTML5 and can also run on its own in any browser. You may choose to host Mythling EPG outside of the app so that you can access it from your desktop PC or iOS device. Or you may want to customize the source. Either way, if you decide to host outside of Mythling, you can then configure the Mythling app to also use your hosted/custom EPG.

Instructions for hosting outside of Mythling:

  • You need MythTV 0.27 or later (see below). The easiest way to host Mythling EPG is to use MythTV's built-in web server.
  • Download the distribution zip file and unpack it into the root directory of your backend's built-in web server. On Fedora Linux the root directory is as follows:
    • /usr/share/mythtv/html (for pre-packaged MythTV installations)
    • /usr/local/share/mythtv/html (for built-from-source MythTV)
  • Point your browser to: http://:6544/mythling-epg/guide.html (or guide-omb.html for older browsers).

Customization

There are a number of user options that Mythling EPG supports. These can be passed as standard URL parameters from the browser, or in the Mythling app they can be set through the Program Guide settings screen. The mythling-epg look-and-feel can also be customized through stylesheets.

Parameters

  • startTime - ISO-formatted start time for MythTV guide data. Defaults to the present client time.
    • startTime=2015-07-12T06:00:00.000Z
  • guideInterval - Hours to retrieve when more data is needed (i.e. when scrolling right). Default is 12 hours.
    • guideInterval=24
  • bufferSize - As scrolling approaches the end of available data, retrieval will be triggered to keep this many screen widths available to the right. Default is 8.
    • bufferSize=6
  • guideHistory - Hours to retrieve prior to start time. Must be less than guideInterval. Defaults to zero. (Not tested recently).
    • guideHistory=2
  • channelGroupId - ID of the MythTV Channel Group for listings display. Requires MythTV 0.28 or the mythlingServices parameter. Defaults to 0, which means all channels.
    • channelGroupId=1
  • showChannelIcons - Value of true means channel icon images will be displayed instead of channel numbers and call signs.
    Requires MythTV Channel Icons to have been downloaded. Defaults to false.
    • showChannelIcons=true
  • recordingPriority - Specifies the global priority setting for scheduled recordings. Defaults to 0.
    • recordingPriority=10
  • mythlingServices - Whether to use Mythling Media Services for guide data retrieval. Can be much faster, but requires that mythling-epg be proxied through Apache so it's available on the same host/port as Mythling services. Defaults to false. In Mythling settings this is under Connections rather than Program Guide.
    • mythlingServices=true
  • demoMode - Loads data from JSON files on the server, as in the Mythling EPG Demo. Defaults to false.
    • demoMode=true
  • revertLabelsToFixed - Some mobile browsers may give a better experience if the headers and channel label elements revert to CSS position="fixed". Value is in ms. Default is zero, meaning no reversion.
    • revertLabelsToFixed=500
  • epgDebug - Log debug output to the javascript console. Also turns on angularDebug info. Defaults to false.
    • epgDebug=true

Look-And-Feel

  • Stylesheets - You can customize all Mythling style classes without need to modify mythling.css. Simply drop in your own stylesheet to your hosted mythling location and update guide.html to reference it after mythling.css:
    <link rel="stylesheet" href="css/mythling.css"> 
    <link rel="stylesheet" href="css/my-mythling.css">
    
    Make sure you follow the filename convention <something>-mythling.css, or else the slot-width, row-height, header-height and label-width classes will not be recognized by mythling-epg's javascript.
  • Zoom - To maximize scrolling performance, Mythling EPG is not user-scalable on mobile browsers. However, you can adjust the fixed scale by modifying the viewport meta tag in guide.html. For example to set zoom at 150% you'd use the following:
    <meta name="viewport" content="width=device-width,initial-scale=1.5,user-scalable=no"> 
    
    The Mythling app injects this automatically according to the Program Guide Zoom setting; however, the Android WebView seems to ignore this setting so it's considered experimental.

Record & Transcode

Mythling EPG is not intended as a replacement for the full-blown recording rules editors in MythTV's WebFrontend and MythWeb. Instead, its focus is on simplicity and mobile-friendliness. An example of this approach is the Record & Transcode menu option. This is meant to provide an easy way to schedule a recording and subsequent transcode job. It always uses MythTV's Default Recording Profile and the Autodetect Transcoder. To configure these, set the following in mythtv-setup:

  • General > Allow transcoding jobs
  • Recording Profiles > (Selected Recorder) > (Default Profile) > Enable auto-transcode after recording

MythTV 0.28 Features

Some features in Mythling EPG only work with MythTV 0.28. These include Search, Cast Display and Channel Groups, as well as the Don't Record and Never Record menu options. Note: Search and Channel Groups ARE supported in MythTV 0.27 when using Mythling Media Services.

Also, apparently HTTP Digest authentication support is targeted for MythTV 0.28's built-in web server: https://www.mythtv.org/wiki/WebFrontend.
If this comes to pass, it will significantly simplify Mythling External Network Access setup. Stay tuned.