[Index] [TitleIndex] [WordIndex

MainMenuPlugins



headlines


Description

A plugin to list headlines from an XML (RSS) feed.

To activate, put the following lines in local_conf.py:

   1  plugin.activate('headlines', level=45)
   2  HEADLINES_LOCATIONS = [
   3        ('Advogato', 'http://advogato.org/rss/articles.xml'),
   4        ('DVD Review', 'http://www.dvdreview.com/rss/newschannel.rss') ]

For a full list of tested sites, see 'Docs/plugins/headlines.txt'.

Configuration

Config Item

Value

Description

HEADLINES_LOCATIONS

[('DVD Review', 'http://www.dvdreview.com/rss/newschannel.rss'), ('Freshmeat', 'http://freshmeat.net/backend/fm.rdf')]||where to get the news


weather


Description

A plugin to obtain more detailed weather forecast information

To activate, put the following lines in local_conf.py:

   1  plugin.activate('weather', level=45)
   2  PLUGIN_WEATHER_LOCATIONS = [
   3    ("<val1>", <bool>, "<lang>", "<str>"),
   4    ("<val2>", <bool>, "<lang>", "<str>"),
   5  ...
   6  ]

where <val#> is a zipcode or and <bool> (1 == convert to SI Units; 0 == do not convert) and <str> is a custom name you wish to use for this location

Configuration

Config Item

Value

Description

PLUGIN_WEATHER_LOCATIONS

None

Location codes to grab forecasts for

PLUGIN_WEATHER_DATAURL

http://www.tpfans.com/rss/weather.php?Citycode=%s&Language=%s||Data URL

PLUGIN_WEATHER_MAPURL

http://www.weather.com/weather/map/%s?from=LAPmaps||Radar Map URL


itv


Description

A plugin to list Video from an XML (RSS) feed.

To activate, put the following lines in local_conf.py:

   1  plugin.activate('itv', level=45)
   2 
   3  ITV_LOCATIONS = [
   4      ('JT LCI 18h', 'http://tf1.lci.fr/xml/rss/0,,14,00.xml'),
   5      ('JT i>Tele', 'http://podcast12.streamakaci.com/iTELE/iTELElejournal.xml'),
   6      ('Flash Equipe', 'http://www.lequipe.fr/Podcast/flashETV_rss.xml'),
   7      ('M?? LCI', 'http://tf1.fr/xml/rss/0,,23,00.xml'),
   8      ('M?? France 2', 'file:///home/henri2/.freevo/meteo.xml')
   9  ]

For a full list of tested sites, see 'Docs/plugins/itv.txt'.

Configuration

Config Item

Value

Description

ITV_LOCATIONS

[('JT LCI 18h', 'http://tf1.lci.fr/xml/rss/0,,14,00.xml'), ('JT i>Tele', 'http://podcast12.streamakaci.com/iTELE/iTELElejournal.xml'), ('Flash Equipe', 'http://www.lequipe.fr/Podcast/flashETV_rss.xml'), ('M\xe9t\xe9o LCI', 'http://tf1.fr/xml/rss/0,,23,00.xml'), ('M\xe9t\xe9o France 2', 'file:///home/henri2/.freevo/meteo.xml')]||where to get the news


mediamenu


Description

Plugin to integrate a mediamenu (video/audio/image/games) into the Freevo main menu. This plugin is auto-loaded when you activate the 'video', 'audio', 'image' or 'games' plugin.


freeboxtv


Description

A plugin to obtain TV streams on Freevo

To activate, put the following lines in local_conf.py:

   1  plugin.activate('freeboxtv', level=45)
   2  PLUGIN_FREEBOXTV_LOCATION = "http://mafreebox.freebox.fr/freeboxtv/playlist.m3u"
   3  plugin.activate('video.vlc')
   4 
   5  # ================
   6  # VLC Settings
   7  # ================
   8  VLC_NICE    = -30
   9  VLC_CMD     = CONF.vlc

dans /etc/freevo/freevo.conf rajouter vlc = /usr/bin/vlc

Configuration

Config Item

Value

Description

PLUGIN_FREEBOXTV_LOCATION

http://mafreebox.freebox.fr/freeboxtv/playlist.m3u||Location url to grab streams list


remind


Description

A plugin to list reminders, but can be used to show the output of a user command.

To activate, put the following lines in local_conf.py:

   1  plugin.activate('reminders', level=45)
   2  REMINDERS = [ ("cmd", "name", <wrap 0|N>, "string") ]

wrap should be the maximum number of columns, and string if defined would be used to indent the output. ("/usr/bin/remind -h", "Today", 47, "Reminders for") should output something like: Reminders for Saturday, 26th May, 2007 (today):

Configuration

Config Item

Value

Description

REMINDERS

None

list of tuples containing (command, group, width, header prefix)


command


Description

A small plugin to run commands from the main menu. Currently supports only small scripts which need no inputs. All output is logged in the freevo logdir, and success or failure is determined on the return value of the command. You can now also view the log file after the command has finished in freevo itself.

to activate it, put the following in your local_conf.py:

   1  plugin.activate('command', level=45)
   2  COMMANDS_DIR = '/usr/local/freevo_data/Commands'

The level argument is used to influence the placement in the Main Menu. consult freevo_config.py for the level of the other Menu Items if you wish to place it in a particular location.

This plugin also activates <command> tag support in all menus, see information from command.fxdhandler for details.

Configuration

Config Item

Value

Description

COMMANDS_DIR

/usr/local/bin

The directory to show commands from.

COMMAND_SPAWN_WM

command to start window manager.

COMMAND_KILL_WM

command to stop window manager.


command.!CommandMainMenuItem


Description

A small plugin to put a command in the main menu. Uses the command.py fxd file format to say which command to run. All output is logged in the freevo logdir. to activate it, put the following in your local_conf.py:

plugin.activate('command.CommandMainMenuItem', args=(/usr/local/freevo_data/Commands/Mozilla.fxd', ), level=45)

The level argument is used to influence the placement in the Main Menu. consult freevo_config.py for the level of the other Menu Items if you wish to place it in a particular location.

Configuration

Config Item

Value

Description

COMMAND_SPAWN_WM

command to start window manager.

COMMAND_KILL_WM

command to stop window manager.


home_automation


Description

Home Automation Plugin

Activate:

   1  plugin.activate('home_automation')

This plugin is for controlling home automation items, such as X10 devices. It uses external programs to control the hardware.

Configuration is as follows:

   1  ('ROOM NAME/LOCATION'('FUNCTION','COMMAND TO RUN'))

In the following example I demonstrate using this plugin with the heyu application.

Example local_conf.py configuration:

   1  AUTOMATION_ITEMS = [
   2      ('Living Room', (
   3          ('Lights', ('On','heyu on a2','Off','heyu off a2','Brighten','heyu bright a2 1','Dim','heyu dim a2 1'))),
   4          ('TV',('On','heyu','Off','heyu'))
   5      ),
   6      ('Porch', (
   7          ('Light',('On','heyu','Off','heyu')))
   8      )
   9  ]


autoshutdown


Description

Plugin to shutdown Freevo from the main menu

At each shutdown this plugin configures the system to bootup for the next recording or a configured default time. The wakeup can be done via acpi-alarm or nvram-wakeup. Moreover it adds warning information about the next recording to the shutdown confirmation messages.

Activate with:

   1  plugin.remove('shutdown')
   2  plugin.activate('autoshutdown',level=90)

Configuration:

   1  SHUTDOWN_SYS_ENABLE = 1
   2  AUTOSHUTDOWN_METHOD = 'acpi|nvram'
   3  AUTOSHUTDOWN_WAKEUP_CMD = PATH/TO/THE/WAKEUP_SCRIPT
   4  AUTOSHUTDOWN_DEFAULT_WAKEUP_TIME = "13:00"
   5  AUTOSHUTDOWN_FORCE_DEFAULT_WAKEUP = True

The wakeup methode can be either nvram or acpi.

NVRAM: If you want to use nvram-wakeup, you will need a working nvram configuration first. (This plugin can deal automatically with the often needed reboot). Put the path to nvram-wakeup in AUTOSHUTDOWN_WAKEUP_CMD.

More variables:

   1  AUTOSHUTDOWN_NVRAM_OPT = "--syslog"
   2  AUTOSHUTDOWN_BIOS_NEEDS_REBOOT = True

Your boot loader can be either GRUB or LILO:

   1  AUTOSHUTDOWN_BOOT_LOADER = "GRUB|LILO"
   2  AUTOSHUTDOWN_REMOUNT_BOOT_CMD = "/bin/mount"
   3  AUTOSHUTDOWN_REMOUNT_BOOT_OPT = "/boot -o remount,rw"
   4  AUTOSHUTDOWN_GRUB_CMD = "/sbin/grub-set-default 0"
   5  AUTOSHUTDOWN_GRUB_OPT = "0"
   6  AUTOSHUTDOWN_LILO_CMD = "/sbin/lilo"
   7  AUTOSHUTDOWN_LILO_OPT = "-R PowerOff"

ACPI: If you want to use acpi instead, you need to create a small script:

!/bin/sh

#acpi_wakeup.sh

echo "$1" > /proc/acpi/alarm

and put its path in AUTOSHUTDOWN_WAKEUP_CMD. You have to be root or use sudo for this to work.


rom_drives.rom_items


Description

Plugin to add the rom drives to a main menu. This can be the global main menu or most likely the video/audio/image/games main menu


shutdown


Description

Plugin to shutdown Freevo from the main menu.

Activate with comment out:

   1 #plugin.remove('shutdown')

You must set following parameters for shutting down the whole system instead of shutting down only Freevo:

   1 # Define the command for shutdown the system
   2 SYS_SHUTDOWN_CMD = 'sudo /sbin/shutdown -h now'
   3 # Define the command for restart the system
   4 SYS_RESTART_CMD  = 'sudo /sbin/shutdown -r now'
   5 # Confirmation needed to shutdown
   6 SYS_SHUTDOWN_CONFIRM = 1
   7 # Enable to shutdown the whole system
   8 SYS_SHUTDOWN_ENABLE = 1

It is necessary that freevo user can execute the shutdown command as su without entering a password. To get this you must add following line to /etc/sudoers:

freevo ALL=(ALL) NOPASSWD: /sbin/shutdown


usbstorage


Description

Plugin for usb storage devices.

Parameter: name and mountpoint.. You should also activate the usb plugin so that the menu will change when you plugin in or remove the usb storage device.

Example:

   1  plugin.activate('usb')
   2  plugin.activate('usbstorage', type='video', args=('USB Key', '/mnt/hd'))
   3  plugin.activate('usbstorage', type='audio', args=('USB Key', '/mnt/hd'))
   4  plugin.activate('usbstorage', type='image', args=('USB Key', '/mnt/hd'))


mpd


Description

To activate, put the following lines in local_conf.py:

   1  plugin.activate('mpd', level=45)

Configuration

Config Item

Value

Description

mpd plugin

what is this

Config


oneclick


Description

A plugin to obtain more detailed weather forecast information

To activate, put the following lines in local_conf.py:

   1  plugin.activate('oneclick', level=45)
   2  ONECLICK_LOCATIONS = [
   3    ("<loc>", [metric], [mapuri], [location name]),
   4    ("<loc>", [metric], [mapuri], [location name]),
   5  ...
   6  ]

where: <loc> is a zipcode or an airport code [metric] (1 == convert to SI Units; 0 == do not convert) [mapuri] is the map's url, doesn't parse the page for a map url [location name] is a custom name you wish to use for this location

Configuration

Config Item

Value

Description

ONECLICK_LOCATIONS

None

Location codes for current conditions and forecasts

ONECLICK_URL_CURC

http://ff.1click.weather.com/weather/local/%s?cc=*%s||Current Conditions URL

ONECLICK_URL_DAYF

http://ff.1click.weather.com/weather/local/%s?dayf=5%s||Day Forecast URL

ONECLICK_URL_ELOC

http://ff.1click.weather.com/weather/local/%s?eloc=st||Extended Location URL

ONECLICK_URL_MAP

http://www.weather.com/weather/map/%s?from=LAPmaps||Radar Map URL


audio.detach


Description

plugin to detach the audio player to e.g. view pictures while listening to music

Configuration

Config Item

Value

Description

DETACH_KEY

DISPLAY

Event to activate the detach bar, DISPLAY, ENTER, EXIT


audio.apodcast


Description

Audio podcast plugin

Add to local_conf.py

   1  plugin.activate('audio.apodcast')
   2  APODCAST_LOCATIONS = [
   3      ('TWIT','http://leo.am/podcasts/twit'),
   4      ('NPR: Science Friday', 'http://www.sciencefriday.com/audio/scifriaudio.xml'),
   5      ('NPR: Story of the Day', 'http://www.npr.org/rss/podcast.php?id=1090'),
   6      ('PodTech.net: Technology and Entertainment Video Network', 'http://www.podtech.net/?feed=rss2'),
   7      ('60 Minutes - Selected Segments', 'http://www.cbsnews.com/common/includes/podcast/podcast_60min_1.rss'),
   8      ('English as a Second Language Podcast', 'http://feeds.feedburner.com/EnglishAsASecondLanguagePodcast')
   9  ]
  10 
  11  APODCAST_DIR = '/home/user_name/apodcast'

Configuration

Config Item

Value

Description

APODCAST_LOCATIONS

None

List of podcast locations

APODCAST_DIR

None

Dir for downloaded podcasts


audio.radio


Description

This plugin uses the command line program radio to tune a bttv card with a radio tuner to a radio station to listen to. You need to also use the RadioPlayer plugin to actually listen to the station.

need to have radio installed before using this plugin. radio is availble in binary form for most linux distros.

to activate put the following in your local_conf.py:

   1  plugin.activate('audio.radioplayer')
   2  plugin.activate('audio.radio')
   3  RADIO_CMD='/usr/bin/radio'
   4  RADIO_STATIONS = [
   5      ('Sea FM', '90.9'),
   6      ('Kiss 108', '108'),
   7      ('Mix 98.5', '98.5'),
   8      ('Magic 106', '106.7')
   9  ]


audio.xmradio


Description

need to have an XM Radio account with a username and password to activate put the following in your local_conf.py

   1  plugin.activate('audio.xmradioplayer')
   2  plugin.activate('audio.xmradio')
   3  XM_CMD='xine'
   4  XM_STATIONS = [
   5      ('High Voltage', '202'),
   6      ('Home Ice', '204'),
   7      ('Music Lab', '51'),
   8  ]


audio.album_tree


Description

Plugin to browse songs in a tree-like way.

Requires:

Pre Installation

The sqlite-meta-database should be available.

The audio.rating and audio.logger plugin allso use this database, you can skip the rest of the pre-install if those plugins are already succesfully installed.

Configuration

Edit your local_config.py and add this:

   1  plugin.activate('audio.album_tree')
   2  AUDIO_ALBUM_TREE_SPEC = []
   3 
   4  #You could add all trees below:, but probably you only want 1 or 2 of them:
   5  AUDIO_ALBUM_TREE_SPEC.append({'name':'Artist/Album/Track',
   6    'spec':["artist", "album", "track||'-'||title"],
   7    'alt_grouping':[None, None, 'track']
   8  })
   9 
  10  #A case sensitive tree like above...
  11  #Is easy to convert to a convert to a case insensitive tree like below:
  12  AUDIO_ALBUM_TREE_SPEC.append({'name':'nocase:artist/album/Track',
  13    'spec':["lower(artist)", "lower(album)", "track||'-'||title"],
  14    'alt_grouping':[None, None, 'track']
  15  })
  16 
  17  #my favorite layout:
  18  AUDIO_ALBUM_TREE_SPEC.append({'name':'(A-Z)/Artist/Album-Year/Track',
  19    'spec':["upper(substr(artist, 0, 1))",
  20    "artist", "album||'-'||year",
  21    "track||'-'||title"],
  22    'alt_grouping':[None, None, 'year||album', 'track']
  23  })
  24 
  25  #you can comment out a tree definition like this:
  26  #AUDIO_ALBUM_TREE_SPEC.append({'name':'Artist-Album/Track',
  27  #  'spec':["artist||'-'||album", "track||'-'||title"],
  28  #  'alt_grouping':[None, 'track']
  29  #})
  30 
  31  #More Examples:
  32  AUDIO_ALBUM_TREE_SPEC.append({'name':'Year/Artist-Album/Track',
  33    'spec':["year", "artist||'-'||album", "track||'-'||title"],
  34    'alt_grouping':[None, None, None, 'track']
  35  })
  36 
  37  AUDIO_ALBUM_TREE_SPEC.append({'name':'Dirtitle/Artist/Album/Track',
  38    'spec':["dirtitle", "artist", "album", "track||'-'||title"],
  39    'alt_grouping':[None, None, None, 'track']
  40  })

Post Installation

New plugins are not immediately visible on the freevo webserver.

You might want to restart the freevo webserver after the installation of a new plugin.


audio.lastfm


Description

Last FM player client

To activate this plugin, put the following in your local_conf.py:

   1  plugin.activate('audio.lastfm')
   2  LASTFM_USER = '<last fm user name>'
   3  LASTFM_PASS = '<last fm password>'
   4  LASTFM_SESSION = ' '
   5 
   6  LASTFM_LOCATIONS = [
   7       ('Last Fm - Neighbours','lastfm://user/<lastfm user name>/neighbours'),
   8       ('Last FM - Jazz', 'lastfm://globaltags/jazz'),
   9       ('Last FM - Rock', 'lastfm://globaltags/rock'),
  10       ('Last FM - Oldies', 'lastfm://globaltags/oldies'),
  11       ('Las FM - Pop', 'lastfm://globaltags/pop'),
  12       ('Las FM - Norah Jones', 'lastfm://artist/norah jones')
  13       ]

RIGHT - skip song

1 - send to last.fm LOVE song

9 - send to last.fm BAN song

Configuration

Config Item

Value

Description

LASTFM_USER

<last fm user name

User name from www.last.fm

LASTFM_PASS

<last fm password

Password from www.last.fm

LASTFM_SESSION

Last fm session


tv.recordings_manager


Description

Plugin to browse the TV recordings directory based on series rather than just a flat view of the recordings.

Programs not in a series are placed at the top level, while programs that are a member of a series are placed in a series menu and the menu placed at the top level.

Activate with:

   1  plugin.activate('tv.recordings_manager',level=5)

This also automatically activates tv.recordings_manager.DiscManager.

You probably want also to deactivate the generic view_recordings plugin, which is kind of redundant if you use the recordings_manager plugin:

   1  plugin.remove('tv.view_recordings')

Configuration

Config Item

Value

Description

TVRM_MINIMUM_DISK_FREE

2048

Minimum amount of disk space that must be available at all times in MB

TVRM_CONSIDER_UNWATCHED_AFTER

45

Number of days after which to consider deleting unwatched shows if space is required

TVRM_EPISODE_FROM_PLOT

None

Regular expression to extract the episode name from the plot

TVRM_EPISODE_TIME_FORMAT

%c

When the episode name cannot be found use timestamp in this format


tv.view_favorites


Description

This plugin is used to display your list of favorites.

   1  plugin.activate('tv.view_favorites')


tv.manual_record


Description

This plugin is used to display your list of favorites.

   1  plugin.activate('tv.view_favorites')


tv.search_programs


Description

Search for programs


tv.scheduled_recordings


Description

This plugin is used to display your currently scheduled recordings.

   1  plugin.activate('tv.scheduled_recordings')


tv


Description

TV main menu option


image.gphoto


Description

Use the gphoto application to retrieve and show the images


image.apod


Description

Astronomy Picture of the Day download plugin. Downloads the picture for the current day and allow access to the dir for browsing the old pictures

   1  plugin.activate('image.apod', args=('/dir_for_apod',))


video.linkbrowser


Description

Browse links to find video files

This plugin makes it possible to play video files from the net. The plugin needs to be activated with specific information about the link to be shown. You can activate the plugin more than once with a different url.

Options:

name, url, image (optional), blacklist_regexp (optional), autoplay (optional), all_links (optional)

name: the name the link browser should have in the menu url: the url to be parsed image: image for the menu (default: None)

blacklist_regexp: a list of regular expressions for links to be ignored. The default value is []. Notice: the regexp will be used witg match() in python, so: 'foo' will only match 'foo', not http://www.foo.com. Use '.*foo.*' for that.

autoplay: if only one video is found (besides some links), play it and don't show the links. It's still possible to browse the link list by pressing ENTER. Default is False.

all_links: if True, all links (except blacklisted) will be shown, if False, only links deeper to the current one will be shown. E.g. when viewing www.foo.com/bar, www.bar.com and www.foo.com/bar will be blocked.

activate this plugin with

   1  plugin.activate('video.linkbrowser', args=('name', 'url') or
   2  plugin.activate('video.linkbrowser', args=('name', 'url', image', ...)
ERROR: EOF in multi-line statement


video.vpodcast


Description

Video podcast plugin

Add to local_conf.py

   1  plugin.activate('video.vpodcast')
   2  VPODCAST_LOCATIONS = [
   3      ('You Tube - Top Viewed', 'http://youtube.com/rss/global/top_viewed.rss'),
   4      ('You Tube - Norah Jones', 'http://www.referd.info/tag/norah_jones/rss.php'),
   5      ('You Tube - Top Rated', 'http://youtube.com/rss/global/top_rated.rss'),
   6      ('Metacafe - Top Videos', 'http://www.metacafe.com/tags/top_videos/rss.xml'),
   7      ('Metacafe - Music', 'http://www.metacafe.com/tags/music/rss.xml'),
   8      ('Metacafe - Today Videos ', 'http://www.metacafe.com/rss/today_videos/rss.xml'),
   9      ('Metacafe - New Videos', 'http://www.metacafe.com/rss/new_videos.rss'),
  10      ('CNN - Now in the news', 'http://rss.cnn.com/services/podcasting/nitn/rss.xml'),
  11      ('CNN - The Larry King', 'http://rss.cnn.com/services/podcasting/lkl/rss?format=xml'),
  12      ('Discovery Chanel', 'http://www.discovery.com/radio/xml/discovery_video.xml')
  13  ]
  14 
  15  VPODCAST_DIR = '/home/user_name/VPODCAST'

Configuration

Config Item

Value

Description

VPODCAST_LOCATIONS

None

List of podcast locations

VPODCAST_DIR

None

Directory for downloaded podcasts


skype


Description

Skype plugin. Download skype.py from http://www.szosti.eu/. This is initial release. It will chage in short future.

You will need:

1. Freevo installed and configured

2. Skype installed and configured. Special configuration is required wich is described below

3. Skype4Py installed from https://developer.skype.com/wiki/Skype4Py

4. Virtual X11 Server Xvfb (http://en.wikipedia.org/wiki/Xvfb)

Skype client requirements:

1. Skype for linux (2.0).

2. Skype must be configured and tested as stand alone client.

3. Skype must allow connection to its API from Skype4Py. How to do this - below

Skype allows connetion to its API from Skype4Py:

1. Start skype (you may use your windows laptop to start X11 session from eg. Xming

2. Client must automaticaly login

3. Now, open xterm

4. type: python

5. Execute following commands in python:

   1 from Skype4Py import *
   2 skype = Skype()
   3 skype.Attach()

6. Now look at skype window and accept connection from Skype4Py

7. Close skype

Configure skype to run at boot time:

1. Copy all content of directory ./Skype from current user home directory to / (sudo cp -a /home/user/.Skype /)

2. To start skype at boot time, make /etc/init.d/skype file executable, put at least following code inside it:

   1 #!/bin/bash
   2 Xvfb :2 &
   3 export DISPLAY=:2
   4 echo "your_skype_user your_skype_password" | /usr/bin/skype --pipelogin &

3. I could write better startup script but this is not an issue

4. Make /etc/init.d/skype executable (chmod +x /etc/init.d/skype)

5. Run update-rc.d skype defaults 90 to configure /etc/init.d/skype to be executed at the end of system boot procedure

6. Test by running /etc/init.d/skype start (I know, start parameter is not used above). You must hear that skype starts.

End installation:

Put downloaded skype.py from http://www.szosti.eu/ to your freevo plugins directory. In my case it is at

/usr/lib/python5/site-packages/freevo/plugins

Compile it:

   1 python
   2 >>> py_compile.compile('skype.py')
   3 >>> ^D

Configure freevo to use plugin skype. Refer to output of

   1 freevo plugins -i skype.

Add to local_conf.py

   1  plugin.activate('skype', level=45)
   2  SKYPE_DISPLAY=':2' # May be any display name but must be the same as it is for skype

Configuration

Config Item

Value

Description

SKYPE_DISPLAY

None

X11 virtual display where skype is shown. Look at Xvfb.


2014-02-15 05:35