# -*- coding: iso-8859-1 -*- # ----------------------------------------------------------------------- # System configuration # ----------------------------------------------------------------------- # $Id: freevo_config.py 11570 2009-05-26 16:15:08Z duncan $ # # Notes: # This file contains the freevo settings. To change the settings # you can edit this file, or better, put a file named local_conf.py # # in the same directory and add your changes there. E.g.: when # you # want a alsa as mplayer audio out, just put # "MPLAYER_AO_DEV = # 'alsa9'" in local_conf.py # # How config files are loaded: # # [$freevo-bindir/ is the directory where the freevo start-script is # located (i.e. the "shipping copy dir"). This can be any directory, e.g. # the download directory or /usr/local] # # [$cwd/ is the directory the user started freevo from. This can be # $freevo-bindir/, or any other directory] # # 1) freevo.conf is not shipped, but it is required and must be generated # using ./configure before freevo can be used. # # 2) freevo.conf is searched for in ['$cwd/', '~/.freevo/', # '/etc/freevo/', $freevo-bindir/]. The first one found is loaded. # # 3) freevo_config.py is always loaded from $freevo-bindir/, it is not # supposed to be changed by the user. It has a format version number in # the format "MAJOR.MINOR", e.g. "2.3". The version number reflects the # config file format, *not* the Freevo version number. # # 4) local_conf.py is searched for in ['$cwd/', '~/.freevo', # '/etc/freevo/', $freevo-bindir/]. The first one found is loaded. It is # not a required file. The search is independent of where freevo.conf was # found. # # 5) The same logic as in 4) applies for local_skin.xml. # # 6) The version MAJOR numbers must match in freevo_config.py and # local_conf.py, otherwise it is an error. # # 7) The version MINOR number is used for backwards-compatible changes, # i.e. when new options are added that have reasonable default values. # # 8) A warning is issued if freevo_config.py.MINOR > local_conf.py.MINOR. # # 9) It is an error if local_conf.py.MINOR > freevo_config.py.MINOR since # the user most likely did not intend to use a recent local_conf.py with # an old Freevo installation. # # 10) There is a list of change descriptions in freevo_config.py, # one per MAJOR.MINOR change. The user is informed of what has # changed between his local_conf.py and the new freevo_config.py format if # they differ in version numbers. # # # # Developer Notes: # The CVS log isn't used here. Write changes directly in this file # to make it easier for the user. Make alos sure that you insert new # options also in local_conf.py.example # # Todo: # o a nice configure or install script to ask these things # o different settings for MPG, AVI, VOB, etc # # ----------------------------------------------------------------------- # # Changes: # o Generate ROM_DRIVES from /etc/fstab on startup # o Added FREEVO_CONF_VERSION and LOCAL_CONF_VERSION to keep the three # different files on sync # # # ----------------------------------------------------------------------- # Freevo - A Home Theater PC framework # Copyright (C) 2002 Krister Lagerstrom, et al. # Please see the file freevo/Docs/CREDITS for a complete list of authors. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of MER- # CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General # Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # ----------------------------------------------------------------------- import plugin from event import * ######################################################################## # If you want to change some things for your personal setup, please # write this in a file called local_conf.py, see that file for more info. ######################################################################## # Version information for the two config files. When the major version # of the config file doesn't match, Freevo won't start. If the minor version # is different, there will be only a warning LOCAL_CONF_VERSION = 5.27 CONFIG_VERSION = 5.27 # Description of changes in each new version FREEVO_CONF_CHANGES = [ (2.0, """Changed xmame_SDL to just xmame"""), (2.1, """Added vlc"""), (2.2, """Added unzip"""), ] LOCAL_CONF_CHANGES = [ (1.1, """ROM_DRIVES are autodetected if left empty. Added AUDIO_RANDOM_PLAYLIST (default on). Added COVER_DIR for covers for files on CDs etc. Added AUDIO_COVER_REGEXP for selection of covers for music files. Changed MPlayer default args. Changed TV_SETTINGS to /dev/video0."""), (2.0, """Remote control config has changed from Freevo Python files to the standard Lirc program config files, see freevo_config.py for more info."""), (2.1, """Added MPLAYER_ARGS_AUDIOCD for audio cd playback settings."""), (3.0, """New skin engine. The new engine has no automatic TV overscan support, you need to set OSD_OVERSCAN_X and OSD_OVERSCAN_Y. There are also new variables for this engine: MAIN_MENU_ITEMS and FORCE_SKIN_LAYOUT. The games menu will be activated automaticly if setup.py found mame or snes"""), (3.1, """Renamed TV_SHOW_IMAGE_DIR to TV_SHOW_DATA_DIR. This directory now can also contain fxd files with gloabl informations and mplayer options"""), (3.2, """Removed MPLAYER_ARGS_* and added a hash MPLAYER_ARGS to set args for all different kinds of files. Also added MPLAYER_SOFTWARE_SCALER to use the software scaler for fast CPUs"""), (3.3, """Added AUDIO_FORMAT_STRING to customize the audio item title generation"""), (3.4, """Removed RC_MPLAYER_CMDS for video and audio. Set special handling (and other key mappings with the variable EVENTS. See event.py for possible events"""), (3.5, """Added xine support (see xine section in freevo_config.py), MPLAYER_AUTOCROP for 16:9 tv sets, ONLY_SCAN_DATADIR to make freevo start faster and TVGUIDE_HOURS_PER_PAGE customize the tv guide"""), (3.7, """Added USE_MEDIAID_TAG_NAMES as directory based variable and HIDE_UNUSABLE_DISCS to hide discs in the wrong menus and empty drives"""), (3.8, """Restructured GAMES_ITEMS and added XMLTV_GRABBER and XMLTV_DAYS for the tv_grab helper script. Also added USE_NETWORK to deactivate everything that needs a network connection."""), (3.9, """Add MPLAYER_SET_AUDIO_DELAY to correct AV sync problems"""), (3.91, """Add SKIN_FORCE_TEXTVIEW_STYLE and SKIN_MEDIAMENU_FORCE_TEXTVIEW to add more control when to switch to text view."""), (4.00, """Reworked the directory settings: MOVIE_PLAYLISTS and AUDIO_RANDOM_PLAYLIST are removed, the new variables to control a directory style are DIRECTORY_CREATE_PLAYLIST, DIRECTORY_ADD_PLAYLIST_FILES, DIRECTORY_ADD_RANDOM_PLAYLIST and DIRECTORY_AUTOPLAY_ITEMS. The directory updated now uses stat, set DIRECTORY_USE_STAT_FOR_CHANGES = 0 if you have problems with it."""), (4.01, """Removed SUFFIX_VIDEO_FILES and replaced it with SUFFIX_VIDEO_MPLAYER_FILES and SUFFIX_VIDEO_XINE_FILES. Use PREFERED_VIDEO_PLAYER to choose a prefered player."""), (4.02, """Added CHILDAPP_DEBUG to debug all kinds of childapps. MPLAYER_DEBUG will be removed soon. Renamed PREFERED_VIDEO_PLAYER to VIDEO_PREFERED_PLAYER and added AUDIO_PREFERED_PLAYER."""), (4.03, """Removed MOVIE_DATA_DIR and COVER_DIR. It has been replaved by the new virtual filesystem controlled by OVERLAY_DIR"""), (5.00, """Changed some config variables. Use \'./freevo convert_config\' to convert your local_conf.py to change the variable names"""), (5.01, """Add AUDIO_SHOW_VIDEOFILES to enable video files in the audio menu"""), (5.02, """Add XINE_ARGS_DEF to set xine arguments and OSD_BUSYICON_TIMER to show a busy icon when the menu takes too much time building"""), (5.03, """Add UMASK to set umask for files in vfs""" ), (5.04, """SKIN_XML_FILE set to nothing as default, SKIN_START_LAYOUT is removed. When SKIN_XML_FILE is not set, the skin will remember the last settings"""), (5.05, """Use MMPYTHON_CREATE_MD5_ID with current mmpython cvs to have a second way to generate the disc ids in case they are not unique on your system"""), (5.06, """Add MEDIAINFO_USE_MEMORY. Setting this variable will keep all cache files in memory. Startup will be slower, but for large directories, this will speed up entering the dir"""), (5.07, """Add MENU_ARROW_NAVIGATION to change navigation style. New one is default now. Also added OSD_EXTRA_FONT_PATH to search for fonts"""), (5.08, """Change MENU_ARROW_NAVIGATION to old style and make blurr the new default skin. Also added RESTART_SYS_CMD, OSD_DIM_TEXT and OSD_UPDATE_COMPLETE_REDRAW."""), (5.09, """Add CACHE_IMAGES to turn off image caching. A new variable is IMAGEVIEWER_BLEND_MODE to control the blending effect in the image viewer"""), (5.11, """Add IMAGEVIEWER_OSD to customize the osd and VIDEO_AUTOJOIN to auto join movies with more than one file"""), (5.12, """Added TV_RECORD_SERVER_UID to set the uid for the recordserver and TV_RECORDFILE_SUFFIX for the suffix. If your TV_RECORDFILE_MASK contains the suffix, please remove it here"""), (5.13, """Added TV_RECORD_SERVER_GID to set the gid for the recordserver. If you use TV_RECORD_SERVER_UID, the gui _must_ match one of the users gids""" ), (5.14, """Add IMAGEVIEWER_DURATION for auto slideshows""" ), (5.15, """Add two variables for mplayer post processing: MPLAYER_VF_INTERLACED and MPLAYER_VF_PROGRESSIVE""" ), (5.16, """Removed the recordable setting in VIDEO_GROUPS, please remove this setting. Added xmltv-1.2 this requires elementtree Added XINE_HAS_NO_LIRC to see if '--no-lirc' should be passed to xine Added XINE_TV_VO_DEV, XINE_TV_AO_DEV, and XINE_TV_TIMESHIFT_FILEMASK for the new tv.ivtv_xine_tv plugin (the latter should be e.g. "/tmp/xine-buf-" and point to a place with enough free diskspace (several gigabytes). Added RADIO_IN_VOLUME for different volumes levels for TV and radio Added TV_RECORD_PADDING_PRE/POST for separately setting TV_RECORD_PADDING Added TV_RECORDFILE_OKLETTERS for characters allowed in recording filenames. Added AUTOSHUTDOWN_ settings to turn off and on the machine automatically Added Multi-tuner support to allow recording and watching at the same time Added plug-in "upsoon" to stop the player when a recording is about to start Added OSD_FORCE_FONTNAME and OSD_FORCE_FONTSIZE for asian fonts""" ), (5.17, """Using the name of the helper in local_conf.py Changed the TV_RECORD_SERVER_* to RECORDSERVER_*, Added optional RECORDSERVER_DEBUG, if not defined uses DEBUG Changed WWW_PORT to WEBSERVER_PORT = 80 Added WEBSERVER_UID and WEBSERVER_GID Added optional WEBSERVER_DEBUG, if not defined uses DEBUG Added ENCODINGSERVER_UID and ENCODINGSERVER_GID Added optional ENCODINGSERVER_DEBUG, if not defined uses DEBUG Added RSSSERVER_UID and RSSSERVER_GID Added plug-in: Apple trailers in the contrib area Added plug-in: reencode and idlebar encode to compress mpeg video Added plug-in: XM online Added helpers: makevdev Added servers: encodingserver, rssserver Added SYS_USE_KEYBOARD to specify if generic keyboard handler should be used Added EVENT_DEVS and EVENTMAP for the new Linux event device handler Added VIDEO_PRE_PLAY and VIDEO_POST_PLAY to allow external commands to be run Added CD_RIP_ for the cd backup plug-in """ ), (5.18, """Added tv.recodings_manager plug-in to show what has been watched, TVRM_*, Removed TV_RECORD_PADDING, use TV_RECORD_PADDING_PRE and TV_RECORD_PADDING_POST """ ), (5.19, """Changed rss.feeds field separator to use a ';' instead of a ',' Changed weather locations to add a language code as the third parameter Moved video.reencode to video.reencode-old and video.reencode2 to video.reencode Added MAJOR_AUDIO_CTRL_MUTE to be able to choose a differente control for mute in the Alsa mixer plugin Changed default locale from latin-1 to iso-8859-15, they are really the same Added MPLAYER_OLDTVCHANNELCHANGE to allow the PREV_CH button to swap to previous channel Added RSS_DOWNLOAD for a place to save downloaded data Added IMAGE_EXCLUDE as a regular expression to exclude images such as thumbnails Added TV_RECORD_FAVORITE_MARGIN to allow favourites to be added to the schedule within a tolerance value """ ), (5.20, """Added PERSONAL_WWW_PAGE config item to allow private web pages in the webserver Added LOGGING, can be one of CRITICAL, ERROR, WARNING, INFO, DEBUG or NOTSET Added RECORDSERVER_LOGGING to allow different levels of errors to be reported Changed VIDEO_INTERLACING to VIDEO_DEINTERLACE to be more consistent with autovars Added SENSORS_PLATFORM_PATH and SENSORS_I2CDEV_PATH for sensor paths Added OSD_SOUNDS_ENABLED defaulted to False for menu sounds Added SKIN_DEBUG to show boxes around each skin area for debugging skins Added IMAGEVIEWER_REVERSED_IMAGES for when the images are incorrectly rotated Added SHOPPINGCART_CLOBBER to allow a move to clobber an existing file Added XINE_BOOKMARK to enable the resume function to work with xine Added CACHE_CROPDETECT to enable caching of crop detection using encodingcode """ ), (5.21, """Added OS_STATICDIR, FREEVO_STATICDIR, OS_LOGDIR and FREEVO_LOGDIR Change static data to use /var/lib/freevo or ~/.freevo, including TV_RECORD_SCHEDULE, TV_LOGOS, XMLTV_FILE, you may also prefer OVERLAY_DIR to be FREEVO_STATICDIR+'/overlay', Added a plugin that adds a submenu entry for ejecting rom drives and binds the default action of an empty drive to the eject action Replaced OSD_OVERSCAN_X with OSD_OVERSCAN_LEFT and OSD_OVERSCAN_RIGHT and OSD_OVERSCAN_Y with OSD_OVERSCAN_TOP and OSD_OVERSCAN_BOTTOM Added IMAGEVIEW_ASPECT to show images correctly on non-square pixel displays, it TVs For the webserver configuration tool the following have been changed PERSONAL_WWW_PAGE to WWW_PERSONAL_PAGE TIME_DEBUG to DEBUG_TIME SKIN_DEBUG to DEBUG_SKIN CHILDAPP_DEBUG to DEBUG_CHILDAPP RECORDSERVER_LOGGING to LOGGING_RECORDSERVER DEFAULT_VOLUME to VOLUME_DEFAULT TV_IN_VOLUME to VOLUME_TV_IN VCR_IN_VOLUME to VOLUME_VCR_IN RADIO_IN_VOLUME to VOLUME_RADIO_IN MAX_VOLUME to VOLUME_MAX DEV_MIXER to VOLUME_MIXER_DEV and subsequently these, sorry if this is a little inconvenient CONTROL_ALL_AUDIO to MIXER_CONTROL_ALL VOLUME_DEFAULT to MIXER_VOLUME_DEFAULT VOLUME_VCR_IN to MIXER_VOLUME_VCR_IN VOLUME_TV_IN to MIXER_VOLUME_TV_IN VOLUME_MIXER_STEP to MIXER_VOLUME_STEP VOLUME_RADIO_IN to MIXER_VOLUME_RADIO_IN VOLUME_MAX to MIXER_VOLUME_MAX VOLUME_MIXER_DEV to MIXER_DEVICE ENABLE_SHUTDOWN_SYS to SHUTDOWN_SYS_ENABLE FREQUENCY_TABLE to TV_FREQUENCY_TABLE CONFIRM_SHUTDOWN to SHUTDOWN_CONFIRM DUPLICATE_DETECTION to TV_RECORD_DUPLICATE_DETECTION ONLY_NEW_DETECTION to TV_RECORD_ONLY_NEW_DETECTION CONFLICT_RESOLUTION to TV_RECORD_CONFLICT_RESOLUTION REMOVE_COMMERCIALS to TV_RECORD_REMOVE_COMMERCIALS TV_DATEFORMAT to TV_DATE_FORMAT TV_TIMEFORMAT to TV_TIME_FORMAT TV_DATETIMEFORMAT to TV_DATETIME_FORMAT TV_RECORDFILE_MASK to TV_RECORD_FILE_MASK TV_RECORDFILE_SUFFIX to TV_RECORD_FILE_SUFFIX TV_RECORDFILE_OKLETTERS to TV_RECORD_FILE_OKLETTERS VIDEO_GROUPS to TV_VIDEO_GROUPS Added MIXER_VOLUME_STEP to allow the mixer volume change to be specified Added for IVTV XINE TV: XINE_TV_CONFIRM_STOP XINE_TV_PROGRESSIVE_SEEK XINE_TV_PROGRESSIVE_SEEK_THRESHOLD XINE_TV_PROGRESSIVE_SEEK_INCREMENT Added TV_RECORD_YEAR_FORMAT to allow the from of the year in TV fxd files to be specified Moved plug-in "upsoon" to "tv.upsoon" """), (5.22, """Added RECORDSERVER_SECRET and RECORDSERVER_PORT2=18002 for kaa.rpc Renamed audio plug-in audio.playlist to audio.playlists Added TV_CHANNELS_COMPARE as a lambda to sort the channels """), (5.23, """ Added XMLTV_TIMEZONE to allow the time zone to be specified Added OSD_X11_CURSORS to allow custom cursor to be set, stops xine showing a cursor Changed TV_RECORD_SCHEDULE to be a pickle file, this will delete existing favorites Added TV_RECORD_FAVORITES and TV_RECORD_FAVORITES_LIST to keep favorites separate Changed SHUTDOWN_CONFIRM to SYS_SHUTDOWN_CONFIRM for consistency Changed SHUTDOWN_SYS_CMD to SYS_SHUTDOWN_CMD for consistency Changed RESTART_SYS_CMD to SYS_RESTART_CMD for consistency Changed SHUTDOWN_SYS_ENABLE to SYS_SHUTDOWN_ENABLE for consistency Removed RECORDSERVER_PORT2 as it is no longer needed, using RECORDSERVER_PORT instead """), (5.24, """ Added POLL_TIME to allow custom poll rates to be set, default 0.01 seconds """), (5.25, """ Added OSD_IDLEBAR_PADDING to allow the space between idlebar items to be set Added OSD_IDLEBAR_FONT and OSD_IDLEBAR_CLOCK_FONT to allow idlebar fonts to be set Added MPLAYER_AO_DEV_OPTS for audio device options Changed MPLAYER_VO_DEV_OPTS, removed need for leading ':' Added ROM_DRIVES_AUTOFS to allow an autmounter to be used for ROM drives Moved freeboxtv to tv plug-ins Added MPLAYER_AUDIO_CACHE_KB, MPLAYER_AUDIO_CACHE_MIN_PERCENT and MPLAYER_AUDIO_NETWORK_OPTS to allow changing the default cache amount Added SPEAK_WELCOME and SPEAK_SHUTDOWN for customized welcome and shutdown messages in speak plugin Added FREEVO_USE_ALPHABLENDING to enable alpha blending transitions between screen changes. False by default Renamed audio.mplayervis to audio.mplayervis1, so that audio.mplayervis2 will get noticed Added SYS_USE_MOUSE option for enabling mouse support if needed. False by default """), (5.26, """ Added VIDEO_AUTOJOIN_REGEX to allow joining video files based on a regular expression Renamed USE_NETWORK to SYS_USE_NETWORK Renamed USE_SDL_KEYBOARD to SYS_USE_KEYBOARD Added SYS_USE_JOYSTICK to allow a joystick device to be used Added DEBUG_BENCHMARKING can be used to time and trace function calls Added DEBUG_BENCHMARKCALL can be used to print the arguments and results of function calls Removed MPLAYER_AUDIO_CACHE_KB, MPLAYER_AUDIO_CACHE_MIN_PERCENT and MPLAYER_AUDIO_NETWORK_OPTS, it broke detach Added WWW_IMAGE_SIZE and WWW_IMAGE_THUMBNAIL_SIZE for Cooliris support Added VIDEO_AUTOJOIN_REGEX to allow more control when joining video files """), (5.27, """ Added RECORDSERVER_ATTIMER to control when the programme recording should start Added MPLAYERVIS_DOCK_ZOOM to allow the docked goom image to be zoomed Renamed MPLAYERVIS_FAST_FULLSCREEN to MPLAYERVIS_FULL_ZOOM Renamed IMAGEVIEWER_ASPECT to OSD_PIXEL_ASPECT as this affects not just images Added AUTOSHUTDOWN_WAKEUP_TIME_PAD to control how much time to allow for system boot to complete when waking up from an AUTOSHUTDOWN. Added ENCODINGSERVER_SAVEDIR for re-encoded DVDs Added FREEVO_TEMPDIR for temporary files """), ] # NOW check if freevo.conf is up-to-date. An older version may break the next # steps FREEVO_CONF_VERSION = setup_freevo.CONFIG_VERSION if int(str(CONF.version).split('.')[0]) != int(str(FREEVO_CONF_VERSION).split('.')[0]): print "ERROR: The version information in freevo_config.py does't" print 'match the version in %s.' % freevoconf print 'please rerun "freevo setup" to generate a new freevo.conf' print_config_changes(FREEVO_CONF_VERSION, CONF.version, FREEVO_CONF_CHANGES) sys.exit(1) if int(str(CONF.version).split('.')[1]) != int(str(FREEVO_CONF_VERSION).split('.')[1]): print 'WARNING: freevo_config.py was changed, please rerun "freevo setup"' print_config_changes(FREEVO_CONF_VERSION, CONF.version, FREEVO_CONF_CHANGES) # ====================================================================== # General freevo settings: # ====================================================================== POLL_TIME = 0.01 # time in seconds that the poll handlers are called # a lower rate of 0.05 is less demanding for less # powerful processors AUDIO_DEVICE = '/dev/dsp' # e.g.: /dev/dsp0, /dev/audio, /dev/alsa/? AUDIO_INPUT_DEVICE = '/dev/dsp1' # e.g.: /dev/dsp0, /dev/audio, /dev/alsa/? MIXER_MAJOR_CTRL = 'VOL' # Freevo takes control over one audio ctrl # 'VOL', 'PCM' 'OGAIN' etc. MIXER_MAJOR_MUTE_CTRL = 'PCM' # used in alsamixer.py, There are systems where # volume and mute use different controls MIXER_DEVICE = '/dev/mixer' # mixer device MIXER_CONTROL_ALL = 1 # Should Freevo take complete control of audio MIXER_VOLUME_STEP = 5 # Amount to increment the mixer volume MIXER_VOLUME_MAX = 90 # Set what you want maximum volume level to be. MIXER_VOLUME_DEFAULT = 40 # Set default volume level. MIXER_VOLUME_TV_IN = 60 # Set this to your preferred level 0-100. MIXER_VOLUME_VCR_IN = 90 # If you use different input from TV MIXER_VOLUME_RADIO_IN = 80 # Set this to your preferred level 0-100. START_FULLSCREEN_X = 0 # Start in fullscreen mode if using x11 or xv. # # Physical ROM drives, multiple ones can be specified # by adding comma-seperated and quoted entries. # # Format [ ('mountdir1', 'devicename1', 'displayed name1'), # ('mountdir2', 'devicename2', 'displayed name2'), ...] # # Set to None to autodetect drives in during startup from /etc/fstab, # set to [] to disable rom drive support at all # ROM_DRIVES = None ROM_DRIVES_AUTOFS = False # Indicates that an automounter daemon is being used. # Does not try to mount/umount the media. # # hide discs from the wrong menu (e.g. VCDs in audio menu) and empty discs # HIDE_UNUSABLE_DISCS = 1 # # Attempt to set the speed of the ROM drive. A good value for keeping the # drive silent while playing movies is 8. # ROM_SPEED = 0 # # Shutdown confirmation. # Set to 0 for no confirmation, set to 1 to show a confirm dialog # (OK preselected), set to 2 to show a confirm dialog (Cancel preselected) # SYS_SHUTDOWN_CONFIRM = 1 # ask before shutdown SYS_SHUTDOWN_CMD = 'sudo shutdown -h now' # set this to 'sudo shutdown -h now' if # you don't have the permissions to shutdown SYS_RESTART_CMD = 'sudo shutdown -r now' # like SYS_SHUTDOWN_CMD, only for reboot SYS_SHUTDOWN_ENABLE = 1 # Performs a whole system shutdown at SHUTDOWN! # For standalone boxes. # ====================================================================== # Main menu items # ====================================================================== plugin.activate('tv', level=10) plugin.activate('video', level=20) plugin.activate('audio', level=30) plugin.activate('image', level=40) if CONF.xmame or CONF.snes: plugin.activate('games', level=50) # Headlines plugin.activate('headlines', level=60) HEADLINES_LOCATIONS = [ ('Freevo news releases', 'http://sourceforge.net/export/rss2_projnews.php?group_id=46652'), #('Freevo news releases (full)', 'http://sourceforge.net/export/rss2_projnews.php?group_id=46652&rss_fulltext=1'), ('Freevo file releases', 'http://sourceforge.net/export/rss2_projfiles.php?group_id=46652'), ('Freevo summary+stats', 'http://sourceforge.net/export/rss2_projsummary.php?group_id=46652'), ('Freevo donors', 'http://sourceforge.net/export/rss2_projdonors.php?group_id=46652'), ] plugin.activate('shutdown', level=90) # ====================================================================== # AUTOSHUTDOWN CONFIGURATION # ====================================================================== # replace the default shutdown plugin # plugin.remove('shutdown') # plugin.activate('autoshutdown', level=90) # activate the timer # plugin.activate('autoshutdown.autoshutdowntimer') # -- autoshutdown menu item configuration -- # Set to True to popup dialog boxes for confirmation. # this applies to menu items only. AUTOSHUTDOWN_CONFIRM=True # -- autoshutdown timer configuration -- # Set the timeout in minutes after which the system # is shutdown. The allowed idle time and the running # processes (see below) are evaluated to determine if # a shutdown is allowed. Menu navigation in freevo will # reset the timer. AUTOSHUTDOWN_TIMER_TIMEOUT=30 # -- autoshutdown behaviour configuration -- # PRETEND # Set to True to disable the actual shutdown command. AUTOSHUTDOWN_PRETEND=False # PROCESS_LIST # List the processes that will prevent an automatic # shutdown. If there are important programs that # should not be interrupted, then add them to this # list. Set to None if a shutdown is always allowed. AUTOSHUTDOWN_PROCESS_LIST = [ 'emerge', 'tvgids', 'transcode', 'cdrecord', 'mplayer', 'mencoder', 'top' ] # WHILE_LOGGED # The system will automatically shutdown even if someone # is logged in (as reported by 'who' ); set this to False # to avoid Freevo to shutdown on your face. AUTOSHUTDOWN_WHILE_USER_LOGGED=True # DEFAULT_WAKEUP_TIME # Set the default time at which to wakeup if there # are no recordings scheduled. The time is specified # in localtime 24 hour format. Set to None to disable # default wakeup time. AUTOSHUTDOWN_DEFAULT_WAKEUP_TIME = "13:00" # FORCE_DEFAULT_WAKEUP # Set to True to always wakeup at the default wakeup # time. Set to False to only wakeup at the default # wakeup time when no recordings are scheduled. AUTOSHUTDOWN_FORCE_DEFAULT_WAKEUP = True # ALLOWED_IDLE_TIME # The number of minutes that may be spent idle until # the next scheduled recording or default wakeup. That # is, if the gap between "now" and the next recording # or default wakeup is less than the allowed idle time # then a shutdown is not performed but the system is # left running. If the period from now to the next # recording or default wakeup is more than the allowed # idle time, then the system is shut down and a wakeup # is scheduled. Use this to minimize the number of # shutdown/boot sequences when many short programs are # recorded in a short period of time. Note that this # variable is used by both the timer and the menu. AUTOSHUTDOWN_ALLOWED_IDLE_TIME = 45 # WAKEUP_TIME_PAD # Amount of pad time (in seconds) to start system boot ahead of the next # wakeup event so that system will be ready. Default is 180 (3 minutes). AUTOSHUTDOWN_WAKEUP_TIME_PAD = 180 # -- Choice of wakeup method # # The wakeup can be done via acpi-alarm or nvram-wakeup. # AUTOSHUTDOWN_METHOD = 'acpi' AUTOSHUTDOWN_METHOD = 'nvram' # -- autoshutdown acpi-alarm configuration # This method uses the wakeup on alarm function that most BIOSs have. # The wakeup time is set by a simple # # "echo 2004-08-02 20:15:00 >/proc/acpi/alarm" # # On most mainbords you will have to ENABLE "Wake on Timer", "Resume on Alarm", # "RTC Alarm Resume" or similar things for the acpi wakeup method to work. # If you want to use acpi, you need to create a small script: # # !/bin/sh # echo "$1" >/proc/acpi/alarm # # You have to be root or use sudo for this to work. #AUTOSHUTDOWN_WAKEUP_CMD = sudo /PATH/TO/set_acpi.sh # -- autoshutdown nvram-wakeup configuration -- # The nvram-wakeup utility is used to write the # wakeup alarm to the RTC in bios. Read the # nvram-wakeup documentation about this topic, # a working nvram-wakeup configuration is needed. # NVRAM_CMD / NVRAM_OPT # Path to nvram-wakeup and options. Options can # be used to specify a config file. AUTOSHUTDOWN_WAKEUP_CMD = "/usr/bin/nvram-wakeup" AUTOSHUTDOWN_NVRAM_OPT = "--syslog" # WAKEUP_NEEDS_REBOOT # Set to True if the bios needs a reboot to catch # up with the rtc alarm that nvram-wakeup sets. The # boot loader options should be set too. Read the # nvram-wakeup documentation about this topic. AUTOSHUTDOWN_BIOS_NEEDS_REBOOT=True # -- if the bios needs a reboot -- # BOOT_LOADER # Set to "GRUB" or "LILO" Only needed if bios needs # a reboot to initialize the RTC wakeup call. AUTOSHUTDOWN_BOOT_LOADER = "GRUB" # REMOUNT_BOOT_CMD / REMOUNT_BOOT_OPT # Grub needs to write to /boot/grub/grub.conf. Set # the command and options to remount the /boot # partition writeable. Set to None if this is not # needed. AUTOSHUTDOWN_REMOUNT_BOOT_CMD = "/bin/mount" AUTOSHUTDOWN_REMOUNT_BOOT_OPT = "/boot -o remount,rw" # GRUB_CMD / GRUB_OPT # Grub-set-default command and options that will # reboot and poweroff the system. AUTOSHUTDOWN_GRUB_CMD = "/sbin/grub-set-default 0" AUTOSHUTDOWN_GRUB_OPT = "0" # LILO_CMD / LILO_OPT # Lilo command with options that will reboot and # poweroff the system. AUTOSHUTDOWN_LILO_CMD = "/sbin/lilo" AUTOSHUTDOWN_LILO_OPT = "-R PowerOff" # ====================================================================== # Events # ====================================================================== # # You can add more keybindings by adding them to the correct hash. # e.g. If you want to send 'contrast -100' to mplayer by pressing the '1' key, # just add the following line: # # EVENTS['video']['1'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='contrast -100') EVENTS['video']['PAUSE'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='pause') EVENTS['video']['CH+'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='seek 600') EVENTS['video']['CH-'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='seek -600') EVENTS['video']['SKIPFORWARD'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='seek 600') EVENTS['video']['SKIPBACKWARD'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='seek -600') EVENTS['video']['FFWD'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='seek 60') EVENTS['video']['REW'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='seek -60') EVENTS['video']['DISPLAY'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='osd') EVENTS['video']['GREEN'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='sub_delay +0.1') EVENTS['video']['RED'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='sub_delay -0.1') EVENTS['video']['BLUE'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='audio_delay 0.100') EVENTS['video']['YELLOW'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='audio_delay -0.100') EVENTS['video']['2'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='sub_scale -0.1') EVENTS['video']['3'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='sub_scale +0.1') # See src/event.py for a list of all possible events. EVENTS = { 'menu' : MENU_EVENTS, 'tvmenu' : TVMENU_EVENTS, 'input' : INPUT_EVENTS, 'tv' : TV_EVENTS, 'video' : VIDEO_EVENTS, 'dvd' : DVD_EVENTS, # only used by xine 'vcd' : VCD_EVENTS, # only used by xine 'audio' : AUDIO_EVENTS, 'games' : GAMES_EVENTS, 'image' : IMAGE_EVENTS, 'image_zoom' : IMAGE_ZOOM_EVENTS, 'global' : GLOBAL_EVENTS } # # Use arrow keys for back and select (alternate way of navigating) # MENU_ARROW_NAVIGATION = True # # Process keyboard events from SDL. You want this unless you use only lirc # or event devices below. # SYS_USE_KEYBOARD = True # # Process keyboard events from SDL. You want this unless you use only lirc # or event devices below. # SYS_USE_JOYSTICK = True # # Process mouse events from SDL/Pygame. You want this to control Freevo # with a mouse # SYS_USE_MOUSE = False # # Keymap to map keyboard keys to event strings. You can also add new keys # here, e.g. KEYMAP[key.K_x] = 'SUBTITLE'. The K_-names are defined by pygame. # KEYMAP = DEFAULT_KEYMAP # List of /dev/input/event# devices to monitor. You can specify either the # device node (e.g. '/dev/input/event1') or the name of the device (e.g. # 'ATI Remote Wonder II'). If you monitor your keyboard both here and with # SYS_USE_KEYBOARD, then you will get duplicate events. # EVENT_DEVS = [] # Keymap to map input events to event strings. You can change current mappings # and add new ones here, e.g. EVENTMAP['KEY_COFFEE'] = 'SUBTITLE'. Key names # are defined by the Linux input layer (input.h). An axis is described by a # pair, one for positive and one for negative movement, e.g. # EVENTMAP['REL_Z'] = ('LEFT', 'RIGHT') # EVENTMAP = DEFAULT_EVENTMAP # Use Internet resources to fetch information? # For example, Freevo can use CDDB for album information, # the IMDB movie database for movie info, and Amazon for cover searches. # Set this to 0 if your computer isn't connected to a network. # SYS_USE_NETWORK = True # HOST_ALIVE_CHECK tests if the given host is online. # Will be used to avoid extremely long automounter timeouts. # HOST_ALIVE_CHECK = 'ping -c 1 -W 1 %s > /dev/null 2>&1' # # Directory to store temporary files # FREEVO_TEMPDIR = '/tmp' # # Directory location to save files when the normal filesystem # doesn't allow saving. This directory can save covers and fxd files # for read only filesystems like ROM drives. Set this variable to your # old MOVIE_DATA_DIR if you have one. It needs to be set to a directory # Freevo can write to. # #if os.environ.has_key('HOME') and os.environ['HOME']: # OVERLAY_DIR = os.path.join(os.environ['HOME'], '.freevo/vfs') #else: # OVERLAY_DIR = os.path.join(FREEVO_CACHEDIR, 'vfs') OVERLAY_DIR = os.path.join(FREEVO_CACHEDIR, 'vfs') # # Umask setting for all files. # 022 means only the user has write access. If you share your Freevo # installation with different users, set this to 002 # UMASK = 022 # # Suffix for playlist files # PLAYLIST_SUFFIX = [ 'm3u' ] # # Use md5 in mmpython to create unique disc ids. Enable this if you have # problems with different discs having the same id. # MMPYTHON_CREATE_MD5_ID = 0 # # Keep metadata in memory # Setting this variable will keep all cache files in memory. Startup will be # slower, but for large directories, this will speed up the display. # 0 = Only keep current dir in memory. Use this if you have too much data # and not enough RAM # 1 = Once loaded, keep cachefile for directory in memory # 2 = Load all cachefiles on startup # # WARNING: you should not run 'freevo cache' when freevo is running. # MEDIAINFO_USE_MEMORY = 1 # # Cache images. This uses a lot of disc space but it's a huge speed # enhancement. The images will be cached in OVERLAY_DIR # CACHE_IMAGES = 1 # # Cache cropdetection. This will take quite a while to run # CACHE_CROPDETECT = False # ====================================================================== # Plugins: # ====================================================================== # Remove undesired plugins by setting plugin.remove(code). # You can also use the name to remove a plugin. But if you do that, # all instances of this plugin will be removed. # # Examples: # plugin.remove(plugin_tv) or # plugin.remove('tv') will remove the tv module from the main menu # plugin.remove(rom_plugins['image']) will remove the rom drives from the # image main menu, # plugin.remove('rom_drives.rom_items') will remove the rom drives from all # menus plugin.remove('tv') # ====================================================================== # Idlebar plug-ins # ====================================================================== plugin.activate('idlebar') plugin.activate('idlebar.tv', level=20) plugin.activate('idlebar.cdstatus', level=25) plugin.activate('idlebar.diskfree', level=30) DISKFREE_VERY_LOW = 8 # In Gigabytes DISKFREE_LOW = 20 plugin.activate('idlebar.clock', level=50) CLOCK_FORMAT = '%a %d %H:%M' # ====================================================================== # Daemon plug-ins # ====================================================================== # autostarter when inserting roms while Freevo is in the MAIN MENU plugin.activate('rom_drives.autostart') plugin.activate('ejectromdrives') # add the rom drives to each sub main menu rom_plugins = {} for t in ('video', 'audio', 'image', 'games'): rom_plugins[t] = plugin.activate('rom_drives.rom_items', type=t, level=50) # Set to true to allow destination to be clobbered SHOPPINGCART_CLOBBER = False # mixer plugin.activate('mixer') # add imdb search to the video item menu plugin.activate('video.imdb') # list of regexp to be ignored on a disc label IMDB_REMOVE_FROM_LABEL = ('season[\._ -][0-9]+', 'disc[\._ -][0-9]+', 'd[\._ -][0-9]+', 'german') # list of regexp to be ignored on a filename, match TV_RECORDMASK IMDB_REMOVE_FROM_NAME = ['^[0-9]+-[0-9]+[ _][0-9]+\.[0-9]+[ _]'] # list of words to ignore when searching based on a filename IMDB_REMOVE_FROM_SEARCHSTRING = ('the', 'a') # When searching for a movie title in imdb, should the result be # autoaccepted if it is only one hit? # 0 = show menu even if it is only one hit (gives you an opportunity to cancel) # 1 = autoaccept IMDB_AUTOACCEPT_SINGLE_HIT = True # delete file in menu plugin.activate('file_ops', level=20) # use mplayer for video playpack plugin.activate('video.mplayer') # use mplayer for audio playpack plugin.activate('audio.mplayer') # make it possible to detach the player plugin.activate('audio.detach', level=20) plugin.activate('audio.detachbar') # Amazon seems to request the covers in one locale and get the data # in another encoding. Locale must be one of: de, jp, uk, us # AMAZON_LOCALE = 'us' AMAZON_QUERY_ENCODING = 'iso-8859-15' # use mplayer for tv # to use tvtime, put the following two lines in your local_conf.py: plugin.remove('tv.mplayer') # plugin.activate('tv.tvtime') #plugin.activate('tv.mplayer') # control an external tv tuner using irsend or another command # to use this you must reassign plugin_external_tuner in local_conf.py: # plugin_external_tuner = plugin.activate('tv.irsend_generic', # args=('...', '...', )) # Please see each irsend plugin for individual arguments and be sure to # alter VIDEO_GROUPS to tell a VideoGroup to use it (tuner_type='external'). plugin_external_tuner = 0 # support for settings bookmarks (key RECORD) while playing. Also # auto bookmarking when playback is stopped plugin.activate('video.bookmarker', level=0) # show some messages on the screen plugin.activate('tiny_osd') # For recording tv # # generic_record plugin needs VCR_CMD to be set correctly plugin_record = plugin.activate('tv.generic_record') # # Use ivtv_record instead if you have an ivtv based card (PVR-250/350) # and want freevo to do everthing for you. TV_SETTINGS must be set # correctly. To use you need to set the following two lines: # # plugin.remove('tv.generic_record') # plugin_record = plugin.activate('tv.ivtv_record') # TV menu plugin to view scheduled recordings plugin.activate('tv.scheduled_recordings') # TV menu plugin to view recordings plugin.activate('tv.view_recordings') # TV menu plugin to view and edit favorites plugin.activate('tv.view_favorites') # TV menu plugin to manually schedule recordings plugin.activate('tv.manual_record') # # Enable this for joystick support: # plugin.activate('joy') # ====================================================================== # Dialog Display Plugins # ====================================================================== plugin.activate('dialog.osd_display') if CONF.display in ('x11', 'xv'): plugin.activate('dialog.x11_overlay_display') # Speak plugin to output menu items via festival # plugin.activate('speak') SPEAK_WELCOME = '' SPEAK_SHUTDOWN = '' # ---------------------------------------------------------------------- # CD Ripping # ---------------------------------------------------------------------- CD_RIP_TMP_DIR = '/tmp/' CD_RIP_TMP_NAME = 'track_%(track)s_being_ripped' CD_RIP_PN_PREF = '%(artist)s/%(album)s/%(track)s - %(song)s' CD_RIP_CDPAR_OPTS = '-s' CD_RIP_LAME_OPTS = '--vbr-new -b 192 -h' CD_RIP_OGG_OPTS = '-m 128' CD_RIP_FLAC_OPTS = '-8' CD_RIP_CASE = None # Can be title, upper, lower CD_RIP_REPLACE_SPACE = None # Can be '_', '-', etc. # ====================================================================== # Freevo directory settings: # ====================================================================== # You can change all this variables in the folder.fxd on a per folder # basis # # Example: # # # # # A small description of the directory # # # # # Should directories sorted by date instead of filename? # 0 = No, always sort by filename. # 1 = Yes, sort by date # 2 = No, don't sory by date for normal directories, # but sort by date for TV_RECORD_DIR. # DIRECTORY_SORT_BY_DATE = 2 # # Should directory items be sorted in reverse order? # DIRECTORY_REVERSE_SORT = 0 # # Should we use "smart" sorting? # Smart sorting ignores the word "The" in item names. # DIRECTORY_SMART_SORT = 0 # # Should files in directories have smart names? # This removes the first part of the names when identical # DIRECTORY_SMART_NAMES = 1 # # Should Freevo autoplay an item if only one item is in the directory? # DIRECTORY_AUTOPLAY_SINGLE_ITEM = 1 # # Force the skin to use a specific layout number. -1 == no force. The layout # toggle with DISPLAY will be disabled # DIRECTORY_FORCE_SKIN_LAYOUT = -1 # # Format string for the audio item names. # # Possible strings: # a=artist, n=tracknumber, t=title, y=year, f=filename # # Example: # This will show the title and the track number: # DIRECTORY_AUDIO_FORMAT_STRING = '%(n)s - %(t)s' # DIRECTORY_AUDIO_FORMAT_STRING = '%(t)s' # # Use media id tags to generate the name of the item. This should be # enabled all the time. It should only be disabled for directories with # broken tags. # DIRECTORY_USE_MEDIAID_TAG_NAMES = 1 # # The following settings determine which features are available for # which media types. # # If you set this variable in a folder.fxd, the value is 1 (enabled) # or 0 (disabled). # # Examples: # To enable autoplay for audio and image files: # DIRECTORY_AUTOPLAY_ITEMS = [ 'audio', 'image' ] # To disable autoplay entirely: # DIRECTORY_AUTOPLAY_ITEMS = [] # # Make all items a playlist. So when one is finished, the next one will # start. It's also possible to browse through the list with UP and DOWN # DIRECTORY_CREATE_PLAYLIST = [ 'audio', 'image' ] # # Add playlist files ('m3u') to the directory # DIRECTORY_ADD_PLAYLIST_FILES = [ 'audio', 'image' ] # # Add the item 'Random Playlist' to the directory # DIRECTORY_ADD_RANDOM_PLAYLIST = [ 'audio' ] # # Make 'Play' not 'Browse' the default action when only items and not # subdirectories are in the directory # DIRECTORY_AUTOPLAY_ITEMS = [ ] # ====================================================================== # Freevo movie settings: # ====================================================================== # # Where the movie files can be found. # This is a list of items (e.g. directories, fxd files). The items themselves # can also be a list of (title, file) # # Example: VIDEO_ITEMS = [ ('action movies', '/files/movies/action'), # ('funny stuff', '/files/movies/comedy') ] # # Some people access movies on a different machine using an automounter. # To avoid timeouts, you can specify the machine name in the directory # to check if the machine is alive first # Directory myserver:/files/server-stuff will show the item for the # directory /files/server-stuff if the computer myserver is alive. # VIDEO_ITEMS = [ ('films divx', '/mnt/Data/Divx/'), ] # # Directory containing images for TV shows. A TV show matches the regular # expression VIDEO_SHOW_REGEXP, e.g. "Name 3x10 - Title". If an image # name.(png|jpg) (lower-case) is in this directory, it will be taken as cover # image # VIDEO_SHOW_DATA_DIR = None # # The list of filename suffixes that are used to match the files that # are played wih MPlayer. # VIDEO_MPLAYER_SUFFIX = [ 'avi', 'mpg', 'mpeg', 'wmv', 'bin', 'rm', 'divx', 'ogm', 'vob', 'asf', 'm2v', 'm2p', 'mp4', 'viv', 'nuv', 'mov', 'iso', 'nsv', 'mkv', 'ogg', 'ts', 'flv', ] # # The list of filename suffixes that are used to match the files that # are played wih Xine. # VIDEO_XINE_SUFFIX = [ 'avi', 'mpg', 'mpeg', 'rm', 'divx', 'ogm', 'asf', 'm2v', 'm2p', 'mov', 'cue', 'ts', 'iso', 'vob', ] # # Preferred video player (ranking, first one is most wanted!) # VIDEO_PREFERED_PLAYER = ['mplayer', 'xine', 'vlc'] # # Only scan OVERLAY_DIR and VIDEO_SHOW_DATA_DIR for fxd files containing # information about a disc. If you only have the fxd files for discs in # one of this directories (and subdirectories), set this to 1, it will # speed up startup, 0 may be needed if you have fxd files with disc links # in your normal movie tree. # VIDEO_ONLY_SCAN_DATADIR = 1 # # try to detect a movie with more than one file and join them as one # item # VIDEO_AUTOJOIN = 1 # # join files based on the regular expression # seaches for 1, 01, 001, etc before a '.'; possibly too simple # VIDEO_AUTOJOIN_REGEX='(0*1)\.' # # try to find out if deinterlacing is needed or not # VIDEO_DEINTERLACE = None # Instruct player to use XVMC for playback VIDEO_USE_XVMC = None # Pass field dominance parameter to MPlayer VIDEO_FIELD_DOMINANCE = None # PRE and POST playing commands. Set these to a runnable command if # you wish to do something before and after playing a video, like # dimming the lights VIDEO_PRE_PLAY = None VIDEO_POST_PLAY = None # ====================================================================== # Freevo audio settings: # ====================================================================== # # Where the Audio (mp3, ogg) files can be found. # This is a list of items (e.g. directories, fxd files). The items itself # can also be a list of (title, file) # # To add webradio support, add fxd/webradio.fxd to this list # AUDIO_ITEMS = ('/mnt/Data/fxd/Webradio/src/webradio.fxd', '/mnt/Data/Album') # # The list of filename suffixes that are used to match the files that # are played as audio. # AUDIO_SUFFIX = [ 'mp3', 'ogg', 'wav', 'm4a', 'wma', 'aac', 'flac', 'mka', 'ac3', ] # # Regular expression used to recognize filenames which are likely to be # covers for an album # # This will match front.jpg and cover-f.jpg, but not back.jpg nor cover-b.jpg # AUDIO_COVER_REGEXP = 'front|-f' # # Format strings used to seach for audio cover images. # Fist matching GIF, JPG or PNG image will be used as cover. # # Examples: # AUDIO_COVER_FORMAT_STRINGS = [ 'cover-%(artist)s-%(album)s', 'mycover' ] AUDIO_COVER_FORMAT_STRINGS = [ '%(album)s', '../covers/%(album)s', '../../covers/%(album)s', '../covers/nocover' ] # # Preferred audio player # AUDIO_PREFERED_PLAYER = 'mplayer' # # Show video files in the audio menu (for music-videos) # AUDIO_SHOW_VIDEOFILES = False # ====================================================================== # Freevo image viewer settings: # ====================================================================== # # Where image files can be found. # This is a list of items (e.g. directories, fxd files). The items itself # can also be a list of (title, file) # IMAGE_ITEMS = ('photos', '/mnt/Data/Photos') # # The list of filename suffixes that are used to match the files that # are used for the image viewer. # IMAGE_SUFFIX = [ 'jpg', 'gif', 'png', 'jpeg', 'bmp', 'tiff', 'psd' ] # The viewer now supports a new type of menu entry, a slideshow file. # It also has the slideshow alarm signal handler for automated shows. # It uses a new configuration option: IMAGE_SSHOW_SUFFIX = [ 'ssr' ] # The viewer can exclude certain types of images based on the regular expression list # eg IMAGE_EXCLUDE = [('thm', 'tn_')] IMAGE_EXCLUDE = None # # Mode of the blending effect in the image viewer between two images # Possible values are: # # None: no blending # -1 random effect # 0 alpha blending # 1 wipe effect # IMAGEVIEWER_BLEND_MODE = -1 # # Some images are incorrected rotated, if the images are rotated clock- # wise instead of anti-clockwise then set this to true # IMAGEVIEWER_REVERSED_IMAGES = 0 # # What information to display by pressing DISPLAY. # You can add as many lists as you want and the viewer will toggle # between no osd and the lists. # # Warning: this list may change in future versions of Freevo to support # nice stuff like line breaks. # IMAGEVIEWER_OSD = [ # First OSD info [ (_('Title')+': ', 'name'), (_('Description')+': ', 'description'), (_('Author')+': ', 'author') ], # Second OSD info [ (_('Title')+': ', 'name'), (_('Date')+': ', 'date'), ('W:', 'width'), ('H:', 'height'), (_('Model')+': ', 'hardware'), (_('Software')+': ', 'software') ], ] # # Default duration for images in a playlist. If set to 0, you need # to press a button to get to the next image, a value > 0 is the time # in seconds for an auto slideshow # IMAGEVIEWER_DURATION = 3 # # If set to True, the slideshow starts automaticaly entering the image viewer, # if set to False, it must be started manually with the play button: # IMAGEVIEWER_AUTOPLAY = True # # use exif thumbnail your thumbnail review. The quality is lower but # it's much faster # IMAGE_USE_EXIF_THUMBNAIL = 1 # ====================================================================== # Freevo games settings: # ====================================================================== # # MAME is an emulator for old arcade video games. It supports almost # 2000 different games! The actual emulator is not included in Freevo, # you'll need to download and install it separately. The main MAME # website is at http://www.mame.net, but the version that is used here # is at http://x.mame.net since the regular MAME is for Windows. # # SNES stands for Super Nintendo Entertainment System. Freevo relies # on other programs that are not included in Freevo to play these games. # # NEW GAMES SYSTEM : # ================= # The GAMES_ITEMS structure is now build as follows : # , , (, , , , []) # where : # - : Internal game types (MAME or SNES) or # generic one (GENERIC) # - : Emulator command # - : Arguments for the emulator # - : Optionnal path to the picture # - : If the folder use the GENERIC # type, then you must specify here # the file suffix used by the emulator # GAMES_ITEMS = [ # ('MAME', '/home/media/games/xmame/roms', # ('MAME', '/usr/local/bin/xmame.SDL', '-fullscreen -modenumber 6', # '/home/media/games/xmame/shots', None)), # ('SUPER NINTENDO', '/home/media/games/snes/roms', # ('SNES', '/usr/local/bin/zsnes', '-m -r 3 -k 100 -cs -u', '', None )), # ('Visual Boy Advance', '/home/media/games/vba/roms/', # ('GENERIC', '/usr/local/vba/VisualBoyAdvance', ' ', '', [ 'gba' ] )), # ('MEGADRIVE', '/home/media/games/megadrive/roms', # ('GENESIS', '/usr/local/bin/generator-svgalib', '', '', '' )) # ] GAMES_ITEMS = None # # These settings are used for the MAME arcade emulator: # # Priority of the game process # 0 = Don't change the priority # >0 - Lower priority # <0 - Higher priority # GAMES_NICE = -20 # # MAME cache directory # GAMES_MAME_CACHE = '%s/romlist-%s.pickled' % (FREEVO_CACHEDIR, os.getuid()) # ====================================================================== # Freevo SKIN settings: # ====================================================================== # # Skin file that contains the actual skin code. This is imported # from skin.py # SKIN_MODULE = 'main' # # XML file for the skin. If SKIN_XML_FILE is set, this skin will be # used, otherwise the skin will rememeber the last choosen skin. # SKIN_XML_FILE = '' SKIN_DEFAULT_XML_FILE = 'blurr' # # XML file used for the dialog skins. # DIALOG_SKIN_XML_FILE = 'base' # # Select a way when to switch to text view even if a image menu is there # # 1 = Force text view when all items have the same image and there are no # directories # 2 = Ignore the directories, always switch to text view when all images # are the same # SKIN_FORCE_TEXTVIEW_STYLE = 1 # # Force text view for the media menu # (The media menu is the first menu displayed for video, audio, images # and games). # SKIN_MEDIAMENU_FORCE_TEXTVIEW = 0 # ====================================================================== # Freevo OSD settings: # ====================================================================== # # OSD default font. It is only used for debug/error stuff, not regular skinning. # OSD_DEFAULT_FONTNAME = 'Vera.ttf' OSD_DEFAULT_FONTSIZE = 18 OSD_FORCE_FONTNAME = None OSD_FORCE_FONTSIZE = 4.0 / 3.0 # # System Path to search for fonts not included in the Freevo distribution # OSD_EXTRA_FONT_PATH = [ '/usr/X11R6/lib/X11/fonts/truetype/' ] # # Font aliases # All names must be lowercase! All alternate fonts must be in './share/fonts/' # OSD_FONT_ALIASES = { 'arial_bold.ttf' : 'VeraBd.ttf' } # # Number of seconds to wait until the busy icon is shown in the menu. # Busy icon can also be shown right away when there is more than a certain # number of files in a directory. # # Set this to None to disable this. # (seconds, files) # OSD_BUSYICON_TIMER = (0.7, 200) # # Execute a script on OSD startup. # OSD_SDL_EXEC_AFTER_STARTUP = "" # # Execute a script on OSD close. # OSD_SDL_EXEC_AFTER_CLOSE = "" # # Number of pixels to move the display to centre the OSD on the display # OSD_OVERSCAN_LEFT = OSD_OVERSCAN_RIGHT = 0 OSD_OVERSCAN_TOP = OSD_OVERSCAN_BOTTOM = 0 # # Setting the cursors when freevo is run in fullscreen mode # OSD_X11_CURSORS = None # Exec a script after the osd startup. Matrox G400 users who wants to # use the framebuffer and have a PAL tv may set this to # './matrox_g400/mga_pal_768x576.sh' OSD_SDL_EXEC_AFTER_STARTUP='' if CONF.display == 'mga': OSD_SDL_EXEC_AFTER_STARTUP='%s %s %s' % (os.path.join(CONTRIB_DIR, 'fbcon/mgafb'), CONF.tv, CONF.geometry) OSD_SDL_EXEC_AFTER_CLOSE='%s restore' % os.path.join(CONTRIB_DIR, 'fbcon/mgafb') OSD_OVERSCAN_LEFT = OSD_OVERSCAN_RIGHT = 20 OSD_OVERSCAN_TOP = OSD_OVERSCAN_BOTTOM = 10 if CONF.display in ( 'directfb', 'dfbmga' ): OSD_OVERSCAN_LEFT = OSD_OVERSCAN_RIGHT = 50 OSD_OVERSCAN_TOP = OSD_OVERSCAN_BOTTOM = 50 if CONF.display == 'dxr3': OSD_OVERSCAN_LEFT = OSD_OVERSCAN_RIGHT = 65 OSD_OVERSCAN_TOP = OSD_OVERSCAN_BOTTOM = 45 # # Stop the osd before playing a movie with xine or mplayer. Some output # devices need this. After playback, the osd will be restored # OSD_STOP_WHEN_PLAYING = 0 if CONF.display in ( 'directfb', 'dfbmga', 'dxr3', 'dga' ): OSD_STOP_WHEN_PLAYING = 1 # # Dim text that doesn't fit instead of using ellipses. # OSD_DIM_TEXT = 1 # # Make a complete screen redraw every time. This is necessary sometimes # OSD_UPDATE_COMPLETE_REDRAW = 0 # # When viewing images on a TV screen where the pixels are not square # the images need to be scaled according to the aspect ratio of the TV # Use this setting for 16x9 TVs # OSD_PIXEL_ASPECT = (float(1024) / float(720)) # Use this setting for 4x3 TVs # OSD_PIXEL_ASPECT = (float(768) / float(720)) # Use this setting for Monitors including HDTVs # OSD_PIXEL_ASPECT = 1.0 # OSD_PIXEL_ASPECT = 1.0 if CONF.display in ( 'dxr3', 'dga' ): OSD_UPDATE_COMPLETE_REDRAW = 1 # # OSD sound effects # OSD_SOUNDS_ENABLED=False OSD_SOUNDS= { 'menu.navigate': None, 'menu.back_one': None, 'menu.select' : None } # # Padding between icons # OSD_IDLEBAR_PADDING = 20 OSD_IDLEBAR_FONT = 'small0' OSD_IDLEBAR_CLOCK_FONT = 'clock' # # Amount to dim background when showing a dialog. 0 (None) - 255 (blacked out) # OSD_DIALOG_BACKGROUND_DIM = 96 # ====================================================================== # Freevo remote control settings: # ====================================================================== # # Location of the lircrc file # # For remote control support, Freevo needs a lircrc file, like this: # # begin # prog = freevo # button = select # config = SELECT # end # # Check contrib/lirc for examples and helpers/freevo2lirc.pl for a converter # script. # LIRCRC = '/etc/freevo/lircrc' # # Set the Joy device to 0 to disable, 1 for js0, 2 for js1, etc... # Supports as many buttons as your controller has, # but make sure there is a corresponding entry in JOY_CMDS. # You will also need to plugin.activate('joy'). # FYI: new kernels use /dev/input/jsX, but joy.py will fall back on /dev/jsX # JOY_DEV = 0 JOY_CMDS = { 'up' : 'UP', 'down' : 'DOWN', 'left' : 'LEFT', 'right' : 'RIGHT', 'button 1' : 'PLAY', 'button 2' : 'PAUSE', 'button 3' : 'STOP', 'button 4' : 'ENTER', } JOY_LOCKFILE = None # ====================================================================== # TVtime settings: # ====================================================================== # # Location of the TV time program # Default: Use the value in freevo.conf # TVTIME_CMD = CONF.tvtime # ====================================================================== # MPlayer settings: # ====================================================================== MPLAYER_CMD = CONF.mplayer MPLAYER_AO_DEV = 'alsa:device="hw=0.3"' # e.g.: oss,sdl,alsa, see mplayer docs MPLAYER_AO_DEV_OPTS = '' # e.g.: 'some_var=vcal' if CONF.display == 'x11': #MPLAYER_VO_DEV = 'xv,sdl,x11,' # X11 drivers in order of preference MPLAYER_VO_DEV = 'xv,vdpau' # X11 drivers in order of preference else: MPLAYER_VO_DEV = CONF.display # e.g.: x11,mga,fbdev, see mplayer docs MPLAYER_VO_DEV_OPTS = '' # e.g.: 'some_var=vcal' MPLAYER_AUDIO_CACHE_KB = 256 MPLAYER_AUDIO_CACHE_MIN_PERCENT = 25 MPLAYER_AUDIO_NETWORK_OPTS = '-cache %d -cache-min %d' % (MPLAYER_AUDIO_CACHE_KB, MPLAYER_AUDIO_CACHE_MIN_PERCENT) DVD_LANG_PREF = 'en,se,no' # Order of preferred languages on DVD. DVD_SUBTITLE_PREF = '' # Order of preferred subtitles on DVD. # Priority of mplayer process. 0 is unchanged, <0 is higher prio, >0 lower prio. # prio <0 has no effect unless run as root. As a non-root user the lowest is 10 # nice levels are -20 to 19 MPLAYER_NICE = -20 MENCODER_NICE = 15 if CONF.display in ( 'directfb', 'dfbmga' ): MPLAYER_ARGS_DEF = ('-autosync 100 -nolirc -nojoystick -autoq 100 -fs ') else: MPLAYER_ARGS_DEF = (('-autosync 100 -nolirc -nojoystick -autoq 100 -screenw %s ' + '-screenh %s -fs') % (CONF.width, CONF.height)) # # Mplayer options to use the software scaler. If your CPU is fast enough, you # might try a software scaler. You can disable it later for some larger files # with the mplayer option '-nosws'. If you have -framedrop or -hardframedrop # as mplayer option, the software scaler will also not be used. # A good value for this variable is: #MPLAYER_SOFTWARE_SCALER = "-subfont-text-scale 5 -fs -sws 2 -vf scale=%s:-3,"\ # "expand=%s:%s " % ( CONF.width, CONF.width, CONF.height ) # older versions of mplayer may need # MPLAYER_SOFTWARE_SCALER = '-xy %s -sws 2 -vop scale:-1:-1:-1:100' % CONF.width # MPLAYER_SOFTWARE_SCALER = '' # # Mplayer arguments for different media formats. (eg DVDs, CDs, AVI files, etc) # Uses a default value if nothing else matches. # MPLAYER_ARGS = { 'dvd' : '-cache 8192', 'vcd' : '-cache 4096', 'cd' : '-cache 1024 -cdda speed=2', 'tv' : '-nocache', 'ivtv' : '-cache 8192', 'dvb' : '-cache 1024', 'avi' : '-cache 5000 -idx -subfont-text-scale 5', 'flv' : '-nocache -forceidx', 'mp4' : '-vo vdpau -vc ffh264vdpau, -nocache -forceidx', 'rm' : '-cache 5000 -forceidx', 'rmvb' : '-cache 5000 -forceidx', 'webcam' : 'tv:// -tv driver=v4l:width=352:height=288:outfmt=yuy2:device=/dev/video2', 'default': '-vo vdpau -vc ffh264vdpau,ffmpeg12vdpau,ffvc1vdpau,ffwmv3vdpau, -cache 5000' } # # Number of seconds before seek value times out. This is used when # seeking a specified number of minutes into a movie. If you make # a mistake or change your mind, the seek value will timeout after # this many seconds. # MPLAYER_SEEK_TIMEOUT = 8 # # Autocrop files when playing. This is useful for files in 4:3 with black # bars on a 16:9 tv # MPLAYER_AUTOCROP = 0 MPLAYER_AUTOCROP_START = 60 # # Try to set correct 'delay' and 'mc' values for mplayer based on the delay # from mmpython. # # This should correct av sync problems with mplayer for some files, but # may also break things. (I don't know, that's why it's disabled by default). # WARNING: When seeking, the playback is out of sync for some seconds! # MPLAYER_SET_AUDIO_DELAY = 0 # # Mplayer video filter for interlaced or progressive videos. If you have # a slow pc, do not use post processing # MPLAYER_VF_INTERLACED = '' # MPLAYER_VF_PROGRESSIVE = 'pp=fd' # For pal and dvb-t recordings, the following looks good # MPLAYER_VF_INTERLACED = 'pp=md/de,phase=U' # MPLAYER_VF_INTERLACED = 'pp=de/fd' #MPLAYER_VF_PROGRESSIVE = 'pp=de' MPLAYER_VF_PROGRESSIVE = '' # This setting is for the MPlayer TV plugin. You can either use dvb_set_channel # for switching TV channels (set this to 0) or you can restart mplayer (set this # to 1). # NOTE: You need to set this to 1 to be able to use the TV_CHANNEL_LAST feature. # MPLAYER_OLDTVCHANNELCHANGE = False # ====================================================================== # Xine settings: # ====================================================================== # You need xine-ui version greater or equal to 0.9.23 to use the all the # features of the xine plugin XINE_COMMAND = '' if CONF.display in ('mga', 'fbdev') and CONF.fbxine: XINE_VO_DEV = 'vidixfb' XINE_COMMAND = CONF.fbxine if CONF.display == 'dxr3' and CONF.fbxine: XINE_VO_DEV = 'dxr3' XINE_COMMAND = CONF.fbxine if CONF.display == 'x11' and CONF.xine: XINE_VO_DEV = 'xv' XINE_COMMAND = '%s --auto-play=fq --hide-gui --borderless --geometry %sx%s+0+0 --no-splash' % \ (CONF.xine, CONF.width, CONF.height) if CONF.display in ('dfbmga', 'directfb') and CONF.df_xine: XINE_VO_DEV = '' XINE_COMMAND = CONF.df_xine XINE_ARGS_DEF = "--no-lirc --post='pp:quality=10;expand'" XINE_AO_DEV = 'oss' # alsa or oss if XINE_COMMAND: plugin.activate('video.xine') if CONF.fbxine: plugin.activate('audio.xine') # Set to False if xine doesn't have '--no-lirc' option XINE_HAS_NO_LIRC = True # Set to True is xine supports get_time this enables the position to be saved XINE_BOOKMARK = False # -- TV/XINE configuration -- # Video output device for TV. For Hauppage PVR x50, # use "xxmc" if you have hardware acceleration enabled. # Otherwise, see XINE_VO_DEV XINE_TV_VO_DEV = None # Audio output device to use for TV. See XINE_AO_DEV. XINE_TV_AO_DEV = None # This specifies the path and filemask that xine uses for # timeshifting. File can get quite big (several gigabytes) XINE_TV_TIMESHIFT_FILEMASK = "you must set XINE_TV_TIMESHIFT_FILEMASK in your local_conf.py" # Stop confirmation: press STOP twice to return to menu XINE_TV_CONFIRM_STOP = True # This enables the progressive seek feature. The speed # for seeking (fast forward and rewind) is increased # automatically. The speed is increased every [THRESHOLD] # seconds in steps of [INCREMENT] secnds. XINE_TV_PROGRESSIVE_SEEK = True XINE_TV_PROGRESSIVE_SEEK_THRESHOLD = 2 XINE_TV_PROGRESSIVE_SEEK_INCREMENT = 5 # ====================================================================== # Freevo TV settings: # ====================================================================== # # This is where recorded video is written. # # XXX the path doesn't work from the www cgi scripts! TV_RECORD_DIR = "/mnt/Record/" # This will enable duplicate recording detection TV_RECORD_DUPLICATE_DETECTION = None # This will enable only new episodes to be recorded TV_RECORD_ONLY_NEW_DETECTION = None # This will enable the commercial detection. It is quite process intensive. TV_RECORD_REMOVE_COMMERCIALS = None # This will try to resolve scheduling conflicts and re-schedule when needed TV_RECORD_CONFLICT_RESOLUTION = None # This will automatically re-encode recordings with the default REENCODE settings # using the encoding server TV_REENCODE = False TV_REENCODE_REMOVE_SOURCE = False # Some default re-encode values REENCODE_CONTAINER = 'avi' REENCODE_RESOLUTION = 'Optimal' REENCODE_VIDEOCODEC = 'XviD' REENCODE_VIDEOBITRATE = 1000 REENCODE_AUDIOCODEC = 'MPEG 1 Layer 3 (mp3)' REENCODE_AUDIOBITRATE = 128 REENCODE_NUMPASSES = 1 REENCODE_VIDEOFILTER = None REENCODE_NUMTHREADS = 1 REENCODE_ALTPROFILE = None # # Watching TV # # XXX You must change this to fit your local conditions! # # TV_SETTINGS = 'NORM INPUT CHANLIST DEVICE' # # NORM: ntsc, pal, secam # INPUT: television, composite1 # CHANLIST: One of the following: # # us-bcast, us-cable, us-cable-hrc, japan-bcast, japan-cable, europe-west, # europe-east, italy, newzealand, australia, ireland, france, china-bcast, # southafrica, argentina, canada-cable, russia # # DEVICE: Usually /dev/video0, but might be /dev/video1 instead for multiple # boards. # # FreeBSD uses the Brooktree TV-card driver, not V4L. # if os.uname()[0] == 'FreeBSD': TV_DRIVER = 'bsdbt848' TV_DEVICE = '/dev/bktr0' TV_INPUT = 1 RADIO_DEVICE = None else: # For Linux TV_DRIVER can be 'v4l' or 'v4l2' and depends on the driver TV_DRIVER = 'v4l2' TV_DEVICE = '/dev/video0' TV_INPUT = 0 RADIO_DEVICE = None # Additional options to pass to mplayer in TV mode. # For example, TV_OPTS = '-vop pp=ci' would turn on deinterlacing. TV_OPTS = '' TV_SETTINGS = '%s television %s %s' % (CONF.tv, CONF.chanlist, TV_DEVICE) TV_DATE_FORMAT = '%e-%b' # Day-Month: 11-Jun TV_TIME_FORMAT = '%H:%M' # Hour-Minute 14:05 TV_DATETIME_FORMAT = '%A %b %d %I:%M %p' # Thursday September 24 8:54 am TV_RECORD_YEAR_FORMAT = '%a, %d %b %Y %H:%M:%S %Z' # Fri, 19 Oct 2007 08:58:56 CEST # This is the filename format for files recorded using Freevo. # You can use any of the strftime variables in it, provided you # put two '%%' at the beginning. # # Some examples: # %%A - Full weekday name. # %%H - Hour (24-hour clock) as a decimal number [00,23]. # %%M - Minute as a decimal number [00,59]. # %%m - Month as a decimal number [01,12]. # %%d - Day of the month as a decimal number [01,31]. # %%p - Locale's equivalent of either AM or PM. # # More can be found at: http://www.python.org/doc/current/lib/module-time.html TV_RECORD_FILE_MASK = '%%m-%%d %%H.%%M %(progname)s - %(title)s' TV_RECORD_FILE_SUFFIX = '.avi' TV_RECORD_FILE_OKLETTERS = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-:' # if using the persitant recordserver TV_RECORD_SCHEDULE = FREEVO_STATICDIR + '/schedule.pickle' TV_RECORD_FAVORITES = FREEVO_STATICDIR + '/favorites.pickle' TV_RECORD_FAVORITES_LIST = FREEVO_STATICDIR + '/favorites.txt' RECORDSERVER_IP = 'localhost' RECORDSERVER_PORT = 18001 RECORDSERVER_SECRET = 'secret1' # The timer offset when to check the next recording; in the USA use 0 RECORDSERVER_ATTIMER = 45 # If the recordserver runs as root, set the uid to the given one # after startup. The gui must also match one of the users group ids RECORDSERVER_UID = 0 RECORDSERVER_UID = 0 # Remove old recordings if GB free is less than specified value RECORDSERVER_CLEANUP_THRESHOLD = 0 # start every recording X minutes before scheduled, # and stop X minutes after scheduled - default to zero minutes. # This must be a value in seconds although at the moment only has # the percision of one minute. TV_RECORD_PADDING_PRE = 0 TV_RECORD_PADDING_POST = 0 # Number of minutes before or after the start time of a favorite where # a program matching the name, day of week etc should still be considered a # favorite. For example a favorite has a start time of 21.00, but the program # has been brought forward by the broadcaster by 10 minutes to 20.50, with # a margin of less than 10 this program will not be recorded as the start time # is outside the margin. But if the margin is set at 10 minutes or greater this # program will be considered a favorite and recorded. Probably about 45 minutes # is the best bet, better a false positive than a false negative. TV_RECORD_FAVORITE_MARGIN = 45 if os.uname()[0] == 'FreeBSD': # FreeBSD's bsdbt848 TV driver doesn't support audio settings? VCR_AUDIO = '' else: VCR_AUDIO = (':adevice=%s' % AUDIO_DEVICE + ':audiorate=32000' + # 44100 for better sound ':forceaudio:forcechan=1:' + # Forced mono for bug in my driver 'buffersize=64') # 64MB capture buffer, change? # TV capture size for viewing and recording. Max 768x480 for NTSC, # 768x576 for PAL. Set lower if you have a slow computer! # # For the 'tvtime' TV viewing application, only the horizontal size is used. # Set the horizontal size to 400 or 480 if you have a slow (~500MHz) computer, # it still looks OK, and the picture will not be as jerky. # The vertical size is always either fullscreen or 480/576 (NTSC/PAL) # for tvtime. TV_VIEW_SIZE = (640, 480) TV_REC_SIZE = (320, 240) # Default for slower computers # Input formats for viewing and recording. The format affect viewing # and recording performance. It is specific to your hardware, so read # the MPlayer docs and experiment with mplayer to see which one fits # your computer best. TV_VIEW_OUTFMT = 'yuy2' # Better quality, slower on pure FB/X11 TV_REC_OUTFMT = 'yuy2' # PRE and POST recording commands. Set these to a runnable command if # you wish to have special mixer settings or video post processing. VCR_PRE_REC = None VCR_POST_REC = None # XXX Please see the mencoder docs for more info about the settings # XXX below. Some stuff must be changed (adevice), others probably # XXX should be ("Change"), or could be in some cases ("change?") VCR_CMD = (CONF.mencoder + ' ' + 'tv:// ' + # New mplayer requires this. '-tv driver=%s:input=%d' % (TV_DRIVER, TV_INPUT) + ':norm=%s' % CONF.tv + ':channel=%(channel)s' + # Filled in by Freevo ':chanlist=%s' % CONF.chanlist + ':width=%d:height=%d' % (TV_REC_SIZE[0], TV_REC_SIZE[1]) + ':outfmt=%s' % TV_REC_OUTFMT + ':device=%s' % TV_DEVICE + VCR_AUDIO + # set above ' -ovc lavc -lavcopts ' + # Mencoder lavcodec video codec 'vcodec=mpeg4' + # lavcodec mpeg-4 ':vbitrate=1200:' + # Change lower/higher, bitrate 'keyint=30 ' + # Keyframe every 10 secs, change? '-oac mp3lame -lameopts ' + # Use Lame for MP3 encoding, must be enabled in mencoder! 'br=128:cbr:mode=3 ' + # MP3 const. bitrate, 128 kbit/s '-ffourcc divx ' + # Force 'divx' ident, better compat. '-endpos %(seconds)s ' + # only mencoder uses this so do it here. '-o %(filename)s') # Filled in by Freevo # # Settings for ivtv based cards such as the WinTV PVR-250/350. # # XXX TODO: Add descriptions and valid settings for each option. # bitrate in bps # stream type # Options are: 0 (mpeg2_ps), 1 (mpeg2_ts), 2 (mpeg1), 3 (mpeg2_pes_av), # 5 (mpeg2_pes_v), 7 (mpeg2_pes_a), 10 (dvd) TV_IVTV_OPTIONS = { 'input' : 4, 'resolution' : '720x480', 'aspect' : 2, 'audio_bitmask' : 233, 'bframes' : 3, 'bitrate_mode' : 1, 'bitrate' : 6000000, 'bitrate_peak' : 8000000, 'dnr_mode' : 0, 'dnr_spatial' : 0, 'dnr_temporal' : 0, 'dnr_type' : 0, 'framerate' : 0, 'framespergop' : 12, 'gop_closure' : 1, 'pulldown' : 0, 'stream_type' : 10, } # # TV_FREQUENCY_TABLE - This is only used when Freevo changes the channel natively. # This is only the case if you are using V4L2 and any of the following plugins: # timeshift, ivtv_record, ivtv_basic_tv. # For the standard frequancy tables see src/tv/freq.py. To add your own just # replace tuner_id in the following example with a valid tuner id (ie: '5' or # 'BBC1') and a frequency in KHz. You may have as many entries as you like, # anything here will simply override a corresponding entry in your standard # frequency table and you can also have entries here that are not present in # there. TV_FREQUENCY_TABLE = { 'tuner_id' : 55250, } # VIDEO_GROUPS is a new setting to handle multiple arbitrary groups of devices # for viewing or recording. It will be possible to have different Freevo # channels use different Video Groups. TV_VIDEO_GROUPS = [ VideoGroup(vdev=TV_DEVICE, adev=AUDIO_DEVICE, input_type='tuner 1', input_num=0, tuner_norm=CONF.tv, tuner_chanlist=CONF.chanlist, desc='Default Video Group', record_group=None), ] # # TV Channels. This list contains a mapping from the displayed channel name # to the actual channel name as used by the TV watching application. # The display name must match the names from the XMLTV guide, # and the TV channel name must be what the tuner expects (usually a number). # # The TV menu is supposed to be supported by the XMLTV application for # up to date listings, but can be used without it to just display # the available channels. # # This list also determines the order in which the channels are displayed! # N.B.: You must delete the XMLTV cache file (e.g. /var/cache/freevo/TV.xml.pickled) # if you make changes here and restart! # # Format: [('xmltv channel id', 'freevo display name', 'tv channel name'), ...] # # If this variable is set to None (default), Freevo will try to auto-detect # the channel list based on the xmltv file. This doesn't work for all # xmltv grabber, e.g. the German list doesn't contain station lists. In this # case Freevo will output the possible list for you to add them manually. # # If auto-detection doesn't work or you want to edit the list, run # freevo tv_grab -query. # # Setting this variable to [] will deactivate the tv guide. If you don't have # a tv card, you may also want to add plugin.remove('tv') to remove the whole # tv menu. # # All channels listed here will be displayed on the TV menu, even if they're # not present in the XMLTV listing. # # # Timedependent channels: # # The TV_CHANNELS-list can look like this: # # TV_CHANNELS = [('21', 'SVT1', 'E5'), # ('22', 'SVT2', 'E3'), # ('26', 'TV3', 'E10'), # ('27', 'TV4', 'E6'), # ('10', 'Kanal 5', 'E7'), # ('60', 'Fox Kids', 'E8', ('1234567', '0600', '1659')), # ('16', 'TV6', 'E8', ('1234567', '1700', '2359'), # ('1234567', '0000', '0300')), # ('14', 'MTV Europe', 'E11') ] # # As you can see the list takes optional tuples: # ( 'DAYS', 'START', 'END') # # 1234567 in days means all days. # 12345 would mean monday to friday. # # It will display "Fox Kids" from 06:00 to 16:59 and "TV6" from 17:00 to 03:00. # 03:00 to 06:00 it won't be displayed at all. # TV_CHANNELS = None # # A lambda function to sort the TV_CHANNELS # TV_CHANNELS_COMPARE = lambda a, b: cmp(int(a[2]), int(b[2])) # Program to grab xmltv listings. To get a grabber, you need to download # xmltv. A possible value for users in the USA is tv_grab_na # Use the tv_grab helper to grab the listings and cache them. Start # 'freevo tv_grab --help' for more information. XMLTV_GRABBER = '' # If you want to run tv_sort on your listings add the path to tv_sort here. # tv_sort will make sure all your programs have proper stop times, otherwise # programs might get cut off at midnight. XMLTV_SORT = '' # Number of days the grabber should get XMLTV_DAYS = 3 # # GMT offset for XMLTV feeds that don't contain timezone information # An example of this is the OzTivo feed which has the timestamps # in the XML pre-adjusted for your timezone # XMLTV_TIMEZONE = None # ====================================================================== # Freevo builtin WWW server settings: # ====================================================================== # # To activate the built in web server, please activate the www plugin # in your local_conf.py: # # plugin.activate('www') # # Web server port number. 80 is the standard port, but is often # taken already by apache, and cannot be used unless the server # runs as root. Port 8080 is the default, change to 80 if # needed. # WEBSERVER_PORT = 80 WEBSERVER_UID = 0 WEBSERVER_GID = 0 # # Webserver cache directory # WEBSERVER_CACHEDIR = FREEVO_CACHEDIR # items to include on the web pages WWW_PAGES = [ # Label Title Page (_('Home'), _('Home'), 'index.rpy'), (_('TV Guide'), _('View TV Listings'), 'guide.rpy'), (_('Scheduled Recordings'), _('View Scheduled Recordings'), 'record.rpy'), (_('Favorites'), _('View Favorites'), 'favorites.rpy'), (_('Media Library'), _('View Media Library'), 'library.rpy'), (_('Manual Recording'), _('Schedule a Manual Recording'), 'manualrecord.rpy'), (_('Search'), _('Advanced Search Page'), 'search.rpy'), (_('Help'), _('View Online Help and Documentation'), 'help/') ] # # Some sizes for the images in the web library # Can be a tuple of sizes or a size # WWW_IMAGE_SIZE = (1024, 768) WWW_IMAGE_THUMBNAIL_SIZE = 256 # # Username / Password combinations to login to the web interface. # These should be overridden in local_conf.py # # WWW_USERS = { # "user1" : "changeme", # "optional" : "changeme2" # } # WWW_USERS = { 0 : 0 } # # Divide the TV guide into intervals of this length (in minutes) # WWW_GUIDE_INTERVAL = 30 # # Precision for TV guide (in minutes) # WWW_GUIDE_PRECISION = 5 # # Show this many blocks at once # WWW_GUIDE_COLS = 6 WWW_STYLESHEET = 'styles/main.css' WWW_JAVASCRIPT = 'scripts/display_prog-head.js' # ====================================================================== # Freevo builtin encoding server settings: # ====================================================================== ENCODINGSERVER_UID = 0 ENCODINGSERVER_GID = 0 ENCODINGSERVER_IP = 'localhost' ENCODINGSERVER_PORT = 18002 ENCODINGSERVER_SECRET = 'secret2' #If the original file is in a writable directory, then # the reencoded file will go in the same directory. #Otherwise, it will go to this directory. #(Use an absolute path where the user can write). ENCODINGSERVER_SAVEDIR = None # ====================================================================== # Freevo builtin commdetect server settings: # ====================================================================== COMMDETECTSERVER_UID = 0 COMMDETECTSERVER_GID = 0 COMMDETECTSERVER_IP = 'localhost' COMMDETECTSERVER_PORT = 6667 # ====================================================================== # Freevo builtin rss server settings: # ====================================================================== RSSSERVER_UID = 0 RSSSERVER_GID = 0 RSS_CHECK_INTERVAL = 3600 RSS_FEEDS = '/etc/freevo/rss.feeds' RSS_DOWNLOAD = os.path.join(FREEVO_TEMPDIR, 'rssdownloads') RSS_VIDEO = 'you must set RSS_VIDEO in your local_conf.py' RSS_AUDIO = 'you must set RSS_AUDIO in your local_conf.py' # ====================================================================== # Internal stuff, you shouldn't change anything here unless you know # what you are doing # ====================================================================== # # Config for xml support in the movie browser # the regexp has to be with ([0-9]|[0-9][0-9]) so we can get the numbers # VIDEO_SHOW_REGEXP = "s?([0-9]|[0-9][0-9])[xe]([0-9]|[0-9][0-9])[^0-9]" # # Remote control daemon. The server is in the Freevo main application, # and the client is a standalone application in rc_client/ # ENABLE_NETWORK_REMOTE = 0 REMOTE_CONTROL_HOST = '127.0.0.1' REMOTE_CONTROL_PORT = 16310 # # Remote control daemon. Similar to the one above, but uses TCP instead # of UDP. It is possible to send commands with a telnet client. # ENABLE_TCP_NETWORK_REMOTE = 0 REMOTE_CONTROL_TCP_HOST = '127.0.0.1' REMOTE_CONTROL_TCP_PORT = 16311 # # XMLTV File # # This is the XMLTV file that can be optionally used for TV listings # XMLTV_FILE = FREEVO_STATICDIR + '/TV.xml' # # XML TV Logo Location # # Use the "makelogos.py" script to download all the # Station logos into a directory. And then put the path # to those logos here TV_LOGOS = FREEVO_STATICDIR + '/logos' if not os.path.isdir(TV_LOGOS): os.makedirs(TV_LOGOS) # # Default locale # LOCALE='iso-8859-15' # # Changed the handling of crashes in freevo # FREEVO_EVENTHANDLER_SANDBOX = 1 # Use stat to check if a directory has changed. This is faster and should # work with all kinds of filesystems. No need to change it I guess DIRECTORY_USE_STAT_FOR_CHANGES = True # # Debug the current skin, display boxes around each area. # DEBUG_SKIN = 0 # # Debug the idlebar, display boxes around each area. # DEBUG_IDLEBAR = 0 DEBUG_IDLEBAR_FONT = 'tiny0' # # store output of started processes for debug # Set to 1 to log child application output to _stdout.log and _stderr.log # DEBUG_CHILDAPP = 0 # Enable the timing of the event handler DEBUG_TIME = 0 # Enable the benchmarking wrapper, when active prints the duration of a function call # We could be more specific and use a bit pattern to enable certain parts, like skins, tv, etc. DEBUG_BENCHMARKING = 0 DEBUG_BENCHMARKCALL = False # The default logging level # can be one of CRITICAL (FATAL), ERROR, WARNING (WARN), INFO, DEBUG, NOTSET LOGGING = logging.INFO LOGGING_WEBSERVER = logging.INFO LOGGING_RECORDSERVER = logging.INFO LOGGING_ENCODINGSERVER = logging.INFO LOGGING_RSSSERVER = logging.INFO # When logging is DEBUG or NOTSET then DEBUG level logs messages DEBUG = 0 # enable the pdb (python debugger), don't set this unless you know how to use the debugger DEBUG_DEBUGGER = 0 # # Activate blending between different menu screens # FREEVO_USE_ALPHABLENDING = False