diff options
Diffstat (limited to 'abs/core-testing/tweaker')
-rw-r--r-- | abs/core-testing/tweaker/PKGBUILD | 2 | ||||
-rwxr-xr-x | abs/core-testing/tweaker/bin/SQLtweaker.sh | 86 | ||||
-rwxr-xr-x | abs/core-testing/tweaker/bin/create-linhes-sql.sh | 165 | ||||
-rwxr-xr-x | abs/core-testing/tweaker/bin/twk_RAM.pl | 2 | ||||
-rwxr-xr-x | abs/core-testing/tweaker/bin/twk_audio.pl | 12 | ||||
-rwxr-xr-x | abs/core-testing/tweaker/bin/twk_audio_RP.pl | 27 | ||||
-rwxr-xr-x | abs/core-testing/tweaker/bin/twk_cpu.pl | 2 | ||||
-rwxr-xr-x | abs/core-testing/tweaker/bin/twk_dragon.pl | 6 | ||||
-rwxr-xr-x | abs/core-testing/tweaker/bin/twk_general.pl | 189 | ||||
-rwxr-xr-x | abs/core-testing/tweaker/bin/twk_keymap.sh | 46 | ||||
-rwxr-xr-x | abs/core-testing/tweaker/bin/twk_linux.pl | 65 | ||||
-rwxr-xr-x | abs/core-testing/tweaker/bin/twk_localization.pl | 2 | ||||
-rw-r--r-- | abs/core-testing/tweaker/tcf/tweaker-core.tcf | 2 |
13 files changed, 373 insertions, 233 deletions
diff --git a/abs/core-testing/tweaker/PKGBUILD b/abs/core-testing/tweaker/PKGBUILD index d777e72..468dd40 100644 --- a/abs/core-testing/tweaker/PKGBUILD +++ b/abs/core-testing/tweaker/PKGBUILD @@ -1,6 +1,6 @@ pkgname=tweaker pkgver=1 -pkgrel=16 +pkgrel=17 pkgdesc="" arch=('i686' 'x86_64') diff --git a/abs/core-testing/tweaker/bin/SQLtweaker.sh b/abs/core-testing/tweaker/bin/SQLtweaker.sh new file mode 100755 index 0000000..5760e5d --- /dev/null +++ b/abs/core-testing/tweaker/bin/SQLtweaker.sh @@ -0,0 +1,86 @@ +# This isn't to be run. Do not chmod it +x and try - it won't do anything. + +# This function will change or create entries in various tables within +# the mythconverg database. +# If the key value already exists in $SQL_FILENAME, then it is changed. Otherwise, +# it will create the necessary SQL to make the entry if it does not exist. +# +# For the purposes of this function, a key is defined as any unique string of text +# after which a comma and a value or values follow. E.g.: +# in an entry like this: +# INSERT INTO `videotypes` VALUES (6,'mpeg','',0,1); +# we can define the key as "6" if we wanted, but that would be ambiguous. So we can instead +# define it as "6,'mpeg'" and we gain the ability to control the values of the fields after +# the first two. So this function call +# +# ChangeOrMakeEntry "6,'mpeg'" "'mplayer -fs -zoom', 0,1" "videotypes" +# +# would change the above SQL entry into this: +# +# INSERT INTO `videotypes` VALUES (6,'mpeg','mplayer -fs -zoom', 0,1); + +# parameters: name, value, table + +# Some tables have simple key, value pairs. Others have several potential keys and values. +# The 'settings' table is a simple key, value pair table, plus the name of the system on which +# the settings hold true, e.g.: +# INSERT INTO `settings` VALUES ('FooHat','Peas with sauce:drizzle','MythTVhost'); +### +function ChangeOrMakeEntry { + NAME=$1 ; shift + VALUE=$1 ; shift + TABLE=$1 ; shift + + if [ `grep -c "$NAME" $SQL_FILENAME` == 0 ]; then + # There is no setting for $SETTING_NAME, so we need to make it + echo "INSERT INTO \`$TABLE\`" VALUES \($NAME,$VALUE\)\; >> $SQL_FILENAME + else + # There is a setting for $SETTING_NAME, so make sure it's what we want it to be. + sed -i "s@$NAME,.*);@$NAME,$VALUE);@" $SQL_FILENAME + fi +} + +# shortcut function to ChangeOrMakeEntry for 'settings' table +function ChangeOrMakeSetting { + NAME=$1 ; shift + VALUE=$1 ; shift + + ChangeOrMakeEntry "$NAME" "$VALUE, 'MythTVhost'" "settings" +} + +# shortcut function to ChangeOrMakeEntry for 'settings' table +function ChangeOrMakeKeybinding { + NAME=$1 ; shift + VALUE=$1 ; shift + + ChangeOrMakeEntry "$NAME" "$VALUE, 'MythTVhost'" "keybindings" +} + +# This only works for North America at the moment. +LocaleCode() { # no arguments. Obtain a zipcode or locale, either using + # SchedulesDirect subscription info or by asking the user. + + mysqldump --tab=/tmp --opt mythconverg videosource + # Get the first data direct "Video Source" + dd_src=$(awk -F'\t' '$3 == "schedulesdirect1" {print $0; exit 0;}' </tmp/videosource.txt) + /bin/rm -f /tmp/videosource.txt + if [ -n "$dd_src" ]; then + # we have a chance at getting a usable locale from the schedulesdirect data + cd /usr/LH/ + + SCHEDULESDIRECT_USERNAME=$(echo "$dd_src" | cut -f4) + SCHEDULESDIRECT_PASSWORD=$(echo "$dd_src" | cut -f7) + + sed -i "s/<userName>.*<\/userName>/<userName>$SCHEDULESDIRECT_USERNAME<\/userName>/" xtvd.xml + sed -i "s/<password>.*<\/password>/<password>$SCHEDULESDIRECT_PASSWORD<\/password>/" xtvd.xml + datadirect-parse.pl &> /dev/null + + SQL_LocaleCode=`grep -i postalCode \`ls -1tr *xml | tail -1\` | perl -e '%zips=""; while(<>) { split(/postalCode=/); @_[1] =~ m/(\d{5})/; if ($1) { $zips{$1}=$1; } } @keys = keys %zips; if ($#keys == 1) { print values %zips,"\n"; }'` + + if [ "$SQL_LocaleCode" == "" ]; then # zipcode was ambiguous or was not extractable + echo -e "\nPlease enter your US zipcode or Canadian Postal Code:" + read SQL_LocaleCode + fi + echo $SQL_LocaleCode > /tmp/locale.txt # remember this just long enough to make use of it in PostSQLTweaker.sh + fi +} diff --git a/abs/core-testing/tweaker/bin/create-linhes-sql.sh b/abs/core-testing/tweaker/bin/create-linhes-sql.sh new file mode 100755 index 0000000..c4a7848 --- /dev/null +++ b/abs/core-testing/tweaker/bin/create-linhes-sql.sh @@ -0,0 +1,165 @@ +#!/bin/bash + +# Written by Bob Igo from the MythTV Store at http://MythiC.TV +# Email: bob@stormlogic.com +# +# If you run into problems with this script, please send me email + +# PURPOSE: +# -------------------------- +# This script automates the creation of a new LinHES.sql based +# on the contents of the current mythconverg database. + +if [ `whoami` != "root" ]; then + echo "This script must be run as root." + exit -1 +fi + +# Every file we may create, edit, or delete +########################################### +export LINHES_SQL_PROTOTYPE=/data/database/LinHES.sql-new +export MYTHTV_SQL_OLD=/data/database/LinHES.sql-backup +export TMPFILE=/tmp/LinHES.sql-tmp + +echo "" +echo " ** ONLY CESMAN SHOULD EVER NEED TO RUN THIS SCRIPT **" +echo "" +echo " WARNING: This will archive your mythconverg database to a file," +echo " then delete mythconverg from MySQL. It will then launch mythbackend" +echo " to repopulate mythconverg, with a goal of creating the smallest-possible" +echo " mythconverg database that MythTV can load without complanining." +echo " Every attempt will be made to restore your original database, but" +echo " ***no guarantee is made***." +echo "" +echo " ** ONLY CESMAN SHOULD EVER NEED TO RUN THIS SCRIPT **" +echo "" + +echo -n "Proceed? [y|N] " +read FEAR + +if [ "$FEAR" != "y" ] && [ "$FEAR" != "Y" ]; then + echo "***NO OPERATION WILL BE PERFORMED***" + exit +fi + +# Archive the current mythconverg table from the MySQL database: +echo "DROP DATABASE IF EXISTS mythconverg; CREATE DATABASE mythconverg; USE mythconverg;" > $MYTHTV_SQL_OLD +mysqldump mythconverg >> $MYTHTV_SQL_OLD + +# delete the mythconverg database from MySQL +killall mythbackend +mysql -e "DROP DATABASE IF EXISTS mythconverg; CREATE DATABASE mythconverg;" + +mythtv-setup --geometry 640x480 2>&1 > /dev/null & + +echo "*" +echo "* 1) PICK ANY LANGUAGE WHEN PROMPTED." +echo "* 2) AGREE TO THE SCHEMA UPGRADE." +echo "* 3) PRESS ENTER HERE WHEN THE MYTHTV-SETUP MENU LAUNCHES." +echo "*" +read KEYPRESS + +mysql -e "USE mythconverg; \ +INSERT INTO settings VALUES ('SecurityPin','0000','"`hostname`"'); \ +INSERT INTO settings VALUES ('BackendServerIP','127.0.0.1','"`hostname`"'); \ +INSERT INTO storagegroup VALUES ('\N', 'Default','"`hostname`"','/');" + +echo "*" +echo "* 1) EXIT MYTHTV-SETUP" +echo "* 2) PRESS ENTER HERE WHEN READY TO CONTINUE." +echo "*" +read KEYPRESS + +# let mythbackend repopulate mythconverg from scratch +mythbackend 2>&1 > /dev/null & +sleep 3 + +mythfrontend --geometry 640x480 2>&1 > /dev/null & +echo "*" +echo "* 1) EXIT MYTHFRONTEND" +echo "* 2) PRESS ENTER HERE WHEN READY TO CONTINUE." +echo "*" +read KEYPRESS + +killall mythfrontend +killall mythbackend + +# save off the mostly-pristine MythTV myconverg database +# (It would be 100% pristine, but mythbackend won't run unless BackendServerIP is given a value, +# and both mythtv-setup and the mythfrontend won't proceed until you've picked a language.) + +# Edit the pristine MythTV mythconverg database so that we can use it to prime +# the database during a semi-automated LinHES installation. + +SQL_FILENAME=$LINHES_SQL_PROTOTYPE + +# load our library functions +. /usr/LH/tweaker/bin/SQLtweaker.sh +# +echo "*" +echo "* Writing $LINHES_SQL_PROTOTYPE..." +echo "*" +# +echo "/*" > $LINHES_SQL_PROTOTYPE +echo " * MythTV raw SQL creation file." >> $LINHES_SQL_PROTOTYPE +echo " */" >> $LINHES_SQL_PROTOTYPE +echo "" >> $LINHES_SQL_PROTOTYPE +echo "-- #################################################################### --" >> $LINHES_SQL_PROTOTYPE +echo "-- Drop any initial database:" >> $LINHES_SQL_PROTOTYPE +echo "DROP DATABASE IF EXISTS mythconverg;" >> $LINHES_SQL_PROTOTYPE +echo "" >> $LINHES_SQL_PROTOTYPE +echo "-- #################################################################### --" >> $LINHES_SQL_PROTOTYPE +echo "-- Create an empty new database:" >> $LINHES_SQL_PROTOTYPE +echo "CREATE DATABASE mythconverg;" >> $LINHES_SQL_PROTOTYPE +echo "GRANT ALL ON mythconverg.* TO mythtv@localhost IDENTIFIED BY \"mythtv\";" >> $LINHES_SQL_PROTOTYPE +echo "FLUSH PRIVILEGES;" >> $LINHES_SQL_PROTOTYPE +echo "GRANT CREATE TEMPORARY TABLES ON mythconverg.* TO mythtv@localhost IDENTIFIED BY \"mythtv\";" >> $LINHES_SQL_PROTOTYPE +echo "FLUSH PRIVILEGES;" >> $LINHES_SQL_PROTOTYPE +echo "USE mythconverg;" >> $LINHES_SQL_PROTOTYPE +echo "" >> $LINHES_SQL_PROTOTYPE +echo "-- #################################################################### --" >> $LINHES_SQL_PROTOTYPE +echo "-- Create all the tables:" >> $LINHES_SQL_PROTOTYPE +echo "" >> $LINHES_SQL_PROTOTYPE + +# Dump the database, removing all unneeded DB inserts - when LinHES launches mythtv-setup and mythfrontend, +# anything undefined will be given default values by the applications, except for the INSERTs below. +mysqldump mythconverg | sed -e "s/`hostname`/MythTVhost'/g" -e "s/AUTO_INCREMENT=[0-9]* //g" > $TMPFILE +grep -v "INSERT INTO" $TMPFILE >> $LINHES_SQL_PROTOTYPE +sed "s/,(/,\n(/g" $TMPFILE | grep DBSchema | sed "s/\(.*\)NULL),/INSERT INTO settings VALUES \1'MythTVhost');/g" >> $LINHES_SQL_PROTOTYPE +echo "INSERT INTO settings VALUES ('SecurityPin','0000','MythTVhost');" >> $LINHES_SQL_PROTOTYPE +echo "INSERT INTO settings VALUES ('BackendServerIP','127.0.0.1','MythTVhost');" >> $LINHES_SQL_PROTOTYPE +echo "INSERT INTO settings VALUES ('MasterServerIP','127.0.0.1','MythTVhost');" >> $LINHES_SQL_PROTOTYPE +echo "INSERT INTO settings VALUES ('MasterServerPort','6543','MythTVhost');" >> $LINHES_SQL_PROTOTYPE +echo "INSERT INTO settings VALUES ('Theme', 'Iulius','MythTVhost');" >> $LINHES_SQL_PROTOTYPE +echo "INSERT INTO storagegroup VALUES ('\N', 'Default','MythTVhost','/');" >> $LINHES_SQL_PROTOTYPE + +rm $TMPFILE + +# +echo "*" +echo "...DONE" +echo "*" +# + +echo "*" +echo "* PRESS ENTER HERE WHEN READY TO RESTORE THE OLD DATABASE" +echo "* AND RE-LAUNCH MYTHBACKEND" +echo "*" +read KEYPRESS + +# +echo "Restoring original database from $MYTHTV_SQL_OLD..." +# +# Restore the original mythconverg database +cat $MYTHTV_SQL_OLD | mysql 2>&1 > /dev/null +# +echo "...DONE" +# + +# +echo "restarting mythbackend..." +# +mythbackend & +# +echo "...DONE" +# diff --git a/abs/core-testing/tweaker/bin/twk_RAM.pl b/abs/core-testing/tweaker/bin/twk_RAM.pl index 79fe938..2eea598 100755 --- a/abs/core-testing/tweaker/bin/twk_RAM.pl +++ b/abs/core-testing/tweaker/bin/twk_RAM.pl @@ -47,7 +47,7 @@ sub implement_option { # change any existing mplayer cache setting to one based on available RAM size # We will arbitrarily set the cache size to 1/16 of available RAM my $cachesize = int($RAM_size / 16); - execute_shell_command("sed -i 's/cache.*=.*/cache=$cachesize/g' /etc/mplayer/mplayer.conf") || exit -1; + execute_shell_command("if [[ `grep -e cache.*=.*\$ /etc/mplayer/mplayer.conf` ]]; then sed -i 's/cache.*=.*/cache=$cachesize/g' /etc/mplayer/mplayer.conf; else echo 'cache=$cachesize' >> /etc/mplayer/mplayer.conf; fi") || exit -1; # If there's enough RAM, make mtd run by default. # ??? unimplemented diff --git a/abs/core-testing/tweaker/bin/twk_audio.pl b/abs/core-testing/tweaker/bin/twk_audio.pl index b3bdd89..37b2201 100755 --- a/abs/core-testing/tweaker/bin/twk_audio.pl +++ b/abs/core-testing/tweaker/bin/twk_audio.pl @@ -83,7 +83,7 @@ sub implement_option { # output. $command1 = "/bin/cp \$TWEAKER_ROOT/fs$asound_conf /etc/"; if (($card >= 0) && ($device >= 0)) { - $command2 = "sed -i 's/hw:.,./hw:$card,$device/g' $asound_conf"; + $command2 = "[ -e $asound_conf ] && sed -i 's/hw:.,./hw:$card,$device/g' $asound_conf"; } else { my $logger = get_logger('tweaker.script'); $logger->error("ERROR: Unable to poll for digital sound output device."); @@ -110,9 +110,9 @@ sub implement_option { sub edit_mplayer_conf { my($option) = @_; # delete any old entries that Tweaker made, relevant to this particular edit - my $delete_old_tweaker_edits = "sed -i '/^.*a[o,c].*=.*#TWEAKER/d' $mplayer_conf"; + my $delete_old_tweaker_edits = "[ -e $mplayer_conf ] && sed -i '/^.*a[o,c].*=.*#TWEAKER/d' $mplayer_conf"; # comment out old entries that some other process may have made - my $comment_out_external_edits = "sed -i 's/^\\(a[o,c].*=.*\\)/#\\1/g' $mplayer_conf"; + my $comment_out_external_edits = "[ -e $mplayer_conf ] && sed -i 's/^\\(a[o,c].*=.*\\)/#\\1/g' $mplayer_conf"; my $command1; my $command2=""; ($card, $device) = poll_for_digital_output_device; @@ -143,7 +143,7 @@ sub implement_option { my @digital_audio_device_patterns = ( [ # Asus T3-M2NC51PV onboard audio - ".*0403.*10de.*026c.*1043.*821f", "T3-M2NC51PV", "sed -i 's/plughw.* #TWEAKER/spdif #TWEAKER/g' $mplayer_conf" + ".*0403.*10de.*026c.*1043.*821f", "T3-M2NC51PV", "[ -e $mplayer_conf ] && sed -i 's/plughw.* #TWEAKER/spdif #TWEAKER/g' $mplayer_conf" ] ); @@ -166,9 +166,9 @@ sub implement_option { sub edit_xine_conf { my($option)=@_; # delete any old entries that Tweaker made, relevant to this particular edit - my $delete_old_tweaker_edits = "sed -i -e '/^.*audio.output.speaker_arrangement.*#TWEAKER/d' -e '/^.*audio.synchronization.passthrough_offset.*#TWEAKER/d' $xine_conf"; + my $delete_old_tweaker_edits = "[ -e $xine_conf ] && sed -i -e '/^.*audio.output.speaker_arrangement.*#TWEAKER/d' -e '/^.*audio.synchronization.passthrough_offset.*#TWEAKER/d' $xine_conf"; # comment out entries that some other process may have made - my $comment_out_external_edits = "sed -i -e 's/^\\(audio.output.speaker_arrangement.*\\)/#\\1/g' -e 's/^\\(audio.synchronization.passthrough_offset.*\\)/#\\1/g' $xine_conf"; + my $comment_out_external_edits = "[ -e $xine_conf ] && sed -i -e 's/^\\(audio.output.speaker_arrangement.*\\)/#\\1/g' -e 's/^\\(audio.synchronization.passthrough_offset.*\\)/#\\1/g' $xine_conf"; my $logger = get_logger('tweaker.script'); if (my $error = execute_shell_command("$delete_old_tweaker_edits && $comment_out_external_edits")) { diff --git a/abs/core-testing/tweaker/bin/twk_audio_RP.pl b/abs/core-testing/tweaker/bin/twk_audio_RP.pl index 5b30bd8..9d06493 100755 --- a/abs/core-testing/tweaker/bin/twk_audio_RP.pl +++ b/abs/core-testing/tweaker/bin/twk_audio_RP.pl @@ -30,11 +30,16 @@ sub poll_for_digital_output_device { my @digital_matches = ( "digital", "IEC958" ); my $results = execute_shell_command($poll_command); - foreach my $digital_match (@digital_matches) { - if ($results =~ /card (\d):.*device (\d).*$digital_match.*/i) { - $card = $1; - $device = $2; + if ($results) { + foreach my $digital_match (@digital_matches) { + if ($results =~ /card (\d):.*device (\d).*$digital_match.*/i) { + $card = $1; + $device = $2; + } } + } else { + recommendation_level("not available", "No audio devices detected."); + exit(-1); } return ($card, $device); } @@ -64,9 +69,9 @@ sub implement_option { $command1 = "[ -e $asound_conf ] && /bin/cp $asound_conf $asound_conf-TWEAKERBACKUP"; # Assumption: The proper analog device is always device 0. if ($card >= 0) { - $command2 = "sed -i 's/hw:.,./hw:$card,0/g' $asound_conf"; + $command2 = "[ -e $asound_conf ] && sed -i 's/hw:.,./hw:$card,0/g' $asound_conf"; } else { - $command2 = "sed -i 's/hw:.,./hw:0,0/g' $asound_conf"; + $command2 = "[ -e $asound_conf ] && sed -i 's/hw:.,./hw:0,0/g' $asound_conf"; } } case "analogsurround" { @@ -78,7 +83,7 @@ sub implement_option { # output. $command1 = "/bin/cp \$TWEAKER_ROOT/fs$asound_conf /etc/"; if (($card >= 0) && ($device >= 0)) { - $command2 = "sed -i 's/hw:.,./hw:$card,$device/g' $asound_conf"; + $command2 = "[ -e $asound_conf ] && sed -i 's/hw:.,./hw:$card,$device/g' $asound_conf"; } else { my $logger = get_logger('tweaker.script'); $logger->error("ERROR: Unable to poll for digital sound output device."); @@ -105,9 +110,9 @@ sub implement_option { sub edit_mplayer_conf { my($option) = @_; # delete any old entries that Tweaker made, relevant to this particular edit - my $delete_old_tweaker_edits = "sed -i '/^.*a[o,c].*=.*#TWEAKER/d' $mplayer_conf"; + my $delete_old_tweaker_edits = "[ -e $mplayer_conf ] && sed -i '/^.*a[o,c].*=.*#TWEAKER/d' $mplayer_conf"; # comment out old entries that some other process may have made - my $comment_out_external_edits = "sed -i 's/^\\(a[o,c].*=.*\\)/#\\1/g' $mplayer_conf"; + my $comment_out_external_edits = "[ -e $mplayer_conf ] && sed -i 's/^\\(a[o,c].*=.*\\)/#\\1/g' $mplayer_conf"; my $command1; my $command2=""; my $logger = get_logger('tweaker.script'); @@ -141,9 +146,9 @@ sub implement_option { sub edit_xine_conf { my($option)=@_; # delete any old entries that Tweaker made, relevant to this particular edit - my $delete_old_tweaker_edits = "sed -i -e '/^.*audio.output.speaker_arrangement.*#TWEAKER/d' -e '/^.*audio.synchronization.passthrough_offset.*#TWEAKER/d' $xine_conf"; + my $delete_old_tweaker_edits = "[ -e $xine_conf ] && sed -i -e '/^.*audio.output.speaker_arrangement.*#TWEAKER/d' -e '/^.*audio.synchronization.passthrough_offset.*#TWEAKER/d' $xine_conf"; # comment out entries that some other process may have made - my $comment_out_external_edits = "sed -i -e 's/^\\(audio.output.speaker_arrangement.*\\)/#\\1/g' -e 's/^\\(audio.synchronization.passthrough_offset.*\\)/#\\1/g' $xine_conf"; + my $comment_out_external_edits = "[ -e $xine_conf ] && sed -i -e 's/^\\(audio.output.speaker_arrangement.*\\)/#\\1/g' -e 's/^\\(audio.synchronization.passthrough_offset.*\\)/#\\1/g' $xine_conf"; my $logger = get_logger('tweaker.script'); if (my $error = execute_shell_command("$delete_old_tweaker_edits && $comment_out_external_edits")) { diff --git a/abs/core-testing/tweaker/bin/twk_cpu.pl b/abs/core-testing/tweaker/bin/twk_cpu.pl index c6d87ab..fabef10 100755 --- a/abs/core-testing/tweaker/bin/twk_cpu.pl +++ b/abs/core-testing/tweaker/bin/twk_cpu.pl @@ -85,7 +85,7 @@ sub implement_option { } case "medium" { change_or_make_setting('AutoCommflagWhileRecording', '0') || exit -1; - change_or_make_setting('Theme', 'blootubelite-wide') || exit -1; # Moderate eye candy, moderate performance + change_or_make_setting('Theme', 'LinHES') || exit -1; # Moderate eye candy, moderate performance #change_or_make_setting('PreferredMPEG2Decoder', 'libmpeg2') || exit -1; # Least CPU usage, lowest quality #change_or_make_entry("displayprofiles", [["pref_decoder", "libmpeg2"]], [["profilegroupid", "1"], ["profileid", "1"]]) || exit -1; # Least CPU usage, lowest quality change_or_make_setting('DefaultVideoPlaybackProfile', 'CPU+') || exit -1; # best playback defaults for average hardware diff --git a/abs/core-testing/tweaker/bin/twk_dragon.pl b/abs/core-testing/tweaker/bin/twk_dragon.pl index f5ad5b7..314c299 100755 --- a/abs/core-testing/tweaker/bin/twk_dragon.pl +++ b/abs/core-testing/tweaker/bin/twk_dragon.pl @@ -32,11 +32,11 @@ sub implement_option { if (connect_to_db("DBI:mysql:$dbconnectionstring")) { # Overrides SQL changes made in twk_general.pl - change_or_make_setting('DVDPlayerCommand', 'mplayer dvd:\/\/ -dvd-device %d -fs -zoom -vc mpeg12,ffmpeg12-vo xv -vf pp=lb') || return -1; + change_or_make_setting('mythdvd.DVDPlayerCommand', 'mplayer dvd:\/\/ -dvd-device %d -fs -zoom -vc mpeg12,ffmpeg12-vo xv -vf pp=lb') || return -1; change_or_make_setting('VCDPlayerCommand', 'mplayer vcd:\/\/ -cdrom-device %d -fs -zoom -vo xv -vf pp=lb') || return -1; # Overrides SQL changes made in twk_tuners.pl - # WARNING: Very big harccoded hack. + # WARNING: Very big harccoded hack that chooses ATSC tuning over QAM. do_query("UPDATE cardinput SET sourceid='10' WHERE sourceid='20'") || return -1; } else { my $logger = get_logger('tweaker.script'); @@ -50,7 +50,7 @@ sub implement_option { # Poll the system to see what recommendationlevel the given option has on the system. sub poll_options { my($option) = @_; - recommendation_level("recommended", "These tweaks benefit all users."); + recommendation_level("recommended", "These tweaks benefit all Dragon users."); } # Unimplemented in 0.7 diff --git a/abs/core-testing/tweaker/bin/twk_general.pl b/abs/core-testing/tweaker/bin/twk_general.pl index 9b01480..c72e093 100755 --- a/abs/core-testing/tweaker/bin/twk_general.pl +++ b/abs/core-testing/tweaker/bin/twk_general.pl @@ -31,30 +31,10 @@ sub implement_option { my @commands = ( # keymap tweaks - "twk_keymap.sh", - # fix distro name in various html - "fix_index", - # fix 'motion' index to use our hostname - "sed -i 's/MythTVhost/`hostname`/g' /var/www/motion/index.html", + "twk_keymap.sh" # # These may or may not be necessary after GF21 # - - # Change from "sid" to "stable" repository - "sed -i \"s/sid/stable/g\" /etc/apt/sources.list", - - # Fix bizarre ownership of files: - "chown -f root: /usr/bin/get_dual.sh", - "chown -fR root: /usr/lib/krp", - "chown -fR root: /usr/local/bin", - "chown -f root: /usr/share/man/man1/tv_grab_au.1.gz", - "chown -f root: /usr/share/xmltv/tv_grab_au/channel_ids", - "chown -fR root:src /usr/src/", - - # Install extra software - #"apt-get update && apt-get -y -q=2 install frozen-bubble &", - # prevent fluxbox toolbar from appearing - "fix_toolbar.sh" ); foreach my $command (@commands) { @@ -112,8 +92,8 @@ sub implement_option { # change_or_make_entry("videotypes", [["playcommand", "mplayer-resumer.pl -fs -zoom -vc theora,fftheora, -vo xv %s"]], [["extension", "ogg"]]); change_or_make_entry("videotypes", [["playcommand", "mplayer-resumer.pl -fs -zoom -vc theora,fftheora, -vo xv %s"]], [["extension", "theora"]]); - foreach my $video_ext ("mp2", "tp", "ts", "m2p", "nuv") { - change_or_make_entry("videotypes", [["playcommand", "Internal"]], [["extension", $video_ext]]); + foreach my $video_ext ("mp2", "tp", "ts", "m2p", "nuv", "mkv") { + change_or_make_entry("videotypes", [["playcommand", "Internal"], ["f_ignore", "0"], ["use_default", "1"]], [["extension", $video_ext]]); } foreach my $non_video_ext ("jpg", "par2") { change_or_make_entry("videotypes", [["f_ignore", "1"]], [["extension", $non_video_ext]]); @@ -138,36 +118,6 @@ sub implement_option { join("','",($players[3][0], $players[3][3], $players[3][0], "action/puzzle", "2006", "Frozen Bubble Team", "/usr/games", $players[3][4]))."');"); # - # smart music playlists - # - # categoryid, name - change_or_make_entry("music_smartplaylist_categories", [["name", "Decades"]], [["categoryid", 1]]); - change_or_make_entry("music_smartplaylist_categories", [["name", "Favorite Tracks"]], [["categoryid", 2]]); - change_or_make_entry("music_smartplaylist_categories", [["name", "New Tracks"]], [["categoryid", 3]]); - - foreach my $decade (60, 70, 80, 90, 100) { - my $id = ($decade / 10) - 5; - my $query = "INSERT INTO music_smartplaylist_items (smartplaylistid, field, operator, value1, value2) VALUES ($id, 'Year', 'is between'," . ($decade+1900) . "," . ($decade+1909) . ");"; - do_query($query); - $query = "INSERT INTO music_smartplaylists (name, categoryid, matchtype, orderby, limitto) VALUES ('". ($decade+1900) . "\\'s', 1, 'All', 'Artist (A)', 0);"; - do_query($query); - } - - my @other_lists = ( - [ - ( 'Rating', 'is greater than', '7', 'Favorite Tracks', 2, 'Artist (A), Album (A)', 0 ), - ( 'Play Count', 'is greater than', '0', '100 Most Played Tracks', 2, 'Play Count (D)', 100 ), - ( 'Play Count', 'is equal to', '0', 'Never Played Tracks', 3, 'Artist (A), Album (A)', 0 ) - ]); - - my $id=6; - foreach my $other_list (@other_lists) { - change_or_make_entry("music_smartplaylist_items", [["field", @$other_list[0]], ["operator", @$other_list[1]], ["value1", @$other_list[2]]], [["smartplaylistid", $id]]); - change_or_make_entry("music_smartplaylists", [["name", @$other_list[3]], ["categoryid", @$other_list[4]], ["matchtype", "All"], ["orderby", @$other_list[5]], ["limitto", @$other_list[6]]], [["smartplaylistid", $id]]); - $id++; - } - - # # default playgroup with time-related settings # change_or_make_entry("playgroup", [["skipahead", 10], ["skipback", 5], ["timestretch", 100], ["jump", 1]], [["name", "Default"]]); @@ -175,19 +125,15 @@ sub implement_option { # # useful recording profiles and transcoding options # - change_or_make_entry("profilegroups", [["name", "Software Encoders (v4l based)"], ["cardtype", "V4L"], ["is_default", 1]], [["id", 1]]); - change_or_make_entry("profilegroups", [["name", "MPEG-2 Encoders (PVR-x50, PVR-500)"], ["cardtype", "MPEG"], ["is_default", 1]], [["id", 2]]); - change_or_make_entry("profilegroups", [["name", "Hardware MJPEG Encoders (Matrox G200-TV, Miro DC10, etc)"], ["cardtype", "MJPEG"], ["is_default", 1]], [["id", 3]]); - change_or_make_entry("profilegroups", [["name", "Hardware HDTV"], ["cardtype", "HDTV"], ["is_default", 1]], [["id", 4]]); - change_or_make_entry("profilegroups", [["name", "Hardware DVB Encoders"], ["cardtype", "DVB"], ["is_default", 1]], [["id", 5]]); - change_or_make_entry("profilegroups", [["name", "Transcoders"], ["cardtype", "TRANSCODE"], ["is_default", 1]], [["id", 6]]); - change_or_make_entry("profilegroups", [["name", "FireWire Input"], ["cardtype", "FIREWIRE"], ["is_default", 1]], [["id", 7]]); - change_or_make_entry("profilegroups", [["name", "USB Mpeg-4 Encoder (Plextor ConvertX, etc)"], ["cardtype", "GO7007"], ["is_default", 1]], [["id", 8]]); - change_or_make_entry("profilegroups", [["name", "DBOX2 Input"], ["cardtype", "DBOX2"], ["is_default", 1]], [["id", 9]]); - change_or_make_entry("profilegroups", [["name", "Freebox Input"], ["cardtype", "Freebox"], ["is_default", 1]], [["id", 10]]); - change_or_make_entry("profilegroups", [["name", "HDHomeRun Recorders"], ["cardtype", "HDHOMERUN"], ["is_default", 1]], [["id", 11]]); - change_or_make_entry("profilegroups", [["name", "CRC IP Recorders"], ["cardtype", "CRC_IP"], ["is_default", 1]], [["id", 12]]); + change_or_make_entry("profilegroups", [["name", "MPEG-2 Encoders (PVR-x50, PVR-500)"], ["cardtype", "MPEG"], ["is_default", 1]], [["id", 2]]); # rename the default entry for improved usability + # + # Websites for mythbrowser + # + change_or_make_entry("websites", [["grp", "LinHeS"], ["dsc", ""], ["updated", ""]], [["url", "http://knoppmyth.net"]]); + change_or_make_entry("websites", [["grp", "LinHeS"], ["dsc", ""], ["updated", ""]], [["url", "http://knoppmythwiki.org"]]); + + do_query("INSERT INTO codecparams (profile, name, value) VALUES (21, 'transcodelossless', 0)"); do_query("INSERT INTO codecparams (profile, name, value) VALUES (21, 'transcoderesize', 0)"); do_query("INSERT INTO codecparams (profile, name, value) VALUES (21, 'mpeg4bitrate', 2200)"); @@ -275,60 +221,10 @@ sub implement_option { do_query("INSERT INTO codecparams (profile, name, value) VALUES (29, 'mp3quality', 7)"); do_query("INSERT INTO codecparams (profile, name, value) VALUES (29, 'volume', 100)"); - # I don't know why we have so many of these. Only profilegroup 6 seems to matter. - change_or_make_entry("recordingprofiles", [["name", 'Default'], ["profilegroup", 1]], [["id", 1]]); - change_or_make_entry("recordingprofiles", [["name", 'Live TV'], ["profilegroup", 1]], [["id", 2]]); - change_or_make_entry("recordingprofiles", [["name", 'High Quality'], ["profilegroup", 1]], [["id", 3]]); - change_or_make_entry("recordingprofiles", [["name", 'Low Quality'], ["profilegroup", 1]], [["id", 4]]); - change_or_make_entry("recordingprofiles", [["name", 'Default'], ["profilegroup", 2]], [["id", 5]]); - change_or_make_entry("recordingprofiles", [["name", 'Live TV'], ["profilegroup", 2]], [["id", 6]]); - change_or_make_entry("recordingprofiles", [["name", 'High Quality'], ["profilegroup", 2]], [["id", 7]]); - change_or_make_entry("recordingprofiles", [["name", 'Low Quality'], ["profilegroup", 2]], [["id", 8]]); - change_or_make_entry("recordingprofiles", [["name", 'Default'], ["profilegroup", 3]], [["id", 9]]); - change_or_make_entry("recordingprofiles", [["name", 'Live TV'], ["profilegroup", 3]], [["id", 10]]); - change_or_make_entry("recordingprofiles", [["name", 'High Quality'], ["profilegroup", 3]], [["id", 11]]); - change_or_make_entry("recordingprofiles", [["name", 'Low Quality'], ["profilegroup", 3]], [["id", 12]]); - change_or_make_entry("recordingprofiles", [["name", 'Default'], ["profilegroup", 4]], [["id", 13]]); - change_or_make_entry("recordingprofiles", [["name", 'Live TV'], ["profilegroup", 4]], [["id", 14]]); - change_or_make_entry("recordingprofiles", [["name", 'High Quality'], ["profilegroup", 4]], [["id", 15]]); - change_or_make_entry("recordingprofiles", [["name", 'Low Quality'], ["profilegroup", 4]], [["id", 16]]); - change_or_make_entry("recordingprofiles", [["name", 'Default'], ["profilegroup", 5]], [["id", 17]]); - change_or_make_entry("recordingprofiles", [["name", 'Live TV'], ["profilegroup", 5]], [["id", 18]]); - change_or_make_entry("recordingprofiles", [["name", 'High Quality'], ["profilegroup", 5]], [["id", 19]]); - change_or_make_entry("recordingprofiles", [["name", 'Low Quality'], ["profilegroup", 5]], [["id", 20]]); - change_or_make_entry("recordingprofiles", [["name", 'RTjpeg/MPEG4'], ["profilegroup", 6], ["videocodec", "MPEG-4"], ["audiocodec", "Uncompressed"]], [["id", 21]]); - change_or_make_entry("recordingprofiles", [["name", 'MPEG2'], ["profilegroup", 6], ["videocodec", "MPEG-4"], ["audiocodec", "Uncompressed"]], [["id", 22]]); - change_or_make_entry("recordingprofiles", [["name", 'Default'], ["profilegroup", 8]], [["id", 23]]); - change_or_make_entry("recordingprofiles", [["name", 'Live TV'], ["profilegroup", 8]], [["id", 24]]); - change_or_make_entry("recordingprofiles", [["name", 'High Quality'], ["profilegroup", 8]], [["id", 25]]); - change_or_make_entry("recordingprofiles", [["name", 'Low Quality'], ["profilegroup", 8]], [["id", 26]]); - change_or_make_entry("recordingprofiles", [["name", 'High Quality'], ["profilegroup", 6]], [["id", 27]]); - change_or_make_entry("recordingprofiles", [["name", 'Medium Quality'], ["profilegroup", 6], ["videocodec", "MPEG-4"], ["audiocodec", "Uncompressed"]], [["id", 28]]); - change_or_make_entry("recordingprofiles", [["name", 'Low Quality'], ["profilegroup", 6], ["videocodec", "MPEG-4"], ["audiocodec", "MP3"]], [["id", 29]]); - change_or_make_entry("recordingprofiles", [["name", 'Default'], ["profilegroup", 10]], [["id", 30]]); - change_or_make_entry("recordingprofiles", [["name", 'Live TV'], ["profilegroup", 10]], [["id", 31]]); - change_or_make_entry("recordingprofiles", [["name", 'High Quality'], ["profilegroup", 10]], [["id", 32]]); - change_or_make_entry("recordingprofiles", [["name", 'Low Quality'], ["profilegroup", 10]], [["id", 33]]); - change_or_make_entry("recordingprofiles", [["name", 'Default'], ["profilegroup", 11]], [["id", 34]]); - change_or_make_entry("recordingprofiles", [["name", 'Live TV'], ["profilegroup", 11]], [["id", 35]]); - change_or_make_entry("recordingprofiles", [["name", 'High Quality'], ["profilegroup", 11]], [["id", 36]]); - change_or_make_entry("recordingprofiles", [["name", 'Low Quality'], ["profilegroup", 11]], [["id", 37]]); - change_or_make_entry("recordingprofiles", [["name", 'Default'], ["profilegroup", 12]], [["id", 38]]); - change_or_make_entry("recordingprofiles", [["name", 'Live TV'], ["profilegroup", 12]], [["id", 39]]); - change_or_make_entry("recordingprofiles", [["name", 'High Quality'], ["profilegroup", 12]], [["id", 40]]); - change_or_make_entry("recordingprofiles", [["name", 'Low Quality'], ["profilegroup", 12]], [["id", 41]]); - change_or_make_entry("recordingprofiles", [["name", 'Default'], ["profilegroup", 7]], [["id", 42]]); - change_or_make_entry("recordingprofiles", [["name", 'Live TV'], ["profilegroup", 7]], [["id", 43]]); - change_or_make_entry("recordingprofiles", [["name", 'High Quality'], ["profilegroup", 7]], [["id", 44]]); - change_or_make_entry("recordingprofiles", [["name", 'Low Quality'], ["profilegroup", 7]], [["id", 45]]); - change_or_make_entry("recordingprofiles", [["name", 'Default'], ["profilegroup", 9]], [["id", 46]]); - change_or_make_entry("recordingprofiles", [["name", 'Live TV'], ["profilegroup", 9]], [["id", 47]]); - change_or_make_entry("recordingprofiles", [["name", 'High Quality'], ["profilegroup", 9]], [["id", 48]]); - change_or_make_entry("recordingprofiles", [["name", 'Low Quality'], ["profilegroup", 9]], [["id", 49]]); - # # settings # + change_or_make_setting('AlwaysStreamFiles', '1'); # new in R6 change_or_make_setting('AutoCommercialSkip', '1'); change_or_make_setting('AutoExpireWatchedPriority', '1'); change_or_make_setting('BackendServerPort', '6543'); @@ -337,11 +233,12 @@ sub implement_option { # change_or_make_setting('ChannelOrdering', 'chanid'); change_or_make_setting('CommercialSkipMethod', '255'); change_or_make_setting('DVDBookmarkPrompt', '1'); - change_or_make_setting('DVDPlayerCommand', 'xine -pfhq --no-splash dvd:\/\/'); change_or_make_setting('DVDRipLocation', $SQL_DirTmp); change_or_make_setting('DefaultRipQuality', '1'); change_or_make_setting('DefaultTranscoder', '28'); # change this number if you redefine the transcoders above change_or_make_setting('Deinterlace', '1'); + change_or_make_setting('DeletesFollowLinks', '1'); + change_or_make_setting('DisableFirewireReset', '0'); change_or_make_setting('EITCrawIdleStart','60'); change_or_make_setting('EITIgnoresSource','0'); change_or_make_setting('EITTimeOffset','Auto'); @@ -352,7 +249,36 @@ sub implement_option { change_or_make_setting('EndOfRecordingExitPrompt','1'); change_or_make_setting('GalleryDir', $SQL_DirPics); change_or_make_setting('GalleryRecursiveSlideshow', '1'); - change_or_make_setting('HaltCommand', 'sudo halt'); + change_or_make_setting('HaltCommand', 'sudo /sbin/halt'); + change_or_make_setting('HostAudiotype','ALSA'); + change_or_make_setting('HostMiro','1'); + change_or_make_setting('HostMyhostname','type_hostname_here'); + change_or_make_setting('HostXine','1'); + change_or_make_setting('Hostpluginmythappletrailers','1'); + change_or_make_setting('Hostpluginmytharchive','1'); + change_or_make_setting('Hostpluginmythbrowser','1'); + change_or_make_setting('Hostpluginmythcontrols','1'); + change_or_make_setting('Hostpluginmythflix','1'); + change_or_make_setting('Hostpluginmythgallery','1'); + change_or_make_setting('Hostpluginmythgame','1'); + change_or_make_setting('HostpluginmythgameFceu','1'); + change_or_make_setting('HostpluginmythgameMame','1'); + change_or_make_setting('HostpluginmythgameMame','1'); + change_or_make_setting('HostpluginmythgameROMDB','1'); + change_or_make_setting('HostpluginmythgameXE','1'); + change_or_make_setting('HostpluginmythgameZsnes','1'); + change_or_make_setting('HostpluginmythgameZsnes','1'); + change_or_make_setting('Hostpluginmythmovietime','1'); + change_or_make_setting('Hostpluginmythmusic','1'); + change_or_make_setting('Hostpluginmythnews','1'); + change_or_make_setting('Hostpluginmythphone','1'); + change_or_make_setting('Hostpluginmythsmolt','1'); + change_or_make_setting('Hostpluginmythstream','1'); + change_or_make_setting('Hostpluginmythvideo','1'); + change_or_make_setting('Hostpluginmythvideo_dvdcss','0'); + change_or_make_setting('Hostpluginmythvideo_dvdcss','0'); + change_or_make_setting('Hostpluginmythvodka','1'); + change_or_make_setting('Hostpluginmythweather','1'); change_or_make_setting('JobAllowCommFlag', '1'); change_or_make_setting('JobAllowTranscode', '1'); change_or_make_setting('JobAllowUserJob1', '1'); @@ -366,6 +292,9 @@ sub implement_option { change_or_make_setting('JobQueueWindowStart','00:00'); change_or_make_setting('JobsRunOnRecordHost','0'); change_or_make_setting('LiveTVInAllPrograms','1'); + change_or_make_setting('MasterMixerVolume','100'); + change_or_make_setting('MasterServerIP', '127.0.0.1'); + change_or_make_setting('MasterServerPort', '6543'); change_or_make_setting('MediaChangeEvents','1'); change_or_make_setting('MonitorDrives', '1'); change_or_make_setting('MusicLocation', $SQL_DirMusic); @@ -377,6 +306,8 @@ sub implement_option { change_or_make_setting('MythFillDatabasePath', '/usr/bin/nice -n 19 /usr/bin/mythfilldatabase'); change_or_make_setting('MythFillEnabled', '1'); change_or_make_setting('MythTVtv', $SQL_DirTV); + change_or_make_setting('NetworkControlEnabled', '1'); + change_or_make_setting('PCMMixerVolume', '50'); change_or_make_setting('PVR350VideoDev', '/dev/video16'); change_or_make_setting('PlayBoxShading', '0'); change_or_make_setting('PlayMode', 'none'); @@ -384,18 +315,22 @@ sub implement_option { change_or_make_setting('PlaybackPreviewLowCPU', '1'); # change_or_make_setting('PlaybackReturnPrompt', '1'); # change_or_make_setting('PlaybackReturnPrompt', '2'); + change_or_make_setting('RebootCommand', 'sudo /sbin/reboot'); change_or_make_setting('RecordFilePrefix',$SQL_DirTV); change_or_make_setting('SelectChangesChannel', '1'); + change_or_make_setting('ServerHaltCommand', 'sudo /sbin/halt -p'); change_or_make_setting('ShowWholeTree', '1'); change_or_make_setting('SmartChannelChange', '1'); + change_or_make_setting('StartupSecsBeforeRecording', '120'); change_or_make_setting('TruncateDeletesSlowly', '1'); + change_or_make_setting('UseOutputPictureControls', '1'); change_or_make_setting('UserJob1', 'myth2ipod -cut \"%DIR%\" \"%FILE%\"'); change_or_make_setting('UserJob2', 'myt2xvid3 -cut \"%DIR%\" \"%FILE%\"'); change_or_make_setting('UserJobDesc1', 'Encode for iPod'); change_or_make_setting('UserJobDesc2', 'Transcode to XviD'); change_or_make_setting('UserJobDesc3', 'User Job #3'); change_or_make_setting('UserJobDesc4', 'User Job #4'); - change_or_make_setting('VCDPlayerCommand', 'xine -pfhq --no-splash vcd://'); + change_or_make_setting('VCDPlayerCommand', 'mplayer vcd:\/\/ -cdrom-device %d -fs -zoom -vo xv -vf pp=lb'); change_or_make_setting('VideoArtworkDir', "$SQL_DirVideo/.covers"); change_or_make_setting('VideoBrowserNoDB', '1'); change_or_make_setting('VideoDefaultPlayer', 'mplayer-resumer.pl -fs -zoom -vo xv %s'); @@ -410,14 +345,26 @@ sub implement_option { change_or_make_setting('WebBrowserScrollSpeed','4'); change_or_make_setting('WebBrowserZoomLevel','20'); change_or_make_setting('WebcamDevice','/dev/video'); + change_or_make_setting('WOLbackendCommand',''); + change_or_make_setting('WOLbackendConnectRetry','5'); + change_or_make_setting('WOLslaveBackendsCommand',''); + change_or_make_setting('WakeupTimeFormat','hh:mm yyyy-MM-dd'); + change_or_make_setting('WatchTVGuide','0'); + change_or_make_setting('WeatherDBSchemaVer','1000'); + change_or_make_setting('WebBrowserCommand','/usr/bin/mythbrowser'); + change_or_make_setting('WebBrowserHideScrollbars','0'); + change_or_make_setting('WebBrowserScrollMode','1'); + change_or_make_setting('WebBrowserScrollSpeed','4'); + change_or_make_setting('WebBrowserZoomLevel','20'); + change_or_make_setting('XineramaScreen','0'); change_or_make_setting('blockSDWUwithoutClient','1'); - change_or_make_setting('mythdvd.DVDPlayerCommand', 'xine -pfhq --no-splash dvd://'); + change_or_make_setting('idleWaitForRecordingTime','15'); + change_or_make_setting('mythdvd.DVDPlayerCommand', 'Internal'); change_or_make_setting('mythvideo.VideoTreeRemember', '1'); change_or_make_setting('mythfilldatabaseLastRunStart',''); change_or_make_setting('mythfilldatabaseLastRunEnd',''); change_or_make_setting('mythfilldatabaseLastRunStatus',''); - # # As much of MythWeather as we can automate for now my $units = 0; diff --git a/abs/core-testing/tweaker/bin/twk_keymap.sh b/abs/core-testing/tweaker/bin/twk_keymap.sh index 885594d..7e4ef8b 100755 --- a/abs/core-testing/tweaker/bin/twk_keymap.sh +++ b/abs/core-testing/tweaker/bin/twk_keymap.sh @@ -17,7 +17,7 @@ # This script is called from twk_general.pl to implement keymap standardization in KnoppMyth -KNOPPMYTH_SHARE=/usr/local/share/knoppmyth +#KNOPPMYTH_SHARE=/usr/local/share/knoppmyth #################### # Unify key mappings @@ -34,28 +34,28 @@ KNOPPMYTH_SHARE=/usr/local/share/knoppmyth #Make xine use keymappings that get along with mplayer, MythMusic, and ATI remote button mappings. #NOTE: "Prior" is PageUp and "Next" is PageDown -if [[ -f $MYTH_HOME/.xine/keymap ]]; then - sed -i "/Mute {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap - sed -i "/MrlBrowser {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap - sed -i "/NextMrl {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap - sed -i "/PriorMrl {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap - sed -i "/AudioVideoDecay+ {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap - sed -i "/ToggleLoopMode {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap - sed -i "/PlaylistStop {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap - sed -i "/Mute {$/{N; N; s/modifier = .*/modifier = none/; }" $MYTH_HOME/.xine/keymap - sed -i "/Quit {$/{N; s/key = .*/key = Escape/; }" $MYTH_HOME/.xine/keymap - sed -i "/^Menu {$/{N; s/key = .*/key = m/; }" $MYTH_HOME/.xine/keymap - sed -i "/Play {$/{N; s/key = .*/key = l/; }" $MYTH_HOME/.xine/keymap - sed -i "/Pause {$/{N; s/key = .*/key = p/; }" $MYTH_HOME/.xine/keymap - sed -i "/SeekRelative+60 {$/{N; s/key = .*/key = Next/; }" $MYTH_HOME/.xine/keymap - sed -i "/SeekRelative-60 {$/{N; s/key = .*/key = Prior/; }" $MYTH_HOME/.xine/keymap - sed -i "/Volume+ {$/{N; s/key = .*/key = ]/; }" $MYTH_HOME/.xine/keymap - sed -i "/Volume- {$/{N; s/key = .*/key = [/; }" $MYTH_HOME/.xine/keymap -else - mkdir -p $MYTH_HOME/.xine/ - /bin/cp $KNOPPMYTH_SHARE/xine_keymap $MYTH_HOME/.xine/keymap -fi -chown -fR mythtv:mythtv $MYTH_HOME/.xine +#if [[ -f $MYTH_HOME/.xine/keymap ]]; then +# sed -i "/Mute {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap +# sed -i "/MrlBrowser {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap +# sed -i "/NextMrl {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap +# sed -i "/PriorMrl {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap +# sed -i "/AudioVideoDecay+ {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap +# sed -i "/ToggleLoopMode {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap +# sed -i "/PlaylistStop {$/{N; s/key = .*/key = VOID/; }" $MYTH_HOME/.xine/keymap +# sed -i "/Mute {$/{N; N; s/modifier = .*/modifier = none/; }" $MYTH_HOME/.xine/keymap +# sed -i "/Quit {$/{N; s/key = .*/key = Escape/; }" $MYTH_HOME/.xine/keymap +# sed -i "/^Menu {$/{N; s/key = .*/key = m/; }" $MYTH_HOME/.xine/keymap +# sed -i "/Play {$/{N; s/key = .*/key = l/; }" $MYTH_HOME/.xine/keymap +# sed -i "/Pause {$/{N; s/key = .*/key = p/; }" $MYTH_HOME/.xine/keymap +# sed -i "/SeekRelative+60 {$/{N; s/key = .*/key = Next/; }" $MYTH_HOME/.xine/keymap +# sed -i "/SeekRelative-60 {$/{N; s/key = .*/key = Prior/; }" $MYTH_HOME/.xine/keymap +# sed -i "/Volume+ {$/{N; s/key = .*/key = ]/; }" $MYTH_HOME/.xine/keymap +# sed -i "/Volume- {$/{N; s/key = .*/key = [/; }" $MYTH_HOME/.xine/keymap +#else +# mkdir -p $MYTH_HOME/.xine/ +# /bin/cp $KNOPPMYTH_SHARE/xine_keymap $MYTH_HOME/.xine/keymap +#fi +#chown -fR mythtv:mythtv $MYTH_HOME/.xine #Make mplayer use keymappings that get along with xine, MythMusic, and ATI remote button mappings. diff --git a/abs/core-testing/tweaker/bin/twk_linux.pl b/abs/core-testing/tweaker/bin/twk_linux.pl deleted file mode 100755 index f8b46fb..0000000 --- a/abs/core-testing/tweaker/bin/twk_linux.pl +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/perl -w - -# Copyright 2007-2009 Robert ("Bob") Igo of StormLogic, LLC and mythic.tv. -# -# 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 3 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 -# MERCHANTABILITY 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, see <http://www.gnu.org/licenses/>. - -use Switch; -use Tweaker::Script; -package Tweaker::Script; - -set_known_options( 'all' ); - -# Try to implement the given option. -sub implement_option { - my($option) = @_; - - my $command; - my $apacheconf = "/etc/apache2/apache2.conf"; - # Linux-centric tweaks - - my @commands = ( - # erases any previous ServerName and adds a new one - "sed -i 's/ServerName.*//g' $apacheconf && echo -n \"ServerName \" >> $apacheconf && hostname >> $apacheconf", - # make autofs run automatically - "/etc/init.d/autofs stop && /etc/init.d/autofs start && /usr/sbin/update-rc.d -f autofs remove && /usr/sbin/update-rc.d autofs start 45 3 5 .", - # set up NTP - "/etc/init.d/ntp restart && /usr/sbin/update-rc.d -f ntp remove && /usr/sbin/update-rc.d ntp defaults 85" - ); - - foreach my $command (@commands) { - if (my $result = execute_shell_command($command)) { - my $logger = get_logger('tweaker.script'); - $logger->info("result: $result"); - } - } -} - -# Try to get a Recommendation Level for $option. -sub poll_options { - my($option) = @_; - recommendation_level("recommended", "These tweaks benefit all users."); -} - -# Unimplemented in 0.7 -sub check_option { - help; -} - -# Unimplemented in 0.7 -sub count_iterations { - help; -} - -process_parameters; diff --git a/abs/core-testing/tweaker/bin/twk_localization.pl b/abs/core-testing/tweaker/bin/twk_localization.pl index 572ee06..fc84440 100755 --- a/abs/core-testing/tweaker/bin/twk_localization.pl +++ b/abs/core-testing/tweaker/bin/twk_localization.pl @@ -37,11 +37,13 @@ sub implement_option { change_or_make_setting('Language', 'EN') || exit -1; change_or_make_setting('ISO639Language0', 'eng') || exit -1; change_or_make_setting('ISO639Language1', 'eng') || exit -1; + change_or_make_setting('MythArchiveVideoFormat', 'NTSC') || exit -1; } case "GB_English" { change_or_make_setting('Language', 'EN_GB') || exit -1; change_or_make_setting('ISO639Language0', 'eng') || exit -1; change_or_make_setting('ISO639Language1', 'eng') || exit -1; + change_or_make_setting('MythArchiveVideoFormat', 'PAL') || exit -1; } } } else { diff --git a/abs/core-testing/tweaker/tcf/tweaker-core.tcf b/abs/core-testing/tweaker/tcf/tweaker-core.tcf index d9c4bb6..88d8608 100644 --- a/abs/core-testing/tweaker/tcf/tweaker-core.tcf +++ b/abs/core-testing/tweaker/tcf/tweaker-core.tcf @@ -1,6 +1,6 @@ <?xml version="1.0" ?> <!DOCTYPE tcf SYSTEM "/usr/LH/tweaker/tcf/tcf.dtd" [ - <!ENTITY os SYSTEM "/usr/LH/tweaker/tcf/os.tcf"> +<!-- <!ENTITY os SYSTEM "/usr/LH/tweaker/tcf/os.tcf"> //--> <!-- <!ENTITY distro SYSTEM "/usr/LH/tweaker/tcf/distro.tcf"> //--> <!ENTITY focus SYSTEM "/usr/LH/tweaker/tcf/focus.tcf"> <!ENTITY userland SYSTEM "/usr/LH/tweaker/tcf/userland.tcf"> |