diff options
author | James Meyer <james.meyer@operamail.com> | 2009-08-01 03:14:54 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2009-08-01 03:14:54 (GMT) |
commit | 7b35632e80f168d8c5f2220bf610ee7e24b81270 (patch) | |
tree | 8facf3fa565911f056a08e38f6a5eed0f756f9c6 /abs/core-testing | |
parent | 7e10f51870aa10be3b35d7912a7b54e30f608bb8 (diff) | |
parent | 7accc0f042acdfdca9f067b1d4011d6ac01b1a74 (diff) | |
download | linhes_pkgbuild-7b35632e80f168d8c5f2220bf610ee7e24b81270.zip linhes_pkgbuild-7b35632e80f168d8c5f2220bf610ee7e24b81270.tar.gz linhes_pkgbuild-7b35632e80f168d8c5f2220bf610ee7e24b81270.tar.bz2 |
Merge branch 'HEAD' of ssh://jams@knoppmyth.net/mount/repository/LinHES-PKGBUILD
Conflicts:
abs/core-testing/LinHES-config/PKGBUILD
Diffstat (limited to 'abs/core-testing')
248 files changed, 31657 insertions, 1048 deletions
diff --git a/abs/core-testing/LinHES-config/PKGBUILD b/abs/core-testing/LinHES-config/PKGBUILD index ba324ee..75439cc 100755 --- a/abs/core-testing/LinHES-config/PKGBUILD +++ b/abs/core-testing/LinHES-config/PKGBUILD @@ -1,6 +1,6 @@ pkgname=LinHES-config pkgver=2.0 -pkgrel=62 +pkgrel=65 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev ) pkgdesc="Install and configure your system" depends=(bc libstatgrab mysql-python expect curl dnsutils parted sg3_utils nmbscan system-templates rsync python-parted ddcxinfo python-pexpect python-netifaces LinHES-timezone python-iplib) diff --git a/abs/core-testing/LinHES-config/install_functions.sh b/abs/core-testing/LinHES-config/install_functions.sh index a5f4122..0bc0591 100755 --- a/abs/core-testing/LinHES-config/install_functions.sh +++ b/abs/core-testing/LinHES-config/install_functions.sh @@ -74,9 +74,12 @@ function setupremote { printhl "Starting with support for $Remotetype" if [ "$Remotetype" == "dvico" ] then - /usr/sbin/lircd -d /dev/usb/hiddev0 + /usr/sbin/lircd -d /dev/usb/hiddev0 --driver=dvico + elif [ "$Remotetype" == "Dvico-Dual-Digital4-rev2" ] + then + /usr/sbin/lircd -d /dev/input/irremote --driver=devinput else - /usr/sbin/lircd -d /dev/lirc0 + /usr/sbin/lircd -d /dev/lirc0 fi [ -e /root/.mythtv ] || mkdir /root/.mythtv 2>/dev/null ln -s /etc/lircrc /root/.mythtv/lircrc 2>/dev/null diff --git a/abs/core-testing/LinHES-config/xconfig.sh b/abs/core-testing/LinHES-config/xconfig.sh index 4f5fc62..f90a60e 100755 --- a/abs/core-testing/LinHES-config/xconfig.sh +++ b/abs/core-testing/LinHES-config/xconfig.sh @@ -3,7 +3,7 @@ #SET DISPLAYRES to force Xres, ENV takes precendent over cmdline #displayres=cmdline #NVPKGS="ati-dri xf86-video-ati xf86-video-radeonhd intel-dri xf86-video-intel unichrome-dri xf86-video-unichrome xf86-video-mga xf86-video-savage xf86-video-trident" -NVPKGS="ati-dri xf86-video-ati xf86-video-radeonhd intel-dri xf86-video-intel xf86-video-mga xf86-video-savage xf86-video-trident" +NVPKGS="ati-dri xf86-video-ati xf86-video-radeonhd intel-dri xf86-video-intel xf86-video-mga xf86-video-savage xf86-video-trident unichrome-dri xf86-video-openchrome" BASE="" . /etc/profile NVIDIA_96XX="$TEMPLATES/xorg/96xx_supported.txt" @@ -202,11 +202,13 @@ function setupX { then #install 96xx drivers echo "installing nvidia 96xx drivers" + pacman --noconfirm -Rd libgl > /dev/null 2>&1 pacman --noconfirm -R $NVPKGS > /dev/null 2>&1 pacman --noconfirm -S nvidia-96xx nvidia-96xx-utils > /dev/null 2>&1 else #install latest drivers echo "installing current nvidia drivers" + pacman --noconfirm -Rd libgl > /dev/null 2>&1 pacman --noconfirm -R $NVPKGS > /dev/null 2>&1 pacman --noconfirm -S nvidia nvidia-utils > /dev/null 2>&1 fi diff --git a/abs/core-testing/LinHES-timezone/PKGBUILD b/abs/core-testing/LinHES-timezone/PKGBUILD index 0b0d2ad..eedc364 100644 --- a/abs/core-testing/LinHES-timezone/PKGBUILD +++ b/abs/core-testing/LinHES-timezone/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer: Greg Frost <gregfrost1@bigpond.com> pkgname=LinHES-timezone pkgver=1 -pkgrel=6 +pkgrel=7 pkgdesc="GUI timezone selector used by LinHES-config." arch=i686 depends=() @@ -27,4 +27,4 @@ md5sums=('53976e51e938c555f84b43c933339051' '0d9e51af5f650dd329edce4531c42a58' 'c01e2335603d8395004e32bae9060fde' 'b20bd68272644f607fbfe7d50e7be42a' - '448ffca8f38b2dcd989e599ff2057399') + '8629268a4f2ca8391e4d1087a9734088') diff --git a/abs/core-testing/LinHES-timezone/linhes_timezone.c b/abs/core-testing/LinHES-timezone/linhes_timezone.c index ff75549..d295091 100644 --- a/abs/core-testing/LinHES-timezone/linhes_timezone.c +++ b/abs/core-testing/LinHES-timezone/linhes_timezone.c @@ -750,6 +750,17 @@ void remove_titlebar_and_borders () (char *) &mwm_hints, 5); } +void set_window_position (int x, int y) +{ + XSizeHints hints; + + hints.flags = USPosition | PPosition; + hints.x = x; + hints.y = y; + + XSetWMNormalHints(display, window, &hints); +} + int main (int argc, char *argv[]) { XEvent xevent; @@ -851,12 +862,13 @@ int main (int argc, char *argv[]) radius = height; radius = 0.96 * radius / 2; - + window = XCreateSimpleWindow (display, DefaultRootWindow(display), x, y, width, height, 0, land[0].pixel, ocean.pixel); remove_titlebar_and_borders (); + set_window_position (x, y); if (!window) { diff --git a/abs/core-testing/ddcxinfo/PKGBUILD b/abs/core-testing/ddcxinfo/PKGBUILD index 94707ef..b358c0c 100644 --- a/abs/core-testing/ddcxinfo/PKGBUILD +++ b/abs/core-testing/ddcxinfo/PKGBUILD @@ -1,6 +1,6 @@ pkgname=ddcxinfo pkgver=0.6.19 -pkgrel=2 +pkgrel=3 pkgdesc="DDC readout using the VESA BIOS extension" url="http://www.t2-project.org/packages/ddcxinfo.html" license="GPL" @@ -11,12 +11,14 @@ replaces=() backup=() arch=('i686') install= -source=(http://www.kanotix.com/files/debian/pool/main/d/ddcxinfo-kanotix/$pkgname-kanotix_$pkgver.tar.gz) +source=(http://www.kanotix.com/files/debian/pool/main/d/ddcxinfo-kanotix/$pkgname-kanotix_$pkgver.tar.gz + lrmi.patch) build() { cd $startdir/src/$pkgname-kanotix-$pkgver mkdir -p $startdir/pkg/usr/sbin + patch -p1 < $startdir/src/lrmi.patch make DESTDIR=$startdir/pkg install cp svgamodes $startdir/pkg/usr/sbin/ chmod +s $startdir/pkg/usr/sbin/ddcprobe diff --git a/abs/core-testing/ddcxinfo/lrmi.patch b/abs/core-testing/ddcxinfo/lrmi.patch new file mode 100644 index 0000000..ca735fa --- /dev/null +++ b/abs/core-testing/ddcxinfo/lrmi.patch @@ -0,0 +1,18 @@ +Common subdirectories: ddcxinfo-kanotix-0.6.19-orig/debian and ddcxinfo-kanotix-0.6.19/debian +diff -u ddcxinfo-kanotix-0.6.19-orig/lrmi.c ddcxinfo-kanotix-0.6.19/lrmi.c +--- ddcxinfo-kanotix-0.6.19-orig/lrmi.c 2009-07-25 06:15:09.000000000 +0000 ++++ ddcxinfo-kanotix-0.6.19/lrmi.c 2009-07-25 06:17:22.000000000 +0000 +@@ -170,6 +170,13 @@ + } + } + ++#ifndef TF_MASK ++#define TF_MASK X86_EFLAGS_TF ++#define IF_MASK X86_EFLAGS_IF ++#define IOPL_MASK X86_EFLAGS_IOPL ++#define VIF_MASK X86_EFLAGS_VIF ++#define VIP_MASK X86_EFLAGS_VIP ++#endif + + #define DEFAULT_VM86_FLAGS (IF_MASK | IOPL_MASK) + #define DEFAULT_STACK_SIZE 0x1000 diff --git a/abs/core-testing/directfb/PKGBUILD b/abs/core-testing/directfb/PKGBUILD index 87ab961..89d322a 100644 --- a/abs/core-testing/directfb/PKGBUILD +++ b/abs/core-testing/directfb/PKGBUILD @@ -4,7 +4,7 @@ pkgname=directfb pkgver=1.2.0 -pkgrel=1 +pkgrel=2 pkgdesc="A thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system on top of the Linux Framebuffer Device" arch=('i686' 'x86_64') url="http://www.directfb.org" diff --git a/abs/core-testing/dvb-firmware/PKGBUILD b/abs/core-testing/dvb-firmware/PKGBUILD index bbcf1cf..8504d90 100644 --- a/abs/core-testing/dvb-firmware/PKGBUILD +++ b/abs/core-testing/dvb-firmware/PKGBUILD @@ -3,16 +3,18 @@ pkgname=dvb-firmware pkgver=1 -pkgrel=5 +pkgrel=6 pkgdesc="Firmware for DVB cards" arch=('i586' 'i686' 'x86_64') license=('GPL2') url="http://linuxtv.org/" -source=(ftp://ftp.knoppmyth.net/R6/sources/dvb-firmware.tar.bz2) +source=(ftp://ftp.knoppmyth.net/R6/sources/dvb-firmware.tar.bz2 + xc3028-v27.fw) md5sums=('6932d0b4f763424e35b7fa3a6cc82a2e') build() { cd $startdir/src/ mkdir -p $startdir/pkg/lib/firmware cp -a dvb-fw/* $startdir/pkg/lib/firmware + cp $startdir/src/xc3028-v27.fw $startdir/pkg/lib/firmware } diff --git a/abs/core-testing/dvb-firmware/xc3028-v27.fw b/abs/core-testing/dvb-firmware/xc3028-v27.fw Binary files differnew file mode 100644 index 0000000..76f46ab --- /dev/null +++ b/abs/core-testing/dvb-firmware/xc3028-v27.fw diff --git a/abs/core-testing/expect/PKGBUILD b/abs/core-testing/expect/PKGBUILD index c8705c6..0f2f46b 100644 --- a/abs/core-testing/expect/PKGBUILD +++ b/abs/core-testing/expect/PKGBUILD @@ -3,10 +3,10 @@ pkgname=expect pkgver=5.44.1.4 -pkgrel=1 +pkgrel=2 pkgdesc="A tool for automating interactive applications" arch=(i686 x86_64) -depends=('tcl>=8.5.0') +depends=('tcl>=8.5.0' 'tk>=8.5.0') makedepends=('tk>=8.5.0') tcltkver=8.5.0 source=(ftp://ftp.archlinux.org/other/expect/expect-$pkgver.tar.bz2 diff --git a/abs/core-testing/faad2/ChangeLog b/abs/core-testing/faad2/ChangeLog index b4073ba..ed5548b 100644 --- a/abs/core-testing/faad2/ChangeLog +++ b/abs/core-testing/faad2/ChangeLog @@ -1,3 +1,15 @@ +2009-02-16 Eric Belanger <eric@archlinux.org> + + * faad2 2.7-1 + * Upstream update + * Updated LICENSE file + * Compiled with -fPIC option + +2009-01-05 Eric Belanger <eric@archlinux.org> + + * faad2 2.6.1-2 + * Applied security patch + 2008-07-19 Eric Belanger <eric@archlinux.org> * faad2 2.6.1-1 diff --git a/abs/core-testing/faad2/LICENSE b/abs/core-testing/faad2/LICENSE index ecb2c75..a16abf6 100644 --- a/abs/core-testing/faad2/LICENSE +++ b/abs/core-testing/faad2/LICENSE @@ -1,19 +1,24 @@ -/* +__________ +COPYRIGHTS + +For FAAD2 the following license applies: + +****************************************************************************** ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding ** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com -** +** ** 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 ** 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, write to the Free Software +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly @@ -24,5 +29,14 @@ ** ** Commercial non-GPL licensing of this software is possible. ** For more info contact Nero AG through Mpeg4AAClicense@nero.com. -** -*/ +****************************************************************************** + + +Please note that the use of this software may require the payment of +patent royalties. You need to consider this issue before you start +building derivative works. We are not warranting or indemnifying you in +any way for patent royalities! YOU ARE SOLELY RESPONSIBLE FOR YOUR OWN +ACTIONS! + + +______ diff --git a/abs/core-testing/faad2/PKGBUILD b/abs/core-testing/faad2/PKGBUILD index 227cc3b..729d69b 100644 --- a/abs/core-testing/faad2/PKGBUILD +++ b/abs/core-testing/faad2/PKGBUILD @@ -1,45 +1,26 @@ -# $Id: PKGBUILD 5668 2008-07-20 05:06:05Z eric $ +# $Id: PKGBUILD 27494 2009-02-22 04:26:47Z eric $ # Maintainer: Eric Belanger <eric@archlinux.org> # Contributor: Sarah Hay <sarah@archlinux.org> pkgname=faad2 -pkgver=2.6.1 +pkgver=2.7 pkgrel=1 pkgdesc="ISO AAC audio decoder" arch=('i686' 'x86_64') url="http://www.audiocoding.com/" license=('custom:GPL') depends=('glibc') -options=('!libtool') -source=(http://downloads.sourceforge.net/sourceforge/faac/${pkgname}-${pkgver}.tar.gz - faad2-2.6.1-libtool22.patch - faad2-2.6.1-broken-pipe.patch - faad2-2.6.1-implicitdeclar.patch - faad2-2.6.1-abi_has_changed.patch - LICENSE) -md5sums=('74e92df40c270f216a8305fc87603c8a' 'ca9515b6617d7fd060d0d172616eb192'\ - 'bb6a345dd2e6c4df6609e6a374134066' 'bc43fd3f8cd582a8bc092b9b5e611865'\ - '06e83633c609d20436794b62a382b3dc' 'b6a1c72534807b8a038b71e784f57e32') -sha1sums=('b4ad33d3c4dfa6dbf3011a3da34c631926cabfad' - 'ca4ee04aa1757b8f9deeef52b5bf35dc823da844' - '0b03728f40d00e552f738900e2f6215177af5417' - 'd4ab5d38c9b75ed6417529c4d1a7ca204293c224' - 'f7e9d89fc551e0b61a7b7555749ed7a3129a4ce8' - '6225fd997671206f5222c4a86d9e092359552c43') +options=('!libtool' '!makeflags') +source=(http://downloads.sourceforge.net/sourceforge/faac/${pkgname}-${pkgver}.tar.bz2 LICENSE) +md5sums=('4c332fa23febc0e4648064685a3d4332' 'ec95f38142e14fb46c849503897a37a0') +sha1sums=('b0e80481d27ae9faf9e46c8c8dfb617a0adb91b5' '00edd9b30d8d5098b5e91c03c595d96a3bbe56fd') build() { - cd ${srcdir}/${pkgname} - patch -p1 < ../faad2-2.6.1-libtool22.patch || return 1 - patch -p1 < ../faad2-2.6.1-broken-pipe.patch || return 1 - patch -p1 < ../faad2-2.6.1-implicitdeclar.patch || return 1 - patch -p1 < ../faad2-2.6.1-abi_has_changed.patch || return 1 - - autoreconf -vif || return 1 + cd ${srcdir}/${pkgname}-${pkgver} ./configure --prefix=/usr || return 1 - make || return 1 - make DESTDIR=${pkgdir} install || return 1 - install -m644 ${srcdir}/${pkgname}/common/mp4ff/mp4ff.h ${pkgdir}/usr/include/ || return 1 - install -m644 ${srcdir}/${pkgname}/common/mp4ff/mp4ff_int_types.h ${pkgdir}/usr/include/ || return 1 - install -m644 ${srcdir}/${pkgname}/common/mp4ff/.libs/*.a ${pkgdir}/usr/lib/ || return 1 + make CFLAGS="${CFLAGS} -fPIC" || return 1 + make DESTDIR=${pkgdir} manmdir=/usr/share/man/man1 install || return 1 + install -m644 common/mp4ff/mp4ff_int_types.h ${pkgdir}/usr/include/mp4ff_int_types.h || return 1 install -D -m644 ${srcdir}/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1 + mv ${pkgdir}/usr/share/man/man1/faad.man ${pkgdir}/usr/share/man/man1/faad.1 } diff --git a/abs/core-testing/fbsplash/PKGBUILD b/abs/core-testing/fbsplash/PKGBUILD index 5d42484..736da1f 100644 --- a/abs/core-testing/fbsplash/PKGBUILD +++ b/abs/core-testing/fbsplash/PKGBUILD @@ -2,7 +2,7 @@ pkgname=fbsplash pkgver=1.5.4.3 -pkgrel=14 +pkgrel=15 pkgdesc="A userspace implementation of a splash screen for Linux (formerly known as gensplash)" arch=('i686' 'x86_64') url="http://fbsplash.berlios.de" diff --git a/abs/core-testing/feh/PKGBUILD b/abs/core-testing/feh/PKGBUILD index 23a2627..ad38f8f 100644 --- a/abs/core-testing/feh/PKGBUILD +++ b/abs/core-testing/feh/PKGBUILD @@ -1,9 +1,9 @@ pkgname=feh pkgver=1.3.4 -pkgrel=3 +pkgrel=4 pkgdesc="feh is a fast, lightweight image viewer which uses imlib2" -depends=('libpng' 'libxinerama' 'giblib') +depends=('libjpeg' 'libpng' 'libxinerama' 'giblib') #source=(http://linuxbrit.co.uk/downloads/$pkgname-$pkgver.tar.gz) source=(http://ftp.gva.es/mirror/debian/pool/main/f/feh/feh_1.3.4.orig.tar.gz) url="http://www.linuxbrit.co.uk/feh/" diff --git a/abs/core-testing/ffmpeg-svn/PKGBUILD b/abs/core-testing/ffmpeg-svn/PKGBUILD new file mode 100644 index 0000000..0eafb3f --- /dev/null +++ b/abs/core-testing/ffmpeg-svn/PKGBUILD @@ -0,0 +1,59 @@ +# Contributor: raubkopierer <mail[dot]sensenmann[at]googlemail[dot]com> + +pkgname=ffmpeg-svn +pkgver=19483 +pkgrel=1 +pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix" +arch=('i686' 'x86_64') +url="http://ffmpeg.mplayerhq.hu/" +license=('GPL') +depends=('lame' 'sdl' 'faad2' 'faac' 'zlib' 'imlib2' 'x264' 'libtheora') +makedepends=('subversion') +provides=("ffmpeg=`date +%Y%m%d`") +conflicts=('ffmpeg') +source=() +md5sums=() + +_svntrunk=svn://svn.ffmpeg.org/ffmpeg/trunk +_svnmod=ffmpeg + +build() { + cd "$srcdir" + + if [ -d $_svnmod/.svn ]; then + (cd $_svnmod && svn up -r $pkgver) + else + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + fi + + msg "SVN checkout done or server timeout" + msg "Starting make..." + + rm -rf "$_svnmod-build" + mkdir "$_svnmod-build" + cd "$_svnmod-build" + + "$srcdir/$_svnmod/configure" \ + --prefix=/usr \ + --enable-gpl \ + --enable-nonfree \ + --enable-libmp3lame \ + --enable-libfaac \ + --enable-libfaad \ + --enable-libx264 \ + --enable-libtheora \ + --enable-postproc \ + --enable-shared \ + --enable-pthreads \ + --enable-x11grab \ + --arch=`uname -m` \ + --enable-libxvid \ + || return 1 + + make || return 1 + make doc/ff{mpeg,play,server}.1 || return 1 + + make DESTDIR="$pkgdir" install || return 1 + make DESTDIR="$pkgdir" install-man || return 1 + +} diff --git a/abs/core-testing/ffmpeg/PKGBUILD b/abs/core-testing/ffmpeg/PKGBUILD deleted file mode 100644 index 2b63545..0000000 --- a/abs/core-testing/ffmpeg/PKGBUILD +++ /dev/null @@ -1,48 +0,0 @@ -# $Id: PKGBUILD 24006 2009-01-11 23:04:11Z eric $ -# Contributor: Tom Newsom <Jeepster@gmx.co.uk> -# Maintainer: Paul Mattal <paul@archlinux.org> - -pkgname=ffmpeg -pkgver=20081220 -pkgrel=3 -pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix" -arch=(i686 x86_64) -url="http://ffmpeg.mplayerhq.hu/" -license=('LGPL') -depends=('lame' 'sdl' 'libvorbis' 'faad2>=2.6.1' 'faac' 'xvidcore' 'zlib' 'imlib2' 'x264>=20090108' 'libtheora') -#remake snapshot with: svn export svn://svn.mplayerhq.hu/ffmpeg/trunk@14236 -source=(ftp://ftp.archlinux.org/other/ffmpeg/ffmpeg-${pkgver}-16503.tar.bz2) -md5sums=('3df85782e9fbbb4a40c6b807baaf6808') - -build() { - cd "$srcdir/$pkgname" || return 1 - - ./configure \ - --prefix=/usr \ - --enable-gpl \ - --enable-libmp3lame \ - --enable-libvorbis \ - --enable-libfaac \ - --enable-libfaad \ - --enable-libxvid \ - --enable-libx264 \ - --enable-libtheora \ - --enable-postproc \ - --enable-shared \ - --enable-pthreads \ - --enable-x11grab \ - --enable-swscale \ - || return 1 - - make || return 1 - make doc/ff{mpeg,play,server}.1 || return 1 - - make DESTDIR="$pkgdir" install install-man || return 1 - - # since makepkg currently declines to strip .a files, do this for now - strip --strip-debug $startdir/pkg/usr/lib/*.a || return 1 - mkdir $startdir/pkg/usr/share/ffmpeg - cp $startdir/src/ffmpeg/ffpresets/* $startdir/pkg/usr/share/ffmpeg -} - -# vim:set ts=2 sw=2 et: diff --git a/abs/core-testing/ffmpeg/__changelog b/abs/core-testing/ffmpeg/__changelog deleted file mode 100644 index b27f318..0000000 --- a/abs/core-testing/ffmpeg/__changelog +++ /dev/null @@ -1,2 +0,0 @@ -CHW 5/25/09 -Added ffpresets to package. diff --git a/abs/core-testing/flac/PKGBUILD b/abs/core-testing/flac/PKGBUILD index ce31e8b..f28b964 100644 --- a/abs/core-testing/flac/PKGBUILD +++ b/abs/core-testing/flac/PKGBUILD @@ -3,13 +3,13 @@ # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=flac pkgver=1.2.1 -pkgrel=1 +pkgrel=2 pkgdesc="Free Lossless Audio Codec" license=('custom:Xiph' 'LGPL' 'GPL' 'FDL') url="http://flac.sourceforge.net/" arch=(i686 x86_64) options=('!libtool') -depends=('glibc' 'libogg') +depends=('glibc' 'libogg' 'xmms') makedepends=('nasm' 'xmms') source=(http://downloads.sf.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz \ flac-1.2.1-gcc43.patch) diff --git a/abs/core-testing/ghostscript/PKGBUILD b/abs/core-testing/ghostscript/PKGBUILD index 8edc722..5a7aa2a 100644 --- a/abs/core-testing/ghostscript/PKGBUILD +++ b/abs/core-testing/ghostscript/PKGBUILD @@ -3,17 +3,18 @@ pkgname=ghostscript pkgver=8.63 -pkgrel=4 +pkgrel=5 pkgdesc="An interpreter for the PostScript language" arch=(i686 x86_64) license=('GPL' 'custom') -depends=('libxext' 'libxt' 'libcups>=1.3.8-2' 'fontconfig>=2.6.0' 'gtk2>=2.12.11' 'gnutls>=2.4.1') +depends=('libjpeg' 'libxext' 'libxt' 'libcups>=1.3.8-2' 'fontconfig>=2.6.0' 'gtk2>=2.12.11' 'gnutls>=2.4.1') makedepends=('automake' 'autoconf') optdepends=('texlive-core: dvipdf') replaces=('ghostscript-lrpng') provides=('ghostscript-lprng') url="http://www.cs.wisc.edu/~ghost/" -source=(ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs863/ghostscript-${pkgver}.tar.bz2 +source=(http://ghostscript.com/releases/ghostscript-${pkgver}.tar.bz2 + #ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs863/ghostscript-${pkgver}.tar.bz2 ghostscript-fPIC.patch) options=('!libtool' '!makeflags') md5sums=('c770eedfdd846a53e211e3ba5339de21' diff --git a/abs/core-testing/gtk2/PKGBUILD b/abs/core-testing/gtk2/PKGBUILD index 319aed3..4279aee 100644 --- a/abs/core-testing/gtk2/PKGBUILD +++ b/abs/core-testing/gtk2/PKGBUILD @@ -3,7 +3,7 @@ pkgname=gtk2 pkgver=2.16.1 -pkgrel=2 +pkgrel=5 pkgdesc="The GTK+ Toolkit (v2)" arch=(i686 x86_64) url="http://www.gtk.org/" diff --git a/abs/core-testing/hal/PKGBUILD b/abs/core-testing/hal/PKGBUILD index 4bad72d..f3e48cc 100644 --- a/abs/core-testing/hal/PKGBUILD +++ b/abs/core-testing/hal/PKGBUILD @@ -4,7 +4,7 @@ pkgname=hal pkgver=0.5.11 -pkgrel=4 +pkgrel=5 pkgdesc="Hardware Abstraction Layer" arch=(i686 x86_64) license=('GPL' 'custom') diff --git a/abs/core-testing/imagemagick/PKGBUILD b/abs/core-testing/imagemagick/PKGBUILD index b14f914..342fe87 100644 --- a/abs/core-testing/imagemagick/PKGBUILD +++ b/abs/core-testing/imagemagick/PKGBUILD @@ -9,15 +9,16 @@ pkgname=imagemagick pkgver=6.4.9.10 -pkgrel=4 +pkgrel=5 pkgdesc="An image viewing/manipulation program" arch=('i686' 'x86_64') url="http://www.imagemagick.org/" license=('custom') -depends=('lcms' 'libwmf' 'librsvg' 'libxt' 'gcc-libs' 'ghostscript' 'openexr>=1.6.1' 'libtool>=2.2' 'heimdal>=1.2.1' 'bzip2' 'libxml2' 'jasper') +depends=('libjpeg' 'lcms' 'libwmf' 'librsvg' 'libxt' 'gcc-libs' 'ghostscript' 'openexr>=1.6.1' 'libtool>=2.2' 'heimdal>=1.2.1' 'bzip2' 'libxml2' 'jasper') #makedepends=('ghostscript' 'openexr') options=('!makeflags' '!docs') -source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.bz2 \ +source=(ftp://ftp.fifi.org/pub/ImageMagick/legacy/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.bz2 + #ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.bz2 \ libpng_mmx_patch_x86_64.patch add_delegate.patch) build() { diff --git a/abs/core-testing/imlib2/PKGBUILD b/abs/core-testing/imlib2/PKGBUILD index 1fd9f74..b465ca2 100644 --- a/abs/core-testing/imlib2/PKGBUILD +++ b/abs/core-testing/imlib2/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=imlib2 pkgver=1.4.1 -pkgrel=1 +pkgrel=2 pkgdesc="Imlib2 is the successor to Imlib. It is NOT a newer version -- Imlib 2 can be installed alongside Imlib 1.x" arch=(i686 x86_64) url="http://sourceforge.net/projects/enlightenment" diff --git a/abs/core-testing/jasper/PKGBUILD b/abs/core-testing/jasper/PKGBUILD index ee60693..b841057 100644 --- a/abs/core-testing/jasper/PKGBUILD +++ b/abs/core-testing/jasper/PKGBUILD @@ -3,7 +3,7 @@ pkgname=jasper pkgver=1.900.1 -pkgrel=1 +pkgrel=2 pkgdesc="a software-based implementation of the codec specified in the emerging JPEG-2000 Part-1 standard" arch=(i686 x86_64) url="http://www.ece.uvic.ca/~mdadams/jasper/" diff --git a/abs/core-testing/kdelibs3/PKGBUILD b/abs/core-testing/kdelibs3/PKGBUILD index 9e1e5d3..5331af0 100644 --- a/abs/core-testing/kdelibs3/PKGBUILD +++ b/abs/core-testing/kdelibs3/PKGBUILD @@ -4,14 +4,15 @@ pkgname=kdelibs3 pkgver=3.5.10 -pkgrel=2 +pkgrel=3 pkgdesc="KDE3 Core Libraries" arch=('i686' 'x86_64') url="http://www.kde.org" license=('GPL' 'LGPL') depends=('libxslt' 'pcre' 'libart-lgpl' 'alsa-lib' 'jasper' 'bzip2' 'openssl' 'libidn' 'libxrender' - 'aspell' 'heimdal' 'acl' 'libtiff' 'qt3' 'ca-certificates') + 'aspell' 'heimdal' 'acl' 'libtiff' 'qt3' 'ca-certificates' + 'libjpeg') makedepends=('pkgconfig' ) options=('libtool') install='kdelibs3.install' diff --git a/abs/core-testing/lcms/PKGBUILD b/abs/core-testing/lcms/PKGBUILD index 7e40429..3cd6add 100644 --- a/abs/core-testing/lcms/PKGBUILD +++ b/abs/core-testing/lcms/PKGBUILD @@ -4,7 +4,7 @@ pkgname=lcms pkgver=1.17 -pkgrel=2 +pkgrel=3 pkgdesc="Lightweight color management development library/engine" arch=(i686 x86_64) license=('CUSTOM') diff --git a/abs/core-testing/libcups/PKGBUILD b/abs/core-testing/libcups/PKGBUILD index d2a9d5a..9b31bd0 100644 --- a/abs/core-testing/libcups/PKGBUILD +++ b/abs/core-testing/libcups/PKGBUILD @@ -3,14 +3,14 @@ pkgname=libcups pkgver=1.3.9 -pkgrel=3 +pkgrel=4 pkgdesc="The CUPS Printing System" arch=('i686' 'x86_64') license=('GPL') url="http://www.cups.org/" depends=('gnutls>=2.4.1' 'libtiff' 'libpng' 'heimdal>=1.2') source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2) -md5sums=('cf63f451c356e6cabb08972d4d11c365') +md5sums=('72430b36094cf587cf2e0087047d5643') build() { cd ${srcdir}/cups-${pkgver} diff --git a/abs/core-testing/libdv/PKGBUILD b/abs/core-testing/libdv/PKGBUILD index c535c2c..bd54a0d 100644 --- a/abs/core-testing/libdv/PKGBUILD +++ b/abs/core-testing/libdv/PKGBUILD @@ -4,10 +4,10 @@ pkgname=libdv pkgver=1.0.0 -pkgrel=1 +pkgrel=2 pkgdesc="The Quasar DV codec (libdv) is a software codec for DV video" arch=('i686' 'x86_64') -depends=('popt') +depends=('popt' 'gtk') makedepends=('pkgconfig' 'gtk') source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz) md5sums=('f895162161cfa4bb4a94c070a7caa6c7') diff --git a/abs/core-testing/libjpeg/PKGBUILD b/abs/core-testing/libjpeg/PKGBUILD index baedcd4..3f671b4 100644 --- a/abs/core-testing/libjpeg/PKGBUILD +++ b/abs/core-testing/libjpeg/PKGBUILD @@ -1,10 +1,10 @@ # $Id$ # Maintainer: Allan McRae <allan@archlinux.org> -# Committer: Judd Vinet <jvinet@zeroflux.org> +# Contributor: Judd Vinet <jvinet@zeroflux.org> pkgname=libjpeg -pkgver=6b -pkgrel=6 +pkgver=7 +pkgrel=1 pkgdesc="Library of JPEG support functions" arch=('i686' 'x86_64') url="http://www.ijg.org/" @@ -12,17 +12,17 @@ license=('custom') depends=('glibc') makedepends=('libtool') options=(!libtool) -source=(ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v$pkgver.tar.gz) -md5sums=('dbd5f3b47ed13132f04c685d608a7547') +source=(http://www.ijg.org/files/jpegsrc.v7.tar.gz) +md5sums=('382ef33b339c299b56baf1296cda9785') build() { cd $srcdir/jpeg-$pkgver - cp /usr/share/libtool/config/config.{guess,sub} . - sed -i "s#./libtool#libtool#" configure ./configure --prefix=/usr --enable-shared --enable-static make || return 1 - mkdir -p $pkgdir/usr/{bin,lib,include,share/man/man1} - make prefix=$pkgdir/usr mandir=$pkgdir/usr/share/man/man1 install + make prefix=$pkgdir/usr mandir=$pkgdir/usr/share/man install + + # See FS#11116 - re-assess need with v7 release sometime... install -m644 jpegint.h $pkgdir/usr/include + install -Dm644 README $pkgdir/usr/share/licenses/libjpeg/README } diff --git a/abs/core-testing/libmng/PKGBUILD b/abs/core-testing/libmng/PKGBUILD index d0fd215..dc3958a 100644 --- a/abs/core-testing/libmng/PKGBUILD +++ b/abs/core-testing/libmng/PKGBUILD @@ -1,14 +1,14 @@ -# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $ +# $Id$ # Contributor: Tom Newsom <Jeepster@gmx.co.uk> # Maintainer: judd <jvinet@zeroflux.org> pkgname=libmng pkgver=1.0.10 -pkgrel=1 +pkgrel=3 pkgdesc="A collection of routines used to create and manipulate MNG format graphics files" arch=('i686' 'x86_64') url="http://www.libmng.com/" license=('custom') -depends=('zlib' 'libjpeg') +depends=('zlib' 'libjpeg>=7') options=(!libtool) source=(http://dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz) md5sums=('a464ae7d679781beebdf7440d144b7bd') diff --git a/abs/core-testing/libtiff/ChangeLog b/abs/core-testing/libtiff/ChangeLog new file mode 100644 index 0000000..1a1c85b --- /dev/null +++ b/abs/core-testing/libtiff/ChangeLog @@ -0,0 +1,8 @@ +2008-09-05 Eric Belanger <eric@archlinux.org> + + * libtiff 3.8.2-4 + * Applied patch to fix buffer underflow in LZW decoding (tiff-3.8.2-CVE-2008-2327.patch) + * Added license + * Added freeglut optdepends + * FHS man pages + * Added ChangeLog diff --git a/abs/core-testing/libtiff/PKGBUILD b/abs/core-testing/libtiff/PKGBUILD index 67cb689..51e106c 100644 --- a/abs/core-testing/libtiff/PKGBUILD +++ b/abs/core-testing/libtiff/PKGBUILD @@ -1,31 +1,43 @@ -# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $ -# Maintainer: dorphell <dorphell@archlinux.org> +# $Id$ +# Maintainer: Eric Belanger <eric@archlinux.org> +# Contributor: dorphell <dorphell@archlinux.org> pkgname=libtiff pkgver=3.8.2 -pkgrel=3 +pkgrel=5 pkgdesc="Library for manipulation of TIFF images" -arch=(i686 x86_64) -depends=(libjpeg zlib) -makedepends=(libgl freeglut libxmu libxi) -options=(!libtool) +arch=('i686' 'x86_64') url="http://www.libtiff.org/" -source=(ftp://ftp.remotesensing.org/pub/libtiff/tiff-${pkgver}.tar.gz - tiff2pdf-octal-printf.patch - tiffsplit-fname-overflow.patch - CVE-2006-3459-3465.patch - tiff2pdf-compression.patch) +license=('custom') +depends=('libjpeg>=7' 'zlib') +makedepends=('libgl' 'freeglut' 'libxmu' 'libxi') +optdepends=('freeglut: for using tiffgt') +options=('!libtool') +source=(ftp://ftp.remotesensing.org/pub/libtiff/tiff-${pkgver}.tar.gz \ + tiff2pdf-octal-printf.patch \ + tiffsplit-fname-overflow.patch \ + CVE-2006-3459-3465.patch \ + tiff2pdf-compression.patch \ + tiff-3.8.2-CVE-2008-2327.patch) md5sums=('fbb6f446ea4ed18955e2714934e5b698' 'd54368687d2645ffbbe6c2df384b11bf'\ '323352fd60a7bd3ffac8724c3c031669' '624d3067e6a4c0680767eb62253ea980'\ - 'b443ffca9d498bb3a88c17da0200025b') + 'b443ffca9d498bb3a88c17da0200025b' 'c2c2e22557d9c63011df5777dda6a86b') +sha1sums=('549e67b6a15b42bfcd72fe17cda7c9a198a393eb' + 'c79245249634a121bfaff6cfecb763f72fe7f8eb' + 'dc86bb68c7831ff70ff01d952d553be9f986be46' + '85dc50a60a10025757e249d869dab7eb73ba6e3c' + '508751f55131356ea8a7e7c4994ffbc9bd881769' + '1da2ec6a47c0666cad9d07fb8427c1c75ca27b10') build() { - cd ${startdir}/src/tiff-${pkgver} - patch -Np1 -i ${startdir}/src/tiff2pdf-octal-printf.patch || return 1 - patch -Np1 -i ${startdir}/src/tiffsplit-fname-overflow.patch || return 1 - patch -Np1 -i ${startdir}/src/CVE-2006-3459-3465.patch || return 1 - patch -Np1 -i ${startdir}/src/tiff2pdf-compression.patch || return 1 - ./configure --prefix=/usr --sysconfdir=/etc + cd ${srcdir}/tiff-${pkgver} + patch -Np1 -i ${srcdir}/tiff2pdf-octal-printf.patch || return 1 + patch -Np1 -i ${srcdir}/tiffsplit-fname-overflow.patch || return 1 + patch -Np1 -i ${srcdir}/CVE-2006-3459-3465.patch || return 1 + patch -Np1 -i ${srcdir}/tiff2pdf-compression.patch || return 1 + patch -Np1 -i ${srcdir}/tiff-3.8.2-CVE-2008-2327.patch || return 1 + ./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man || return 1 make || return 1 - make DESTDIR=${startdir}/pkg install + make DESTDIR=${pkgdir} install || return 1 + install -D -m644 COPYRIGHT ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1 } diff --git a/abs/core-testing/libtiff/tiff-3.8.2-CVE-2008-2327.patch b/abs/core-testing/libtiff/tiff-3.8.2-CVE-2008-2327.patch new file mode 100644 index 0000000..e6d74a6 --- /dev/null +++ b/abs/core-testing/libtiff/tiff-3.8.2-CVE-2008-2327.patch @@ -0,0 +1,64 @@ +Fixes security issues in libTIFF's handling of LZW-encoded +images. The use of uninitialized data could lead to a buffer +underflow and a crash or arbitrary code execution. + +CVE-ID: CVE-2008-2327 +Security bug: https://bugs.gentoo.org/show_bug.cgi?id=234080 + +Index: tiff-3.8.2/libtiff/tif_lzw.c +=================================================================== +--- tiff-3.8.2.orig/libtiff/tif_lzw.c ++++ tiff-3.8.2/libtiff/tif_lzw.c +@@ -237,6 +237,12 @@ LZWSetupDecode(TIFF* tif) + sp->dec_codetab[code].length = 1; + sp->dec_codetab[code].next = NULL; + } while (code--); ++ /* ++ * Zero-out the unused entries ++ */ ++ _TIFFmemset(&sp->dec_codetab[CODE_CLEAR], 0, ++ (CODE_FIRST-CODE_CLEAR)*sizeof (code_t)); ++ + } + return (1); + } +@@ -408,12 +414,19 @@ LZWDecode(TIFF* tif, tidata_t op0, tsize + break; + if (code == CODE_CLEAR) { + free_entp = sp->dec_codetab + CODE_FIRST; ++ _TIFFmemset(free_entp, 0, (CSIZE-CODE_FIRST)*sizeof (code_t)); + nbits = BITS_MIN; + nbitsmask = MAXCODE(BITS_MIN); + maxcodep = sp->dec_codetab + nbitsmask-1; + NextCode(tif, sp, bp, code, GetNextCode); + if (code == CODE_EOI) + break; ++ if (code == CODE_CLEAR) { ++ TIFFErrorExt(tif->tif_clientdata, tif->tif_name, ++ "LZWDecode: Corrupted LZW table at scanline %d", ++ tif->tif_row); ++ return (0); ++ } + *op++ = (char)code, occ--; + oldcodep = sp->dec_codetab + code; + continue; +@@ -604,12 +617,19 @@ LZWDecodeCompat(TIFF* tif, tidata_t op0, + break; + if (code == CODE_CLEAR) { + free_entp = sp->dec_codetab + CODE_FIRST; ++ _TIFFmemset(free_entp, 0, (CSIZE-CODE_FIRST)*sizeof (code_t)); + nbits = BITS_MIN; + nbitsmask = MAXCODE(BITS_MIN); + maxcodep = sp->dec_codetab + nbitsmask; + NextCode(tif, sp, bp, code, GetNextCodeCompat); + if (code == CODE_EOI) + break; ++ if (code == CODE_CLEAR) { ++ TIFFErrorExt(tif->tif_clientdata, tif->tif_name, ++ "LZWDecode: Corrupted LZW table at scanline %d", ++ tif->tif_row); ++ return (0); ++ } + *op++ = code, occ--; + oldcodep = sp->dec_codetab + code; + continue; diff --git a/abs/core-testing/libwmf/PKGBUILD b/abs/core-testing/libwmf/PKGBUILD index f1c3d17..4ec415d 100644 --- a/abs/core-testing/libwmf/PKGBUILD +++ b/abs/core-testing/libwmf/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: FJ <joostef@gmail.com> pkgname=libwmf pkgver=0.2.8.4 -pkgrel=4 +pkgrel=5 pkgdesc="A library for reading vector images in Microsoft's native Windows Metafile Format (WMF)." arch=(i686 x86_64) url="http://wvware.sourceforge.net/libwmf.html" diff --git a/abs/core-testing/lighttpd/PKGBUILD b/abs/core-testing/lighttpd/PKGBUILD index ae192bb..d0811ae 100644 --- a/abs/core-testing/lighttpd/PKGBUILD +++ b/abs/core-testing/lighttpd/PKGBUILD @@ -3,16 +3,15 @@ pkgname=lighttpd pkgver=1.4.20 -pkgrel=33 +pkgrel=35 pkgdesc='a secure, fast, compliant and very flexible web-server' license=('custom') arch=('i686' 'x86_64') url="http://www.lighttpd.net/" -depends=('pcre' 'openssl' 'zlib' 'bzip2' 'attr' 'libldap') +depends=('pcre' 'openssl' 'zlib' 'bzip2' 'attr' 'libldap' 'lua') makedepends=('fcgi' 'libmysqlclient' 'lua' 'libxml2' 'e2fsprogs' 'sqlite3' 'gdbm' 'pkgconfig') optdepends=('libxml2: mod_webdav' \ 'e2fsprogs: mod_webdav' \ - 'lua: mod_cml/mod_magnet' \ 'libmysqlclient: mod_mysql_vhost' \ 'sqlite3: mod_webdav' \ 'gdbm: mod_trigger_b4_dl' \ diff --git a/abs/core-testing/lighttpd/lighttpd.conf b/abs/core-testing/lighttpd/lighttpd.conf index e2c60da..7305133 100644 --- a/abs/core-testing/lighttpd/lighttpd.conf +++ b/abs/core-testing/lighttpd/lighttpd.conf @@ -94,6 +94,7 @@ mimetype.assign = ( ".xml" => "text/xml", ".mpeg" => "video/mpeg", ".mpg" => "video/mpeg", + ".mp4" => "video/quicktime", ".mov" => "video/quicktime", ".qt" => "video/quicktime", ".avi" => "video/x-msvideo", diff --git a/abs/core-testing/linhes-scripts/PKGBUILD b/abs/core-testing/linhes-scripts/PKGBUILD index e939079..98a133c 100644 --- a/abs/core-testing/linhes-scripts/PKGBUILD +++ b/abs/core-testing/linhes-scripts/PKGBUILD @@ -3,7 +3,7 @@ pkgname=linhes-scripts pkgver=1 -pkgrel=16 +pkgrel=17 pkgdesc="Various scripts that help to make LinHES, LinHES." arch=('i686' 'x86_64') license=('GPL2') diff --git a/abs/core-testing/lirc/PKGBUILD b/abs/core-testing/lirc/PKGBUILD index 30c5052..5406783 100644 --- a/abs/core-testing/lirc/PKGBUILD +++ b/abs/core-testing/lirc/PKGBUILD @@ -3,14 +3,14 @@ pkgname=lirc pkgver=0.8.5CVS -pkgrel=12 +pkgrel=14 _kernver=2.6.28-LinHES pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel" arch=(i686 x86_64) url="http://www.lirc.org/" license=('GPL') depends=('lirc-utils=0.8.5CVS' 'kernel26>=2.6.27' 'kernel26<2.6.29' 'iguanaIR') -#makedepends=('help2man') +makedepends=('python') replaces=('lirc+pctv') options=('!makeflags') install=$pkgname.install @@ -22,7 +22,8 @@ source=(http://www.blushingpenguin.com/mark/lmilk/lirc-0.8.5-CVS-pvr150.tar.bz2 lirc_mod_mce.patch hw_commandir.c hw_commandir.h - dvicoIR.rules) + dvicoIR.rules + lirc.fdi) build() { # configure @@ -67,8 +68,11 @@ build() { rm $startdir/pkg/lib/modules/$_kernver/kernel/drivers/misc/commandir.ko # Add a udev rule for the DVICO remote so that if there is more than - # one hiddev device, the systm cant get confused. + # one hiddev device, the system cant get confused. install -D -m644 $srcdir/dvicoIR.rules $pkgdir/etc/udev/rules.d/dvicoIR.rules + + # Add the fdi file to prevent the Dvico dual 4 remotes from screwing up keyboard interaction. + install -D -m644 $srcdir/lirc.fdi $pkgdir/usr/share/hal/fdi/preprobe/20thirdparty/lirc.fdi } md5sums=('b96dae91b566143b3af433fa2714ec9a' '1753acd774f50b638e6173d364de53fd' @@ -78,4 +82,5 @@ md5sums=('b96dae91b566143b3af433fa2714ec9a' 'd299b696b007fc9b663a73cc1758a1ef' 'f059f4030afc682c9539a03bf837c1cf' '4e698654cc44fc6c4163814acda5a7ee' - 'd79400e2e3069b14039ca07d3317965c') + '9a3a6dc03647ee6674a166dfb884ddd6' + '664fb04b51396628300daf8befd0db77') diff --git a/abs/core-testing/lirc/dvicoIR.rules b/abs/core-testing/lirc/dvicoIR.rules index 5d6d066..ada5466 100644 --- a/abs/core-testing/lirc/dvicoIR.rules +++ b/abs/core-testing/lirc/dvicoIR.rules @@ -1,5 +1,15 @@ -# Added to get DVICO remote to be consistant device +# This rule is for the Dvico Dual Digital 4 Rev 2. It has 2 IR modules +# identified, only the first of which is connected to the receiver. +# The KERNELS=="*-1" part of this rule makes sure that the first +# device is the one that gets the symlink. +KERNEL=="event*", \ + KERNELS=="*-1", \ + ATTRS{manufacturer}=="Dvico", \ + ATTRS{idVendor}=="0fe9", \ + ATTRS{idProduct}=="db98", \ + SYMLINK="input/irremote" + +# This rule is for the older style USB DVICO remote dongles. SUBSYSTEMS=="usb", KERNEL=="hiddev*", \ ATTRS{product}=="DVICO USB HID Remocon V1.00", \ SYMLINK+="usb/dvicoIR" - diff --git a/abs/core-testing/lirc/lirc.fdi b/abs/core-testing/lirc/lirc.fdi new file mode 100644 index 0000000..7a8c8ad --- /dev/null +++ b/abs/core-testing/lirc/lirc.fdi @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<deviceinfo version="0.2"> + <device> + <!-- This rule prevents the Dvico dual digital4 rev 2 + remote input device from making your keyboard act wierd> + <match key="info.product" contains_ncase="IR-receiver inside an USB DVB receiver"> + <merge key="info.ignore" type="bool">true</merge> + </match> + </device> +</deviceinfo> diff --git a/abs/core-testing/mjpegtools/PKGBUILD b/abs/core-testing/mjpegtools/PKGBUILD index 4b85e30..425fa35 100644 --- a/abs/core-testing/mjpegtools/PKGBUILD +++ b/abs/core-testing/mjpegtools/PKGBUILD @@ -4,7 +4,7 @@ pkgname=mjpegtools pkgver=1.9.0 -pkgrel=3 +pkgrel=4 pkgdesc="The mjpeg programs are a set of tools that can do recording of videos and playback, simple cut-and-paste editing and the MPEG compression of audio and video under Linux. " arch=(i686 x86_64) license=('GPL') diff --git a/abs/core-testing/mplayer-wrapper/PKGBUILD b/abs/core-testing/mplayer-wrapper/PKGBUILD index 82f1082..c64875d 100644 --- a/abs/core-testing/mplayer-wrapper/PKGBUILD +++ b/abs/core-testing/mplayer-wrapper/PKGBUILD @@ -1,6 +1,6 @@ pkgname=mplayer-wrapper -pkgver=1 -pkgrel=1 +pkgver=1 +pkgrel=9 pkgdesc="wrapper for mplayer and mplayer derivatives" arch=('i686' 'x86_64') @@ -10,7 +10,12 @@ source=(mplayer-wrapper.pl) license=('GPL2') +install=mplayer-wrapper.install build() { + LH_ROOT=/usr/LH + mkdir -p $startdir/pkg/$LH_ROOT/bin/ + cd $startdir - install -m0777 -D bin/* $startdir/pkg/usr/LH/bin/ + # executables + install -m0755 -D *.pl $startdir/pkg/$LH_ROOT/bin/ } diff --git a/abs/core-testing/mplayer-wrapper/bin/mplayer-resumer.pl b/abs/core-testing/mplayer-wrapper/bin/mplayer-resumer.pl deleted file mode 100755 index c785a25..0000000 --- a/abs/core-testing/mplayer-wrapper/bin/mplayer-resumer.pl +++ /dev/null @@ -1,188 +0,0 @@ -#!/usr/bin/perl - -use Shell; -use strict; -use POSIX qw(floor); - -# 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 is a wrapper script to prove the concept of having MythTV -# resume playback of previously-stopped video where you left off. -# It's likely that a good solution will look different than this -# initial code. - -# RATIONALE: -# -------------------------- -# Watching 90% of a video and stopping causes you to return to the -# beginning again the next time you watch it. Remembering where -# you were in the video and resuming at that position is a much nicer -# behavior for the user. -# -# By default, mplayer spits out timecode information that tells you -# where you are in the video, to the tenth of a second. Mplayer also -# supports a seek feature on the command-line. We can make use of these -# features to write an mplayer wrapper that will remember the last -# position in a video file and resume to it on playback. - -# PARAMETERS: -# -------------------------- -# see print_usage() below - -# FILES: -# -------------------------- -# $infile, the video to play -# $resumefile, the video's resume file (see get_resume_filename() below) - -# KNOWN ISSUES: -# -------------------------- -# Mplayer misreports the timecodes on .nuv MPEG-2 files. Currently, anything -# captured via an HDTV tuner card and put into your /myth/video directory -# will fail with this resumer. -# -# Current theories include the timecode having to do with the show's broadcast -# time, recording time, or perhaps its upload time to the station that -# broadcast it. - -# DESIGN LIMITATION: -# ------------------------- -# If the video file to be played is on a read-only filesystem, or otherwise -# lives in a location that cannot be written to, resume will fail. This is -# because the current implementation uses a file parallel to the video file -# to store the timecode. -# - -# CHANGE LOG: -# 5/3/2006 -# Added last time started checking. -# If this script is restarted within $tdiff (default 5 seconds) -# then it will delete the file used to keep track of the videos -# resume position. - - -my $infile; -my $resumefile; -my $mplayer_parameters; -my $fudge_factor=2; # number of additional seconds to skip back before playback -my $tnow; # Time now. -my $tprev; # Time the prog was last started. - # Returned from the modification time of the xx.resume file. -my $tdiff=5; # How many seconds before we should start from - # the beginning of the movie -#DEBUG -#open(DEBUG,">/tmp/debug") || die "unable to open debug file"; - -sub init () { - $tnow = time(); - $infile = @ARGV[$#ARGV]; - - $resumefile = &get_resume_filename($infile); - # This returns the 9th element of the 13 element array - # created by the stat function. - $tprev = (stat ($resumefile))[9]; - # if this file is restarted in less than 5 seconds then - # remove the .resume file - if ( ($tnow - $tprev) < $tdiff ) { - unlink($resumefile); - } - - $mplayer_parameters = join(' ',@ARGV[0..$#ARGV-1]); -} - -&init(); -&save_time_offset(&mplayer($mplayer_parameters,$infile), $resumefile); - -#close(DEBUG); - -# For $pathname, return $path.$filename.resume -sub get_resume_filename () { - my($pathname)=@_; - - my $idx = rindex($pathname,"/"); - - if ($idx == -1) { # There was no "/" in $pathname - return ".".$pathname.".resume"; - } else { - # Now we need to split out the path from the filename. - my $path = substr($pathname,0,$idx+1); - my $filename = substr($pathname,$idx+1); - return "$path.$filename.resume"; - } -} - -# Calls mplayer and returns the last known video position -sub mplayer () { - my($parameters,$infile)=@_; - my $seconds=0; - my $timecode=&get_time_offset($infile); - my $command = "mplayer $parameters -ss $timecode \"$infile\" 2>&1 2>/dev/null |"; - - open(SHELL, $command); - # The kind of line we care about looks like this example: - # A:1215.2 V:1215.2 A-V: 0.006 ct: 0.210 207/201 13% 0% 1.9% 0 0 68% - # But all we care to look at is the first number. - - while (<SHELL>) { - #print DEBUG $_; - if (m/A: *[0-9]+\.[0-9]/) { # See if this line has timecodes on it - my $last_timecode_line = &extract_last_timecode_line($_); - if ($last_timecode_line =~ m/ *([0-9]+\.[0-9]) V/) { - $seconds=$1; - } - } - } - close(SHELL); - - return $seconds; - - sub extract_last_timecode_line () { - my ($line)=@_; - my @lines=split('A:',$line); - return @lines[$#lines-1]; - } -} - -# Save the last known video position -sub save_time_offset () { - my($seconds, $resumefile)=@_; - - open(RESUMEFILE, ">$resumefile") || die "Unable to open $resumefile for writing"; - print RESUMEFILE "$seconds"; - close(RESUMEFILE); -} - -# returns the number of seconds corresponding to the last known video position, -# in hh:mm:ss format, compatible with the "-ss" parameter to mplayer -sub get_time_offset () { - my($videofile)=@_; - my($resumefile) = &get_resume_filename($videofile); - my $seconds=0; - my $timecode; - - open(RESUMEFILE, "<$resumefile") || return "00:00:00"; - while(<RESUMEFILE>) { - $seconds=$_; - } - close(RESUMEFILE); - - my $hours = floor($seconds/3600); - $seconds = $seconds - $hours*3600; - - my $minutes = floor($seconds/60); - $seconds = int($seconds - $minutes*60) - $fudge_factor; - - $timecode = sprintf "%02d:%02d:%02d",$hours,$minutes,$seconds; -# print "TIMECODE: $timecode\n"; - return $timecode; -} - -sub print_usage () { - print "USAGE:\n"; - print "\t",$ARGV[0], "[mplayer parameters] video_file\n"; - print "\t","e.g. ",$ARGV[0], "-fs -zoom my.mpg\n"; - print "\t","Version 5/3/2006\n"; -} diff --git a/abs/core-testing/mplayer-wrapper/bin/mplayer-wrapper.pl b/abs/core-testing/mplayer-wrapper/bin/mplayer-wrapper.pl deleted file mode 100755 index 583786d..0000000 --- a/abs/core-testing/mplayer-wrapper/bin/mplayer-wrapper.pl +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/perl - -use Shell; -use strict; -use POSIX qw(floor); - -# Written by Bob Igo from the MythTV Store at http://MythiC.TV -# including some original code and contributions from Nick C. -# and graysky. -# Email: bob@stormlogic.com -# -# If you run into problems with this script, please send me email - -# PURPOSE: -# -------------------------- -# This is a wrapper script that tries to find the best parameters -# for calling an underlying video player. The outer layer determines -# the best playback parameters, while the inner layer picks the best -# player to call. - -# RATIONALE: -# -------------------------- -# Default video playback options are not optimal on all hardware or -# for all video types. In addition, common video players do not -# offer to bookmark video so that you can resume where you left off. -# Both of these problems can be addressed by this wrapper. - -# PARAMETERS: -# -------------------------- -# The same parameters you'd use for mplayer, some of which may be -# translated automatically for use with smplayer. - -# FILES: -# -------------------------- -# $mediafile, the file to play - -sub run () { - my $mediafile = @ARGV[$#ARGV]; - my $player = &pick_player(); - - my $player_parameters = join(' ', - &translate_parameters($player,@ARGV[0..$#ARGV-1]), - &dynamic_parameters($mediafile)); - &player($player,$player_parameters,$mediafile); -} - -&run(); - -# Translates any parameters into ones that will be compatible with the given player. -sub translate_parameters() { - my($player,@parameters)=@_; - - if ($player eq "smplayer") { - # Stupidly, smplayer uses a different set of command-line parameters than generic - # mplayer, so we need to translate mplayer-centric ones into the few that are - # available in smplayer-ese. - my %smplayer_parameter_translation_array = ( - "-fs" => "-fullscreen", - "-zoom" => " " - ); - - sub translate() { - my($flag)=@_; - return $smplayer_parameter_translation_array{$flag}; - } - - return map(&translate($_), @parameters); - } else { - return @parameters; - } -} - -# Returns an array of dynamic parameters based in part on the media. -sub dynamic_parameters () { - my($mediafile)=@_; - return(); # ??? empty for now; further development required -} - -# Find the best player for use on this system. The script prefers smplayer, -# which has built-in bookmarking, falling back to mplayer-resumer.pl, which -# implements bookmarking as an mplayer wrapper, if smplayer cannot be found. -# Finally, if no bookmarking players can be found, a barebones mplayer is used. -sub pick_player () { - my @possible_players = ("smplayer", "mplayer-resumer.pl", "mplayer"); - my $command; - my $candidate_player; - foreach (@possible_players) { - $candidate_player = $_; - $command = "which $candidate_player |"; - open(SHELL, $command); - if (<SHELL>) { - #print "player $candidate_player : $_\n"; - return $candidate_player; - } - close(SHELL); - } -} - -# Calls player -sub player () { - my($player,$parameters,$mediafile)=@_; - my $command = "$player $parameters \"$mediafile\" 2>&1 2>/dev/null |"; - - #print "DEBUG: command is:\n$command\n"; - open(SHELL, $command); - while (<SHELL>) { - print $_; - } - close(SHELL); -} diff --git a/abs/core-testing/mplayer-wrapper/mplayer-wrapper.install b/abs/core-testing/mplayer-wrapper/mplayer-wrapper.install new file mode 100644 index 0000000..18f1b75 --- /dev/null +++ b/abs/core-testing/mplayer-wrapper/mplayer-wrapper.install @@ -0,0 +1,38 @@ +# This is a default template for a post-install scriptlet. You can +# remove any functions you don't need (and this header). + +# arg 1: the new package version +pre_install() { +/bin/true +} + +# arg 1: the new package version +post_install() { +/bin/true +} + +# arg 1: the new package version +# arg 2: the old package version +pre_upgrade() { + /bin/true +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + /bin/true +} + +# arg 1: the old package version +pre_remove() { + /bin/true +} + +# arg 1: the old package version +post_remove() { + /bin/true +} + +op=$1 +shift +$op $* diff --git a/abs/core-testing/mplayer-wrapper/mplayer-wrapper.pl b/abs/core-testing/mplayer-wrapper/mplayer-wrapper.pl new file mode 100755 index 0000000..da0e838 --- /dev/null +++ b/abs/core-testing/mplayer-wrapper/mplayer-wrapper.pl @@ -0,0 +1,212 @@ +#!/usr/bin/perl + +use Shell; +use strict; +use POSIX qw(floor); + +# Written by Bob Igo from the MythTV Store at http://MythiC.TV +# including some original code and contributions from Nick C. +# and graysky. +# Email: bob@stormlogic.com +# +# If you run into problems with this script, please send me email + +# PURPOSE: +# -------------------------- +# This is a wrapper script that tries to find the best parameters +# for calling an underlying video player. The outer layer determines +# the best playback parameters, while the inner layer picks the best +# player to call. + +# RATIONALE: +# -------------------------- +# Default video playback options are not optimal on all hardware or +# for all video types. In addition, common video players do not +# offer to bookmark video so that you can resume where you left off. +# Both of these problems can be addressed by this wrapper. + +# PARAMETERS: +# -------------------------- +# The same parameters you'd use for mplayer, some of which may be +# translated automatically for use with smplayer. + +# FILES: +# -------------------------- +# $mediafile, the file to play + +sub run () { + my $mediafile = @ARGV[$#ARGV]; + my $player = &pick_player(); + + # mplayer evaluates configuration options in the following order, with + # later-evaluated options overriding earlier-evaluated ones, both within + # a given configuration location and between them: + # 1) system-wide configuration/profiles, /etc/mplayer/mplayer.conf + # 2) user-specific configuration/profiles, ~/.mplayer/config + # 3) commandline configuration parameters + # 4) file-specific configuration, ~/.mplayer/[filename].conf + # 5) any nonstandard configuration file, included via "-include" parameter + # + # This script's dynamic configuration options fall in at 2.5 above, + # so commandline options, file-specific configuration options, + # or a nonstandard configuration file will override the options that + # the script creates, but system-wide and user-specific configuration + # will be overridden by the dynamic configuration options. + # + # This is sub-optimal, as the easiest way for a user to compensate for + # a misfiring configuration rule would be to override it in a configuration + # file. Instead, they will have to change the way they run this script. + + my $player_parameters = join(' ', + &dynamic_parameters($mediafile), + &translate_parameters($player,@ARGV[0..$#ARGV-1])); + &player($player,$player_parameters,$mediafile); +} + +&run(); + +# Translates any parameters into ones that will be compatible with the given player. +sub translate_parameters() { + my($player,@parameters)=@_; + + if ($player eq "smplayer") { + # Stupidly, smplayer uses a different set of command-line parameters than generic + # mplayer, so we need to translate mplayer-centric ones into the few that are + # available in smplayer-ese. + my %smplayer_parameter_translation_array = ( + "-fs" => "-fullscreen", + "-zoom" => " " + ); + + sub translate() { + my($flag)=@_; + return $smplayer_parameter_translation_array{$flag}; + } + + return map(&translate($_), @parameters); + } else { + # currently, all other players used by this wrapper work with mplayer parameters + return @parameters; + } +} + +# Returns an array of dynamic parameters based on the media type, +# the presence of special playback decoding hardware, and the +# general capability of the CPU. +sub dynamic_parameters () { + my($mediafile)=@_; + my @parameters = (); + my $codec=""; + my %vdpau_supported_modes=(); + + # See if the GPU and driver support vdpau for GPU-based accelerated decoding + my $command="vdpinfo |"; + # On supported hardware, vdpinfo produces relevant results that look something like this (see + # http://www.phoronix.com/forums/showthread.php?t=14493 for additional details, or run + # vdpinfo on vdpau-capable hardware yourself): + # + #MPEG1 0 2 4096 4096 + #MPEG2_SIMPLE 3 2 4096 4096 + #MPEG2_MAIN 3 2 4096 4096 + #H264_MAIN 41 4 4096 4096 + #H264_HIGH 41 4 4096 4096 + + my $grabbing_modes=0; + open(SHELL, $command); + while (<SHELL>) { + chop; + if (m/Decoder Capabilities/gi) { + $grabbing_modes=1; + #print "*** MODES START NOW" + } elsif (m/Output Surface/gi) { + $grabbing_modes=0; + } elsif ($grabbing_modes) { + if (m/[A-Z]+[0-9]+/g) { + s/(_.*)//g; + #print "*** GRABBED MODE $_\n"; + $vdpau_supported_modes{$_} = 1; + } + } + } + close(SHELL); + + # figure out what codec the video uses + my $command="mplayer -identify -frames 0 \"$mediafile\" | grep ID_VIDEO_CODEC | cut -c 16- |"; + open(SHELL, $command); + while (<SHELL>) { + chop; + $codec = $_; + #print "DEBUG: codec is $codec\n"; + } + close(SHELL); + + # We should use vdpau if it's available and helps with the codec we need to decode. + if ($codec eq "ffh264") { # h.264 + if ($vdpau_supported_modes{"H264"}) { + push(@parameters, "-vo vdpau"); + push(@parameters, "-vc ffh264vdpau"); + } + } elsif ($codec eq "ffmpeg2") { # MPEG2 + if ($vdpau_supported_modes{"MPEG2"}) { + push(@parameters, "-vo vdpau"); + push(@parameters, "-vc ffmpeg12vdpau"); + } + + # ??? although MPEG1 is rare, it seems as if it should work with -vc ffmpeg12vdpau as well + + # problems have been reported with WMV3 support + +# } elsif ($codec eq "ffwmv3") { # WMV3 +# if ($vdpau_supported) { +# push(@parameters, "-vo vdpau"); +# push(@parameters, "-vc ffwmv3vdpau"); +# } + # problems have been reported with WVC1 support + +# } elsif ($codec eq "ffvc1") { # WVC1 +# if ($vdpau_supported) { +# push(@parameters, "-vo vdpau"); +# push(@parameters, "-vc ffvc1vdpau"); +# } + + } else { + push(@parameters, "-vo xv,x11,"); + push(@parameters, "-vc ,"); + push(@parameters, "-vf pp=lb,"); # doesn't actually work with vdpau, but doesn't break anything + } + return(@parameters); +} + +# Find the best player for use on this system. The script prefers smplayer, +# which has built-in bookmarking, falling back to mplayer-resumer.pl, which +# implements bookmarking as an mplayer wrapper, if smplayer cannot be found. +# Finally, if no bookmarking players can be found, a barebones mplayer is used. +sub pick_player () { + #my @possible_players = ("smplayer", "mplayer-resumer.pl", "mplayer"); + my @possible_players = ("mplayer-resumer.pl", "mplayer"); + my $command; + my $candidate_player; + foreach (@possible_players) { + $candidate_player = $_; + $command = "which $candidate_player |"; + open(SHELL, $command); + if (<SHELL>) { + #print "player $candidate_player : $_\n"; + return $candidate_player; + } + close(SHELL); + } +} + +# Calls player +sub player () { + my($player,$parameters,$mediafile)=@_; + my $command = "$player $parameters \"$mediafile\" 2>&1 |"; + + print "DEBUG: $0's player command is: *** $command ***\n"; + open(SHELL, $command); + while (<SHELL>) { + print $_; + } + close(SHELL); +} diff --git a/abs/core-testing/mplayer/PKGBUILD b/abs/core-testing/mplayer/PKGBUILD index ad7915e..0b670c1 100644 --- a/abs/core-testing/mplayer/PKGBUILD +++ b/abs/core-testing/mplayer/PKGBUILD @@ -1,6 +1,6 @@ pkgname=mplayer -pkgver=29134 -pkgrel=13 +pkgver=29438 +pkgrel=1 pkgdesc="Famous multimedia player, dev. version, without its GUI" arch=('i686' 'x86_64') url="http://www.mplayerhq.hu/" @@ -8,7 +8,7 @@ license=('GPL') depends=('libxxf86dga' 'libxv' 'libmad' 'giflib' 'cdparanoia' 'gtk2' 'sdl' 'lame' 'libtheora' 'xvidcore' 'zlib' 'libmng' 'libxss' 'libgl' 'smbclient' 'aalib' 'x264>=20090108' 'faac' 'lirc-utils' - 'ttf-dejavu' 'fribidi' 'libmng' 'libxfont') + 'ttf-dejavu' 'fribidi' 'libmng' 'libxfont' 'libjpeg') license=('GPL') makedepends=('libcaca' 'unzip' 'live-media' 'libdca' 'subversion' 'nvidia-utils') diff --git a/abs/core-testing/mythtv/stable/mythbrowser/PKGBUILD b/abs/core-testing/mythtv/stable/mythbrowser/PKGBUILD index 04d3293..51a27d2 100644 --- a/abs/core-testing/mythtv/stable/mythbrowser/PKGBUILD +++ b/abs/core-testing/mythtv/stable/mythbrowser/PKGBUILD @@ -4,12 +4,12 @@ pkgname=mythbrowser pkgver=0.21 -pkgrel=5 +pkgrel=6 pkgdesc="Mini web browser for MythTV" arch=('i686' 'x86_64') url="http://www.mythtv.org" license=('GPL') -depends=("mythtv>=${pkgver}" 'wget' 'libxvmc' 'kdelibs3') +depends=("mythtv>=${pkgver}" 'wget' 'libxvmc' 'kdelibs3' 'qt3') groups=('mythtv-extras') options=('!makeflags') source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2") diff --git a/abs/core-testing/mythtv/stable/mythmusic/PKGBUILD b/abs/core-testing/mythtv/stable/mythmusic/PKGBUILD index c051a3b..b422f34 100644 --- a/abs/core-testing/mythtv/stable/mythmusic/PKGBUILD +++ b/abs/core-testing/mythtv/stable/mythmusic/PKGBUILD @@ -4,7 +4,7 @@ pkgname=mythmusic pkgver=0.21 -pkgrel=11 +pkgrel=12 pkgdesc="Music playing plugin for MythTV" arch=('i686' 'x86_64') url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/stable/mythtv/PKGBUILD b/abs/core-testing/mythtv/stable/mythtv/PKGBUILD index e6a84ac..cfbba49 100644 --- a/abs/core-testing/mythtv/stable/mythtv/PKGBUILD +++ b/abs/core-testing/mythtv/stable/mythtv/PKGBUILD @@ -1,13 +1,15 @@ pkgname=mythtv pkgver=0.21 -pkgrel=73 +pkgrel=76 pkgdesc="A Homebrew PVR project" arch=('i686' 'x86_64') depends=('bash' 'mysql-clients>=5.0' 'qt3' 'lame' 'lirc-utils' 'ffmpeg' \ 'libxvmc' 'libavc1394' 'libdc1394' 'libiec61883' 'perl-net-upnp' 'perl-time-format') backup=(etc/mythtv/mythbackend.conf etc/mythtv/mysql.txt usr/share/mythtv/is.xmlusr/share/mythtv/media_settings.xml ) source=(ftp://ftp.knoppmyth.net/R6/sources/${pkgname}-${pkgver}-fixes.tar.bz2 \ - mythbackend myththemedmenu.cpp.patch myththemedmenu.h.patch smolt_jump.patch pretty gnome_screensaver.patch mpegpspatch mythbackend.lr mythfrontend.lr) + mythbackend myththemedmenu.cpp.patch myththemedmenu.h.patch smolt_jump.patch pretty gnome_screensaver.patch mpegpspatch mythbackend.lr mythfrontend.lr + changeset-20877.patch) + #md5sums=('e316ed18d7ac837cf8c4af54b1478793' '7ef6de58240e7aad389a0b13d91b1cf6'\ # 'a0ecb7f476cb71c0c1ac90d349fc7695') @@ -33,6 +35,10 @@ build() { # cd libs/libavformat # patch -p0 < $startdir/src/mpegpspatch # cd - + +# Remove the hdhomerun changeset 20877 that prevents things from compiling. + patch -p3 < ../changeset-20877.patch + . /etc/profile.d/qt3.sh # use QT3 qmake diff --git a/abs/core-testing/mythtv/stable/mythtv/changeset-20877.patch b/abs/core-testing/mythtv/stable/mythtv/changeset-20877.patch new file mode 100644 index 0000000..b92f0c1 --- /dev/null +++ b/abs/core-testing/mythtv/stable/mythtv/changeset-20877.patch @@ -0,0 +1,5910 @@ +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/Makefile src/mythtv-0.21/libs/libmythtv/hdhomerun/Makefile +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/Makefile 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/Makefile 2009-01-09 13:14:56.000000000 +1030 +@@ -1,52 +1,21 @@ +-LIBSRCS += hdhomerun_pkt.c +-LIBSRCS += hdhomerun_debug.c +-LIBSRCS += hdhomerun_discover.c +-LIBSRCS += hdhomerun_channels.c +-LIBSRCS += hdhomerun_channelscan.c +-LIBSRCS += hdhomerun_control.c +-LIBSRCS += hdhomerun_video.c +-LIBSRCS += hdhomerun_device.c +-LIBSRCS += hdhomerun_device_selector.c + +-CC := $(CROSS_COMPILE)gcc +-STRIP := $(CROSS_COMPILE)strip ++SRCS += hdhomerun_pkt.c ++SRCS += hdhomerun_discover.c ++SRCS += hdhomerun_control.c ++SRCS += hdhomerun_video.c ++SRCS += hdhomerun_device.c ++SRCS += hdhomerun_config.c + + CFLAGS += -Wall -O2 -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith +-LDFLAGS += -lpthread +-SHARED = -shared -Wl,-soname,libhdhomerun$(LIBEXT) + +-ifeq ($(OS),Windows_NT) +- BINEXT := .exe +- LIBEXT := .dll +- LDFLAGS += -liphlpapi +-else +- LIBEXT := .so +- ifneq ($(findstring solaris,$(shell echo $$OSTYPE)),) +- LDFLAGS += -lns -lsocket +- endif +- ifneq ($(findstring darwin,$(shell echo $$OSTYPE)),) +- CFLAGS += -arch i386 -arch ppc +- LIBEXT := .dylib +- SHARED := -dynamiclib -install_name libhdhomerun$(LIBEXT) +- endif +-endif +- +-all : hdhomerun_config$(BINEXT) libhdhomerun$(LIBEXT) +- +-hdhomerun_config$(BINEXT) : hdhomerun_config.c $(LIBSRCS) +- $(CC) $(CFLAGS) $+ $(LDFLAGS) -o $@ +- $(STRIP) $@ +- +-libhdhomerun$(LIBEXT) : $(LIBSRCS) +- $(CC) $(CFLAGS) -fPIC -DDLL_EXPORT $(SHARED) $+ $(LDFLAGS) -o $@ ++hdhomerun_config : $(SRCS) ++ gcc $(CFLAGS) $(SRCS) -lpthread -o $@ ++ strip $@ ++ ++hdhomerun_config.exe : $(SRCS) ++ gcc $(CFLAGS) $(SRCS) -lpthread -liphlpapi -o $@ ++ strip $@ + + clean : +- -rm -f hdhomerun_config$(BINEXT) +- -rm -f libhdhomerun$(LIBEXT) +- +-distclean : clean +- +-%: +- @echo "(ignoring request to make $@)" +- +-.PHONY: all list clean distclean ++ rm -f hdhomerun_config ++ rm -f hdhomerun_config.exe +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun.h src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun.h +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun.h 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun.h 2009-01-09 13:14:56.000000000 +1030 +@@ -1,14 +1,12 @@ +-#ifndef __HDHOMERUN_INCLUDES__ +-#define __HDHOMERUN_INCLUDES__ + /* +- * hdhomerun.h ++ * hdhomerun_device.h + * +- * Copyright © 2006-2008 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -16,33 +14,13 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + #include "hdhomerun_os.h" +-#include "hdhomerun_types.h" + #include "hdhomerun_pkt.h" +-#include "hdhomerun_debug.h" + #include "hdhomerun_discover.h" + #include "hdhomerun_control.h" + #include "hdhomerun_video.h" +-#include "hdhomerun_channels.h" +-#include "hdhomerun_channelscan.h" + #include "hdhomerun_device.h" +-#include "hdhomerun_device_selector.h" +- +-#endif /* __HDHOMERUN_INCLUDES__ */ +- +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_channels.c +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_channels.h +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_channelscan.c +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_channelscan.h +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_config.c src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_config.c +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_config.c 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_config.c 2009-01-09 13:14:56.000000000 +1030 +@@ -1,12 +1,12 @@ + /* + * hdhomerun_config.c + * +- * Copyright © 2006-2008 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -14,34 +14,12 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + #include "hdhomerun.h" + +-/* +- * The console output format should be set to UTF-8, however in XP and Vista this breaks batch file processing. +- * Attempting to restore on exit fails to restore if the program is terminated by the user. +- * Solution - set the output format each printf. +- */ +-#if defined(__WINDOWS__) +-#define printf console_printf +-#define vprintf console_vprintf +-#endif +- + static const char *appname; + + struct hdhomerun_device_t *hd; +@@ -53,8 +31,7 @@ + printf("\t%s <id> get help\n", appname); + printf("\t%s <id> get <item>\n", appname); + printf("\t%s <id> set <item> <value>\n", appname); +- printf("\t%s <id> scan <tuner> [<filename>]\n", appname); +- printf("\t%s <id> save <tuner> <filename>\n", appname); ++ printf("\t%s <id> scan <tuner> <starting channel>\n", appname); + printf("\t%s <id> upgrade <filename>\n", appname); + return -1; + } +@@ -91,29 +68,10 @@ + return FALSE; + } + +-static uint32_t parse_ip_addr(const char *str) +-{ +- unsigned long a[4]; +- if (sscanf(str, "%lu.%lu.%lu.%lu", &a[0], &a[1], &a[2], &a[3]) != 4) { +- return 0; +- } +- +- return (uint32_t)((a[0] << 24) | (a[1] << 16) | (a[2] << 8) | (a[3] << 0)); +-} +- +-static int discover_print(char *target_ip_str) ++static int discover_print(void) + { +- uint32_t target_ip = 0; +- if (target_ip_str) { +- target_ip = parse_ip_addr(target_ip_str); +- if (target_ip == 0) { +- fprintf(stderr, "invalid ip address: %s\n", target_ip_str); +- return -1; +- } +- } +- + struct hdhomerun_discover_device_t result_list[64]; +- int count = hdhomerun_discover_find_devices_custom(target_ip, HDHOMERUN_DEVICE_TYPE_TUNER, HDHOMERUN_DEVICE_ID_WILDCARD, result_list, 64); ++ int count = hdhomerun_discover_find_devices(HDHOMERUN_DEVICE_TYPE_TUNER, result_list, 64); + if (count < 0) { + fprintf(stderr, "error sending discover request\n"); + return -1; +@@ -136,6 +94,32 @@ + return count; + } + ++static bool_t parse_device_id_str(const char *s, uint32_t *pdevice_id, uint32_t *pdevice_ip) ++{ ++ unsigned long a[4]; ++ if (sscanf(s, "%lu.%lu.%lu.%lu", &a[0], &a[1], &a[2], &a[3]) == 4) { ++ *pdevice_id = HDHOMERUN_DEVICE_ID_WILDCARD; ++ *pdevice_ip = (uint32_t)((a[0] << 24) | (a[1] << 16) | (a[2] << 8) | (a[3] << 0)); ++ return TRUE; ++ } ++ ++ unsigned long device_id_raw; ++ if (sscanf(s, "%lx", &device_id_raw) != 1) { ++ fprintf(stderr, "invalid device id: %s\n", s); ++ return FALSE; ++ } ++ ++ uint32_t device_id = (uint32_t)device_id_raw; ++ if (!hdhomerun_discover_validate_device_id(device_id)) { ++ fprintf(stderr, "invalid device id: %s\n", s); ++ return FALSE; ++ } ++ ++ *pdevice_id = device_id; ++ *pdevice_ip = 0; ++ return TRUE; ++} ++ + static int cmd_get(const char *item) + { + char *ret_value; +@@ -154,7 +138,7 @@ + return 1; + } + +-static int cmd_set_internal(const char *item, const char *value) ++static int cmd_set(const char *item, const char *value) + { + char *ret_error; + if (hdhomerun_device_set_var(hd, item, value, NULL, &ret_error) < 0) { +@@ -170,260 +154,118 @@ + return 1; + } + +-static int cmd_set(const char *item, const char *value) ++static int cmd_streaminfo(const char *tuner_str) + { +- if (strcmp(value, "-") == 0) { +- char *buffer = NULL; +- size_t pos = 0; +- +- while (1) { +- buffer = (char *)realloc(buffer, pos + 1024); +- if (!buffer) { +- fprintf(stderr, "out of memory\n"); +- return -1; +- } +- +- size_t size = fread(buffer + pos, 1, 1024, stdin); +- pos += size; +- +- if (size < 1024) { +- break; +- } +- } +- +- buffer[pos] = 0; +- +- int ret = cmd_set_internal(item, buffer); +- +- free(buffer); +- return ret; +- } +- +- return cmd_set_internal(item, value); +-} +- +-static bool_t sigabort = FALSE; +- +-static void signal_abort(int arg) +-{ +- sigabort = TRUE; +-} +- +-static void cmd_scan_printf(FILE *fp, const char *fmt, ...) +-{ +- va_list ap; +- va_start(ap, fmt); +- +- if (fp) { +- va_list apc; +- va_copy(apc, ap); +- +- vfprintf(fp, fmt, apc); +- fflush(fp); +- +- va_end(apc); +- } +- +- vprintf(fmt, ap); +- fflush(stdout); +- +- va_end(ap); ++ fprintf(stderr, "streaminfo: use \"get /tuner<n>/streaminfo\"\n"); ++ return -1; + } + +-static int cmd_scan(const char *tuner_str, const char *filename) ++static int cmd_scan(const char *tuner_str, const char *start_value) + { +- if (hdhomerun_device_set_tuner_from_str(hd, tuner_str) <= 0) { ++ unsigned int tuner; ++ if (sscanf(tuner_str, "%u", &tuner) != 1) { + fprintf(stderr, "invalid tuner number\n"); + return -1; + } + +- char *ret_error; +- if (hdhomerun_device_tuner_lockkey_request(hd, &ret_error) <= 0) { +- fprintf(stderr, "failed to lock tuner\n"); +- if (ret_error) { +- fprintf(stderr, "%s\n", ret_error); +- } +- return -1; +- } ++ hdhomerun_device_set_tuner(hd, tuner); + +- hdhomerun_device_set_tuner_target(hd, "none"); +- +- char *channelmap; +- if (hdhomerun_device_get_tuner_channelmap(hd, &channelmap) <= 0) { +- fprintf(stderr, "failed to query channelmap from device\n"); +- return -1; ++ char channel_str[64]; ++ strncpy(channel_str, start_value, sizeof(channel_str)); ++ channel_str[sizeof(channel_str) - 8] = 0; ++ ++ char *channel_number_ptr = strrchr(channel_str, ':'); ++ if (!channel_number_ptr) { ++ channel_number_ptr = channel_str; ++ } else { ++ channel_number_ptr++; + } + +- const char *channelmap_scan_group = hdhomerun_channelmap_get_channelmap_scan_group(channelmap); +- if (!channelmap_scan_group) { +- fprintf(stderr, "unknown channelmap '%s'\n", channelmap); ++ unsigned int channel_number = atol(channel_number_ptr); ++ if (channel_number == 0) { ++ fprintf(stderr, "invalid starting channel\n"); + return -1; + } + +- if (hdhomerun_device_channelscan_init(hd, channelmap_scan_group) <= 0) { +- fprintf(stderr, "failed to initialize channel scan\n"); ++ /* Test starting channel. */ ++ int ret = hdhomerun_device_set_tuner_channel(hd, channel_str); ++ if (ret < 0) { ++ fprintf(stderr, "communication error sending request to hdhomerun device\n"); + return -1; + } +- +- FILE *fp = NULL; +- if (filename) { +- fp = fopen(filename, "w"); +- if (!fp) { +- fprintf(stderr, "unable to create file: %s\n", filename); +- return -1; +- } ++ if (ret == 0) { ++ fprintf(stderr, "invalid starting channel\n"); ++ return -1; + } + +- signal(SIGINT, signal_abort); +- signal(SIGPIPE, signal_abort); ++ while (1) { ++ /* Update channel value */ ++ sprintf(channel_number_ptr, "%u", channel_number); + +- int ret = 0; +- while (!sigabort) { +- struct hdhomerun_channelscan_result_t result; +- ret = hdhomerun_device_channelscan_advance(hd, &result); +- if (ret <= 0) { +- break; ++ /* Set channel. */ ++ ret = hdhomerun_device_set_tuner_channel(hd, channel_str); ++ if (ret < 0) { ++ fprintf(stderr, "communication error sending request to hdhomerun device\n"); ++ return -1; + } +- +- cmd_scan_printf(fp, "SCANNING: %lu (%s)\n", +- result.frequency, result.channel_str +- ); +- +- ret = hdhomerun_device_channelscan_detect(hd, &result); +- if (ret <= 0) { +- break; ++ if (ret == 0) { ++ return 0; + } + +- cmd_scan_printf(fp, "LOCK: %s (ss=%u snq=%u seq=%u)\n", +- result.status.lock_str, result.status.signal_strength, +- result.status.signal_to_noise_quality, result.status.symbol_error_quality +- ); ++ /* Wait 1.5s for lock (qam auto is the slowest to lock). */ ++ usleep(HDHOMERUN_DEVICE_MAX_TUNE_TO_LOCK_TIME * 1000); + +- if (result.transport_stream_id_detected) { +- cmd_scan_printf(fp, "TSID: 0x%04X\n", result.transport_stream_id); ++ /* Get status to check for signal. Quality numbers will not be valid yet. */ ++ struct hdhomerun_tuner_status_t status; ++ if (hdhomerun_device_get_tuner_status(hd, &status) < 0) { ++ fprintf(stderr, "communication error sending request to hdhomerun device\n"); ++ return -1; + } + +- int i; +- for (i = 0; i < result.program_count; i++) { +- struct hdhomerun_channelscan_program_t *program = &result.programs[i]; +- cmd_scan_printf(fp, "PROGRAM %s\n", program->program_str); ++ /* If no signal then advance to next channel. */ ++ if (status.signal_strength == 0) { ++ printf("%s: no signal\n", channel_str); ++ channel_number++; ++ continue; + } +- } +- +- hdhomerun_device_tuner_lockkey_release(hd); + +- if (fp) { +- fclose(fp); +- } +- if (ret < 0) { +- fprintf(stderr, "communication error sending request to hdhomerun device\n"); +- } +- return ret; +-} +- +-static int cmd_save(const char *tuner_str, const char *filename) +-{ +- if (hdhomerun_device_set_tuner_from_str(hd, tuner_str) <= 0) { +- fprintf(stderr, "invalid tuner number\n"); +- return -1; +- } ++ /* Wait for 2s. */ ++ usleep(HDHOMERUN_DEVICE_MAX_LOCK_TO_DATA_TIME * 1000); + +- FILE *fp; +- if (strcmp(filename, "null") == 0) { +- fp = NULL; +- } else if (strcmp(filename, "-") == 0) { +- fp = stdout; +- } else { +- fp = fopen(filename, "wb"); +- if (!fp) { +- fprintf(stderr, "unable to create file %s\n", filename); ++ /* Get status to check quality numbers. */ ++ if (hdhomerun_device_get_tuner_status(hd, &status) < 0) { ++ fprintf(stderr, "communication error sending request to hdhomerun device\n"); + return -1; + } +- } +- +- int ret = hdhomerun_device_stream_start(hd); +- if (ret <= 0) { +- fprintf(stderr, "unable to start stream\n"); +- if (fp && fp != stdout) { +- fclose(fp); +- } +- return ret; +- } +- +- signal(SIGINT, signal_abort); +- signal(SIGPIPE, signal_abort); +- +- struct hdhomerun_video_stats_t stats_old, stats_cur; +- hdhomerun_device_get_video_stats(hd, &stats_old); +- +- uint64_t next_progress = getcurrenttime() + 1000; +- +- while (!sigabort) { +- uint64_t loop_start_time = getcurrenttime(); +- +- size_t actual_size; +- uint8_t *ptr = hdhomerun_device_stream_recv(hd, VIDEO_DATA_BUFFER_SIZE_1S, &actual_size); +- if (!ptr) { +- msleep(64); ++ if (status.signal_strength == 0) { ++ printf("%s: no signal\n", channel_str); ++ channel_number++; + continue; + } ++ printf("%s: ss=%u snq=%u seq=%u\n", channel_str, status.signal_strength, status.signal_to_noise_quality, status.symbol_error_quality); + +- if (fp) { +- if (fwrite(ptr, 1, actual_size, fp) != actual_size) { +- fprintf(stderr, "error writing output\n"); +- return -1; +- } ++ /* Detect sub channels. */ ++ usleep(4 * 1000000); ++ char *streaminfo; ++ if (hdhomerun_device_get_tuner_streaminfo(hd, &streaminfo) <= 0) { ++ channel_number++; ++ continue; + } +- +- if (loop_start_time >= next_progress) { +- next_progress += 1000; +- if (loop_start_time >= next_progress) { +- next_progress = loop_start_time + 1000; +- } +- +- hdhomerun_device_get_video_stats(hd, &stats_cur); +- +- if (stats_cur.overflow_error_count > stats_old.overflow_error_count) { +- fprintf(stderr, "o"); +- } else if (stats_cur.network_error_count > stats_old.network_error_count) { +- fprintf(stderr, "n"); +- } else if (stats_cur.transport_error_count > stats_old.transport_error_count) { +- fprintf(stderr, "t"); +- } else if (stats_cur.sequence_error_count > stats_old.sequence_error_count) { +- fprintf(stderr, "s"); +- } else { +- fprintf(stderr, "."); ++ while (1) { ++ char *end = strchr(streaminfo, '\n'); ++ if (!end) { ++ break; + } + +- stats_old = stats_cur; +- fflush(stderr); +- } ++ *end++ = 0; ++ printf("program %s\n", streaminfo); + +- int32_t delay = 64 - (int32_t)(getcurrenttime() - loop_start_time); +- if (delay <= 0) { +- continue; ++ streaminfo = end; + } + +- msleep(delay); +- } +- +- if (fp) { +- fclose(fp); ++ /* Advance to next channel. */ ++ channel_number++; + } +- +- hdhomerun_device_stream_stop(hd); +- hdhomerun_device_get_video_stats(hd, &stats_cur); +- +- fprintf(stderr, "\n"); +- fprintf(stderr, "-- Video statistics --\n"); +- fprintf(stderr, "%u packets received, %u overflow errors, %u network errors, %u transport errors, %u sequence errors\n", +- (unsigned int)stats_cur.packet_count, +- (unsigned int)stats_cur.overflow_error_count, +- (unsigned int)stats_cur.network_error_count, +- (unsigned int)stats_cur.transport_error_count, +- (unsigned int)stats_cur.sequence_error_count); +- +- return 0; + } + + static int cmd_upgrade(const char *filename) +@@ -434,98 +276,16 @@ + return -1; + } + +- printf("uploading firmware...\n"); + if (hdhomerun_device_upgrade(hd, fp) <= 0) { + fprintf(stderr, "error sending upgrade file to hdhomerun device\n"); + fclose(fp); + return -1; + } +- sleep(2); +- +- printf("upgrading firmware...\n"); +- sleep(8); +- +- printf("rebooting...\n"); +- int count = 0; +- char *version_str; +- while (1) { +- if (hdhomerun_device_get_version(hd, &version_str, NULL) >= 0) { +- break; +- } +- +- count++; +- if (count > 30) { +- fprintf(stderr, "error finding device after firmware upgrade\n"); +- fclose(fp); +- return -1; +- } + +- sleep(1); +- } +- +- printf("upgrade complete - now running firmware %s\n", version_str); ++ printf("upgrade complete\n"); + return 0; + } + +-static int cmd_execute(void) +-{ +- char *ret_value; +- char *ret_error; +- if (hdhomerun_device_get_var(hd, "/sys/boot", &ret_value, &ret_error) < 0) { +- fprintf(stderr, "communication error sending request to hdhomerun device\n"); +- return -1; +- } +- +- if (ret_error) { +- printf("%s\n", ret_error); +- return 0; +- } +- +- char *end = ret_value + strlen(ret_value); +- char *pos = ret_value; +- +- while (1) { +- if (pos >= end) { +- break; +- } +- +- char *eol_r = strchr(pos, '\r'); +- if (!eol_r) { +- eol_r = end; +- } +- +- char *eol_n = strchr(pos, '\n'); +- if (!eol_n) { +- eol_n = end; +- } +- +- char *eol = eol_r; +- if (eol_n < eol) { +- eol = eol_n; +- } +- +- char *sep = strchr(pos, ' '); +- if (!sep || sep > eol) { +- pos = eol + 1; +- continue; +- } +- +- *sep = 0; +- *eol = 0; +- +- char *item = pos; +- char *value = sep + 1; +- +- printf("set %s \"%s\"\n", item, value); +- +- cmd_set_internal(item, value); +- +- pos = eol + 1; +- } +- +- return 1; +-} +- + static int main_cmd(int argc, char *argv[]) + { + if (argc < 1) { +@@ -534,17 +294,6 @@ + + char *cmd = *argv++; argc--; + +- if (contains(cmd, "key")) { +- if (argc < 2) { +- return help(); +- } +- uint32_t lockkey = strtoul(argv[0], NULL, 0); +- hdhomerun_device_tuner_lockkey_use_value(hd, lockkey); +- +- cmd = argv[1]; +- argv+=2; argc-=2; +- } +- + if (contains(cmd, "get")) { + if (argc < 1) { + return help(); +@@ -559,22 +308,18 @@ + return cmd_set(argv[0], argv[1]); + } + +- if (contains(cmd, "scan")) { ++ if (contains(cmd, "streaminfo")) { + if (argc < 1) { + return help(); + } +- if (argc < 2) { +- return cmd_scan(argv[0], NULL); +- } else { +- return cmd_scan(argv[0], argv[1]); +- } ++ return cmd_streaminfo(argv[0]); + } + +- if (contains(cmd, "save")) { ++ if (contains(cmd, "scan")) { + if (argc < 2) { + return help(); + } +- return cmd_save(argv[0], argv[1]); ++ return cmd_scan(argv[0], argv[1]); + } + + if (contains(cmd, "upgrade")) { +@@ -584,17 +329,16 @@ + return cmd_upgrade(argv[0]); + } + +- if (contains(cmd, "execute")) { +- return cmd_execute(); +- } +- + return help(); + } + + static int main_internal(int argc, char *argv[]) + { + #if defined(__WINDOWS__) +- /* Initialize network socket support. */ ++ //Start pthreads ++ pthread_win32_process_attach_np(); ++ ++ // Start WinSock + WORD wVersionRequested = MAKEWORD(2, 0); + WSADATA wsaData; + WSAStartup(wVersionRequested, &wsaData); +@@ -613,36 +357,35 @@ + return help(); + } + if (contains(id_str, "discover")) { +- if (argc < 1) { +- return discover_print(NULL); +- } else { +- return discover_print(argv[0]); +- } ++ return discover_print(); + } + +- /* Device object. */ +- hd = hdhomerun_device_create_from_str(id_str, NULL); +- if (!hd) { +- fprintf(stderr, "invalid device id: %s\n", id_str); ++ /* Device ID. */ ++ uint32_t device_id, device_ip; ++ if (!parse_device_id_str(id_str, &device_id, &device_ip)) { + return -1; + } + +- /* Device ID check. */ +- uint32_t device_id_requested = hdhomerun_device_get_device_id_requested(hd); +- if (!hdhomerun_discover_validate_device_id(device_id_requested)) { +- fprintf(stderr, "invalid device id: %08lX\n", (unsigned long)device_id_requested); ++ /* Device object. */ ++ hd = hdhomerun_device_create(device_id, device_ip, 0); ++ if (!hd) { ++ fprintf(stderr, "unable to create device\n"); ++ return -1; + } + +- /* Connect to device and check model. */ +- const char *model = hdhomerun_device_get_model_str(hd); +- if (!model) { ++ /* Connect to device and check firmware version. */ ++ int ret = hdhomerun_device_firmware_version_check(hd, 0); ++ if (ret < 0) { + fprintf(stderr, "unable to connect to device\n"); + hdhomerun_device_destroy(hd); + return -1; + } ++ if (ret == 0) { ++ fprintf(stderr, "WARNING: firmware upgrade needed for all operations to function\n"); ++ } + + /* Command. */ +- int ret = main_cmd(argc, argv); ++ ret = main_cmd(argc, argv); + + /* Cleanup. */ + hdhomerun_device_destroy(hd); +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_control.c src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_control.c +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_control.c 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_control.c 2009-01-09 13:14:56.000000000 +1030 +@@ -1,12 +1,12 @@ + /* + * hdhomerun_control.c + * +- * Copyright © 2006 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -14,119 +14,83 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#include "hdhomerun.h" +- +-#define HDHOMERUN_CONTROL_SEND_TIMEOUT 5000 +-#define HDHOMERUN_CONTROL_RECV_TIMEOUT 5000 +-#define HDHOMERUN_CONTROL_UPGRADE_TIMEOUT 20000 ++#include "hdhomerun_os.h" ++#include "hdhomerun_pkt.h" ++#include "hdhomerun_discover.h" ++#include "hdhomerun_control.h" + + struct hdhomerun_control_sock_t { +- uint32_t desired_device_id; +- uint32_t desired_device_ip; +- uint32_t actual_device_id; +- uint32_t actual_device_ip; ++ uint32_t device_id; ++ uint32_t device_ip; + int sock; +- struct hdhomerun_debug_t *dbg; +- struct hdhomerun_pkt_t tx_pkt; +- struct hdhomerun_pkt_t rx_pkt; ++ uint8_t buffer[16384]; + }; + +-static void hdhomerun_control_close_sock(struct hdhomerun_control_sock_t *cs) +-{ +- if (cs->sock == -1) { +- return; +- } +- +- close(cs->sock); +- cs->sock = -1; +-} +- +-void hdhomerun_control_set_device(struct hdhomerun_control_sock_t *cs, uint32_t device_id, uint32_t device_ip) +-{ +- hdhomerun_control_close_sock(cs); +- +- cs->desired_device_id = device_id; +- cs->desired_device_ip = device_ip; +- cs->actual_device_id = 0; +- cs->actual_device_ip = 0; +-} +- +-struct hdhomerun_control_sock_t *hdhomerun_control_create(uint32_t device_id, uint32_t device_ip, struct hdhomerun_debug_t *dbg) ++struct hdhomerun_control_sock_t *hdhomerun_control_create(uint32_t device_id, uint32_t device_ip) + { +- struct hdhomerun_control_sock_t *cs = (struct hdhomerun_control_sock_t *)calloc(1, sizeof(struct hdhomerun_control_sock_t)); ++ struct hdhomerun_control_sock_t *cs = (struct hdhomerun_control_sock_t *)malloc(sizeof(struct hdhomerun_control_sock_t)); + if (!cs) { +- hdhomerun_debug_printf(dbg, "hdhomerun_control_create: failed to allocate control object\n"); + return NULL; + } +- +- cs->dbg = dbg; ++ ++ cs->device_id = device_id; ++ cs->device_ip = device_ip; + cs->sock = -1; +- hdhomerun_control_set_device(cs, device_id, device_ip); + + return cs; + } + + void hdhomerun_control_destroy(struct hdhomerun_control_sock_t *cs) + { +- hdhomerun_control_close_sock(cs); ++ if (cs->sock != -1) { ++ close(cs->sock); ++ } + free(cs); + } + ++static void hdhomerun_control_close_sock(struct hdhomerun_control_sock_t *cs) ++{ ++ close(cs->sock); ++ cs->sock = -1; ++} ++ + static bool_t hdhomerun_control_connect_sock(struct hdhomerun_control_sock_t *cs) + { + if (cs->sock != -1) { + return TRUE; + } + +- if ((cs->desired_device_id == 0) && (cs->desired_device_ip == 0)) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_connect_sock: no device specified\n"); +- return FALSE; +- } +- +- /* Find device. */ +- struct hdhomerun_discover_device_t result; +- if (hdhomerun_discover_find_devices_custom(cs->desired_device_ip, HDHOMERUN_DEVICE_TYPE_WILDCARD, cs->desired_device_id, &result, 1) <= 0) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_connect_sock: device not found\n"); +- return FALSE; ++ /* Find ip address. */ ++ uint32_t device_ip = cs->device_ip; ++ if (device_ip == 0) { ++ struct hdhomerun_discover_device_t result; ++ if (hdhomerun_discover_find_device(cs->device_id, &result) <= 0) { ++ return FALSE; ++ } ++ device_ip = result.ip_addr; + } +- cs->actual_device_ip = result.ip_addr; +- cs->actual_device_id = result.device_id; + + /* Create socket. */ + cs->sock = (int)socket(AF_INET, SOCK_STREAM, 0); + if (cs->sock == -1) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_connect_sock: failed to create socket (%d)\n", sock_getlasterror); + return FALSE; + } + + /* Set timeouts. */ +- setsocktimeout(cs->sock, SOL_SOCKET, SO_SNDTIMEO, HDHOMERUN_CONTROL_SEND_TIMEOUT); +- setsocktimeout(cs->sock, SOL_SOCKET, SO_RCVTIMEO, HDHOMERUN_CONTROL_RECV_TIMEOUT); ++ setsocktimeout(cs->sock, SOL_SOCKET, SO_SNDTIMEO, 1000); ++ setsocktimeout(cs->sock, SOL_SOCKET, SO_RCVTIMEO, 1000); + + /* Initiate connection. */ + struct sockaddr_in sock_addr; + memset(&sock_addr, 0, sizeof(sock_addr)); + sock_addr.sin_family = AF_INET; +- sock_addr.sin_addr.s_addr = htonl(cs->actual_device_ip); ++ sock_addr.sin_addr.s_addr = htonl(device_ip); + sock_addr.sin_port = htons(HDHOMERUN_CONTROL_TCP_PORT); + if (connect(cs->sock, (struct sockaddr *)&sock_addr, sizeof(sock_addr)) != 0) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_connect_sock: failed to connect (%d)\n", sock_getlasterror); + hdhomerun_control_close_sock(cs); + return FALSE; + } +@@ -135,215 +99,125 @@ + return TRUE; + } + +-uint32_t hdhomerun_control_get_device_id(struct hdhomerun_control_sock_t *cs) +-{ +- if (!hdhomerun_control_connect_sock(cs)) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_get_device_id: connect failed\n"); +- return 0; +- } +- +- return cs->actual_device_id; +-} +- +-uint32_t hdhomerun_control_get_device_ip(struct hdhomerun_control_sock_t *cs) +-{ +- if (!hdhomerun_control_connect_sock(cs)) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_get_device_ip: connect failed\n"); +- return 0; +- } +- +- return cs->actual_device_ip; +-} +- +-uint32_t hdhomerun_control_get_device_id_requested(struct hdhomerun_control_sock_t *cs) +-{ +- return cs->desired_device_id; +-} +- +-uint32_t hdhomerun_control_get_device_ip_requested(struct hdhomerun_control_sock_t *cs) +-{ +- return cs->desired_device_ip; +-} +- + uint32_t hdhomerun_control_get_local_addr(struct hdhomerun_control_sock_t *cs) + { + if (!hdhomerun_control_connect_sock(cs)) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_get_local_addr: connect failed\n"); + return 0; + } + + struct sockaddr_in sock_addr; + socklen_t sockaddr_size = sizeof(sock_addr); + if (getsockname(cs->sock, (struct sockaddr*)&sock_addr, &sockaddr_size) != 0) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_get_local_addr: getsockname failed (%d)\n", sock_getlasterror); + return 0; + } + + return ntohl(sock_addr.sin_addr.s_addr); + } + +-static int hdhomerun_control_send_sock(struct hdhomerun_control_sock_t *cs, struct hdhomerun_pkt_t *tx_pkt) ++static int hdhomerun_control_send(struct hdhomerun_control_sock_t *cs, uint8_t *start, uint8_t *end) + { +- int length = (int)(tx_pkt->end - tx_pkt->start); +- if (send(cs->sock, (char *)tx_pkt->start, (int)length, 0) != length) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_send_sock: send failed (%d)\n", sock_getlasterror); +- hdhomerun_control_close_sock(cs); ++ int length = (int)(end - start); ++ if (send(cs->sock, (char *)start, (int)length, 0) != length) { + return -1; + } + +- return 1; ++ return length; + } + +-static int hdhomerun_control_recv_sock(struct hdhomerun_control_sock_t *cs, struct hdhomerun_pkt_t *rx_pkt, uint16_t *ptype, uint64_t recv_timeout) ++static int hdhomerun_control_recv_sock(struct hdhomerun_control_sock_t *cs, uint8_t *buffer, uint8_t *limit) + { +- uint64_t stop_time = getcurrenttime() + recv_timeout; +- hdhomerun_pkt_reset(rx_pkt); ++ struct timeval t; ++ t.tv_sec = 0; ++ t.tv_usec = 250000; + +- while (getcurrenttime() < stop_time) { +- struct timeval t; +- t.tv_sec = 0; +- t.tv_usec = 250000; +- +- fd_set readfds; +- FD_ZERO(&readfds); +- FD_SET(cs->sock, &readfds); +- +- if (select(cs->sock+1, &readfds, NULL, NULL, &t) < 0) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_recv_sock: select failed (%d)\n", sock_getlasterror); +- hdhomerun_control_close_sock(cs); +- return -1; +- } +- +- if (!FD_ISSET(cs->sock, &readfds)) { +- continue; +- } +- +- int rx_length = recv(cs->sock, (char *)rx_pkt->end, (int)(rx_pkt->limit - rx_pkt->end), 0); +- if (rx_length <= 0) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_recv_sock: recv failed (%d)\n", sock_getlasterror); +- hdhomerun_control_close_sock(cs); +- return -1; +- } +- rx_pkt->end += rx_length; ++ fd_set readfds; ++ FD_ZERO(&readfds); ++ FD_SET(cs->sock, &readfds); + +- int ret = hdhomerun_pkt_open_frame(rx_pkt, ptype); +- if (ret < 0) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_recv_sock: frame error\n"); +- hdhomerun_control_close_sock(cs); +- return -1; +- } +- if (ret == 0) { +- continue; +- } ++ if (select(cs->sock+1, &readfds, NULL, NULL, &t) < 0) { ++ return -1; ++ } + +- return 1; ++ if (!FD_ISSET(cs->sock, &readfds)) { ++ return 0; + } + +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_recv_sock: timeout\n"); +- hdhomerun_control_close_sock(cs); +- return -1; ++ int length = recv(cs->sock, (char *)buffer, (int)(limit - buffer), 0); ++ if (length <= 0) { ++ return -1; ++ } ++ ++ return length; + } + +-static int hdhomerun_control_send_recv_internal(struct hdhomerun_control_sock_t *cs, struct hdhomerun_pkt_t *tx_pkt, struct hdhomerun_pkt_t *rx_pkt, uint16_t type, uint64_t recv_timeout) ++static int hdhomerun_control_recv(struct hdhomerun_control_sock_t *cs, uint8_t *buffer, uint8_t *limit) + { +- hdhomerun_pkt_seal_frame(tx_pkt, type); ++ uint64_t timeout = getcurrenttime() + 1000; ++ uint8_t *ptr = buffer; + +- int i; +- for (i = 0; i < 2; i++) { +- if (cs->sock == -1) { +- if (!hdhomerun_control_connect_sock(cs)) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_send_recv: connect failed\n"); +- return -1; +- } ++ while (getcurrenttime() < timeout) { ++ int length = hdhomerun_control_recv_sock(cs, ptr, limit); ++ if (length < 0) { ++ return -1; + } +- +- if (hdhomerun_control_send_sock(cs, tx_pkt) < 0) { ++ if (length == 0) { + continue; + } +- if (!rx_pkt) { +- return 1; +- } ++ ptr += length; + +- uint16_t rsp_type; +- if (hdhomerun_control_recv_sock(cs, rx_pkt, &rsp_type, recv_timeout) < 0) { ++ if (buffer + HDHOMERUN_MIN_PEEK_LENGTH > limit) { + continue; + } +- if (rsp_type != type + 1) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_send_recv: unexpected frame type\n"); +- hdhomerun_control_close_sock(cs); ++ ++ length = (int)hdhomerun_peek_packet_length(buffer); ++ if (buffer + length > limit) { + continue; + } + +- return 1; ++ return length; + } + +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_send_recv: failed\n"); + return -1; + } + +-int hdhomerun_control_send_recv(struct hdhomerun_control_sock_t *cs, struct hdhomerun_pkt_t *tx_pkt, struct hdhomerun_pkt_t *rx_pkt, uint16_t type) ++static int hdhomerun_control_get_set(struct hdhomerun_control_sock_t *cs, const char *name, const char *value, char **pvalue, char **perror) + { +- return hdhomerun_control_send_recv_internal(cs, tx_pkt, rx_pkt, type, HDHOMERUN_CONTROL_RECV_TIMEOUT); +-} +- +-static int hdhomerun_control_get_set(struct hdhomerun_control_sock_t *cs, const char *name, const char *value, uint32_t lockkey, char **pvalue, char **perror) +-{ +- struct hdhomerun_pkt_t *tx_pkt = &cs->tx_pkt; +- struct hdhomerun_pkt_t *rx_pkt = &cs->rx_pkt; +- +- /* Request. */ +- hdhomerun_pkt_reset(tx_pkt); +- +- int name_len = (int)strlen(name) + 1; +- if (tx_pkt->end + 3 + name_len > tx_pkt->limit) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_get_set: request too long\n"); ++ /* Send request. */ ++ uint8_t *ptr = cs->buffer; ++ hdhomerun_write_get_set_request(&ptr, name, value); ++ if (hdhomerun_control_send(cs, cs->buffer, ptr) < 0) { + return -1; + } +- hdhomerun_pkt_write_u8(tx_pkt, HDHOMERUN_TAG_GETSET_NAME); +- hdhomerun_pkt_write_var_length(tx_pkt, name_len); +- hdhomerun_pkt_write_mem(tx_pkt, (void *)name, name_len); + +- if (value) { +- int value_len = (int)strlen(value) + 1; +- if (tx_pkt->end + 3 + value_len > tx_pkt->limit) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_get_set: request too long\n"); +- return -1; +- } +- hdhomerun_pkt_write_u8(tx_pkt, HDHOMERUN_TAG_GETSET_VALUE); +- hdhomerun_pkt_write_var_length(tx_pkt, value_len); +- hdhomerun_pkt_write_mem(tx_pkt, (void *)value, value_len); ++ /* Receive response. */ ++ int length = hdhomerun_control_recv(cs, cs->buffer, cs->buffer + sizeof(cs->buffer)); ++ if (length <= 0) { ++ return -1; + } + +- if (lockkey != 0) { +- if (tx_pkt->end + 6 > tx_pkt->limit) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_get_set: request too long\n"); +- return -1; +- } +- hdhomerun_pkt_write_u8(tx_pkt, HDHOMERUN_TAG_GETSET_LOCKKEY); +- hdhomerun_pkt_write_var_length(tx_pkt, 4); +- hdhomerun_pkt_write_u32(tx_pkt, lockkey); ++ /* Parse response. */ ++ ptr = cs->buffer; ++ uint8_t *end = ptr + length; ++ int type = hdhomerun_process_packet(&ptr, &end); ++ if (type < 0) { ++ return -1; + } +- +- /* Send/Recv. */ +- if (hdhomerun_control_send_recv_internal(cs, tx_pkt, rx_pkt, HDHOMERUN_TYPE_GETSET_REQ, HDHOMERUN_CONTROL_RECV_TIMEOUT) < 0) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_get_set: send/recv error\n"); ++ if (type != HDHOMERUN_TYPE_GETSET_RPY) { + return -1; + } + +- /* Response. */ +- while (1) { ++ while (ptr < end) { + uint8_t tag; + size_t len; +- uint8_t *next = hdhomerun_pkt_read_tlv(rx_pkt, &tag, &len); +- if (!next) { ++ uint8_t *val; ++ if (hdhomerun_read_tlv(&ptr, end, &tag, &len, &val) < 0) { + break; + } +- + switch (tag) { + case HDHOMERUN_TAG_GETSET_VALUE: + if (pvalue) { +- *pvalue = (char *)rx_pkt->pos; +- rx_pkt->pos[len] = 0; ++ *pvalue = (char *)val; ++ val[len] = 0; + } + if (perror) { + *perror = NULL; +@@ -351,48 +225,59 @@ + return 1; + + case HDHOMERUN_TAG_ERROR_MESSAGE: +- rx_pkt->pos[len] = 0; +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_get_set: %s\n", rx_pkt->pos); +- + if (pvalue) { + *pvalue = NULL; + } + if (perror) { +- *perror = (char *)rx_pkt->pos; ++ *perror = (char *)val; ++ val[len] = 0; + } +- + return 0; + } +- +- rx_pkt->pos = next; + } + +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_get_set: missing response tags\n"); + return -1; + } + + int hdhomerun_control_get(struct hdhomerun_control_sock_t *cs, const char *name, char **pvalue, char **perror) + { +- return hdhomerun_control_get_set(cs, name, NULL, 0, pvalue, perror); ++ if (!hdhomerun_control_connect_sock(cs)) { ++ return -1; ++ } ++ ++ int ret = hdhomerun_control_get_set(cs, name, NULL, pvalue, perror); ++ if (ret < 0) { ++ hdhomerun_control_close_sock(cs); ++ return -1; ++ } ++ ++ return ret; + } + + int hdhomerun_control_set(struct hdhomerun_control_sock_t *cs, const char *name, const char *value, char **pvalue, char **perror) + { +- return hdhomerun_control_get_set(cs, name, value, 0, pvalue, perror); +-} ++ if (!hdhomerun_control_connect_sock(cs)) { ++ return -1; ++ } + +-int hdhomerun_control_set_with_lockkey(struct hdhomerun_control_sock_t *cs, const char *name, const char *value, uint32_t lockkey, char **pvalue, char **perror) +-{ +- return hdhomerun_control_get_set(cs, name, value, lockkey, pvalue, perror); ++ int ret = hdhomerun_control_get_set(cs, name, value, pvalue, perror); ++ if (ret < 0) { ++ hdhomerun_control_close_sock(cs); ++ return -1; ++ } ++ ++ return ret; + } + + int hdhomerun_control_upgrade(struct hdhomerun_control_sock_t *cs, FILE *upgrade_file) + { +- struct hdhomerun_pkt_t *tx_pkt = &cs->tx_pkt; +- struct hdhomerun_pkt_t *rx_pkt = &cs->rx_pkt; ++ if (!hdhomerun_control_connect_sock(cs)) { ++ return -1; ++ } ++ + uint32_t sequence = 0; ++ uint8_t *ptr; + +- /* Upload. */ + while (1) { + uint8_t data[256]; + size_t length = fread(data, 1, 256, upgrade_file); +@@ -400,12 +285,10 @@ + break; + } + +- hdhomerun_pkt_reset(tx_pkt); +- hdhomerun_pkt_write_u32(tx_pkt, sequence); +- hdhomerun_pkt_write_mem(tx_pkt, data, length); +- +- if (hdhomerun_control_send_recv_internal(cs, tx_pkt, NULL, HDHOMERUN_TYPE_UPGRADE_REQ, 0) < 0) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_upgrade: send/recv failed\n"); ++ ptr = cs->buffer; ++ hdhomerun_write_upgrade_request(&ptr, sequence, data, length); ++ if (hdhomerun_control_send(cs, cs->buffer, ptr) < 0) { ++ hdhomerun_control_close_sock(cs); + return -1; + } + +@@ -414,40 +297,15 @@ + + if (sequence == 0) { + /* No data in file. Error, but no need to close connection. */ +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_upgrade: zero length file\n"); + return 0; + } + +- /* Execute upgrade. */ +- hdhomerun_pkt_reset(tx_pkt); +- hdhomerun_pkt_write_u32(tx_pkt, 0xFFFFFFFF); +- +- if (hdhomerun_control_send_recv_internal(cs, tx_pkt, rx_pkt, HDHOMERUN_TYPE_UPGRADE_REQ, HDHOMERUN_CONTROL_UPGRADE_TIMEOUT) < 0) { +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_upgrade: send/recv failed\n"); ++ ptr = cs->buffer; ++ hdhomerun_write_upgrade_request(&ptr, 0xFFFFFFFF, NULL, 0); ++ if (hdhomerun_control_send(cs, cs->buffer, ptr) < 0) { ++ hdhomerun_control_close_sock(cs); + return -1; + } + +- /* Check response. */ +- while (1) { +- uint8_t tag; +- size_t len; +- uint8_t *next = hdhomerun_pkt_read_tlv(rx_pkt, &tag, &len); +- if (!next) { +- break; +- } +- +- switch (tag) { +- case HDHOMERUN_TAG_ERROR_MESSAGE: +- rx_pkt->pos[len] = 0; +- hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_upgrade: %s\n", (char *)rx_pkt->pos); +- return 0; +- +- default: +- break; +- } +- +- rx_pkt->pos = next; +- } +- + return 1; + } +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_control.h src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_control.h +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_control.h 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_control.h 2009-01-09 13:14:56.000000000 +1030 +@@ -1,12 +1,12 @@ + /* + * hdhomerun_control.h + * +- * Copyright © 2006 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -14,20 +14,8 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + #ifdef __cplusplus + extern "C" { +@@ -43,26 +31,13 @@ + * + * uint32_t device_id = 32-bit device id of device. Set to HDHOMERUN_DEVICE_ID_WILDCARD to match any device ID. + * uint32_t device_ip = IP address of device. Set to 0 to auto-detect. +- * struct hdhomerun_debug_t *dbg: Pointer to debug logging object. May be NULL. + * + * Returns a pointer to the newly created control socket. + * + * When no longer needed, the socket should be destroyed by calling hdhomerun_control_destroy. + */ +-extern LIBTYPE struct hdhomerun_control_sock_t *hdhomerun_control_create(uint32_t device_id, uint32_t device_ip, struct hdhomerun_debug_t *dbg); +-extern LIBTYPE void hdhomerun_control_destroy(struct hdhomerun_control_sock_t *cs); +- +-/* +- * Get the actual device id or ip of the device. +- * +- * Returns 0 if the device id cannot be determined. +- */ +-extern LIBTYPE uint32_t hdhomerun_control_get_device_id(struct hdhomerun_control_sock_t *cs); +-extern LIBTYPE uint32_t hdhomerun_control_get_device_ip(struct hdhomerun_control_sock_t *cs); +-extern LIBTYPE uint32_t hdhomerun_control_get_device_id_requested(struct hdhomerun_control_sock_t *cs); +-extern LIBTYPE uint32_t hdhomerun_control_get_device_ip_requested(struct hdhomerun_control_sock_t *cs); +- +-extern LIBTYPE void hdhomerun_control_set_device(struct hdhomerun_control_sock_t *cs, uint32_t device_id, uint32_t device_ip); ++extern struct hdhomerun_control_sock_t *hdhomerun_control_create(uint32_t device_id, uint32_t device_ip); ++extern void hdhomerun_control_destroy(struct hdhomerun_control_sock_t *cs); + + /* + * Get the local machine IP address used when communicating with the device. +@@ -71,12 +46,7 @@ + * + * Returns 32-bit IP address with native endianness, or 0 on error. + */ +-extern LIBTYPE uint32_t hdhomerun_control_get_local_addr(struct hdhomerun_control_sock_t *cs); +- +-/* +- * Low-level communication. +- */ +-extern LIBTYPE int hdhomerun_control_send_recv(struct hdhomerun_control_sock_t *cs, struct hdhomerun_pkt_t *tx_pkt, struct hdhomerun_pkt_t *rx_pkt, uint16_t type); ++extern uint32_t hdhomerun_control_get_local_addr(struct hdhomerun_control_sock_t *cs); + + /* + * Get/set a control variable on the device. +@@ -95,9 +65,8 @@ + * Returns 0 if the operation was rejected (pvalue NULL, perror set). + * Returns -1 if a communication error occurs. + */ +-extern LIBTYPE int hdhomerun_control_get(struct hdhomerun_control_sock_t *cs, const char *name, char **pvalue, char **perror); +-extern LIBTYPE int hdhomerun_control_set(struct hdhomerun_control_sock_t *cs, const char *name, const char *value, char **pvalue, char **perror); +-extern LIBTYPE int hdhomerun_control_set_with_lockkey(struct hdhomerun_control_sock_t *cs, const char *name, const char *value, uint32_t lockkey, char **pvalue, char **perror); ++extern int hdhomerun_control_get(struct hdhomerun_control_sock_t *cs, const char *name, char **pvalue, char **perror); ++extern int hdhomerun_control_set(struct hdhomerun_control_sock_t *cs, const char *name, const char *value, char **pvalue, char **perror); + + /* + * Upload new firmware to the device. +@@ -108,7 +77,7 @@ + * Returns 0 if the upload was rejected. + * Returns -1 if an error occurs. + */ +-extern LIBTYPE int hdhomerun_control_upgrade(struct hdhomerun_control_sock_t *cs, FILE *upgrade_file); ++extern int hdhomerun_control_upgrade(struct hdhomerun_control_sock_t *cs, FILE *upgrade_file); + + #ifdef __cplusplus + } +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_debug.c +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_debug.h +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_device.c src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_device.c +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_device.c 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_device.c 2009-01-09 13:14:56.000000000 +1030 +@@ -1,12 +1,12 @@ + /* +- * hdhomerun_device.c ++ * hdhomerun_record.c + * +- * Copyright © 2006-2008 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -14,92 +14,43 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#include "hdhomerun.h" ++#include "hdhomerun_os.h" ++#include "hdhomerun_pkt.h" ++#include "hdhomerun_control.h" ++#include "hdhomerun_video.h" ++#include "hdhomerun_device.h" + + struct hdhomerun_device_t { + struct hdhomerun_control_sock_t *cs; + struct hdhomerun_video_sock_t *vs; +- struct hdhomerun_debug_t *dbg; +- struct hdhomerun_channelscan_t *scan; +- uint32_t device_id; + unsigned int tuner; +- uint32_t lockkey; +- char name[32]; +- char model[32]; ++ char result_buffer[1024]; + }; + +-static void hdhomerun_device_set_update(struct hdhomerun_device_t *hd) +-{ +- /* Clear cached information. */ +- *hd->model = 0; +- +- /* New name. */ +- sprintf(hd->name, "%08lX-%u", (unsigned long)hd->device_id, hd->tuner); +-} +- +-void hdhomerun_device_set_device(struct hdhomerun_device_t *hd, uint32_t device_id, uint32_t device_ip) +-{ +- hdhomerun_control_set_device(hd->cs, device_id, device_ip); +- +- if ((device_id == 0) || (device_id == HDHOMERUN_DEVICE_ID_WILDCARD)) { +- device_id = hdhomerun_control_get_device_id(hd->cs); +- } +- +- hd->device_id = device_id; +- hdhomerun_device_set_update(hd); +-} +- +-void hdhomerun_device_set_tuner(struct hdhomerun_device_t *hd, unsigned int tuner) +-{ +- hd->tuner = tuner; +- hdhomerun_device_set_update(hd); +-} +- +-struct hdhomerun_device_t *hdhomerun_device_create(uint32_t device_id, uint32_t device_ip, unsigned int tuner, struct hdhomerun_debug_t *dbg) ++struct hdhomerun_device_t *hdhomerun_device_create(uint32_t device_id, uint32_t device_ip, unsigned int tuner) + { + struct hdhomerun_device_t *hd = (struct hdhomerun_device_t *)calloc(1, sizeof(struct hdhomerun_device_t)); + if (!hd) { +- hdhomerun_debug_printf(dbg, "hdhomerun_device_create: failed to allocate device object\n"); + return NULL; + } + +- hd->dbg = dbg; ++ hd->tuner = tuner; + +- hd->cs = hdhomerun_control_create(0, 0, hd->dbg); ++ hd->cs = hdhomerun_control_create(device_id, device_ip); + if (!hd->cs) { +- hdhomerun_debug_printf(hd->dbg, "hdhomerun_device_create: failed to create control object\n"); + free(hd); + return NULL; + } + +- hdhomerun_device_set_device(hd, device_id, device_ip); +- hdhomerun_device_set_tuner(hd, tuner); +- + return hd; + } + + void hdhomerun_device_destroy(struct hdhomerun_device_t *hd) + { +- if (hd->scan) { +- channelscan_destroy(hd->scan); +- } +- + if (hd->vs) { + hdhomerun_video_destroy(hd->vs); + } +@@ -109,152 +60,9 @@ + free(hd); + } + +-static bool_t is_hex_char(char c) +-{ +- if ((c >= '0') && (c <= '9')) { +- return TRUE; +- } +- if ((c >= 'A') && (c <= 'F')) { +- return TRUE; +- } +- if ((c >= 'a') && (c <= 'f')) { +- return TRUE; +- } +- return FALSE; +-} +- +-static struct hdhomerun_device_t *hdhomerun_device_create_from_str_device_id(const char *device_str, struct hdhomerun_debug_t *dbg) +-{ +- int i; +- const char *ptr = device_str; +- for (i = 0; i < 8; i++) { +- if (!is_hex_char(*ptr++)) { +- return NULL; +- } +- } +- +- if (*ptr == 0) { +- unsigned long device_id; +- if (sscanf(device_str, "%lx", &device_id) != 1) { +- return NULL; +- } +- return hdhomerun_device_create((uint32_t)device_id, 0, 0, dbg); +- } +- +- if (*ptr == '-') { +- unsigned long device_id; +- unsigned int tuner; +- if (sscanf(device_str, "%lx-%u", &device_id, &tuner) != 2) { +- return NULL; +- } +- return hdhomerun_device_create((uint32_t)device_id, 0, tuner, dbg); +- } +- +- return NULL; +-} +- +-static struct hdhomerun_device_t *hdhomerun_device_create_from_str_ip(const char *device_str, struct hdhomerun_debug_t *dbg) +-{ +- unsigned long a[4]; +- if (sscanf(device_str, "%lu.%lu.%lu.%lu", &a[0], &a[1], &a[2], &a[3]) != 4) { +- return NULL; +- } +- +- unsigned long device_ip = (a[0] << 24) | (a[1] << 16) | (a[2] << 8) | (a[3] << 0); +- return hdhomerun_device_create(HDHOMERUN_DEVICE_ID_WILDCARD, (uint32_t)device_ip, 0, dbg); +-} +- +-static struct hdhomerun_device_t *hdhomerun_device_create_from_str_dns(const char *device_str, struct hdhomerun_debug_t *dbg) +-{ +-#if defined(__CYGWIN__) +- return NULL; +-#else +- struct addrinfo hints; +- memset(&hints, 0, sizeof(hints)); +- hints.ai_family = AF_INET; +- hints.ai_socktype = SOCK_STREAM; +- hints.ai_protocol = IPPROTO_TCP; +- +- struct addrinfo *sock_info; +- if (getaddrinfo(device_str, "65001", &hints, &sock_info) != 0) { +- return NULL; +- } +- +- struct sockaddr_in *sock_addr = (struct sockaddr_in *)sock_info->ai_addr; +- uint32_t device_ip = ntohl(sock_addr->sin_addr.s_addr); +- freeaddrinfo(sock_info); +- +- if (device_ip == 0) { +- return NULL; +- } +- +- return hdhomerun_device_create(HDHOMERUN_DEVICE_ID_WILDCARD, (uint32_t)device_ip, 0, dbg); +-#endif +-} +- +-struct hdhomerun_device_t *hdhomerun_device_create_from_str(const char *device_str, struct hdhomerun_debug_t *dbg) +-{ +- struct hdhomerun_device_t *device = hdhomerun_device_create_from_str_device_id(device_str, dbg); +- if (device) { +- return device; +- } +- +- device = hdhomerun_device_create_from_str_ip(device_str, dbg); +- if (device) { +- return device; +- } +- +- device = hdhomerun_device_create_from_str_dns(device_str, dbg); +- if (device) { +- return device; +- } +- +- return NULL; +-} +- +-int hdhomerun_device_set_tuner_from_str(struct hdhomerun_device_t *hd, const char *tuner_str) +-{ +- unsigned int tuner; +- if (sscanf(tuner_str, "%u", &tuner) == 1) { +- hdhomerun_device_set_tuner(hd, tuner); +- return 1; +- } +- if (sscanf(tuner_str, "/tuner%u", &tuner) == 1) { +- hdhomerun_device_set_tuner(hd, tuner); +- return 1; +- } +- +- return -1; +-} +- +-const char *hdhomerun_device_get_name(struct hdhomerun_device_t *hd) +-{ +- return hd->name; +-} +- +-uint32_t hdhomerun_device_get_device_id(struct hdhomerun_device_t *hd) +-{ +- return hdhomerun_control_get_device_id(hd->cs); +-} +- +-uint32_t hdhomerun_device_get_device_ip(struct hdhomerun_device_t *hd) +-{ +- return hdhomerun_control_get_device_ip(hd->cs); +-} +- +-uint32_t hdhomerun_device_get_device_id_requested(struct hdhomerun_device_t *hd) +-{ +- return hdhomerun_control_get_device_id_requested(hd->cs); +-} +- +-uint32_t hdhomerun_device_get_device_ip_requested(struct hdhomerun_device_t *hd) +-{ +- return hdhomerun_control_get_device_ip_requested(hd->cs); +-} +- +-unsigned int hdhomerun_device_get_tuner(struct hdhomerun_device_t *hd) ++void hdhomerun_device_set_tuner(struct hdhomerun_device_t *hd, unsigned int tuner) + { +- return hd->tuner; ++ hd->tuner = tuner; + } + + struct hdhomerun_control_sock_t *hdhomerun_device_get_control_sock(struct hdhomerun_device_t *hd) +@@ -264,16 +72,9 @@ + + struct hdhomerun_video_sock_t *hdhomerun_device_get_video_sock(struct hdhomerun_device_t *hd) + { +- if (hd->vs) { +- return hd->vs; +- } +- +- hd->vs = hdhomerun_video_create(0, VIDEO_DATA_BUFFER_SIZE_1S * 2, hd->dbg); + if (!hd->vs) { +- hdhomerun_debug_printf(hd->dbg, "hdhomerun_device_get_video_sock: failed to create video object\n"); +- return NULL; ++ hd->vs = hdhomerun_video_create(0, VIDEO_DATA_BUFFER_SIZE_1S); + } +- + return hd->vs; + } + +@@ -295,73 +96,7 @@ + return (uint32_t)value; + } + +-static bool_t hdhomerun_device_get_tuner_status_lock_is_bcast(struct hdhomerun_tuner_status_t *status) +-{ +- if (strcmp(status->lock_str, "8vsb") == 0) { +- return TRUE; +- } +- if (strncmp(status->lock_str, "t8", 2) == 0) { +- return TRUE; +- } +- if (strncmp(status->lock_str, "t7", 2) == 0) { +- return TRUE; +- } +- if (strncmp(status->lock_str, "t6", 2) == 0) { +- return TRUE; +- } +- +- return FALSE; +-} +- +-uint32_t hdhomerun_device_get_tuner_status_ss_color(struct hdhomerun_tuner_status_t *status) +-{ +- unsigned int ss_yellow_min; +- unsigned int ss_green_min; +- +- if (!status->lock_supported) { +- return HDHOMERUN_STATUS_COLOR_NEUTRAL; +- } +- +- if (hdhomerun_device_get_tuner_status_lock_is_bcast(status)) { +- ss_yellow_min = 50; /* -30dBmV */ +- ss_green_min = 75; /* -15dBmV */ +- } else { +- ss_yellow_min = 80; /* -12dBmV */ +- ss_green_min = 90; /* -6dBmV */ +- } +- +- if (status->signal_strength >= ss_green_min) { +- return HDHOMERUN_STATUS_COLOR_GREEN; +- } +- if (status->signal_strength >= ss_yellow_min) { +- return HDHOMERUN_STATUS_COLOR_YELLOW; +- } +- +- return HDHOMERUN_STATUS_COLOR_RED; +-} +- +-uint32_t hdhomerun_device_get_tuner_status_snq_color(struct hdhomerun_tuner_status_t *status) +-{ +- if (status->signal_to_noise_quality >= 70) { +- return HDHOMERUN_STATUS_COLOR_GREEN; +- } +- if (status->signal_to_noise_quality >= 50) { +- return HDHOMERUN_STATUS_COLOR_YELLOW; +- } +- +- return HDHOMERUN_STATUS_COLOR_RED; +-} +- +-uint32_t hdhomerun_device_get_tuner_status_seq_color(struct hdhomerun_tuner_status_t *status) +-{ +- if (status->symbol_error_quality >= 100) { +- return HDHOMERUN_STATUS_COLOR_GREEN; +- } +- +- return HDHOMERUN_STATUS_COLOR_RED; +-} +- +-int hdhomerun_device_get_tuner_status(struct hdhomerun_device_t *hd, char **pstatus_str, struct hdhomerun_tuner_status_t *status) ++int hdhomerun_device_get_tuner_status(struct hdhomerun_device_t *hd, struct hdhomerun_tuner_status_t *status) + { + memset(status, 0, sizeof(struct hdhomerun_tuner_status_t)); + +@@ -374,18 +109,9 @@ + return ret; + } + +- if (pstatus_str) { +- *pstatus_str = status_str; +- } +- + char *channel = strstr(status_str, "ch="); + if (channel) { +- sscanf(channel + 3, "%31s", status->channel); +- } +- +- char *lock = strstr(status_str, "lock="); +- if (lock) { +- sscanf(lock + 5, "%31s", status->lock_str); ++ sscanf(channel + 3, "%s", status->channel); + } + + status->signal_strength = (unsigned int)hdhomerun_device_get_status_parse(status_str, "ss="); +@@ -394,16 +120,6 @@ + status->raw_bits_per_second = hdhomerun_device_get_status_parse(status_str, "bps="); + status->packets_per_second = hdhomerun_device_get_status_parse(status_str, "pps="); + +- status->signal_present = status->signal_strength >= 45; +- +- if (strcmp(status->lock_str, "none") != 0) { +- if (status->lock_str[0] == '(') { +- status->lock_unsupported = TRUE; +- } else { +- status->lock_supported = TRUE; +- } +- } +- + return 1; + } + +@@ -435,74 +151,26 @@ + return hdhomerun_control_get(hd->cs, name, pfilter, NULL); + } + +-int hdhomerun_device_get_tuner_program(struct hdhomerun_device_t *hd, char **pprogram) ++int hdhomerun_device_get_tuner_program(struct hdhomerun_device_t *hd, uint16_t *pprogram_number) + { + char name[32]; + sprintf(name, "/tuner%u/program", hd->tuner); +- return hdhomerun_control_get(hd->cs, name, pprogram, NULL); +-} +- +-int hdhomerun_device_get_tuner_target(struct hdhomerun_device_t *hd, char **ptarget) +-{ +- char name[32]; +- sprintf(name, "/tuner%u/target", hd->tuner); +- return hdhomerun_control_get(hd->cs, name, ptarget, NULL); +-} +- +-int hdhomerun_device_get_tuner_plotsample(struct hdhomerun_device_t *hd, struct hdhomerun_plotsample_t **psamples, size_t *pcount) +-{ +- char name[32]; +- sprintf(name, "/tuner%u/plotsample", hd->tuner); + +- char *result; +- int ret = hdhomerun_control_get(hd->cs, name, &result, NULL); ++ char *program_str; ++ int ret = hdhomerun_control_get(hd->cs, name, &program_str, NULL); + if (ret <= 0) { + return ret; + } + +- struct hdhomerun_plotsample_t *samples = (struct hdhomerun_plotsample_t *)result; +- *psamples = samples; +- size_t count = 0; +- +- while (1) { +- char *ptr = strchr(result, ' '); +- if (!ptr) { +- break; +- } +- *ptr++ = 0; +- +- unsigned long raw; +- if (sscanf(result, "%lx", &raw) != 1) { +- break; +- } +- +- uint16_t real = (raw >> 12) & 0x0FFF; +- if (real & 0x0800) { +- real |= 0xF000; +- } +- +- uint16_t imag = (raw >> 0) & 0x0FFF; +- if (imag & 0x0800) { +- imag |= 0xF000; +- } +- +- samples->real = (int16_t)real; +- samples->imag = (int16_t)imag; +- samples++; +- count++; +- +- result = ptr; +- } +- +- *pcount = count; ++ *pprogram_number = (uint16_t)atol(program_str); + return 1; + } + +-int hdhomerun_device_get_tuner_lockkey_owner(struct hdhomerun_device_t *hd, char **powner) ++int hdhomerun_device_get_tuner_target(struct hdhomerun_device_t *hd, char **ptarget) + { + char name[32]; +- sprintf(name, "/tuner%u/lockkey", hd->tuner); +- return hdhomerun_control_get(hd->cs, name, powner, NULL); ++ sprintf(name, "/tuner%u/target", hd->tuner); ++ return hdhomerun_control_get(hd->cs, name, ptarget, NULL); + } + + int hdhomerun_device_get_ir_target(struct hdhomerun_device_t *hd, char **ptarget) +@@ -510,11 +178,6 @@ + return hdhomerun_control_get(hd->cs, "/ir/target", ptarget, NULL); + } + +-int hdhomerun_device_get_lineup_location(struct hdhomerun_device_t *hd, char **plocation) +-{ +- return hdhomerun_control_get(hd->cs, "/lineup/location", plocation, NULL); +-} +- + int hdhomerun_device_get_version(struct hdhomerun_device_t *hd, char **pversion_str, uint32_t *pversion_num) + { + char *version_str; +@@ -543,119 +206,44 @@ + { + char name[32]; + sprintf(name, "/tuner%u/channel", hd->tuner); +- return hdhomerun_control_set_with_lockkey(hd->cs, name, channel, hd->lockkey, NULL, NULL); ++ return hdhomerun_control_set(hd->cs, name, channel, NULL, NULL); + } + + int hdhomerun_device_set_tuner_channelmap(struct hdhomerun_device_t *hd, const char *channelmap) + { + char name[32]; + sprintf(name, "/tuner%u/channelmap", hd->tuner); +- return hdhomerun_control_set_with_lockkey(hd->cs, name, channelmap, hd->lockkey, NULL, NULL); ++ return hdhomerun_control_set(hd->cs, name, channelmap, NULL, NULL); + } + + int hdhomerun_device_set_tuner_filter(struct hdhomerun_device_t *hd, const char *filter) + { + char name[32]; + sprintf(name, "/tuner%u/filter", hd->tuner); +- return hdhomerun_control_set_with_lockkey(hd->cs, name, filter, hd->lockkey, NULL, NULL); +-} +- +-static int hdhomerun_device_set_tuner_filter_by_array_append(char **pptr, char *end, uint16_t range_begin, uint16_t range_end) +-{ +- char *ptr = *pptr; +- +- size_t available = end - ptr; +- size_t required; +- +- if (range_begin == range_end) { +- required = snprintf(ptr, available, "0x%04x ", range_begin) + 1; +- } else { +- required = snprintf(ptr, available, "0x%04x-0x%04x ", range_begin, range_end) + 1; +- } +- +- if (required > available) { +- return FALSE; +- } +- +- *pptr = strchr(ptr, 0); +- return TRUE; +-} +- +-int hdhomerun_device_set_tuner_filter_by_array(struct hdhomerun_device_t *hd, unsigned char filter_array[0x2000]) +-{ +- char filter[1024]; +- char *ptr = filter; +- char *end = filter + sizeof(filter); +- +- uint16_t range_begin = 0xFFFF; +- uint16_t range_end = 0xFFFF; +- +- uint16_t i; +- for (i = 0; i <= 0x1FFF; i++) { +- if (!filter_array[i]) { +- if (range_begin == 0xFFFF) { +- continue; +- } +- if (!hdhomerun_device_set_tuner_filter_by_array_append(&ptr, end, range_begin, range_end)) { +- return 0; +- } +- range_begin = 0xFFFF; +- range_end = 0xFFFF; +- continue; +- } +- +- if (range_begin == 0xFFFF) { +- range_begin = i; +- range_end = i; +- continue; +- } +- +- range_end = i; +- } +- +- if (range_begin != 0xFFFF) { +- if (!hdhomerun_device_set_tuner_filter_by_array_append(&ptr, end, range_begin, range_end)) { +- return 0; +- } +- } +- +- /* Remove trailing space. */ +- if (ptr > filter) { +- ptr--; +- } +- *ptr = 0; +- +- return hdhomerun_device_set_tuner_filter(hd, filter); ++ return hdhomerun_control_set(hd->cs, name, filter, NULL, NULL); + } + +-int hdhomerun_device_set_tuner_program(struct hdhomerun_device_t *hd, const char *program) ++int hdhomerun_device_set_tuner_program(struct hdhomerun_device_t *hd, uint16_t program_number) + { +- char name[32]; ++ char name[32], value[32]; + sprintf(name, "/tuner%u/program", hd->tuner); +- return hdhomerun_control_set_with_lockkey(hd->cs, name, program, hd->lockkey, NULL, NULL); ++ sprintf(value, "%u", program_number); ++ return hdhomerun_control_set(hd->cs, name, value, NULL, NULL); + } + +-int hdhomerun_device_set_tuner_target(struct hdhomerun_device_t *hd, const char *target) ++int hdhomerun_device_set_tuner_target(struct hdhomerun_device_t *hd, char *target) + { + char name[32]; + sprintf(name, "/tuner%u/target", hd->tuner); +- return hdhomerun_control_set_with_lockkey(hd->cs, name, target, hd->lockkey, NULL, NULL); ++ return hdhomerun_control_set(hd->cs, name, target, NULL, NULL); + } + +-int hdhomerun_device_set_tuner_target_to_local_protocol(struct hdhomerun_device_t *hd, const char *protocol) ++static int hdhomerun_device_set_tuner_target_to_local(struct hdhomerun_device_t *hd) + { +- /* Create video socket. */ +- hdhomerun_device_get_video_sock(hd); +- if (!hd->vs) { +- return -1; +- } +- +- /* Set target. */ + char target[64]; + uint32_t local_ip = hdhomerun_control_get_local_addr(hd->cs); + uint16_t local_port = hdhomerun_video_get_local_port(hd->vs); +- sprintf(target, "%s://%u.%u.%u.%u:%u", +- protocol, ++ sprintf(target, "%u.%u.%u.%u:%u", + (unsigned int)(local_ip >> 24) & 0xFF, (unsigned int)(local_ip >> 16) & 0xFF, + (unsigned int)(local_ip >> 8) & 0xFF, (unsigned int)(local_ip >> 0) & 0xFF, + (unsigned int)local_port +@@ -664,21 +252,11 @@ + return hdhomerun_device_set_tuner_target(hd, target); + } + +-int hdhomerun_device_set_tuner_target_to_local(struct hdhomerun_device_t *hd) +-{ +- return hdhomerun_device_set_tuner_target_to_local_protocol(hd, HDHOMERUN_TARGET_PROTOCOL_UDP); +-} +- + int hdhomerun_device_set_ir_target(struct hdhomerun_device_t *hd, const char *target) + { + return hdhomerun_control_set(hd->cs, "/ir/target", target, NULL, NULL); + } + +-int hdhomerun_device_set_lineup_location(struct hdhomerun_device_t *hd, const char *location) +-{ +- return hdhomerun_control_set(hd->cs, "/lineup/location", location, NULL, NULL); +-} +- + int hdhomerun_device_get_var(struct hdhomerun_device_t *hd, const char *name, char **pvalue, char **perror) + { + return hdhomerun_control_get(hd->cs, name, pvalue, perror); +@@ -686,183 +264,41 @@ + + int hdhomerun_device_set_var(struct hdhomerun_device_t *hd, const char *name, const char *value, char **pvalue, char **perror) + { +- return hdhomerun_control_set_with_lockkey(hd->cs, name, value, hd->lockkey, pvalue, perror); +-} +- +-int hdhomerun_device_tuner_lockkey_request(struct hdhomerun_device_t *hd, char **perror) +-{ +- uint32_t new_lockkey = (uint32_t)getcurrenttime(); +- +- char name[32]; +- sprintf(name, "/tuner%u/lockkey", hd->tuner); +- +- char new_lockkey_str[64]; +- sprintf(new_lockkey_str, "%u", (unsigned int)new_lockkey); +- +- int ret = hdhomerun_control_set_with_lockkey(hd->cs, name, new_lockkey_str, hd->lockkey, NULL, perror); +- if (ret <= 0) { +- hd->lockkey = 0; +- return ret; +- } +- +- hd->lockkey = new_lockkey; +- return ret; +-} +- +-int hdhomerun_device_tuner_lockkey_release(struct hdhomerun_device_t *hd) +-{ +- if (hd->lockkey == 0) { +- return 1; +- } +- +- char name[32]; +- sprintf(name, "/tuner%u/lockkey", hd->tuner); +- int ret = hdhomerun_control_set_with_lockkey(hd->cs, name, "none", hd->lockkey, NULL, NULL); +- +- hd->lockkey = 0; +- return ret; +-} +- +-int hdhomerun_device_tuner_lockkey_force(struct hdhomerun_device_t *hd) +-{ +- char name[32]; +- sprintf(name, "/tuner%u/lockkey", hd->tuner); +- int ret = hdhomerun_control_set(hd->cs, name, "force", NULL, NULL); +- +- hd->lockkey = 0; +- return ret; +-} +- +-void hdhomerun_device_tuner_lockkey_use_value(struct hdhomerun_device_t *hd, uint32_t lockkey) +-{ +- hd->lockkey = lockkey; ++ return hdhomerun_control_set(hd->cs, name, value, pvalue, perror); + } + +-int hdhomerun_device_wait_for_lock(struct hdhomerun_device_t *hd, struct hdhomerun_tuner_status_t *status) ++int hdhomerun_device_stream_start(struct hdhomerun_device_t *hd) + { +- /* Delay for SS reading to be valid (signal present). */ +- msleep(250); +- +- /* Wait for up to 2.5 seconds for lock. */ +- uint64_t timeout = getcurrenttime() + 2500; +- while (1) { +- /* Get status to check for lock. Quality numbers will not be valid yet. */ +- int ret = hdhomerun_device_get_tuner_status(hd, NULL, status); +- if (ret <= 0) { +- return ret; +- } +- +- if (!status->signal_present) { +- return 1; +- } +- if (status->lock_supported || status->lock_unsupported) { +- return 1; +- } +- +- if (getcurrenttime() >= timeout) { +- return 1; +- } +- +- msleep(250); ++ /* Create video socket. */ ++ hdhomerun_device_get_video_sock(hd); ++ if (!hd->vs) { ++ return -1; + } +-} + +-int hdhomerun_device_stream_start(struct hdhomerun_device_t *hd) +-{ + /* Set target. */ +- int ret = hdhomerun_device_stream_refresh_target(hd); ++ int ret = hdhomerun_device_set_tuner_target_to_local(hd); + if (ret <= 0) { + return ret; + } + + /* Flush video buffer. */ +- msleep(64); ++ usleep(64000); + hdhomerun_video_flush(hd->vs); + + /* Success. */ + return 1; + } + +-int hdhomerun_device_stream_refresh_target(struct hdhomerun_device_t *hd) +-{ +- int ret = hdhomerun_device_set_tuner_target_to_local_protocol(hd, HDHOMERUN_TARGET_PROTOCOL_RTP); +- if (ret == 0) { +- ret = hdhomerun_device_set_tuner_target_to_local_protocol(hd, HDHOMERUN_TARGET_PROTOCOL_UDP); +- } +- return ret; +-} +- + uint8_t *hdhomerun_device_stream_recv(struct hdhomerun_device_t *hd, size_t max_size, size_t *pactual_size) + { +- if (!hd->vs) { +- return NULL; +- } + return hdhomerun_video_recv(hd->vs, max_size, pactual_size); + } + +-void hdhomerun_device_stream_flush(struct hdhomerun_device_t *hd) +-{ +- hdhomerun_video_flush(hd->vs); +-} +- + void hdhomerun_device_stream_stop(struct hdhomerun_device_t *hd) + { + hdhomerun_device_set_tuner_target(hd, "none"); + } + +-int hdhomerun_device_channelscan_init(struct hdhomerun_device_t *hd, const char *channelmap) +-{ +- if (hd->scan) { +- channelscan_destroy(hd->scan); +- } +- +- hd->scan = channelscan_create(hd, channelmap); +- if (!hd->scan) { +- return -1; +- } +- +- return 1; +-} +- +-int hdhomerun_device_channelscan_advance(struct hdhomerun_device_t *hd, struct hdhomerun_channelscan_result_t *result) +-{ +- if (!hd->scan) { +- return 0; +- } +- +- int ret = channelscan_advance(hd->scan, result); +- if (ret <= 0) { +- channelscan_destroy(hd->scan); +- hd->scan = NULL; +- } +- +- return ret; +-} +- +-int hdhomerun_device_channelscan_detect(struct hdhomerun_device_t *hd, struct hdhomerun_channelscan_result_t *result) +-{ +- if (!hd->scan) { +- return 0; +- } +- +- int ret = channelscan_detect(hd->scan, result); +- if (ret <= 0) { +- channelscan_destroy(hd->scan); +- hd->scan = NULL; +- } +- +- return ret; +-} +- +-uint8_t hdhomerun_device_channelscan_get_progress(struct hdhomerun_device_t *hd) +-{ +- if (!hd->scan) { +- return 0; +- } +- +- return channelscan_get_progress(hd->scan); +-} +- + int hdhomerun_device_firmware_version_check(struct hdhomerun_device_t *hd, uint32_t features) + { + uint32_t version; +@@ -870,74 +306,16 @@ + return -1; + } + +- if (version < 20070219) { +- return 0; ++ if (version >= 20061213) { ++ return 1; + } + +- return 1; +-} +- +-const char *hdhomerun_device_get_model_str(struct hdhomerun_device_t *hd) +-{ +- if (*hd->model) { +- return hd->model; +- } +- +- char *model_str; +- int ret = hdhomerun_control_get(hd->cs, "/sys/model", &model_str, NULL); +- if (ret < 0) { +- return NULL; +- } +- if (ret == 0) { +- model_str = "hdhomerun_atsc"; +- } +- +- strncpy(hd->model, model_str, sizeof(hd->model) - 1); +- hd->model[sizeof(hd->model) - 1] = 0; +- +- return hd->model; ++ return 0; + } + + int hdhomerun_device_upgrade(struct hdhomerun_device_t *hd, FILE *upgrade_file) + { +- hdhomerun_control_set(hd->cs, "/tuner0/lockkey", "force", NULL, NULL); + hdhomerun_control_set(hd->cs, "/tuner0/channel", "none", NULL, NULL); +- +- hdhomerun_control_set(hd->cs, "/tuner1/lockkey", "force", NULL, NULL); + hdhomerun_control_set(hd->cs, "/tuner1/channel", "none", NULL, NULL); +- + return hdhomerun_control_upgrade(hd->cs, upgrade_file); + } +- +-void hdhomerun_device_debug_print_video_stats(struct hdhomerun_device_t *hd) +-{ +- if (!hdhomerun_debug_enabled(hd->dbg)) { +- return; +- } +- +- char name[32]; +- sprintf(name, "/tuner%u/debug", hd->tuner); +- +- char *debug_str; +- char *error_str; +- int ret = hdhomerun_control_get(hd->cs, name, &debug_str, &error_str); +- if (ret < 0) { +- hdhomerun_debug_printf(hd->dbg, "video dev: communication error getting debug stats\n"); +- return; +- } +- +- if (error_str) { +- hdhomerun_debug_printf(hd->dbg, "video dev: %s\n", error_str); +- } else { +- hdhomerun_debug_printf(hd->dbg, "video dev: %s\n", debug_str); +- } +- +- if (hd->vs) { +- hdhomerun_video_debug_print_stats(hd->vs); +- } +-} +- +-void hdhomerun_device_get_video_stats(struct hdhomerun_device_t *hd, struct hdhomerun_video_stats_t *stats) +-{ +- hdhomerun_video_get_stats(hd->vs, stats); +-} +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_device.h src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_device.h +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_device.h 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_device.h 2009-01-09 13:14:56.000000000 +1030 +@@ -1,12 +1,12 @@ + /* + * hdhomerun_device.h + * +- * Copyright © 2006-2008 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -14,20 +14,8 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + #ifdef __cplusplus +@@ -38,8 +26,16 @@ + #define HDHOMERUN_DEVICE_MAX_LOCK_TO_DATA_TIME 2000 + #define HDHOMERUN_DEVICE_MAX_TUNE_TO_DATA_TIME (HDHOMERUN_DEVICE_MAX_TUNE_TO_LOCK_TIME + HDHOMERUN_DEVICE_MAX_LOCK_TO_DATA_TIME) + +-#define HDHOMERUN_TARGET_PROTOCOL_UDP "udp" +-#define HDHOMERUN_TARGET_PROTOCOL_RTP "rtp" ++struct hdhomerun_device_t; ++ ++struct hdhomerun_tuner_status_t { ++ char channel[32]; ++ unsigned int signal_strength; ++ unsigned int signal_to_noise_quality; ++ unsigned int symbol_error_quality; ++ uint32_t raw_bits_per_second; ++ uint32_t packets_per_second; ++}; + + /* + * Create a device object. +@@ -49,49 +45,22 @@ + * + * For example, a threaded application that streams video from 4 tuners (2 HDHomeRun devices) and has + * GUI feedback to the user of the selected tuner might use 5 device objects: 4 for streaming video +- * (one per thread) and one for the GUI display that can switch between tuners. ++ * (one per thread) and one for the GUI display that can just between tuners. + * +- * This function will not attempt to connect to the device. The connection will be established when first used. ++ * This function will not attempt to connect to the device. ++ * The connection will be established when first used. + * + * uint32_t device_id = 32-bit device id of device. Set to HDHOMERUN_DEVICE_ID_WILDCARD to match any device ID. + * uint32_t device_ip = IP address of device. Set to 0 to auto-detect. + * unsigned int tuner = tuner index (0 or 1). Can be changed later by calling hdhomerun_device_set_tuner. +- * struct hdhomerun_debug_t *dbg: Pointer to debug logging object. May be NULL. + * + * Returns a pointer to the newly created device object. + * + * When no longer needed, the socket should be destroyed by calling hdhomerun_device_destroy. +- * +- * The hdhomerun_device_create_from_str function creates a device object from the given device_str. +- * The device_str parameter can be any of the following forms: +- * <device id> +- * <device id>-<tuner index> +- * <ip address> +- * If the tuner index is not included in the device_str then it is set to zero. Use hdhomerun_device_set_tuner +- * or hdhomerun_device_set_tuner_from_str to set the tuner. +- * +- * The hdhomerun_device_set_tuner_from_str function sets the tuner from the given tuner_str. +- * The tuner_str parameter can be any of the following forms: +- * <tuner index> +- * /tuner<tuner index> + */ +-extern LIBTYPE struct hdhomerun_device_t *hdhomerun_device_create(uint32_t device_id, uint32_t device_ip, unsigned int tuner, struct hdhomerun_debug_t *dbg); +-extern LIBTYPE struct hdhomerun_device_t *hdhomerun_device_create_from_str(const char *device_str, struct hdhomerun_debug_t *dbg); +-extern LIBTYPE void hdhomerun_device_destroy(struct hdhomerun_device_t *hd); +- +-/* +- * Get the device id, ip, or tuner of the device instance. +- */ +-extern LIBTYPE const char *hdhomerun_device_get_name(struct hdhomerun_device_t *hd); +-extern LIBTYPE uint32_t hdhomerun_device_get_device_id(struct hdhomerun_device_t *hd); +-extern LIBTYPE uint32_t hdhomerun_device_get_device_ip(struct hdhomerun_device_t *hd); +-extern LIBTYPE uint32_t hdhomerun_device_get_device_id_requested(struct hdhomerun_device_t *hd); +-extern LIBTYPE uint32_t hdhomerun_device_get_device_ip_requested(struct hdhomerun_device_t *hd); +-extern LIBTYPE unsigned int hdhomerun_device_get_tuner(struct hdhomerun_device_t *hd); +- +-extern LIBTYPE void hdhomerun_device_set_device(struct hdhomerun_device_t *hd, uint32_t device_id, uint32_t device_ip); +-extern LIBTYPE void hdhomerun_device_set_tuner(struct hdhomerun_device_t *hd, unsigned int tuner); +-extern LIBTYPE int hdhomerun_device_set_tuner_from_str(struct hdhomerun_device_t *hd, const char *tuner_str); ++extern struct hdhomerun_device_t *hdhomerun_device_create(uint32_t device_id, uint32_t device_ip, unsigned int tuner); ++extern void hdhomerun_device_destroy(struct hdhomerun_device_t *hd); ++extern void hdhomerun_device_set_tuner(struct hdhomerun_device_t *hd, unsigned int tuner); + + /* + * Get the local machine IP address used when communicating with the device. +@@ -100,7 +69,7 @@ + * + * Returns 32-bit IP address with native endianness, or 0 on error. + */ +-extern LIBTYPE uint32_t hdhomerun_device_get_local_machine_addr(struct hdhomerun_device_t *hd); ++extern uint32_t hdhomerun_device_get_local_machine_addr(struct hdhomerun_device_t *hd); + + /* + * Get operations. +@@ -113,24 +82,15 @@ + * Returns 0 if the operation was rejected. + * Returns -1 if a communication error occurred. + */ +-extern LIBTYPE int hdhomerun_device_get_tuner_status(struct hdhomerun_device_t *hd, char **pstatus_str, struct hdhomerun_tuner_status_t *status); +-extern LIBTYPE int hdhomerun_device_get_tuner_streaminfo(struct hdhomerun_device_t *hd, char **pstreaminfo); +-extern LIBTYPE int hdhomerun_device_get_tuner_channel(struct hdhomerun_device_t *hd, char **pchannel); +-extern LIBTYPE int hdhomerun_device_get_tuner_channelmap(struct hdhomerun_device_t *hd, char **pchannelmap); +-extern LIBTYPE int hdhomerun_device_get_tuner_filter(struct hdhomerun_device_t *hd, char **pfilter); +-extern LIBTYPE int hdhomerun_device_get_tuner_program(struct hdhomerun_device_t *hd, char **pprogram); +-extern LIBTYPE int hdhomerun_device_get_tuner_target(struct hdhomerun_device_t *hd, char **ptarget); +-extern LIBTYPE int hdhomerun_device_get_tuner_plotsample(struct hdhomerun_device_t *hd, struct hdhomerun_plotsample_t **psamples, size_t *pcount); +-extern LIBTYPE int hdhomerun_device_get_tuner_lockkey_owner(struct hdhomerun_device_t *hd, char **powner); +-extern LIBTYPE int hdhomerun_device_get_ir_target(struct hdhomerun_device_t *hd, char **ptarget); +-extern LIBTYPE int hdhomerun_device_get_lineup_location(struct hdhomerun_device_t *hd, char **plocation); +-extern LIBTYPE int hdhomerun_device_get_version(struct hdhomerun_device_t *hd, char **pversion_str, uint32_t *pversion_num); +- +-extern LIBTYPE uint32_t hdhomerun_device_get_tuner_status_ss_color(struct hdhomerun_tuner_status_t *status); +-extern LIBTYPE uint32_t hdhomerun_device_get_tuner_status_snq_color(struct hdhomerun_tuner_status_t *status); +-extern LIBTYPE uint32_t hdhomerun_device_get_tuner_status_seq_color(struct hdhomerun_tuner_status_t *status); +- +-extern LIBTYPE const char *hdhomerun_device_get_model_str(struct hdhomerun_device_t *hd); ++extern int hdhomerun_device_get_tuner_status(struct hdhomerun_device_t *hd, struct hdhomerun_tuner_status_t *status); ++extern int hdhomerun_device_get_tuner_streaminfo(struct hdhomerun_device_t *hd, char **pstreaminfo); ++extern int hdhomerun_device_get_tuner_channel(struct hdhomerun_device_t *hd, char **pchannel); ++extern int hdhomerun_device_get_tuner_channelmap(struct hdhomerun_device_t *hd, char **pchannelmap); ++extern int hdhomerun_device_get_tuner_filter(struct hdhomerun_device_t *hd, char **pfilter); ++extern int hdhomerun_device_get_tuner_program(struct hdhomerun_device_t *hd, uint16_t *pprogram_number); ++extern int hdhomerun_device_get_tuner_target(struct hdhomerun_device_t *hd, char **ptarget); ++extern int hdhomerun_device_get_ir_target(struct hdhomerun_device_t *hd, char **ptarget); ++extern int hdhomerun_device_get_version(struct hdhomerun_device_t *hd, char **pversion_str, uint32_t *pversion_num); + + /* + * Set operations. +@@ -141,16 +101,12 @@ + * Returns 0 if the operation was rejected. + * Returns -1 if a communication error occurred. + */ +-extern LIBTYPE int hdhomerun_device_set_tuner_channel(struct hdhomerun_device_t *hd, const char *channel); +-extern LIBTYPE int hdhomerun_device_set_tuner_channelmap(struct hdhomerun_device_t *hd, const char *channelmap); +-extern LIBTYPE int hdhomerun_device_set_tuner_filter(struct hdhomerun_device_t *hd, const char *filter); +-extern LIBTYPE int hdhomerun_device_set_tuner_filter_by_array(struct hdhomerun_device_t *hd, unsigned char filter_array[0x2000]); +-extern LIBTYPE int hdhomerun_device_set_tuner_program(struct hdhomerun_device_t *hd, const char *program); +-extern LIBTYPE int hdhomerun_device_set_tuner_target(struct hdhomerun_device_t *hd, const char *target); +-extern LIBTYPE int hdhomerun_device_set_tuner_target_to_local_protocol(struct hdhomerun_device_t *hd, const char *protocol); +-extern LIBTYPE int hdhomerun_device_set_tuner_target_to_local(struct hdhomerun_device_t *hd); +-extern LIBTYPE int hdhomerun_device_set_ir_target(struct hdhomerun_device_t *hd, const char *target); +-extern LIBTYPE int hdhomerun_device_set_lineup_location(struct hdhomerun_device_t *hd, const char *location); ++extern int hdhomerun_device_set_tuner_channel(struct hdhomerun_device_t *hd, const char *channel); ++extern int hdhomerun_device_set_tuner_channelmap(struct hdhomerun_device_t *hd, const char *channelmap); ++extern int hdhomerun_device_set_tuner_filter(struct hdhomerun_device_t *hd, const char *filter); ++extern int hdhomerun_device_set_tuner_program(struct hdhomerun_device_t *hd, uint16_t program_number); ++extern int hdhomerun_device_set_tuner_target(struct hdhomerun_device_t *hd, char *target); ++extern int hdhomerun_device_set_ir_target(struct hdhomerun_device_t *hd, const char *target); + + /* + * Get/set a named control variable on the device. +@@ -169,42 +125,8 @@ + * Returns 0 if the operation was rejected (pvalue NULL, perror set). + * Returns -1 if a communication error occurs. + */ +-extern LIBTYPE int hdhomerun_device_get_var(struct hdhomerun_device_t *hd, const char *name, char **pvalue, char **perror); +-extern LIBTYPE int hdhomerun_device_set_var(struct hdhomerun_device_t *hd, const char *name, const char *value, char **pvalue, char **perror); +- +-/* +- * Tuner locking. +- * +- * The hdhomerun_device_tuner_lockkey_request function is used to obtain a lock +- * or to verify that the hdhomerun_device object still holds the lock. +- * Returns 1 if the lock request was successful and the lock was obtained. +- * Returns 0 if the lock request was rejected. +- * Returns -1 if a communication error occurs. +- * +- * The hdhomerun_device_tuner_lockkey_release function is used to release a +- * previously held lock. If locking is used then this function must be called +- * before destroying the hdhomerun_device object. +- */ +-extern LIBTYPE int hdhomerun_device_tuner_lockkey_request(struct hdhomerun_device_t *hd, char **perror); +-extern LIBTYPE int hdhomerun_device_tuner_lockkey_release(struct hdhomerun_device_t *hd); +-extern LIBTYPE int hdhomerun_device_tuner_lockkey_force(struct hdhomerun_device_t *hd); +- +-/* +- * Intended only for non persistent connections; eg, hdhomerun_config. +- */ +-extern LIBTYPE void hdhomerun_device_tuner_lockkey_use_value(struct hdhomerun_device_t *hd, uint32_t lockkey); +- +-/* +- * Wait for tuner lock after channel change. +- * +- * The hdhomerun_device_wait_for_lock function is used to detect/wait for a lock vs no lock indication +- * after a channel change. +- * +- * It will return quickly if a lock is aquired. +- * It will return quickly if there is no signal detected. +- * Worst case it will time out after 1.5 seconds - the case where there is signal but no lock. +- */ +-extern LIBTYPE int hdhomerun_device_wait_for_lock(struct hdhomerun_device_t *hd, struct hdhomerun_tuner_status_t *status); ++extern int hdhomerun_device_get_var(struct hdhomerun_device_t *hd, const char *name, char **pvalue, char **perror); ++extern int hdhomerun_device_set_var(struct hdhomerun_device_t *hd, const char *name, const char *value, char **pvalue, char **perror); + + /* + * Stream a filtered program or the unfiltered stream. +@@ -222,19 +144,9 @@ + * + * The hdhomerun_device_stream_stop function tells the device to stop streaming data. + */ +-extern LIBTYPE int hdhomerun_device_stream_start(struct hdhomerun_device_t *hd); +-extern LIBTYPE int hdhomerun_device_stream_refresh_target(struct hdhomerun_device_t *hd); +-extern LIBTYPE uint8_t *hdhomerun_device_stream_recv(struct hdhomerun_device_t *hd, size_t max_size, size_t *pactual_size); +-extern LIBTYPE void hdhomerun_device_stream_flush(struct hdhomerun_device_t *hd); +-extern LIBTYPE void hdhomerun_device_stream_stop(struct hdhomerun_device_t *hd); +- +-/* +- * Channel scan API. +- */ +-extern LIBTYPE int hdhomerun_device_channelscan_init(struct hdhomerun_device_t *hd, const char *channelmap); +-extern LIBTYPE int hdhomerun_device_channelscan_advance(struct hdhomerun_device_t *hd, struct hdhomerun_channelscan_result_t *result); +-extern LIBTYPE int hdhomerun_device_channelscan_detect(struct hdhomerun_device_t *hd, struct hdhomerun_channelscan_result_t *result); +-extern LIBTYPE uint8_t hdhomerun_device_channelscan_get_progress(struct hdhomerun_device_t *hd); ++extern int hdhomerun_device_stream_start(struct hdhomerun_device_t *hd); ++extern uint8_t *hdhomerun_device_stream_recv(struct hdhomerun_device_t *hd, size_t max_size, size_t *pactual_size); ++extern void hdhomerun_device_stream_stop(struct hdhomerun_device_t *hd); + + /* + * Check that the device is running the recommended firmware. +@@ -245,7 +157,7 @@ + * Returns 0 if th firmware does not meet the minimum requriements for all operations. + * Returns -1 if an error occurs. + */ +-extern LIBTYPE int hdhomerun_device_firmware_version_check(struct hdhomerun_device_t *hd, uint32_t features); ++extern int hdhomerun_device_firmware_version_check(struct hdhomerun_device_t *hd, uint32_t features); + + /* + * Upload new firmware to the device. +@@ -256,19 +168,13 @@ + * Returns 0 if the upload was rejected. + * Returns -1 if an error occurs. + */ +-extern LIBTYPE int hdhomerun_device_upgrade(struct hdhomerun_device_t *hd, FILE *upgrade_file); ++extern int hdhomerun_device_upgrade(struct hdhomerun_device_t *hd, FILE *upgrade_file); + + /* + * Low level accessor functions. + */ +-extern LIBTYPE struct hdhomerun_control_sock_t *hdhomerun_device_get_control_sock(struct hdhomerun_device_t *hd); +-extern LIBTYPE struct hdhomerun_video_sock_t *hdhomerun_device_get_video_sock(struct hdhomerun_device_t *hd); +- +-/* +- * Debug print internal stats. +- */ +-extern LIBTYPE void hdhomerun_device_debug_print_video_stats(struct hdhomerun_device_t *hd); +-extern LIBTYPE void hdhomerun_device_get_video_stats(struct hdhomerun_device_t *hd, struct hdhomerun_video_stats_t *stats); ++extern struct hdhomerun_control_sock_t *hdhomerun_device_get_control_sock(struct hdhomerun_device_t *hd); ++extern struct hdhomerun_video_sock_t *hdhomerun_device_get_video_sock(struct hdhomerun_device_t *hd); + + #ifdef __cplusplus + } +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_device_selector.c +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_device_selector.h +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_dhcp.c +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_dhcp.h +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_discover.c src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_discover.c +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_discover.c 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_discover.c 2009-01-09 13:14:56.000000000 +1030 +@@ -1,12 +1,12 @@ + /* + * hdhomerun_discover.c + * +- * Copyright © 2006-2007 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -14,93 +14,206 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#include "hdhomerun.h" ++#include "hdhomerun_os.h" ++#include "hdhomerun_pkt.h" ++#include "hdhomerun_discover.h" + + #if defined(__CYGWIN__) || defined(__WINDOWS__) + #include <windows.h> ++#include <iptypes.h> + #include <iphlpapi.h> +-#define USE_IPHLPAPI 1 +-#else +-#include <net/if.h> +-#include <sys/ioctl.h> +-#ifndef _SIZEOF_ADDR_IFREQ +-#define _SIZEOF_ADDR_IFREQ(x) sizeof(x) +-#endif + #endif + +-#define HDHOMERUN_DISOCVER_MAX_SOCK_COUNT 16 ++// for OSX ++#include <unistd.h> // execl, pipe, sysconf ++#include <sys/types.h> // waitpid ++#include <sys/wait.h> // waitpid + + struct hdhomerun_discover_sock_t { + int sock; +- uint32_t local_ip; +- uint32_t subnet_mask; + }; + +-struct hdhomerun_discover_t { +- struct hdhomerun_discover_sock_t socks[HDHOMERUN_DISOCVER_MAX_SOCK_COUNT]; +- unsigned int sock_count; +- struct hdhomerun_pkt_t tx_pkt; +- struct hdhomerun_pkt_t rx_pkt; +-}; +- +-static bool_t hdhomerun_discover_sock_create(struct hdhomerun_discover_t *ds, uint32_t local_ip, uint32_t subnet_mask) ++static struct hdhomerun_discover_sock_t *hdhomerun_discover_create(void) + { +- if (ds->sock_count >= HDHOMERUN_DISOCVER_MAX_SOCK_COUNT) { +- return FALSE; ++ struct hdhomerun_discover_sock_t *ds = (struct hdhomerun_discover_sock_t *)malloc(sizeof(struct hdhomerun_discover_sock_t)); ++ if (!ds) { ++ return NULL; + } +- ++ + /* Create socket. */ +- int sock = (int)socket(AF_INET, SOCK_DGRAM, 0); +- if (sock == -1) { +- return FALSE; ++ ds->sock = (int)socket(AF_INET, SOCK_DGRAM, 0); ++ if (ds->sock == -1) { ++ free(ds); ++ return NULL; + } + + /* Set timeouts. */ +- setsocktimeout(sock, SOL_SOCKET, SO_SNDTIMEO, 1000); +- setsocktimeout(sock, SOL_SOCKET, SO_RCVTIMEO, 1000); ++ setsocktimeout(ds->sock, SOL_SOCKET, SO_SNDTIMEO, 1000); ++ setsocktimeout(ds->sock, SOL_SOCKET, SO_RCVTIMEO, 1000); + + /* Allow broadcast. */ + int sock_opt = 1; +- setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char *)&sock_opt, sizeof(sock_opt)); ++ setsockopt(ds->sock, SOL_SOCKET, SO_BROADCAST, (char *)&sock_opt, sizeof(sock_opt)); + + /* Bind socket. */ + struct sockaddr_in sock_addr; + memset(&sock_addr, 0, sizeof(sock_addr)); + sock_addr.sin_family = AF_INET; +- sock_addr.sin_addr.s_addr = htonl(local_ip); ++ sock_addr.sin_addr.s_addr = htonl(INADDR_ANY); + sock_addr.sin_port = htons(0); +- if (bind(sock, (struct sockaddr *)&sock_addr, sizeof(sock_addr)) != 0) { +- close(sock); +- return FALSE; ++ if (bind(ds->sock, (struct sockaddr *)&sock_addr, sizeof(sock_addr)) != 0) { ++ close(ds->sock); ++ free(ds); ++ return NULL; + } + +- /* Write sock entry. */ +- struct hdhomerun_discover_sock_t *dss = &ds->socks[ds->sock_count++]; +- dss->sock = sock; +- dss->local_ip = local_ip; +- dss->subnet_mask = subnet_mask; ++ /* Success. */ ++ return ds; ++} + +- return TRUE; ++static void hdhomerun_discover_destroy(struct hdhomerun_discover_sock_t *ds) ++{ ++ close(ds->sock); ++ free(ds); + } + +-#if defined(USE_IPHLPAPI) +-static void hdhomerun_discover_sock_detect(struct hdhomerun_discover_t *ds) ++static int hdhomerun_discover_send_packet(struct hdhomerun_discover_sock_t *ds, uint32_t ip_addr, uint32_t device_type, uint32_t device_id) ++{ ++ uint8_t buffer[1024]; ++ uint8_t *ptr = buffer; ++ hdhomerun_write_discover_request(&ptr, device_type, device_id); ++ ++ struct sockaddr_in sock_addr; ++ memset(&sock_addr, 0, sizeof(sock_addr)); ++ sock_addr.sin_family = AF_INET; ++ sock_addr.sin_addr.s_addr = htonl(ip_addr); ++ sock_addr.sin_port = htons(HDHOMERUN_DISCOVER_UDP_PORT); ++ ++ int length = (int)(ptr - buffer); ++ if (sendto(ds->sock, (char *)buffer, (int)length, 0, (struct sockaddr *)&sock_addr, sizeof(sock_addr)) != length) { ++ return -1; ++ } ++ ++ return 0; ++} ++ ++#if defined(__APPLE__) ++static int hdhomerun_discover_send_internal(struct hdhomerun_discover_sock_t *ds, unsigned long device_type, unsigned long device_id) ++{ ++ /* printf("Looking for 0x%lx with id 0x%lx\n", device_type, device_id); */ ++ int fds[2]; ++ if (pipe(fds) < 0) ++ { ++ printf("Pipe Failed\n"); ++ return -1; ++ } ++ ++ pid_t child = fork(); ++ if (child < 0) ++ { ++ printf("Fork Failed\n"); ++ return -1; ++ } ++ else if (child == 0) ++ { ++ /* Child */ ++ int i = 0; ++ ++ /* Attach stdout to pipe */ ++ close(1); ++ dup2(fds[1], 1); ++ ++ /* Close all open file descriptors except stdout/stderr */ ++ for (i = sysconf(_SC_OPEN_MAX) - 1; i > 2; i--) ++ close(i); ++ ++ /* Run command */ ++ execl("/bin/sh", "sh", "-c", "ifconfig", NULL); ++ ++ /* Failed to exec */ ++ _exit(1); /* this exit is ok */ ++ } ++ else ++ { ++ /* Parent */ ++ int send_count = 0; ++ int status; ++ FILE *fp; ++ char line[1024]; ++ char adaptor[1024]; ++ ++ close(fds[1]); ++ ++ if (waitpid(child, &status, 0) < 0) ++ return -1; ++ ++ if (WEXITSTATUS(status)) ++ return -1; ++ ++ fp = fdopen(fds[0], "r"); ++ while (1) ++ { ++ char *ptr = NULL; ++ int netmask, broadcast; ++ int a,b,c,d; ++ ++ if (!fgets(line, sizeof(line) - 1, fp)) ++ { ++ break; ++ } ++ ++ line[1023] = 0; ++ ++ /* find ": flags" */ ++ ptr = strnstr(line, ": flags", 1024 - 1); ++ if (ptr >= line) ++ { ++ /* grab adaptor before that */ ++ strncpy(adaptor, line, ptr-line); ++ adaptor[ptr-line] = 0; ++ } ++ ++ /* find "netmask " */ ++ ptr = strnstr(line, "netmask ", 1024 - 1); ++ if (ptr <= line) ++ continue; ++ ptr += strlen("netmask "); ++ sscanf(ptr, "%x", &netmask); ++ ++ /* find "broadcast " */ ++ ptr = strnstr(ptr, "broadcast ", 1024 - 1); ++ if (ptr <= line) ++ continue; ++ ptr += strlen("broadcast "); ++ sscanf(ptr, "%i.%i.%i.%i", &a, &b, &c, &d); ++ broadcast = a<<24 | b<<16 | c<<8 | d; ++ /* ++ printf("Adaptor: '%s' 0x%08x %i.%i.%i.%i\n", ++ adaptor, broadcast, a,b,c,d); ++ */ ++ ++ /* send discover packet this adaptor */ ++ if (hdhomerun_discover_send_packet( ++ ds, broadcast, device_type, device_id) >= 0) ++ { ++ send_count++; ++ } ++ } ++ ++ fclose(fp); /* this closes fds[0] as well */ ++ ++ /* printf("send_count: %i\n\n", send_count); */ ++ return (send_count == 0) ? -1 : 0; ++ } ++} ++ ++#elif defined(__CYGWIN__) || defined(__WINDOWS__) ++ ++static int hdhomerun_discover_send_internal(struct hdhomerun_discover_sock_t *ds, uint32_t device_type, uint32_t device_id) + { + PIP_ADAPTER_INFO pAdapterInfo = (IP_ADAPTER_INFO *)malloc(sizeof(IP_ADAPTER_INFO)); + ULONG ulOutBufLen = sizeof(IP_ADAPTER_INFO); +@@ -109,29 +222,37 @@ + if (Ret != NO_ERROR) { + free(pAdapterInfo); + if (Ret != ERROR_BUFFER_OVERFLOW) { +- return; ++ return -1; + } + pAdapterInfo = (IP_ADAPTER_INFO *)malloc(ulOutBufLen); + Ret = GetAdaptersInfo(pAdapterInfo, &ulOutBufLen); + if (Ret != NO_ERROR) { + free(pAdapterInfo); +- return; ++ return -1; + } + } + ++ unsigned int send_count = 0; + PIP_ADAPTER_INFO pAdapter = pAdapterInfo; + while (pAdapter) { + IP_ADDR_STRING *pIPAddr = &pAdapter->IpAddressList; + while (pIPAddr) { +- uint32_t local_ip = ntohl(inet_addr(pIPAddr->IpAddress.String)); ++ uint32_t addr = ntohl(inet_addr(pIPAddr->IpAddress.String)); + uint32_t mask = ntohl(inet_addr(pIPAddr->IpMask.String)); ++ ++ uint32_t broadcast = addr | ~mask; ++ if ((broadcast == 0x00000000) || (broadcast == 0xFFFFFFFF)) { ++ pIPAddr = pIPAddr->Next; ++ continue; ++ } + +- if (local_ip == 0) { ++ if (hdhomerun_discover_send_packet(ds, broadcast, device_type, device_id) < 0) { + pIPAddr = pIPAddr->Next; + continue; + } + +- hdhomerun_discover_sock_create(ds, local_ip, mask); ++ send_count++; ++ + pIPAddr = pIPAddr->Next; + } + +@@ -139,198 +260,111 @@ + } + + free(pAdapterInfo); +-} +- +-#else + +-static void hdhomerun_discover_sock_detect(struct hdhomerun_discover_t *ds) +-{ +- int fd = socket(AF_INET, SOCK_DGRAM, 0); +- if (fd == -1) { +- return; ++ if (send_count == 0) { ++ return -1; + } ++ return 0; ++} + +- struct ifconf ifc; +- uint8_t buf[8192]; +- ifc.ifc_len = sizeof(buf); +- ifc.ifc_buf = (char *)buf; +- +- memset(buf, 0, sizeof(buf)); ++#elif defined(__linux__) + +- if (ioctl(fd, SIOCGIFCONF, &ifc) != 0) { +- close(fd); +- return; ++static int hdhomerun_discover_send_internal(struct hdhomerun_discover_sock_t *ds, uint32_t device_type, uint32_t device_id) ++{ ++ FILE *fp = fopen("/proc/net/route", "r"); ++ if (!fp) { ++ return -1; + } + +- uint8_t *ptr = (uint8_t *)ifc.ifc_req; +- uint8_t *end = (uint8_t *)&ifc.ifc_buf[ifc.ifc_len]; +- +- while (ptr <= end) { +- struct ifreq *ifr = (struct ifreq *)ptr; +- ptr += _SIZEOF_ADDR_IFREQ(*ifr); ++ unsigned int send_count = 0; ++ while (1) { ++ char line[256]; ++ if (!fgets(line, sizeof(line), fp)) { ++ break; ++ } ++ line[255] = 0; + +- if (ioctl(fd, SIOCGIFADDR, ifr) != 0) { ++ uint32_t dest; ++ uint32_t mask; ++ if (sscanf(line, "%*s %x %*x %*x %*d %*d %*d %x", &dest, &mask) != 2) { + continue; + } +- struct sockaddr_in *addr_in = (struct sockaddr_in *)&(ifr->ifr_addr); +- uint32_t local_ip = ntohl(addr_in->sin_addr.s_addr); +- if (local_ip == 0) { ++ dest = ntohl(dest); ++ mask = ntohl(mask); ++ ++ uint32_t broadcast = dest | ~mask; ++ ++ if ((broadcast == 0x00000000) || (broadcast == 0xFFFFFFFF)) { + continue; + } + +- if (ioctl(fd, SIOCGIFNETMASK, ifr) != 0) { ++ if (hdhomerun_discover_send_packet(ds, broadcast, device_type, device_id) < 0) { + continue; + } +- struct sockaddr_in *mask_in = (struct sockaddr_in *)&(ifr->ifr_addr); +- uint32_t mask = ntohl(mask_in->sin_addr.s_addr); + +- hdhomerun_discover_sock_create(ds, local_ip, mask); ++ send_count++; + } +-} +-#endif + +-static struct hdhomerun_discover_t *hdhomerun_discover_create(void) +-{ +- struct hdhomerun_discover_t *ds = (struct hdhomerun_discover_t *)calloc(1, sizeof(struct hdhomerun_discover_t)); +- if (!ds) { +- return NULL; +- } +- +- /* Create a routable socket. */ +- if (!hdhomerun_discover_sock_create(ds, 0, 0)) { +- free(ds); +- return NULL; ++ fclose(fp); ++ if (send_count == 0) { ++ return -1; + } +- +- /* Detect & create local sockets. */ +- hdhomerun_discover_sock_detect(ds); +- +- /* Success. */ +- return ds; ++ return 0; + } + +-static void hdhomerun_discover_destroy(struct hdhomerun_discover_t *ds) +-{ +- unsigned int i; +- for (i = 0; i < ds->sock_count; i++) { +- struct hdhomerun_discover_sock_t *dss = &ds->socks[i]; +- close(dss->sock); +- } +- +- free(ds); +-} ++#else + +-static bool_t hdhomerun_discover_send_internal(struct hdhomerun_discover_t *ds, struct hdhomerun_discover_sock_t *dss, uint32_t target_ip, uint32_t device_type, uint32_t device_id) ++static int hdhomerun_discover_send_internal(struct hdhomerun_discover_sock_t *ds, uint32_t device_type, uint32_t device_id) + { +- struct hdhomerun_pkt_t *tx_pkt = &ds->tx_pkt; +- hdhomerun_pkt_reset(tx_pkt); +- +- hdhomerun_pkt_write_u8(tx_pkt, HDHOMERUN_TAG_DEVICE_TYPE); +- hdhomerun_pkt_write_var_length(tx_pkt, 4); +- hdhomerun_pkt_write_u32(tx_pkt, device_type); +- hdhomerun_pkt_write_u8(tx_pkt, HDHOMERUN_TAG_DEVICE_ID); +- hdhomerun_pkt_write_var_length(tx_pkt, 4); +- hdhomerun_pkt_write_u32(tx_pkt, device_id); +- hdhomerun_pkt_seal_frame(tx_pkt, HDHOMERUN_TYPE_DISCOVER_REQ); +- +- struct sockaddr_in sock_addr; +- memset(&sock_addr, 0, sizeof(sock_addr)); +- sock_addr.sin_family = AF_INET; +- sock_addr.sin_addr.s_addr = htonl(target_ip); +- sock_addr.sin_port = htons(HDHOMERUN_DISCOVER_UDP_PORT); +- +- int length = (int)(tx_pkt->end - tx_pkt->start); +- if (sendto(dss->sock, (char *)tx_pkt->start, length, 0, (struct sockaddr *)&sock_addr, sizeof(sock_addr)) != length) { +- return FALSE; +- } +- +- return TRUE; ++ return -1; + } ++#endif + +-static bool_t hdhomerun_discover_send_wildcard_ip(struct hdhomerun_discover_t *ds, uint32_t device_type, uint32_t device_id) ++static int hdhomerun_discover_send(struct hdhomerun_discover_sock_t *ds, uint32_t device_type, uint32_t device_id) + { +- bool_t result = FALSE; +- +- /* +- * Send subnet broadcast using each local ip socket. +- * This will work with multiple separate 169.254.x.x interfaces. +- */ +- unsigned int i; +- for (i = 1; i < ds->sock_count; i++) { +- struct hdhomerun_discover_sock_t *dss = &ds->socks[i]; +- uint32_t target_ip = dss->local_ip | ~dss->subnet_mask; +- result |= hdhomerun_discover_send_internal(ds, dss, target_ip, device_type, device_id); +- } +- +- /* +- * If no local ip sockets then fall back to sending a global broadcast letting the OS choose the interface. +- */ +- if (!result) { +- struct hdhomerun_discover_sock_t *dss = &ds->socks[0]; +- result = hdhomerun_discover_send_internal(ds, dss, 0xFFFFFFFF, device_type, device_id); ++ if (hdhomerun_discover_send_internal(ds, device_type, device_id) < 0) { ++ return hdhomerun_discover_send_packet(ds, 0xFFFFFFFF, device_type, device_id); + } +- +- return result; ++ return 0; + } + +-static bool_t hdhomerun_discover_send_target_ip(struct hdhomerun_discover_t *ds, uint32_t target_ip, uint32_t device_type, uint32_t device_id) ++static int hdhomerun_discover_recv(struct hdhomerun_discover_sock_t *ds, struct hdhomerun_discover_device_t *result) + { +- bool_t result = FALSE; +- +- /* +- * Send targeted packet from any local ip that is in the same subnet. +- * This will work with multiple separate 169.254.x.x interfaces. +- */ +- unsigned int i; +- for (i = 1; i < ds->sock_count; i++) { +- struct hdhomerun_discover_sock_t *dss = &ds->socks[i]; +- if ((target_ip & dss->subnet_mask) != (dss->local_ip & dss->subnet_mask)) { +- continue; +- } ++ struct timeval t; ++ t.tv_sec = 0; ++ t.tv_usec = 250000; + +- result |= hdhomerun_discover_send_internal(ds, dss, target_ip, device_type, device_id); +- } ++ fd_set readfds; ++ FD_ZERO(&readfds); ++ FD_SET(ds->sock, &readfds); + +- /* +- * If target IP does not match a local subnet then fall back to letting the OS choose the gateway interface. +- */ +- if (!result) { +- struct hdhomerun_discover_sock_t *dss = &ds->socks[0]; +- result = hdhomerun_discover_send_internal(ds, dss, target_ip, device_type, device_id); ++ if (select(ds->sock+1, &readfds, NULL, NULL, &t) < 0) { ++ return -1; + } +- +- return result; +-} +- +-static bool_t hdhomerun_discover_send(struct hdhomerun_discover_t *ds, uint32_t target_ip, uint32_t device_type, uint32_t device_id) +-{ +- if (target_ip != 0) { +- return hdhomerun_discover_send_target_ip(ds, target_ip, device_type, device_id); ++ if (!FD_ISSET(ds->sock, &readfds)) { ++ return 0; + } + +- return hdhomerun_discover_send_wildcard_ip(ds, device_type, device_id); +-} +- +-static int hdhomerun_discover_recv_internal(struct hdhomerun_discover_t *ds, struct hdhomerun_discover_sock_t *dss, struct hdhomerun_discover_device_t *result) +-{ +- struct hdhomerun_pkt_t *rx_pkt = &ds->rx_pkt; +- hdhomerun_pkt_reset(rx_pkt); +- ++ uint8_t buffer[1024]; + struct sockaddr_in sock_addr; +- memset(&sock_addr, 0, sizeof(sock_addr)); + socklen_t sockaddr_size = sizeof(sock_addr); +- +- int rx_length = recvfrom(dss->sock, (char *)rx_pkt->end, (int)(rx_pkt->limit - rx_pkt->end), 0, (struct sockaddr *)&sock_addr, &sockaddr_size); ++ int rx_length = recvfrom(ds->sock, (char *)buffer, sizeof(buffer), 0, (struct sockaddr *)&sock_addr, &sockaddr_size); + if (rx_length <= 0) { + /* Don't return error - windows machine on VPN can sometimes cause a sock error here but otherwise works. */ + return 0; + } +- rx_pkt->end += rx_length; ++ if (rx_length < HDHOMERUN_MIN_PEEK_LENGTH) { ++ return 0; ++ } + +- uint16_t type; +- if (hdhomerun_pkt_open_frame(rx_pkt, &type) <= 0) { ++ size_t length = hdhomerun_peek_packet_length(buffer); ++ if (length > (size_t)rx_length) { + return 0; + } ++ ++ uint8_t *ptr = buffer; ++ uint8_t *end = buffer + length; ++ int type = hdhomerun_process_packet(&ptr, &end); + if (type != HDHOMERUN_TYPE_DISCOVER_RPY) { + return 0; + } +@@ -338,12 +372,11 @@ + result->ip_addr = ntohl(sock_addr.sin_addr.s_addr); + result->device_type = 0; + result->device_id = 0; +- + while (1) { + uint8_t tag; + size_t len; +- uint8_t *next = hdhomerun_pkt_read_tlv(rx_pkt, &tag, &len); +- if (!next) { ++ uint8_t *value; ++ if (hdhomerun_read_tlv(&ptr, end, &tag, &len, &value) < 0) { + break; + } + +@@ -352,71 +385,28 @@ + if (len != 4) { + break; + } +- result->device_type = hdhomerun_pkt_read_u32(rx_pkt); ++ result->device_type = hdhomerun_read_u32(&value); + break; +- + case HDHOMERUN_TAG_DEVICE_ID: + if (len != 4) { + break; + } +- result->device_id = hdhomerun_pkt_read_u32(rx_pkt); ++ result->device_id = hdhomerun_read_u32(&value); + break; +- + default: + break; + } +- +- rx_pkt->pos = next; + } + + return 1; + } + +-static int hdhomerun_discover_recv(struct hdhomerun_discover_t *ds, struct hdhomerun_discover_device_t *result) +-{ +- struct timeval t; +- t.tv_sec = 0; +- t.tv_usec = 250000; +- +- fd_set readfds; +- FD_ZERO(&readfds); +- int max_sock = -1; +- +- unsigned int i; +- for (i = 0; i < ds->sock_count; i++) { +- struct hdhomerun_discover_sock_t *dss = &ds->socks[i]; +- FD_SET(dss->sock, &readfds); +- if (dss->sock > max_sock) { +- max_sock = dss->sock; +- } +- } +- +- if (select(max_sock+1, &readfds, NULL, NULL, &t) < 0) { +- return -1; +- } +- +- for (i = 0; i < ds->sock_count; i++) { +- struct hdhomerun_discover_sock_t *dss = &ds->socks[i]; +- if (!FD_ISSET(dss->sock, &readfds)) { +- continue; +- } +- +- if (hdhomerun_discover_recv_internal(ds, dss, result) <= 0) { +- continue; +- } +- +- return 1; +- } +- +- return 0; +-} +- +-static struct hdhomerun_discover_device_t *hdhomerun_discover_find_in_list(struct hdhomerun_discover_device_t result_list[], int count, uint32_t ip_addr) ++static struct hdhomerun_discover_device_t *hdhomerun_discover_find_in_list(struct hdhomerun_discover_device_t result_list[], int count, uint32_t device_id) + { + int index; + for (index = 0; index < count; index++) { + struct hdhomerun_discover_device_t *result = &result_list[index]; +- if (result->ip_addr == ip_addr) { ++ if (result->device_id == device_id) { + return result; + } + } +@@ -424,12 +414,13 @@ + return NULL; + } + +-static int hdhomerun_discover_find_devices_internal(struct hdhomerun_discover_t *ds, uint32_t target_ip, uint32_t device_type, uint32_t device_id, struct hdhomerun_discover_device_t result_list[], int max_count) ++static int hdhomerun_discover_find_devices_internal(struct hdhomerun_discover_sock_t *ds, uint32_t device_type, uint32_t device_id, struct hdhomerun_discover_device_t result_list[], int max_count) + { + int count = 0; ++ + int attempt; + for (attempt = 0; attempt < 4; attempt++) { +- if (!hdhomerun_discover_send(ds, target_ip, device_type, device_id)) { ++ if (hdhomerun_discover_send(ds, device_type, device_id) < 0) { + return -1; + } + +@@ -442,7 +433,7 @@ + return -1; + } + if (ret == 0) { +- continue; ++ break; + } + + /* Filter. */ +@@ -458,7 +449,7 @@ + } + + /* Ensure not already in list. */ +- if (hdhomerun_discover_find_in_list(result_list, count, result->ip_addr)) { ++ if (hdhomerun_discover_find_in_list(result_list, count, result->device_id)) { + continue; + } + +@@ -473,14 +464,27 @@ + return count; + } + +-int hdhomerun_discover_find_devices_custom(uint32_t target_ip, uint32_t device_type, uint32_t device_id, struct hdhomerun_discover_device_t result_list[], int max_count) ++int hdhomerun_discover_find_device(uint32_t device_id, struct hdhomerun_discover_device_t *result) ++{ ++ struct hdhomerun_discover_sock_t *ds = hdhomerun_discover_create(); ++ if (!ds) { ++ return -1; ++ } ++ ++ int ret = hdhomerun_discover_find_devices_internal(ds, HDHOMERUN_DEVICE_TYPE_WILDCARD, device_id, result, 1); ++ ++ hdhomerun_discover_destroy(ds); ++ return ret; ++} ++ ++int hdhomerun_discover_find_devices(uint32_t device_type, struct hdhomerun_discover_device_t result_list[], int max_count) + { +- struct hdhomerun_discover_t *ds = hdhomerun_discover_create(); ++ struct hdhomerun_discover_sock_t *ds = hdhomerun_discover_create(); + if (!ds) { + return -1; + } + +- int ret = hdhomerun_discover_find_devices_internal(ds, target_ip, device_type, device_id, result_list, max_count); ++ int ret = hdhomerun_discover_find_devices_internal(ds, device_type, HDHOMERUN_DEVICE_ID_WILDCARD, result_list, max_count); + + hdhomerun_discover_destroy(ds); + return ret; +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_discover.h src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_discover.h +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_discover.h 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_discover.h 2009-01-09 13:14:56.000000000 +1030 +@@ -1,12 +1,12 @@ + /* + * hdhomerun_discover.h + * +- * Copyright © 2006-2007 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -14,20 +14,8 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + #ifdef __cplusplus + extern "C" { +@@ -40,18 +28,29 @@ + }; + + /* +- * Find devices. ++ * Find a device by device ID. ++ * ++ * The device information is stored in caller-supplied hdhomerun_discover_device_t var. ++ * Multiple attempts are made to find the device. ++ * Worst-case execution time is 1 second. ++ * ++ * Returns 1 on success. ++ * Returns 0 if not found. ++ * Retruns -1 on error. ++ */ ++extern int hdhomerun_discover_find_device(uint32_t device_id, struct hdhomerun_discover_device_t *result); ++ ++/* ++ * Find all devices of a given type. + * + * The device information is stored in caller-supplied array of hdhomerun_discover_device_t vars. + * Multiple attempts are made to find devices. + * Execution time is 1 second. + * +- * Set target_ip to zero to auto-detect IP address. +- * + * Returns the number of devices found. + * Retruns -1 on error. + */ +-extern LIBTYPE int hdhomerun_discover_find_devices_custom(uint32_t target_ip, uint32_t device_type, uint32_t device_id, struct hdhomerun_discover_device_t result_list[], int max_count); ++extern int hdhomerun_discover_find_devices(uint32_t device_type, struct hdhomerun_discover_device_t result_list[], int max_count); + + /* + * Verify that the device ID given is valid. +@@ -62,7 +61,7 @@ + * Returns TRUE if valid. + * Returns FALSE if not valid. + */ +-extern LIBTYPE bool_t hdhomerun_discover_validate_device_id(uint32_t device_id); ++extern bool_t hdhomerun_discover_validate_device_id(uint32_t device_id); + + #ifdef __cplusplus + } +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_os.h src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_os.h +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_os.h 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_os.h 2009-01-09 13:14:56.000000000 +1030 +@@ -1,12 +1,12 @@ + /* + * hdhomerun_os.h + * +- * Copyright © 2006-2008 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -14,36 +14,97 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#if defined(_WIN32) || defined(_WIN64) ++#include <stdlib.h> ++#include <stdio.h> ++#include <string.h> ++ ++#if defined(WIN32) + #define __WINDOWS__ + #endif + + #if defined(__WINDOWS__) +-#include "hdhomerun_os_windows.h" ++#include <windows.h> ++#include <sys/types.h> ++#include <sys/timeb.h> + #else +-#include "hdhomerun_os_posix.h" ++#include <unistd.h> ++#include <errno.h> ++#include <sys/types.h> ++#include <sys/socket.h> ++#include <netinet/in.h> ++#include <arpa/inet.h> ++#include <netdb.h> ++#include <sys/time.h> ++#include <sys/timeb.h> ++#include <fcntl.h> + #endif + ++#include <pthread.h> ++ + #if !defined(TRUE) + #define TRUE 1 + #endif +- + #if !defined(FALSE) + #define FALSE 0 + #endif ++ ++#if defined(__WINDOWS__) ++ ++typedef int bool_t; ++typedef unsigned __int8 uint8_t; ++typedef unsigned __int16 uint16_t; ++typedef unsigned __int32 uint32_t; ++typedef unsigned __int64 uint64_t; ++ ++#define socklen_t int ++#define close closesocket ++#define sock_getlasterror WSAGetLastError() ++#define sock_getlasterror_socktimeout (WSAGetLastError() == WSAETIMEDOUT) ++#define atoll _atoi64 ++#define strcasecmp _stricmp ++#define fseeko _fseeki64 ++#define ftello _ftelli64 ++#define usleep(us) Sleep((us)/1000) ++#define sleep(sec) Sleep((sec)*1000) ++ ++static inline uint64_t getcurrenttime(void) ++{ ++ struct timeb tb; ++ ftime(&tb); ++ return ((uint64_t)tb.time * 1000) + tb.millitm; ++} ++ ++static inline int setsocktimeout(int s, int level, int optname, uint64_t timeout) ++{ ++ int t = (int)timeout; ++ return setsockopt(s, level, optname, (char *)&t, sizeof(t)); ++} ++ ++#else ++ ++typedef int bool_t; ++ ++#define sock_getlasterror errno ++#define sock_getlasterror_socktimeout (errno == EAGAIN) ++ ++static inline uint64_t getcurrenttime(void) ++{ ++ struct timeval t; ++ gettimeofday(&t, NULL); ++ return ((uint64_t)t.tv_sec * 1000) + (t.tv_usec / 1000); ++} ++ ++static inline int setsocktimeout(int s, int level, int optname, uint64_t timeout) ++{ ++ struct timeval t; ++ t.tv_sec = timeout / 1000; ++ t.tv_usec = (timeout % 1000) * 1000; ++ return setsockopt(s, level, optname, (char *)&t, sizeof(t)); ++} ++ ++#endif ++ +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_os_posix.h +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_os_windows.h +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_pkt.c src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_pkt.c +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_pkt.c 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_pkt.c 2009-01-09 13:14:56.000000000 +1030 +@@ -1,12 +1,12 @@ + /* + * hdhomerun_pkt.c + * +- * Copyright © 2005-2006 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2005-2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -14,232 +14,255 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#include "hdhomerun.h" ++#include "hdhomerun_os.h" ++#include "hdhomerun_pkt.h" + +-struct hdhomerun_pkt_t *hdhomerun_pkt_create(void) ++uint8_t hdhomerun_read_u8(uint8_t **pptr) + { +- struct hdhomerun_pkt_t *pkt = (struct hdhomerun_pkt_t *)calloc(1, sizeof(struct hdhomerun_pkt_t)); +- if (!pkt) { +- return NULL; +- } +- +- hdhomerun_pkt_reset(pkt); +- +- return pkt; +-} +- +-void hdhomerun_pkt_destroy(struct hdhomerun_pkt_t *pkt) +-{ +- free(pkt); +-} +- +-void hdhomerun_pkt_reset(struct hdhomerun_pkt_t *pkt) +-{ +- pkt->limit = pkt->buffer + sizeof(pkt->buffer) - 4; +- pkt->start = pkt->buffer + 1024; +- pkt->end = pkt->start; +- pkt->pos = pkt->start; +-} +- +-static uint32_t hdhomerun_pkt_calc_crc(uint8_t *start, uint8_t *end) +-{ +- uint8_t *pos = start; +- uint32_t crc = 0xFFFFFFFF; +- while (pos < end) { +- uint8_t x = (uint8_t)(crc) ^ *pos++; +- crc >>= 8; +- if (x & 0x01) crc ^= 0x77073096; +- if (x & 0x02) crc ^= 0xEE0E612C; +- if (x & 0x04) crc ^= 0x076DC419; +- if (x & 0x08) crc ^= 0x0EDB8832; +- if (x & 0x10) crc ^= 0x1DB71064; +- if (x & 0x20) crc ^= 0x3B6E20C8; +- if (x & 0x40) crc ^= 0x76DC4190; +- if (x & 0x80) crc ^= 0xEDB88320; +- } +- return crc ^ 0xFFFFFFFF; +-} +- +-uint8_t hdhomerun_pkt_read_u8(struct hdhomerun_pkt_t *pkt) +-{ +- uint8_t v = *pkt->pos++; ++ uint8_t *ptr = *pptr; ++ uint8_t v = *ptr++; ++ *pptr = ptr; + return v; + } + +-uint16_t hdhomerun_pkt_read_u16(struct hdhomerun_pkt_t *pkt) ++uint16_t hdhomerun_read_u16(uint8_t **pptr) + { ++ uint8_t *ptr = *pptr; + uint16_t v; +- v = (uint16_t)*pkt->pos++ << 8; +- v |= (uint16_t)*pkt->pos++ << 0; ++ v = (uint16_t)*ptr++ << 8; ++ v |= (uint16_t)*ptr++ << 0; ++ *pptr = ptr; + return v; + } + +-uint32_t hdhomerun_pkt_read_u32(struct hdhomerun_pkt_t *pkt) ++uint32_t hdhomerun_read_u32(uint8_t **pptr) + { ++ uint8_t *ptr = *pptr; + uint32_t v; +- v = (uint32_t)*pkt->pos++ << 24; +- v |= (uint32_t)*pkt->pos++ << 16; +- v |= (uint32_t)*pkt->pos++ << 8; +- v |= (uint32_t)*pkt->pos++ << 0; ++ v = (uint32_t)*ptr++ << 24; ++ v |= (uint32_t)*ptr++ << 16; ++ v |= (uint32_t)*ptr++ << 8; ++ v |= (uint32_t)*ptr++ << 0; ++ *pptr = ptr; + return v; + } + +-size_t hdhomerun_pkt_read_var_length(struct hdhomerun_pkt_t *pkt) ++size_t hdhomerun_read_var_length(uint8_t **pptr, uint8_t *end) + { ++ uint8_t *ptr = *pptr; + size_t length; + +- if (pkt->pos + 1 > pkt->end) { +- return (size_t)-1; ++ if (ptr + 1 > end) { ++ return -1; + } + +- length = (size_t)*pkt->pos++; ++ length = (size_t)*ptr++; + if (length & 0x0080) { +- if (pkt->pos + 1 > pkt->end) { +- return (size_t)-1; ++ if (ptr + 1 > end) { ++ return -1; + } + + length &= 0x007F; +- length |= (size_t)*pkt->pos++ << 7; ++ length |= (size_t)*ptr++ << 7; + } + ++ *pptr = ptr; + return length; + } + +-uint8_t *hdhomerun_pkt_read_tlv(struct hdhomerun_pkt_t *pkt, uint8_t *ptag, size_t *plength) ++int hdhomerun_read_tlv(uint8_t **pptr, uint8_t *end, uint8_t *ptag, size_t *plength, uint8_t **pvalue) + { +- if (pkt->pos + 2 > pkt->end) { +- return NULL; ++ if (end - *pptr < 2) { ++ return -1; + } + +- *ptag = hdhomerun_pkt_read_u8(pkt); +- *plength = hdhomerun_pkt_read_var_length(pkt); +- +- if (pkt->pos + *plength > pkt->end) { +- return NULL; ++ *ptag = hdhomerun_read_u8(pptr); ++ *plength = hdhomerun_read_var_length(pptr, end); ++ *pvalue = *pptr; ++ ++ if ((size_t)(end - *pptr) < *plength) { ++ return -1; + } + +- return pkt->pos + *plength; ++ *pptr += *plength; ++ return 0; + } + +-void hdhomerun_pkt_write_u8(struct hdhomerun_pkt_t *pkt, uint8_t v) ++void hdhomerun_write_u8(uint8_t **pptr, uint8_t v) + { +- *pkt->pos++ = v; ++ uint8_t *ptr = *pptr; ++ *ptr++ = v; ++ *pptr = ptr; ++} + +- if (pkt->pos > pkt->end) { +- pkt->end = pkt->pos; +- } ++void hdhomerun_write_u16(uint8_t **pptr, uint16_t v) ++{ ++ uint8_t *ptr = *pptr; ++ *ptr++ = (uint8_t)(v >> 8); ++ *ptr++ = (uint8_t)(v >> 0); ++ *pptr = ptr; + } + +-void hdhomerun_pkt_write_u16(struct hdhomerun_pkt_t *pkt, uint16_t v) ++void hdhomerun_write_u32(uint8_t **pptr, uint32_t v) + { +- *pkt->pos++ = (uint8_t)(v >> 8); +- *pkt->pos++ = (uint8_t)(v >> 0); ++ uint8_t *ptr = *pptr; ++ *ptr++ = (uint8_t)(v >> 24); ++ *ptr++ = (uint8_t)(v >> 16); ++ *ptr++ = (uint8_t)(v >> 8); ++ *ptr++ = (uint8_t)(v >> 0); ++ *pptr = ptr; ++} + +- if (pkt->pos > pkt->end) { +- pkt->end = pkt->pos; ++void hdhomerun_write_var_length(uint8_t **pptr, size_t v) ++{ ++ uint8_t *ptr = *pptr; ++ if (v <= 127) { ++ *ptr++ = (uint8_t)v; ++ } else { ++ *ptr++ = (uint8_t)(v | 0x80); ++ *ptr++ = (uint8_t)(v >> 7); + } ++ *pptr = ptr; + } + +-void hdhomerun_pkt_write_u32(struct hdhomerun_pkt_t *pkt, uint32_t v) ++static void hdhomerun_write_mem(uint8_t **pptr, void *mem, size_t length) + { +- *pkt->pos++ = (uint8_t)(v >> 24); +- *pkt->pos++ = (uint8_t)(v >> 16); +- *pkt->pos++ = (uint8_t)(v >> 8); +- *pkt->pos++ = (uint8_t)(v >> 0); ++ uint8_t *ptr = *pptr; ++ memcpy(ptr, mem, length); ++ ptr += length; ++ *pptr = ptr; ++} + +- if (pkt->pos > pkt->end) { +- pkt->end = pkt->pos; ++static uint32_t hdhomerun_calc_crc(uint8_t *start, uint8_t *end) ++{ ++ uint8_t *ptr = start; ++ uint32_t crc = 0xFFFFFFFF; ++ while (ptr < end) { ++ uint8_t x = (uint8_t)(crc) ^ *ptr++; ++ crc >>= 8; ++ if (x & 0x01) crc ^= 0x77073096; ++ if (x & 0x02) crc ^= 0xEE0E612C; ++ if (x & 0x04) crc ^= 0x076DC419; ++ if (x & 0x08) crc ^= 0x0EDB8832; ++ if (x & 0x10) crc ^= 0x1DB71064; ++ if (x & 0x20) crc ^= 0x3B6E20C8; ++ if (x & 0x40) crc ^= 0x76DC4190; ++ if (x & 0x80) crc ^= 0xEDB88320; + } ++ return crc ^ 0xFFFFFFFF; + } + +-void hdhomerun_pkt_write_var_length(struct hdhomerun_pkt_t *pkt, size_t v) ++static int hdhomerun_check_crc(uint8_t *start, uint8_t *end) + { +- if (v <= 127) { +- *pkt->pos++ = (uint8_t)v; +- } else { +- *pkt->pos++ = (uint8_t)(v | 0x80); +- *pkt->pos++ = (uint8_t)(v >> 7); ++ if (end - start < 8) { ++ return -1; + } +- +- if (pkt->pos > pkt->end) { +- pkt->end = pkt->pos; ++ uint8_t *ptr = end -= 4; ++ uint32_t actual_crc = hdhomerun_calc_crc(start, ptr); ++ uint32_t packet_crc; ++ packet_crc = (uint32_t)*ptr++ << 0; ++ packet_crc |= (uint32_t)*ptr++ << 8; ++ packet_crc |= (uint32_t)*ptr++ << 16; ++ packet_crc |= (uint32_t)*ptr++ << 24; ++ if (actual_crc != packet_crc) { ++ return -1; + } ++ return 0; + } + +-void hdhomerun_pkt_write_mem(struct hdhomerun_pkt_t *pkt, const void *mem, size_t length) ++static void hdhomerun_write_header_length(uint8_t *ptr, size_t length) + { +- memcpy(pkt->pos, mem, length); +- pkt->pos += length; ++ hdhomerun_write_u16(&ptr, (uint16_t)length); ++} + +- if (pkt->pos > pkt->end) { +- pkt->end = pkt->pos; +- } ++void hdhomerun_write_crc(uint8_t **pptr, uint8_t *start) ++{ ++ uint8_t *ptr = *pptr; ++ uint32_t crc = hdhomerun_calc_crc(start, ptr); ++ *ptr++ = (uint8_t)(crc >> 0); ++ *ptr++ = (uint8_t)(crc >> 8); ++ *ptr++ = (uint8_t)(crc >> 16); ++ *ptr++ = (uint8_t)(crc >> 24); ++ *pptr = ptr; + } + +-int hdhomerun_pkt_open_frame(struct hdhomerun_pkt_t *pkt, uint16_t *ptype) ++void hdhomerun_write_discover_request(uint8_t **pptr, uint32_t device_type, uint32_t device_id) + { +- pkt->pos = pkt->start; ++ uint8_t *start = *pptr; ++ hdhomerun_write_u16(pptr, HDHOMERUN_TYPE_DISCOVER_REQ); ++ hdhomerun_write_u16(pptr, 0); + +- if (pkt->pos + 4 > pkt->end) { +- return 0; +- } ++ hdhomerun_write_u8(pptr, HDHOMERUN_TAG_DEVICE_TYPE); ++ hdhomerun_write_var_length(pptr, 4); ++ hdhomerun_write_u32(pptr, device_type); ++ hdhomerun_write_u8(pptr, HDHOMERUN_TAG_DEVICE_ID); ++ hdhomerun_write_var_length(pptr, 4); ++ hdhomerun_write_u32(pptr, device_id); + +- *ptype = hdhomerun_pkt_read_u16(pkt); +- size_t length = hdhomerun_pkt_read_u16(pkt); +- pkt->pos += length; ++ hdhomerun_write_header_length(start + 2, (int)(*pptr - start - 4)); ++ hdhomerun_write_crc(pptr, start); ++} + +- if (pkt->pos + 4 > pkt->end) { +- pkt->pos = pkt->start; +- return 0; +- } ++void hdhomerun_write_get_set_request(uint8_t **pptr, const char *name, const char *value) ++{ ++ uint8_t *start = *pptr; ++ hdhomerun_write_u16(pptr, HDHOMERUN_TYPE_GETSET_REQ); ++ hdhomerun_write_u16(pptr, 0); + +- uint32_t calc_crc = hdhomerun_pkt_calc_crc(pkt->start, pkt->pos); ++ int name_len = (int)strlen(name) + 1; ++ hdhomerun_write_u8(pptr, HDHOMERUN_TAG_GETSET_NAME); ++ hdhomerun_write_var_length(pptr, name_len); ++ hdhomerun_write_mem(pptr, (void *)name, name_len); + +- uint32_t packet_crc; +- packet_crc = (uint32_t)*pkt->pos++ << 0; +- packet_crc |= (uint32_t)*pkt->pos++ << 8; +- packet_crc |= (uint32_t)*pkt->pos++ << 16; +- packet_crc |= (uint32_t)*pkt->pos++ << 24; +- if (calc_crc != packet_crc) { +- return -1; ++ if (value) { ++ int value_len = (int)strlen(value) + 1; ++ hdhomerun_write_u8(pptr, HDHOMERUN_TAG_GETSET_VALUE); ++ hdhomerun_write_var_length(pptr, value_len); ++ hdhomerun_write_mem(pptr, (void *)value, value_len); + } + +- pkt->start += 4; +- pkt->end = pkt->start + length; +- pkt->pos = pkt->start; +- return 1; ++ hdhomerun_write_header_length(start + 2, (int)(*pptr - start - 4)); ++ hdhomerun_write_crc(pptr, start); + } + +-void hdhomerun_pkt_seal_frame(struct hdhomerun_pkt_t *pkt, uint16_t frame_type) ++void hdhomerun_write_upgrade_request(uint8_t **pptr, uint32_t sequence, void *data, size_t length) + { +- size_t length = pkt->end - pkt->start; ++ uint8_t *start = *pptr; ++ hdhomerun_write_u16(pptr, HDHOMERUN_TYPE_UPGRADE_REQ); ++ hdhomerun_write_u16(pptr, 0); + +- pkt->start -= 4; +- pkt->pos = pkt->start; +- hdhomerun_pkt_write_u16(pkt, frame_type); +- hdhomerun_pkt_write_u16(pkt, (uint16_t)length); ++ hdhomerun_write_u32(pptr, sequence); ++ if (length > 0) { ++ hdhomerun_write_mem(pptr, data, length); ++ } + +- uint32_t crc = hdhomerun_pkt_calc_crc(pkt->start, pkt->end); +- *pkt->end++ = (uint8_t)(crc >> 0); +- *pkt->end++ = (uint8_t)(crc >> 8); +- *pkt->end++ = (uint8_t)(crc >> 16); +- *pkt->end++ = (uint8_t)(crc >> 24); ++ hdhomerun_write_header_length(start + 2, *pptr - start - 4); ++ hdhomerun_write_crc(pptr, start); ++} + +- pkt->pos = pkt->start; ++size_t hdhomerun_peek_packet_length(uint8_t *ptr) ++{ ++ ptr += 2; ++ return (size_t)hdhomerun_read_u16(&ptr) + 8; + } ++ ++int hdhomerun_process_packet(uint8_t **pptr, uint8_t **pend) ++{ ++ if (hdhomerun_check_crc(*pptr, *pend) < 0) { ++ return -1; ++ } ++ *pend -= 4; ++ ++ uint16_t type = hdhomerun_read_u16(pptr); ++ uint16_t length = hdhomerun_read_u16(pptr); ++ if ((*pend - *pptr) < length) { ++ return -1; ++ } ++ *pend = *pptr + length; ++ return (int)type; ++} ++ +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_pkt.h src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_pkt.h +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_pkt.h 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_pkt.h 2009-01-09 13:14:56.000000000 +1030 +@@ -1,12 +1,12 @@ + /* + * hdhomerun_pkt.h + * +- * Copyright © 2005-2006 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2005-2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -14,20 +14,8 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + #ifdef __cplusplus + extern "C" { +@@ -122,9 +110,6 @@ + #define HDHOMERUN_DISCOVER_UDP_PORT 65001 + #define HDHOMERUN_CONTROL_TCP_PORT 65001 + +-#define HDHOMERUN_MAX_PACKET_SIZE 1460 +-#define HDHOMERUN_MAX_PAYLOAD_SIZE 1452 +- + #define HDHOMERUN_TYPE_DISCOVER_REQ 0x0002 + #define HDHOMERUN_TYPE_DISCOVER_RPY 0x0003 + #define HDHOMERUN_TYPE_GETSET_REQ 0x0004 +@@ -136,7 +121,6 @@ + #define HDHOMERUN_TAG_DEVICE_ID 0x02 + #define HDHOMERUN_TAG_GETSET_NAME 0x03 + #define HDHOMERUN_TAG_GETSET_VALUE 0x04 +-#define HDHOMERUN_TAG_GETSET_LOCKKEY 0x15 + #define HDHOMERUN_TAG_ERROR_MESSAGE 0x05 + + #define HDHOMERUN_DEVICE_TYPE_WILDCARD 0xFFFFFFFF +@@ -145,33 +129,25 @@ + + #define HDHOMERUN_MIN_PEEK_LENGTH 4 + +-struct hdhomerun_pkt_t { +- uint8_t *pos; +- uint8_t *start; +- uint8_t *end; +- uint8_t *limit; +- uint8_t buffer[3074]; +-}; +- +-extern LIBTYPE struct hdhomerun_pkt_t *hdhomerun_pkt_create(void); +-extern LIBTYPE void hdhomerun_pkt_destroy(struct hdhomerun_pkt_t *pkt); +-extern LIBTYPE void hdhomerun_pkt_reset(struct hdhomerun_pkt_t *pkt); +- +-extern LIBTYPE uint8_t hdhomerun_pkt_read_u8(struct hdhomerun_pkt_t *pkt); +-extern LIBTYPE uint16_t hdhomerun_pkt_read_u16(struct hdhomerun_pkt_t *pkt); +-extern LIBTYPE uint32_t hdhomerun_pkt_read_u32(struct hdhomerun_pkt_t *pkt); +-extern LIBTYPE size_t hdhomerun_pkt_read_var_length(struct hdhomerun_pkt_t *pkt); +-extern LIBTYPE uint8_t *hdhomerun_pkt_read_tlv(struct hdhomerun_pkt_t *pkt, uint8_t *ptag, size_t *plength); +- +-extern LIBTYPE void hdhomerun_pkt_write_u8(struct hdhomerun_pkt_t *pkt, uint8_t v); +-extern LIBTYPE void hdhomerun_pkt_write_u16(struct hdhomerun_pkt_t *pkt, uint16_t v); +-extern LIBTYPE void hdhomerun_pkt_write_u32(struct hdhomerun_pkt_t *pkt, uint32_t v); +-extern LIBTYPE void hdhomerun_pkt_write_var_length(struct hdhomerun_pkt_t *pkt, size_t v); +-extern LIBTYPE void hdhomerun_pkt_write_mem(struct hdhomerun_pkt_t *pkt, const void *mem, size_t length); +- +-extern LIBTYPE bool_t hdhomerun_pkt_open_frame(struct hdhomerun_pkt_t *pkt, uint16_t *ptype); +-extern LIBTYPE void hdhomerun_pkt_seal_frame(struct hdhomerun_pkt_t *pkt, uint16_t frame_type); ++extern uint8_t hdhomerun_read_u8(uint8_t **pptr); ++extern uint16_t hdhomerun_read_u16(uint8_t **pptr); ++extern uint32_t hdhomerun_read_u32(uint8_t **pptr); ++extern size_t hdhomerun_read_var_length(uint8_t **pptr, uint8_t *end); ++extern void hdhomerun_write_u8(uint8_t **pptr, uint8_t v); ++extern void hdhomerun_write_u16(uint8_t **pptr, uint16_t v); ++extern void hdhomerun_write_u32(uint8_t **pptr, uint32_t v); ++extern void hdhomerun_write_var_length(uint8_t **pptr, size_t v); ++extern void hdhomerun_write_crc(uint8_t **pptr, uint8_t *start); ++ ++extern size_t hdhomerun_peek_packet_length(uint8_t *ptr); ++extern int hdhomerun_process_packet(uint8_t **pptr, uint8_t **pend); ++extern int hdhomerun_read_tlv(uint8_t **pptr, uint8_t *end, uint8_t *ptag, size_t *plength, uint8_t **pvalue); ++ ++extern void hdhomerun_write_discover_request(uint8_t **pptr, uint32_t device_type, uint32_t device_id); ++extern void hdhomerun_write_get_set_request(uint8_t **pptr, const char *name, const char *value); ++extern void hdhomerun_write_upgrade_request(uint8_t **pptr, uint32_t sequence, void *data, size_t length); + + #ifdef __cplusplus + } + #endif ++ +Only in branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun: hdhomerun_types.h +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_video.c src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_video.c +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_video.c 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_video.c 2009-01-09 13:14:56.000000000 +1030 +@@ -1,12 +1,12 @@ + /* + * hdhomerun_video.c + * +- * Copyright © 2006 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -14,82 +14,93 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#include "hdhomerun.h" ++#include "hdhomerun_os.h" ++#include "hdhomerun_pkt.h" ++#include "hdhomerun_video.h" + + struct hdhomerun_video_sock_t { +- pthread_mutex_t lock; + uint8_t *buffer; + size_t buffer_size; + volatile size_t head; + volatile size_t tail; + size_t advance; ++ volatile bool_t running; + volatile bool_t terminate; + pthread_t thread; + int sock; +- uint32_t rtp_sequence; +- struct hdhomerun_debug_t *dbg; +- volatile uint32_t packet_count; +- volatile uint32_t transport_error_count; +- volatile uint32_t network_error_count; +- volatile uint32_t sequence_error_count; +- volatile uint32_t overflow_error_count; +- volatile uint8_t sequence[0x2000]; + }; + +-static THREAD_FUNC_PREFIX hdhomerun_video_thread_execute(void *arg); ++static void *hdhomerun_video_thread(void *arg); + +-struct hdhomerun_video_sock_t *hdhomerun_video_create(uint16_t listen_port, size_t buffer_size, struct hdhomerun_debug_t *dbg) ++static bool_t hdhomerun_video_bind_sock_internal(struct hdhomerun_video_sock_t *vs, uint16_t listen_port) ++{ ++ struct sockaddr_in sock_addr; ++ memset(&sock_addr, 0, sizeof(sock_addr)); ++ sock_addr.sin_family = AF_INET; ++ sock_addr.sin_addr.s_addr = htonl(INADDR_ANY); ++ sock_addr.sin_port = htons(listen_port); ++ if (bind(vs->sock, (struct sockaddr *)&sock_addr, sizeof(sock_addr)) != 0) { ++ return FALSE; ++ } ++ return TRUE; ++} ++ ++static bool_t hdhomerun_video_bind_sock(struct hdhomerun_video_sock_t *vs, uint16_t listen_port) ++{ ++ if (listen_port != 0) { ++ return hdhomerun_video_bind_sock_internal(vs, listen_port); ++ } ++ ++#if defined(__CYGWIN__) || defined(__WINDOWS__) ++ /* Windows firewall silently blocks a listening port if the port number is not explicitly given. */ ++ /* Workaround - pick a random port number. The port may already be in use to try multiple port numbers. */ ++ srand((int)getcurrenttime()); ++ int retry; ++ for (retry = 8; retry > 0; retry--) { ++ uint16_t listen_port = (uint16_t)((rand() % 32768) + 32768); ++ if (hdhomerun_video_bind_sock_internal(vs, listen_port)) { ++ return TRUE; ++ } ++ } ++ return FALSE; ++#else ++ return hdhomerun_video_bind_sock_internal(vs, listen_port); ++#endif ++} ++ ++struct hdhomerun_video_sock_t *hdhomerun_video_create(uint16_t listen_port, size_t buffer_size) + { + /* Create object. */ + struct hdhomerun_video_sock_t *vs = (struct hdhomerun_video_sock_t *)calloc(1, sizeof(struct hdhomerun_video_sock_t)); + if (!vs) { +- hdhomerun_debug_printf(dbg, "hdhomerun_video_create: failed to allocate video object\n"); + return NULL; + } + +- vs->dbg = dbg; +- vs->sock = -1; +- pthread_mutex_init(&vs->lock, NULL); +- +- /* Reset sequence tracking. */ +- hdhomerun_video_flush(vs); +- + /* Buffer size. */ + vs->buffer_size = (buffer_size / VIDEO_DATA_PACKET_SIZE) * VIDEO_DATA_PACKET_SIZE; + if (vs->buffer_size == 0) { +- hdhomerun_debug_printf(dbg, "hdhomerun_video_create: invalid buffer size (%lu bytes)\n", (unsigned long)buffer_size); +- goto error; ++ free(vs); ++ return NULL; + } + vs->buffer_size += VIDEO_DATA_PACKET_SIZE; + + /* Create buffer. */ + vs->buffer = (uint8_t *)malloc(vs->buffer_size); + if (!vs->buffer) { +- hdhomerun_debug_printf(dbg, "hdhomerun_video_create: failed to allocate buffer (%lu bytes)\n", (unsigned long)vs->buffer_size); +- goto error; ++ free(vs); ++ return NULL; + } + + /* Create socket. */ + vs->sock = (int)socket(AF_INET, SOCK_DGRAM, 0); + if (vs->sock == -1) { +- hdhomerun_debug_printf(dbg, "hdhomerun_video_create: failed to allocate socket\n"); +- goto error; ++ free(vs->buffer); ++ free(vs); ++ return NULL; + } + + /* Expand socket buffer size. */ +@@ -101,44 +112,30 @@ + setsocktimeout(vs->sock, SOL_SOCKET, SO_RCVTIMEO, 1000); + + /* Bind socket. */ +- struct sockaddr_in sock_addr; +- memset(&sock_addr, 0, sizeof(sock_addr)); +- sock_addr.sin_family = AF_INET; +- sock_addr.sin_addr.s_addr = htonl(INADDR_ANY); +- sock_addr.sin_port = htons(listen_port); +- if (bind(vs->sock, (struct sockaddr *)&sock_addr, sizeof(sock_addr)) != 0) { +- hdhomerun_debug_printf(dbg, "hdhomerun_video_create: failed to bind socket (port %u)\n", listen_port); +- goto error; ++ if (!hdhomerun_video_bind_sock(vs, listen_port)) { ++ hdhomerun_video_destroy(vs); ++ return NULL; + } + + /* Start thread. */ +- if (pthread_create(&vs->thread, NULL, &hdhomerun_video_thread_execute, vs) != 0) { +- hdhomerun_debug_printf(dbg, "hdhomerun_video_create: failed to start thread\n"); +- goto error; ++ if (pthread_create(&vs->thread, NULL, &hdhomerun_video_thread, vs) != 0) { ++ hdhomerun_video_destroy(vs); ++ return NULL; + } ++ vs->running = 1; + + /* Success. */ + return vs; +- +-error: +- if (vs->sock != -1) { +- close(vs->sock); +- } +- if (vs->buffer) { +- free(vs->buffer); +- } +- free(vs); +- return NULL; + } + + void hdhomerun_video_destroy(struct hdhomerun_video_sock_t *vs) + { +- vs->terminate = TRUE; +- pthread_join(vs->thread, NULL); +- ++ if (vs->running) { ++ vs->terminate = 1; ++ pthread_join(vs->thread, NULL); ++ } + close(vs->sock); + free(vs->buffer); +- + free(vs); + } + +@@ -147,85 +144,25 @@ + struct sockaddr_in sock_addr; + socklen_t sockaddr_size = sizeof(sock_addr); + if (getsockname(vs->sock, (struct sockaddr*)&sock_addr, &sockaddr_size) != 0) { +- hdhomerun_debug_printf(vs->dbg, "hdhomerun_video_get_local_port: getsockname failed (%d)\n", sock_getlasterror); + return 0; + } +- + return ntohs(sock_addr.sin_port); + } + +-static void hdhomerun_video_stats_ts_pkt(struct hdhomerun_video_sock_t *vs, uint8_t *ptr) +-{ +- uint16_t packet_identifier = ((uint16_t)(ptr[1] & 0x1F) << 8) | (uint16_t)ptr[2]; +- if (packet_identifier == 0x1FFF) { +- return; +- } +- +- bool_t transport_error = ptr[1] >> 7; +- if (transport_error) { +- vs->transport_error_count++; +- vs->sequence[packet_identifier] = 0xFF; +- return; +- } +- +- uint8_t continuity_counter = ptr[3] & 0x0F; +- uint8_t previous_sequence = vs->sequence[packet_identifier]; +- +- if (continuity_counter == ((previous_sequence + 1) & 0x0F)) { +- vs->sequence[packet_identifier] = continuity_counter; +- return; +- } +- if (previous_sequence == 0xFF) { +- vs->sequence[packet_identifier] = continuity_counter; +- return; +- } +- if (continuity_counter == previous_sequence) { +- return; +- } +- +- vs->sequence_error_count++; +- vs->sequence[packet_identifier] = continuity_counter; +-} +- +-static void hdhomerun_video_parse_rtp(struct hdhomerun_video_sock_t *vs, struct hdhomerun_pkt_t *pkt) ++int hdhomerun_video_get_sock(struct hdhomerun_video_sock_t *vs) + { +- pkt->pos += 2; +- uint32_t rtp_sequence = hdhomerun_pkt_read_u16(pkt); +- pkt->pos += 8; +- +- if (rtp_sequence != ((vs->rtp_sequence + 1) & 0xFFFF)) { +- if (vs->rtp_sequence != 0xFFFFFFFF) { +- vs->network_error_count++; +- +- /* restart pid sequence check */ +- /* can't use memset bcs sequence is volatile */ +- int i; +- for (i = 0; i < sizeof(vs->sequence) / sizeof(uint8_t) ; i++) +- vs->sequence[i] = 0xFF; +- } +- } +- +- vs->rtp_sequence = rtp_sequence; ++ return vs->sock; + } + +-static THREAD_FUNC_PREFIX hdhomerun_video_thread_execute(void *arg) ++static void *hdhomerun_video_thread(void *arg) + { + struct hdhomerun_video_sock_t *vs = (struct hdhomerun_video_sock_t *)arg; +- struct hdhomerun_pkt_t pkt_inst; + + while (!vs->terminate) { +- struct hdhomerun_pkt_t *pkt = &pkt_inst; +- hdhomerun_pkt_reset(pkt); ++ size_t head = vs->head; + + /* Receive. */ +- int length = recv(vs->sock, (char *)pkt->end, VIDEO_RTP_DATA_PACKET_SIZE, 0); +- pkt->end += length; +- +- if (length == VIDEO_RTP_DATA_PACKET_SIZE) { +- hdhomerun_video_parse_rtp(vs, pkt); +- length = (int)(pkt->end - pkt->pos); +- } +- ++ int length = recv(vs->sock, (char *)vs->buffer + head, VIDEO_DATA_PACKET_SIZE, 0); + if (length != VIDEO_DATA_PACKET_SIZE) { + if (length > 0) { + /* Data received but not valid - ignore. */ +@@ -235,27 +172,10 @@ + /* Wait for more data. */ + continue; + } +- vs->terminate = TRUE; ++ vs->terminate = 1; + return NULL; + } + +- pthread_mutex_lock(&vs->lock); +- +- /* Store in ring buffer. */ +- size_t head = vs->head; +- uint8_t *ptr = vs->buffer + head; +- memcpy(ptr, pkt->pos, length); +- +- /* Stats. */ +- vs->packet_count++; +- hdhomerun_video_stats_ts_pkt(vs, ptr + TS_PACKET_SIZE * 0); +- hdhomerun_video_stats_ts_pkt(vs, ptr + TS_PACKET_SIZE * 1); +- hdhomerun_video_stats_ts_pkt(vs, ptr + TS_PACKET_SIZE * 2); +- hdhomerun_video_stats_ts_pkt(vs, ptr + TS_PACKET_SIZE * 3); +- hdhomerun_video_stats_ts_pkt(vs, ptr + TS_PACKET_SIZE * 4); +- hdhomerun_video_stats_ts_pkt(vs, ptr + TS_PACKET_SIZE * 5); +- hdhomerun_video_stats_ts_pkt(vs, ptr + TS_PACKET_SIZE * 6); +- + /* Calculate new head. */ + head += length; + if (head >= vs->buffer_size) { +@@ -264,15 +184,11 @@ + + /* Check for buffer overflow. */ + if (head == vs->tail) { +- vs->overflow_error_count++; +- pthread_mutex_unlock(&vs->lock); + continue; + } + + /* Atomic update. */ + vs->head = head; +- +- pthread_mutex_unlock(&vs->lock); + } + + return NULL; +@@ -280,8 +196,6 @@ + + uint8_t *hdhomerun_video_recv(struct hdhomerun_video_sock_t *vs, size_t max_size, size_t *pactual_size) + { +- pthread_mutex_lock(&vs->lock); +- + size_t head = vs->head; + size_t tail = vs->tail; + +@@ -298,7 +212,6 @@ + if (head == tail) { + vs->advance = 0; + *pactual_size = 0; +- pthread_mutex_unlock(&vs->lock); + return NULL; + } + +@@ -306,7 +219,6 @@ + if (size == 0) { + vs->advance = 0; + *pactual_size = 0; +- pthread_mutex_unlock(&vs->lock); + return NULL; + } + +@@ -321,58 +233,13 @@ + } + vs->advance = size; + *pactual_size = size; +- uint8_t *result = vs->buffer + tail; +- +- pthread_mutex_unlock(&vs->lock); +- return result; ++ return vs->buffer + tail; + } + + void hdhomerun_video_flush(struct hdhomerun_video_sock_t *vs) + { +- pthread_mutex_lock(&vs->lock); +- ++ /* Atomic update of tail. */ + vs->tail = vs->head; + vs->advance = 0; +- +- /* can't use memset bcs sequence is volatile */ +- int i; +- for (i = 0; i < sizeof(vs->sequence) / sizeof(uint8_t) ; i++) +- vs->sequence[i] = 0xFF; +- +- vs->rtp_sequence = 0xFFFFFFFF; +- +- vs->packet_count = 0; +- vs->transport_error_count = 0; +- vs->network_error_count = 0; +- vs->sequence_error_count = 0; +- vs->overflow_error_count = 0; +- +- pthread_mutex_unlock(&vs->lock); + } + +-void hdhomerun_video_debug_print_stats(struct hdhomerun_video_sock_t *vs) +-{ +- struct hdhomerun_video_stats_t stats; +- hdhomerun_video_get_stats(vs, &stats); +- +- hdhomerun_debug_printf(vs->dbg, "video sock: pkt=%ld net=%ld te=%ld miss=%ld drop=%ld\n", +- stats.packet_count, stats.network_error_count, +- stats.transport_error_count, stats.sequence_error_count, +- stats.overflow_error_count +- ); +-} +- +-void hdhomerun_video_get_stats(struct hdhomerun_video_sock_t *vs, struct hdhomerun_video_stats_t *stats) +-{ +- memset(stats, 0, sizeof(struct hdhomerun_video_stats_t)); +- +- pthread_mutex_lock(&vs->lock); +- +- stats->packet_count = vs->packet_count; +- stats->network_error_count = vs->network_error_count; +- stats->transport_error_count = vs->transport_error_count; +- stats->sequence_error_count = vs->sequence_error_count; +- stats->overflow_error_count = vs->overflow_error_count; +- +- pthread_mutex_unlock(&vs->lock); +-} +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_video.h src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_video.h +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/hdhomerun_video.h 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/hdhomerun_video.h 2009-01-09 13:14:56.000000000 +1030 +@@ -1,12 +1,12 @@ + /* + * hdhomerun_video.h + * +- * Copyright © 2006 Silicondust USA Inc. <www.silicondust.com>. ++ * Copyright © 2006 Silicondust Engineering Ltd. <www.silicondust.com>. + * +- * This library is free software; you can redistribute it and/or ++ * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either +- * version 3 of the License, or (at your option) any later version. ++ * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of +@@ -14,20 +14,8 @@ + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see <http://www.gnu.org/licenses/>. +- * +- * As a special exception to the GNU Lesser General Public License, +- * you may link, statically or dynamically, an application with a +- * publicly distributed version of the Library to produce an +- * executable file containing portions of the Library, and +- * distribute that executable file under terms of your choice, +- * without any of the additional requirements listed in clause 4 of +- * the GNU Lesser General Public License. +- * +- * By "a publicly distributed version of the Library", we mean +- * either the unmodified Library as distributed by Silicondust, or a +- * modified version of the Library that is distributed under the +- * conditions defined in the GNU Lesser General Public License. ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + #ifdef __cplusplus + extern "C" { +@@ -35,40 +23,34 @@ + + struct hdhomerun_video_sock_t; + +-struct hdhomerun_video_stats_t { +- uint32_t packet_count; +- uint32_t network_error_count; +- uint32_t transport_error_count; +- uint32_t sequence_error_count; +- uint32_t overflow_error_count; +-}; +- + #define TS_PACKET_SIZE 188 + #define VIDEO_DATA_PACKET_SIZE (188 * 7) + #define VIDEO_DATA_BUFFER_SIZE_1S (20000000 / 8) + +-#define VIDEO_RTP_DATA_PACKET_SIZE ((188 * 7) + 12) +- + /* + * Create a video/data socket. + * + * uint16_t listen_port: Port number to listen on. Set to 0 to auto-select. + * size_t buffer_size: Size of receive buffer. For 1 second of buffer use VIDEO_DATA_BUFFER_SIZE_1S. +- * struct hdhomerun_debug_t *dbg: Pointer to debug logging object. May be NULL. + * + * Returns a pointer to the newly created control socket. + * + * When no longer needed, the socket should be destroyed by calling hdhomerun_control_destroy. + */ +-extern LIBTYPE struct hdhomerun_video_sock_t *hdhomerun_video_create(uint16_t listen_port, size_t buffer_size, struct hdhomerun_debug_t *dbg); +-extern LIBTYPE void hdhomerun_video_destroy(struct hdhomerun_video_sock_t *vs); ++extern struct hdhomerun_video_sock_t *hdhomerun_video_create(uint16_t listen_port, size_t buffer_size); ++extern void hdhomerun_video_destroy(struct hdhomerun_video_sock_t *vs); + + /* + * Get the port the socket is listening on. + * + * Returns 16-bit port with native endianness, or 0 on error. + */ +-extern LIBTYPE uint16_t hdhomerun_video_get_local_port(struct hdhomerun_video_sock_t *vs); ++extern uint16_t hdhomerun_video_get_local_port(struct hdhomerun_video_sock_t *vs); ++ ++/* ++ * Get the low-level socket handle. ++ */ ++extern int hdhomerun_video_get_sock(struct hdhomerun_video_sock_t *vs); + + /* + * Read data from buffer. +@@ -87,18 +69,12 @@ + * The buffer is implemented as a ring buffer. It is possible for this function to return a small + * amount of data when more is available due to the wrap-around case. + */ +-extern LIBTYPE uint8_t *hdhomerun_video_recv(struct hdhomerun_video_sock_t *vs, size_t max_size, size_t *pactual_size); ++extern uint8_t *hdhomerun_video_recv(struct hdhomerun_video_sock_t *vs, size_t max_size, size_t *pactual_size); + + /* + * Flush the buffer. + */ +-extern LIBTYPE void hdhomerun_video_flush(struct hdhomerun_video_sock_t *vs); +- +-/* +- * Debug print internal stats. +- */ +-extern LIBTYPE void hdhomerun_video_debug_print_stats(struct hdhomerun_video_sock_t *vs); +-extern LIBTYPE void hdhomerun_video_get_stats(struct hdhomerun_video_sock_t *vs, struct hdhomerun_video_stats_t *stats); ++extern void hdhomerun_video_flush(struct hdhomerun_video_sock_t *vs); + + #ifdef __cplusplus + } +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/lgpl.txt src/mythtv-0.21/libs/libmythtv/hdhomerun/lgpl.txt +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhomerun/lgpl.txt 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhomerun/lgpl.txt 2009-01-09 13:14:56.000000000 +1030 +@@ -1,165 +1,504 @@ +- GNU LESSER GENERAL PUBLIC LICENSE +- Version 3, 29 June 2007 ++ GNU LESSER GENERAL PUBLIC LICENSE ++ Version 2.1, February 1999 + +- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> ++ Copyright (C) 1991, 1999 Free Software Foundation, Inc. ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +- +- This version of the GNU Lesser General Public License incorporates +-the terms and conditions of version 3 of the GNU General Public +-License, supplemented by the additional permissions listed below. +- +- 0. Additional Definitions. +- +- As used herein, "this License" refers to version 3 of the GNU Lesser +-General Public License, and the "GNU GPL" refers to version 3 of the GNU +-General Public License. +- +- "The Library" refers to a covered work governed by this License, +-other than an Application or a Combined Work as defined below. +- +- An "Application" is any work that makes use of an interface provided +-by the Library, but which is not otherwise based on the Library. +-Defining a subclass of a class defined by the Library is deemed a mode +-of using an interface provided by the Library. +- +- A "Combined Work" is a work produced by combining or linking an +-Application with the Library. The particular version of the Library +-with which the Combined Work was made is also called the "Linked +-Version". +- +- The "Minimal Corresponding Source" for a Combined Work means the +-Corresponding Source for the Combined Work, excluding any source code +-for portions of the Combined Work that, considered in isolation, are +-based on the Application, and not on the Linked Version. +- +- The "Corresponding Application Code" for a Combined Work means the +-object code and/or source code for the Application, including any data +-and utility programs needed for reproducing the Combined Work from the +-Application, but excluding the System Libraries of the Combined Work. +- +- 1. Exception to Section 3 of the GNU GPL. +- +- You may convey a covered work under sections 3 and 4 of this License +-without being bound by section 3 of the GNU GPL. +- +- 2. Conveying Modified Versions. +- +- If you modify a copy of the Library, and, in your modifications, a +-facility refers to a function or data to be supplied by an Application +-that uses the facility (other than as an argument passed when the +-facility is invoked), then you may convey a copy of the modified +-version: +- +- a) under this License, provided that you make a good faith effort to +- ensure that, in the event an Application does not supply the +- function or data, the facility still operates, and performs +- whatever part of its purpose remains meaningful, or +- +- b) under the GNU GPL, with none of the additional permissions of +- this License applicable to that copy. +- +- 3. Object Code Incorporating Material from Library Header Files. +- +- The object code form of an Application may incorporate material from +-a header file that is part of the Library. You may convey such object +-code under terms of your choice, provided that, if the incorporated +-material is not limited to numerical parameters, data structure +-layouts and accessors, or small macros, inline functions and templates +-(ten or fewer lines in length), you do both of the following: +- +- a) Give prominent notice with each copy of the object code that the +- Library is used in it and that the Library and its use are +- covered by this License. +- +- b) Accompany the object code with a copy of the GNU GPL and this license +- document. +- +- 4. Combined Works. +- +- You may convey a Combined Work under terms of your choice that, +-taken together, effectively do not restrict modification of the +-portions of the Library contained in the Combined Work and reverse +-engineering for debugging such modifications, if you also do each of +-the following: +- +- a) Give prominent notice with each copy of the Combined Work that +- the Library is used in it and that the Library and its use are +- covered by this License. +- +- b) Accompany the Combined Work with a copy of the GNU GPL and this license +- document. +- +- c) For a Combined Work that displays copyright notices during +- execution, include the copyright notice for the Library among +- these notices, as well as a reference directing the user to the +- copies of the GNU GPL and this license document. +- +- d) Do one of the following: +- +- 0) Convey the Minimal Corresponding Source under the terms of this +- License, and the Corresponding Application Code in a form +- suitable for, and under terms that permit, the user to +- recombine or relink the Application with a modified version of +- the Linked Version to produce a modified Combined Work, in the +- manner specified by section 6 of the GNU GPL for conveying +- Corresponding Source. +- +- 1) Use a suitable shared library mechanism for linking with the +- Library. A suitable mechanism is one that (a) uses at run time +- a copy of the Library already present on the user's computer +- system, and (b) will operate properly with a modified version +- of the Library that is interface-compatible with the Linked +- Version. +- +- e) Provide Installation Information, but only if you would otherwise +- be required to provide such information under section 6 of the +- GNU GPL, and only to the extent that such information is +- necessary to install and execute a modified version of the +- Combined Work produced by recombining or relinking the +- Application with a modified version of the Linked Version. (If +- you use option 4d0, the Installation Information must accompany +- the Minimal Corresponding Source and Corresponding Application +- Code. If you use option 4d1, you must provide the Installation +- Information in the manner specified by section 6 of the GNU GPL +- for conveying Corresponding Source.) +- +- 5. Combined Libraries. +- +- You may place library facilities that are a work based on the +-Library side by side in a single library together with other library +-facilities that are not Applications and are not covered by this +-License, and convey such a combined library under terms of your +-choice, if you do both of the following: +- +- a) Accompany the combined library with a copy of the same work based +- on the Library, uncombined with any other library facilities, +- conveyed under the terms of this License. +- +- b) Give prominent notice with the combined library that part of it +- is a work based on the Library, and explaining where to find the +- accompanying uncombined form of the same work. +- +- 6. Revised Versions of the GNU Lesser General Public License. +- +- The Free Software Foundation may publish revised and/or new versions +-of the GNU Lesser General Public License from time to time. Such new +-versions will be similar in spirit to the present version, but may +-differ in detail to address new problems or concerns. +- +- Each version is given a distinguishing version number. If the +-Library as you received it specifies that a certain numbered version +-of the GNU Lesser General Public License "or any later version" +-applies to it, you have the option of following the terms and +-conditions either of that published version or of any later version +-published by the Free Software Foundation. If the Library as you +-received it does not specify a version number of the GNU Lesser +-General Public License, you may choose any version of the GNU Lesser +-General Public License ever published by the Free Software Foundation. +- +- If the Library as you received it specifies that a proxy can decide +-whether future versions of the GNU Lesser General Public License shall +-apply, that proxy's public statement of acceptance of any version is +-permanent authorization for you to choose that version for the ++[This is the first released version of the Lesser GPL. It also counts ++ as the successor of the GNU Library Public License, version 2, hence ++ the version number 2.1.] ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++Licenses are intended to guarantee your freedom to share and change ++free software--to make sure the software is free for all its users. ++ ++ This license, the Lesser General Public License, applies to some ++specially designated software packages--typically libraries--of the ++Free Software Foundation and other authors who decide to use it. You ++can use it too, but we suggest you first think carefully about whether ++this license or the ordinary General Public License is the better ++strategy to use in any particular case, based on the explanations below. ++ ++ When we speak of free software, we are referring to freedom of use, ++not price. Our General Public Licenses are designed to make sure that ++you have the freedom to distribute copies of free software (and charge ++for this service if you wish); that you receive source code or can get ++it if you want it; that you can change the software and use pieces of ++it in new free programs; and that you are informed that you can do ++these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++distributors to deny you these rights or to ask you to surrender these ++rights. These restrictions translate to certain responsibilities for ++you if you distribute copies of the library or if you modify it. ++ ++ For example, if you distribute copies of the library, whether gratis ++or for a fee, you must give the recipients all the rights that we gave ++you. You must make sure that they, too, receive or can get the source ++code. If you link other code with the library, you must provide ++complete object files to the recipients, so that they can relink them ++with the library after making changes to the library and recompiling ++it. And you must show them these terms so they know their rights. ++ ++ We protect your rights with a two-step method: (1) we copyright the ++library, and (2) we offer you this license, which gives you legal ++permission to copy, distribute and/or modify the library. ++ ++ To protect each distributor, we want to make it very clear that ++there is no warranty for the free library. Also, if the library is ++modified by someone else and passed on, the recipients should know ++that what they have is not the original version, so that the original ++author's reputation will not be affected by problems that might be ++introduced by others. ++ ++ Finally, software patents pose a constant threat to the existence of ++any free program. We wish to make sure that a company cannot ++effectively restrict the users of a free program by obtaining a ++restrictive license from a patent holder. Therefore, we insist that ++any patent license obtained for a version of the library must be ++consistent with the full freedom of use specified in this license. ++ ++ Most GNU software, including some libraries, is covered by the ++ordinary GNU General Public License. This license, the GNU Lesser ++General Public License, applies to certain designated libraries, and ++is quite different from the ordinary General Public License. We use ++this license for certain libraries in order to permit linking those ++libraries into non-free programs. ++ ++ When a program is linked with a library, whether statically or using ++a shared library, the combination of the two is legally speaking a ++combined work, a derivative of the original library. The ordinary ++General Public License therefore permits such linking only if the ++entire combination fits its criteria of freedom. The Lesser General ++Public License permits more lax criteria for linking other code with ++the library. ++ ++ We call this license the "Lesser" General Public License because it ++does Less to protect the user's freedom than the ordinary General ++Public License. It also provides other free software developers Less ++of an advantage over competing non-free programs. These disadvantages ++are the reason we use the ordinary General Public License for many ++libraries. However, the Lesser license provides advantages in certain ++special circumstances. ++ ++ For example, on rare occasions, there may be a special need to ++encourage the widest possible use of a certain library, so that it becomes ++a de-facto standard. To achieve this, non-free programs must be ++allowed to use the library. A more frequent case is that a free ++library does the same job as widely used non-free libraries. In this ++case, there is little to gain by limiting the free library to free ++software only, so we use the Lesser General Public License. ++ ++ In other cases, permission to use a particular library in non-free ++programs enables a greater number of people to use a large body of ++free software. For example, permission to use the GNU C Library in ++non-free programs enables many more people to use the whole GNU ++operating system, as well as its variant, the GNU/Linux operating ++system. ++ ++ Although the Lesser General Public License is Less protective of the ++users' freedom, it does ensure that the user of a program that is ++linked with the Library has the freedom and the wherewithal to run ++that program using a modified version of the Library. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. Pay close attention to the difference between a ++"work based on the library" and a "work that uses the library". The ++former contains code derived from the library, whereas the latter must ++be combined with the library in order to run. ++ ++ GNU LESSER GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License Agreement applies to any software library or other ++program which contains a notice placed by the copyright holder or ++other authorized party saying it may be distributed under the terms of ++this Lesser General Public License (also called "this License"). ++Each licensee is addressed as "you". ++ ++ A "library" means a collection of software functions and/or data ++prepared so as to be conveniently linked with application programs ++(which use some of those functions and data) to form executables. ++ ++ The "Library", below, refers to any such software library or work ++which has been distributed under these terms. A "work based on the ++Library" means either the Library or any derivative work under ++copyright law: that is to say, a work containing the Library or a ++portion of it, either verbatim or with modifications and/or translated ++straightforwardly into another language. (Hereinafter, translation is ++included without limitation in the term "modification".) ++ ++ "Source code" for a work means the preferred form of the work for ++making modifications to it. For a library, complete source code means ++all the source code for all modules it contains, plus any associated ++interface definition files, plus the scripts used to control compilation ++and installation of the library. ++ ++ Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running a program using the Library is not restricted, and output from ++such a program is covered only if its contents constitute a work based ++on the Library (independent of the use of the Library in a tool for ++writing it). Whether that is true depends on what the Library does ++and what the program that uses the Library does. ++ ++ 1. You may copy and distribute verbatim copies of the Library's ++complete source code as you receive it, in any medium, provided that ++you conspicuously and appropriately publish on each copy an ++appropriate copyright notice and disclaimer of warranty; keep intact ++all the notices that refer to this License and to the absence of any ++warranty; and distribute a copy of this License along with the + Library. ++ ++ You may charge a fee for the physical act of transferring a copy, ++and you may at your option offer warranty protection in exchange for a ++fee. ++ ++ 2. You may modify your copy or copies of the Library or any portion ++of it, thus forming a work based on the Library, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) The modified work must itself be a software library. ++ ++ b) You must cause the files modified to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ c) You must cause the whole of the work to be licensed at no ++ charge to all third parties under the terms of this License. ++ ++ d) If a facility in the modified Library refers to a function or a ++ table of data to be supplied by an application program that uses ++ the facility, other than as an argument passed when the facility ++ is invoked, then you must make a good faith effort to ensure that, ++ in the event an application does not supply such function or ++ table, the facility still operates, and performs whatever part of ++ its purpose remains meaningful. ++ ++ (For example, a function in a library to compute square roots has ++ a purpose that is entirely well-defined independent of the ++ application. Therefore, Subsection 2d requires that any ++ application-supplied function or table used by this function must ++ be optional: if the application does not supply it, the square ++ root function must still compute square roots.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Library, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Library, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote ++it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Library. ++ ++In addition, mere aggregation of another work not based on the Library ++with the Library (or with a work based on the Library) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may opt to apply the terms of the ordinary GNU General Public ++License instead of this License to a given copy of the Library. To do ++this, you must alter all the notices that refer to this License, so ++that they refer to the ordinary GNU General Public License, version 2, ++instead of to this License. (If a newer version than version 2 of the ++ordinary GNU General Public License has appeared, then you can specify ++that version instead if you wish.) Do not make any other change in ++these notices. ++ ++ Once this change is made in a given copy, it is irreversible for ++that copy, so the ordinary GNU General Public License applies to all ++subsequent copies and derivative works made from that copy. ++ ++ This option is useful when you wish to copy part of the code of ++the Library into a program that is not a library. ++ ++ 4. You may copy and distribute the Library (or a portion or ++derivative of it, under Section 2) in object code or executable form ++under the terms of Sections 1 and 2 above provided that you accompany ++it with the complete corresponding machine-readable source code, which ++must be distributed under the terms of Sections 1 and 2 above on a ++medium customarily used for software interchange. ++ ++ If distribution of object code is made by offering access to copy ++from a designated place, then offering equivalent access to copy the ++source code from the same place satisfies the requirement to ++distribute the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 5. A program that contains no derivative of any portion of the ++Library, but is designed to work with the Library by being compiled or ++linked with it, is called a "work that uses the Library". Such a ++work, in isolation, is not a derivative work of the Library, and ++therefore falls outside the scope of this License. ++ ++ However, linking a "work that uses the Library" with the Library ++creates an executable that is a derivative of the Library (because it ++contains portions of the Library), rather than a "work that uses the ++library". The executable is therefore covered by this License. ++Section 6 states terms for distribution of such executables. ++ ++ When a "work that uses the Library" uses material from a header file ++that is part of the Library, the object code for the work may be a ++derivative work of the Library even though the source code is not. ++Whether this is true is especially significant if the work can be ++linked without the Library, or if the work is itself a library. The ++threshold for this to be true is not precisely defined by law. ++ ++ If such an object file uses only numerical parameters, data ++structure layouts and accessors, and small macros and small inline ++functions (ten lines or less in length), then the use of the object ++file is unrestricted, regardless of whether it is legally a derivative ++work. (Executables containing this object code plus portions of the ++Library will still fall under Section 6.) ++ ++ Otherwise, if the work is a derivative of the Library, you may ++distribute the object code for the work under the terms of Section 6. ++Any executables containing that work also fall under Section 6, ++whether or not they are linked directly with the Library itself. ++ ++ 6. As an exception to the Sections above, you may also combine or ++link a "work that uses the Library" with the Library to produce a ++work containing portions of the Library, and distribute that work ++under terms of your choice, provided that the terms permit ++modification of the work for the customer's own use and reverse ++engineering for debugging such modifications. ++ ++ You must give prominent notice with each copy of the work that the ++Library is used in it and that the Library and its use are covered by ++this License. You must supply a copy of this License. If the work ++during execution displays copyright notices, you must include the ++copyright notice for the Library among them, as well as a reference ++directing the user to the copy of this License. Also, you must do one ++of these things: ++ ++ a) Accompany the work with the complete corresponding ++ machine-readable source code for the Library including whatever ++ changes were used in the work (which must be distributed under ++ Sections 1 and 2 above); and, if the work is an executable linked ++ with the Library, with the complete machine-readable "work that ++ uses the Library", as object code and/or source code, so that the ++ user can modify the Library and then relink to produce a modified ++ executable containing the modified Library. (It is understood ++ that the user who changes the contents of definitions files in the ++ Library will not necessarily be able to recompile the application ++ to use the modified definitions.) ++ ++ b) Use a suitable shared library mechanism for linking with the ++ Library. A suitable mechanism is one that (1) uses at run time a ++ copy of the library already present on the user's computer system, ++ rather than copying library functions into the executable, and (2) ++ will operate properly with a modified version of the library, if ++ the user installs one, as long as the modified version is ++ interface-compatible with the version that the work was made with. ++ ++ c) Accompany the work with a written offer, valid for at ++ least three years, to give the same user the materials ++ specified in Subsection 6a, above, for a charge no more ++ than the cost of performing this distribution. ++ ++ d) If distribution of the work is made by offering access to copy ++ from a designated place, offer equivalent access to copy the above ++ specified materials from the same place. ++ ++ e) Verify that the user has already received a copy of these ++ materials or that you have already sent this user a copy. ++ ++ For an executable, the required form of the "work that uses the ++Library" must include any data and utility programs needed for ++reproducing the executable from it. However, as a special exception, ++the materials to be distributed need not include anything that is ++normally distributed (in either source or binary form) with the major ++components (compiler, kernel, and so on) of the operating system on ++which the executable runs, unless that component itself accompanies ++the executable. ++ ++ It may happen that this requirement contradicts the license ++restrictions of other proprietary libraries that do not normally ++accompany the operating system. Such a contradiction means you cannot ++use both them and the Library together in an executable that you ++distribute. ++ ++ 7. You may place library facilities that are a work based on the ++Library side-by-side in a single library together with other library ++facilities not covered by this License, and distribute such a combined ++library, provided that the separate distribution of the work based on ++the Library and of the other library facilities is otherwise ++permitted, and provided that you do these two things: ++ ++ a) Accompany the combined library with a copy of the same work ++ based on the Library, uncombined with any other library ++ facilities. This must be distributed under the terms of the ++ Sections above. ++ ++ b) Give prominent notice with the combined library of the fact ++ that part of it is a work based on the Library, and explaining ++ where to find the accompanying uncombined form of the same work. ++ ++ 8. You may not copy, modify, sublicense, link with, or distribute ++the Library except as expressly provided under this License. Any ++attempt otherwise to copy, modify, sublicense, link with, or ++distribute the Library is void, and will automatically terminate your ++rights under this License. However, parties who have received copies, ++or rights, from you under this License will not have their licenses ++terminated so long as such parties remain in full compliance. ++ ++ 9. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Library or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Library (or any work based on the ++Library), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Library or works based on it. ++ ++ 10. Each time you redistribute the Library (or any work based on the ++Library), the recipient automatically receives a license from the ++original licensor to copy, distribute, link with or modify the Library ++subject to these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties with ++this License. ++ ++ 11. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Library at all. For example, if a patent ++license would not permit royalty-free redistribution of the Library by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Library. ++ ++If any portion of this section is held invalid or unenforceable under any ++particular circumstance, the balance of the section is intended to apply, ++and the section as a whole is intended to apply in other circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 12. If the distribution and/or use of the Library is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Library under this License may add ++an explicit geographical distribution limitation excluding those countries, ++so that distribution is permitted only in or among countries not thus ++excluded. In such case, this License incorporates the limitation as if ++written in the body of this License. ++ ++ 13. The Free Software Foundation may publish revised and/or new ++versions of the Lesser General Public License from time to time. ++Such new versions will be similar in spirit to the present version, ++but may differ in detail to address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Library ++specifies a version number of this License which applies to it and ++"any later version", you have the option of following the terms and ++conditions either of that version or of any later version published by ++the Free Software Foundation. If the Library does not specify a ++license version number, you may choose any version ever published by ++the Free Software Foundation. ++ ++ 14. If you wish to incorporate parts of the Library into other free ++programs whose distribution conditions are incompatible with these, ++write to the author to ask for permission. For software which is ++copyrighted by the Free Software Foundation, write to the Free ++Software Foundation; we sometimes make exceptions for this. Our ++decision will be guided by the two goals of preserving the free status ++of all derivatives of our free software and of promoting the sharing ++and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO ++WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. ++EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR ++OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY ++KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE ++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ++LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME ++THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. ++ ++ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN ++WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY ++AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU ++FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR ++CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE ++LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING ++RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A ++FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF ++SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH ++DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Libraries ++ ++ If you develop a new library, and you want it to be of the greatest ++possible use to the public, we recommend making it free software that ++everyone can redistribute and change. You can do so by permitting ++redistribution under these terms (or, alternatively, under the terms of the ++ordinary General Public License). ++ ++ To apply these terms, attach the following notices to the library. It is ++safest to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least the ++"copyright" line and a pointer to where the full notice is found. ++ ++ <one line to give the library's name and a brief idea of what it does.> ++ Copyright (C) <year> <name of author> ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ This library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++You should also get your employer (if you work as a programmer) or your ++school, if any, to sign a "copyright disclaimer" for the library, if ++necessary. Here is a sample; alter the names: ++ ++ Yoyodyne, Inc., hereby disclaims all copyright interest in the ++ library `Frob' (a library for tweaking knobs) written by James Random Hacker. ++ ++ <signature of Ty Coon>, 1 April 1990 ++ Ty Coon, President of Vice ++ ++That's all there is to it! ++ ++ +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhrchannel.cpp src/mythtv-0.21/libs/libmythtv/hdhrchannel.cpp +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhrchannel.cpp 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhrchannel.cpp 2009-01-09 13:14:58.000000000 +1030 +@@ -1,6 +1,6 @@ + /** +- * HDHRChannel +- * Copyright (c) 2006-2009 by Silicondust Engineering Ltd. ++ * DBox2Channel ++ * Copyright (c) 2006 by Silicondust Engineering Ltd. + * Distributed as part of MythTV under GPL v2 and later. + */ + +@@ -24,6 +24,7 @@ + #include "hdhrchannel.h" + #include "videosource.h" + #include "channelutil.h" ++#include "frequencytables.h" + + #define DEBUG_PID_FILTERS + +@@ -31,7 +32,7 @@ + #define LOC_ERR QString("HDHRChan(%1), Error: ").arg(GetDevice()) + + HDHRChannel::HDHRChannel(TVRec *parent, const QString &device, uint tuner) +- : DTVChannel(parent), _hdhomerun_device(NULL), ++ : DTVChannel(parent), _control_socket(NULL), + _device_id(0), _device_ip(0), + _tuner(tuner), _lock(true) + { +@@ -41,8 +42,6 @@ + if (valid && hdhomerun_discover_validate_device_id(_device_id)) + return; + +- _device_id = HDHOMERUN_DEVICE_ID_WILDCARD; +- + /* Otherwise, is it a valid IP address? */ + struct in_addr address; + if (inet_aton(device, &address)) +@@ -55,6 +54,7 @@ + VERBOSE(VB_IMPORTANT, LOC_ERR + QString("Invalid DeviceID '%1'") + .arg(device)); + ++ _device_id = HDHOMERUN_DEVICE_ID_WILDCARD; + } + + HDHRChannel::~HDHRChannel(void) +@@ -67,38 +67,77 @@ + if (IsOpen()) + return true; + ++ if (!FindDevice()) ++ return false; ++ + if (!InitializeInputs()) + return false; + +- return Connect(); ++ return (_device_ip != 0) && Connect(); + } + + void HDHRChannel::Close(void) + { +- if (_hdhomerun_device) ++ if (_control_socket) + { +- hdhomerun_device_destroy(_hdhomerun_device); +- _hdhomerun_device = NULL; ++ hdhomerun_control_destroy(_control_socket); ++ _control_socket = NULL; + } + } + + bool HDHRChannel::EnterPowerSavingMode(void) + { +- return hdhomerun_device_set_tuner_channel(_hdhomerun_device, "none") > 0; ++ return QString::null != TunerSet("channel", "none", false); ++} ++ ++bool HDHRChannel::FindDevice(void) ++{ ++ if (!_device_id) ++ return _device_ip; ++ ++ _device_ip = 0; ++ ++ /* Discover. */ ++ struct hdhomerun_discover_device_t result; ++ int ret = hdhomerun_discover_find_device(_device_id, &result); ++ if (ret < 0) ++ { ++ VERBOSE(VB_IMPORTANT, LOC_ERR + "Unable to send discovery request" + ENO); ++ return false; ++ } ++ if (ret == 0) ++ { ++ VERBOSE(VB_IMPORTANT, LOC_ERR + QString("device not found")); ++ return false; ++ } ++ ++ /* Found. */ ++ _device_ip = result.ip_addr; ++ ++ VERBOSE(VB_IMPORTANT, LOC + ++ QString("device found at address %1.%2.%3.%4") ++ .arg((_device_ip>>24) & 0xFF).arg((_device_ip>>16) & 0xFF) ++ .arg((_device_ip>> 8) & 0xFF).arg((_device_ip>> 0) & 0xFF)); ++ ++ return true; + } + + bool HDHRChannel::Connect(void) + { +- _hdhomerun_device = hdhomerun_device_create( +- _device_id, _device_ip, _tuner, NULL); ++ _control_socket = hdhomerun_control_create(_device_id, _device_ip); ++ if (!_control_socket) ++ { ++ VERBOSE(VB_IMPORTANT, LOC_ERR + "Unable to create control socket"); ++ return false; ++ } + +- if (!_hdhomerun_device) ++ if (hdhomerun_control_get_local_addr(_control_socket) == 0) + { +- VERBOSE(VB_IMPORTANT, +- LOC_ERR + "Unable to create hdhomerun device object"); ++ VERBOSE(VB_IMPORTANT, LOC_ERR + "Unable to connect to device"); + return false; + } + ++ VERBOSE(VB_CHANNEL, LOC + "Successfully connected to device"); + return true; + } + +@@ -106,7 +145,7 @@ + { + QMutexLocker locker(&_lock); + +- if (!_hdhomerun_device) ++ if (!_control_socket) + { + VERBOSE(VB_IMPORTANT, LOC_ERR + "Get request failed (not connected)"); + return QString::null; +@@ -114,7 +153,7 @@ + + char *value = NULL; + char *error = NULL; +- if (hdhomerun_device_get_var(_hdhomerun_device, name, &value, &error) < 0) ++ if (hdhomerun_control_get(_control_socket, name, &value, &error) < 0) + { + VERBOSE(VB_IMPORTANT, LOC_ERR + "Get request failed" + ENO); + return QString::null; +@@ -136,7 +175,7 @@ + { + QMutexLocker locker(&_lock); + +- if (!_hdhomerun_device) ++ if (!_control_socket) + { + VERBOSE(VB_IMPORTANT, LOC_ERR + "Set request failed (not connected)"); + return QString::null; +@@ -144,8 +183,7 @@ + + char *value = NULL; + char *error = NULL; +- if (hdhomerun_device_set_var( +- _hdhomerun_device, name, val, &value, &error) < 0) ++ if (hdhomerun_control_set(_control_socket, name, val, &value, &error) < 0) + { + VERBOSE(VB_IMPORTANT, LOC_ERR + "Set request failed" + ENO); + +@@ -163,11 +201,6 @@ + return QString(value); + } + +-struct hdhomerun_device_t *HDHRChannel::GetHDHRDevice(void) +-{ +- return _hdhomerun_device; +-} +- + QString HDHRChannel::TunerGet(const QString &name, bool report_error_return) + { + return DeviceGet(QString("/tuner%1/%2").arg(_tuner).arg(name), +@@ -188,8 +221,7 @@ + return false; + } + +- unsigned long localIP = hdhomerun_device_get_local_machine_addr( +- _hdhomerun_device); ++ unsigned long localIP = hdhomerun_control_get_local_addr(_control_socket); + if (localIP == 0) + { + return false; +@@ -200,7 +232,7 @@ + .arg((localIP >> 8) & 0xFF).arg((localIP >> 0) & 0xFF) + .arg(localPort); + +- if (hdhomerun_device_set_tuner_target(_hdhomerun_device, configValue) <= 0) ++ if (!TunerSet("target", configValue)) + { + return false; + } +@@ -208,9 +240,9 @@ + return true; + } + +-bool HDHRChannel::DeviceClearTarget(void) ++bool HDHRChannel::DeviceClearTarget() + { +- return hdhomerun_device_set_tuner_target(_hdhomerun_device, "none") > 0; ++ return TunerSet("target", "0.0.0.0:0"); + } + + bool HDHRChannel::SetChannelByString(const QString &channum) +@@ -316,8 +348,7 @@ + if (mpeg_prog_num && (GetTuningMode() == "mpeg")) + { + QString pnum = QString::number(mpeg_prog_num); +- _ignore_filters = (hdhomerun_device_set_tuner_program( +- _hdhomerun_device, pnum) > 0); ++ _ignore_filters = QString::null != TunerSet("program", pnum, false); + } + + return true; +@@ -360,27 +391,22 @@ + bool HDHRChannel::Tune(uint frequency, QString /*input*/, + QString modulation, QString si_std) + { +- // Convert dtv_multiplex.modulation strings to something the HDHR can use: +- modulation.replace("qam_", "qam"); // e.g. qam_256 -> qam256 +-#if 0 +- if (modulation == "qamauto") +- modulation = "qam"; // "auto" works just as well? +-#endif +- +- if (modulation.isEmpty()) +- modulation = "auto"; ++ bool ok = false; + +- QString chan = modulation + ':' + QString::number(frequency); ++ VERBOSE(VB_CHANNEL, LOC + ++ QString("TuneTo(%1,%2)").arg(frequency).arg(modulation)); + +- VERBOSE(VB_CHANNEL, LOC + "Tune()ing to " + chan); ++ if (modulation == "8vsb") ++ ok = TunerSet("channel", QString("8vsb:%1").arg(frequency)); ++ else if (modulation == "qam_64") ++ ok = TunerSet("channel", QString("qam64:%1").arg(frequency)); ++ else if (modulation == "qam_256") ++ ok = TunerSet("channel", QString("qam256:%1").arg(frequency)); + +- if (hdhomerun_device_set_tuner_channel(_hdhomerun_device, chan) > 0) +- { ++ if (ok) + SetSIStandard(si_std); +- return true; +- } + +- return false; ++ return ok; + } + + bool HDHRChannel::AddPID(uint pid, bool do_update) +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhrchannel.h src/mythtv-0.21/libs/libmythtv/hdhrchannel.h +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhrchannel.h 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhrchannel.h 2009-01-09 13:14:58.000000000 +1030 +@@ -39,7 +39,7 @@ + bool SetChannelByString(const QString &chan); + + // Gets +- bool IsOpen(void) const { return (_hdhomerun_device != NULL); } ++ bool IsOpen(void) const { return (_control_socket != NULL); } + QString GetDevice(void) const + { return QString("%1/%2").arg(_device_id, 8, 16).arg(_tuner); } + vector<uint> GetPIDs(void) const +@@ -57,13 +57,11 @@ + bool Tune(const DTVMultiplex &tuning, QString inputname); + + private: ++ bool FindDevice(void); + bool Connect(void); + bool Tune(uint frequency, QString inputname, + QString modulation, QString si_std); + +- +- struct hdhomerun_device_t *GetHDHRDevice(void); +- + bool DeviceSetTarget(unsigned short localPort); + bool DeviceClearTarget(void); + +@@ -76,7 +74,7 @@ + bool report_error_return = true); + + private: +- struct hdhomerun_device_t *_hdhomerun_device; ++ hdhr_socket_t *_control_socket; + uint _device_id; + uint _device_ip; + uint _tuner; +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhrrecorder.cpp src/mythtv-0.21/libs/libmythtv/hdhrrecorder.cpp +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhrrecorder.cpp 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhrrecorder.cpp 2009-01-22 18:52:43.000000000 +1030 +@@ -1,6 +1,6 @@ + /** -*- Mode: c++ -*- + * HDHRRecorder +- * Copyright (c) 2006-2009 by Silicondust Engineering Ltd, and ++ * Copyright (c) 2006 by Silicondust Engineering Ltd, and + * Daniel Thor Kristjansson + * Distributed as part of MythTV under GPL v2 and later. + */ +@@ -27,7 +27,6 @@ + #include "hdhrrecorder.h" + #include "atsctables.h" + #include "atscstreamdata.h" +-#include "dvbstreamdata.h" + #include "eithelper.h" + #include "tv_rec.h" + +@@ -110,7 +109,7 @@ + buffersize = max(49 * TSPacket::SIZE * 128, buffersize); + + /* Create TS socket. */ +- _video_socket = hdhomerun_video_create(0, buffersize, NULL); ++ _video_socket = hdhomerun_video_create(0, buffersize); + if (!_video_socket) + { + VERBOSE(VB_IMPORTANT, LOC + "Open() failed to open socket"); +@@ -177,13 +176,10 @@ + data->AddMPEGListener(this); + + ATSCStreamData *atsc = dynamic_cast<ATSCStreamData*>(data); +- DVBStreamData *dvb = dynamic_cast<DVBStreamData*>(data); + + if (atsc && atsc->DesiredMinorChannel()) + atsc->SetDesiredChannel(atsc->DesiredMajorChannel(), + atsc->DesiredMinorChannel()); +- else if (dvb) +- dvb->AddDVBMainListener(this); + else if (data->DesiredProgram() >= 0) + data->SetDesiredProgram(data->DesiredProgram()); + } +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhrsignalmonitor.cpp src/mythtv-0.21/libs/libmythtv/hdhrsignalmonitor.cpp +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/hdhrsignalmonitor.cpp 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/hdhrsignalmonitor.cpp 2009-01-09 13:14:58.000000000 +1030 +@@ -139,17 +139,19 @@ + { + dtvMonitorRunning = true; + +- HDHRChannel *hdrc = dynamic_cast<HDHRChannel*>(channel); +- struct hdhomerun_device_t *_hdhomerun_device = hdrc->GetHDHRDevice(); +- +- if (!_hdhomerun_device) ++ struct hdhomerun_video_sock_t *_video_socket; ++ _video_socket = hdhomerun_video_create(0, VIDEO_DATA_BUFFER_SIZE_1S); ++ if (!_video_socket) + { +- VERBOSE(VB_IMPORTANT, "Failed to get HDHomeRun device handle"); ++ VERBOSE(VB_IMPORTANT, LOC_ERR + "Failed to get video socket"); + return; + } + +- if (!hdhomerun_device_stream_start(_hdhomerun_device)) ++ HDHRChannel *hdrc = dynamic_cast<HDHRChannel*>(channel); ++ uint localPort = hdhomerun_video_get_local_port(_video_socket); ++ if (!hdrc->DeviceSetTarget(localPort)) + { ++ hdhomerun_video_destroy(_video_socket); + VERBOSE(VB_IMPORTANT, LOC_ERR + "Failed to set target"); + return; + } +@@ -164,7 +166,7 @@ + + size_t data_length; + unsigned char *data_buffer = +- hdhomerun_device_stream_recv(_hdhomerun_device, ++ hdhomerun_video_recv(_video_socket, + VIDEO_DATA_BUFFER_SIZE_1S / 5, + &data_length); + +@@ -177,7 +179,8 @@ + usleep(2500); + } + +- hdhomerun_device_stream_stop(_hdhomerun_device); ++ hdrc->DeviceClearTarget(); ++ hdhomerun_video_destroy(_video_socket); + + VERBOSE(VB_CHANNEL, LOC + "RunTableMonitor(): -- shutdown"); + +@@ -212,15 +215,16 @@ + return; + } + +- HDHRChannel *hdrc = dynamic_cast<HDHRChannel*>(channel); +- struct hdhomerun_device_t *_hdhomerun_device = hdrc->GetHDHRDevice(); +- struct hdhomerun_tuner_status_t status; +- hdhomerun_device_get_tuner_status(_hdhomerun_device, NULL, &status); +- +- uint sig = status.signal_strength; +- uint snq = status.signal_to_noise_quality; +- uint seq = status.symbol_error_quality; +- ++ QString msg = ((HDHRChannel*)channel)->TunerGet("status"); ++ //ss = signal strength, [0,100] ++ //snq = signal to noise quality [0,100] ++ //seq = signal error quality [0,100] ++ int loc_sig = msg.find("ss="), loc_snq = msg.find("snq="); ++ int loc_seq = msg.find("seq="), loc_end = msg.length(); ++ bool ok0, ok1, ok2; ++ uint sig = msg.mid(loc_sig + 3, loc_snq - loc_sig - 4).toUInt(&ok0); ++ uint snq = msg.mid(loc_snq + 4, loc_seq - loc_snq - 5).toUInt(&ok1); ++ uint seq = msg.mid(loc_seq + 4, loc_end - loc_seq - 4).toUInt(&ok2); + (void) snq; // TODO should convert to S/N + (void) seq; // TODO should report this... + +@@ -232,8 +236,9 @@ + bool isLocked = false; + { + QMutexLocker locker(&statusLock); +- signalStrength.SetValue(sig); +- signalLock.SetValue(status.lock_supported); ++ if (loc_sig > 0 && loc_snq > 0 && ok0) ++ signalStrength.SetValue(sig); ++ signalLock.SetValue(signalStrength.IsGood() ? 1 : 0); + isLocked = signalLock.IsGood(); + } + +diff -aur branches/release-0-21-fixes/mythtv/libs/libmythtv/libmythtv.pro src/mythtv-0.21/libs/libmythtv/libmythtv.pro +--- branches/release-0-21-fixes/mythtv/libs/libmythtv/libmythtv.pro 2009-07-13 15:44:12.000000000 +0930 ++++ src/mythtv-0.21/libs/libmythtv/libmythtv.pro 2009-01-09 13:14:58.000000000 +1030 +@@ -459,28 +459,12 @@ + DEFINES += USING_HDHOMERUN + + # HDHomeRun library +- HEADERS += hdhomerun/hdhomerun.h ++ HEADERS += hdhomerun/hdhomerun_pkt.h hdhomerun/hdhomerun_discover.h ++ HEADERS += hdhomerun/hdhomerun_video.h hdhomerun/hdhomerun_control.h + HEADERS += hdhomerun/hdhomerun_os.h +- HEADERS += hdhomerun/hdhomerun_os_posix.h +- HEADERS += hdhomerun/hdhomerun_os_windows.h +- HEADERS += hdhomerun/hdhomerun_channelscan.h +- HEADERS += hdhomerun/hdhomerun_channels.h +- HEADERS += hdhomerun/hdhomerun_control.h +- HEADERS += hdhomerun/hdhomerun_debug.h +- HEADERS += hdhomerun/hdhomerun_pkt.h +- HEADERS += hdhomerun/hdhomerun_device.h +- HEADERS += hdhomerun/hdhomerun_types.h +- HEADERS += hdhomerun/hdhomerun_discover.h +- HEADERS += hdhomerun/hdhomerun_video.h +- +- SOURCES += hdhomerun/hdhomerun_pkt.c +- SOURCES += hdhomerun/hdhomerun_debug.c +- SOURCES += hdhomerun/hdhomerun_discover.c +- SOURCES += hdhomerun/hdhomerun_channels.c +- SOURCES += hdhomerun/hdhomerun_channelscan.c +- SOURCES += hdhomerun/hdhomerun_control.c +- SOURCES += hdhomerun/hdhomerun_video.c +- SOURCES += hdhomerun/hdhomerun_device.c ++ ++ SOURCES += hdhomerun/hdhomerun_pkt.c hdhomerun/hdhomerun_discover.c ++ SOURCES += hdhomerun/hdhomerun_video.c hdhomerun/hdhomerun_control.c + } + + # Support for PVR-150/250/350/500, etc. on Linux diff --git a/abs/core-testing/mythtv/stable/mythvideo/PKGBUILD b/abs/core-testing/mythtv/stable/mythvideo/PKGBUILD index f9895c6..a233549 100644 --- a/abs/core-testing/mythtv/stable/mythvideo/PKGBUILD +++ b/abs/core-testing/mythtv/stable/mythvideo/PKGBUILD @@ -4,15 +4,16 @@ pkgname=mythvideo pkgver=0.21 -pkgrel=8 +pkgrel=9 pkgdesc="Video playback and browsing plugin for MythTV" arch=('i686' 'x86_64') url="http://www.mythtv.org" license=('GPL') depends=("mythtv>=${pkgver}" 'mplayer' 'perlxml' 'perl-libwww' 'perl-uri' 'perl-xml-simple' 'ffmpeg') source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2"\ - mtd) -md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe' '476c12ba074794ad7f4ae092bdf949d6') + "ftp://ftp.knoppmyth.net/R6/sources/tmdb.tar.bz2" \ + mtd mythvideo-6338-use_tmdb_in_fixes.patch) +md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe' '48cff8f7095586c85ec70989746736b4' '476c12ba074794ad7f4ae092bdf949d6' '4bd38d054dfc4b0b1724f398d38676f7') replaces=('mythdvd') groups=('mythtv-extras') install=mythvideo.install @@ -20,6 +21,7 @@ install=mythvideo.install build() { cd $startdir/src/mythplugins svn update + patch -p1 < ../mythvideo-6338-use_tmdb_in_fixes.patch . /etc/profile.d/qt3.sh # use QT3 qmake @@ -33,6 +35,7 @@ build() { make INSTALL_ROOT=$startdir/pkg install install -D -m755 ../mtd $startdir/pkg/etc/rc.d/mtd + cp -Rv $startdir/src/tmdb/* $startdir/pkg/usr/share/mythtv/mythvideo/scripts/ } diff --git a/abs/core-testing/mythtv/stable/mythvideo/mythvideo-6338-use_tmdb_in_fixes.patch b/abs/core-testing/mythtv/stable/mythvideo/mythvideo-6338-use_tmdb_in_fixes.patch new file mode 100644 index 0000000..a5a182d --- /dev/null +++ b/abs/core-testing/mythtv/stable/mythvideo/mythvideo-6338-use_tmdb_in_fixes.patch @@ -0,0 +1,151 @@ +Index: mythplugins/mythvideo/mythvideo/videomanager.cpp +=================================================================== +--- mythplugins.orig/mythvideo/mythvideo/videomanager.cpp 2009-03-09 22:39:40.000000000 -0400 ++++ mythplugins/mythvideo/mythvideo/videomanager.cpp 2009-03-09 23:04:55.000000000 -0400 +@@ -1535,6 +1535,56 @@ + } + } + ++ // Since there's no DB update to remove imdb.pl settings in -fixes, ++ // check for the old imdb.pl command and, if it's the old default, ++ // use tmdb.pl, instead (if available in the same location or the ++ // scripts dir)). Checks to see if cmd ends with end (the end of the ++ // old default imdb.pl command line). If so, it checks for tmdb, and ++ // if it exists in either the same location as specified in cmd or in ++ // the MythVideo scripts directory, replace end with "/tmdb.pl " + arg ++ QString UpdateCommandForTMDB(const QString cmd, const QString end, ++ const QString arg) ++ { ++ QString updated_cmd = cmd; ++ if (updated_cmd.endsWith(end)) ++ { ++ QString script_path = updated_cmd; ++ script_path.truncate(updated_cmd.findRev(end, ++ 0 - end.length())); ++ QString tmdb_path(script_path + "/tmdb.pl"); ++ if (QFile::exists(tmdb_path)) ++ { ++ VERBOSE(VB_GENERAL, QString("Overriding old default " ++ "grabber script command line. " ++ "Using tmdb.pl, instead.")); ++ updated_cmd = tmdb_path + " " + arg; ++ } ++ else ++ { ++ // It's possible the user has a non-default imdb.pl ++ // command-line--including path location--in the setting, ++ // so check to see if we've already checked the mythvideo ++ // scripts directory ++ QString def_path = QDir::cleanDirPath(QString("%1/%2") ++ .arg(gContext->GetShareDir()) ++ .arg("mythvideo/scripts")); ++ if (script_path != def_path) ++ { ++ tmdb_path = def_path + "/tmdb.pl"; ++ if (QFile::exists(tmdb_path)) ++ { ++ VERBOSE(VB_GENERAL, QString("Overriding old " ++ "default grabber script command line. " ++ "Using tmdb.pl, instead.")); ++ updated_cmd = tmdb_path + " " + arg; ++ } ++ } ++ } ++ } ++ ++ return updated_cmd; ++ } ++ + virtual void OnExecDone(bool normal_exit, const QStringList &out, + const QStringList &err) = 0; + +@@ -1624,9 +1674,16 @@ + + QString def_cmd = QDir::cleanDirPath(QString("%1/%2") + .arg(gContext->GetShareDir()) +- .arg("mythvideo/scripts/imdb.pl -M tv=no;video=no")); ++ .arg("mythvideo/scripts/tmdb.pl -M")); + +- QString cmd = gContext->GetSetting("MovieListCommandLine", def_cmd); ++ // Since there's no DB update to remove imdb.pl settings in -fixes, ++ // check for the old imdb.pl command and, if it's the old default, ++ // use tmdb.pl, instead (if available in the same location or the ++ // scripts dir)) ++ QString cmd = UpdateCommandForTMDB( ++ gContext->GetSetting("MovieListCommandLine", ++ def_cmd), ++ "/imdb.pl -M tv=no;video=no", "-M"); + + QStringList args; + args += title; +@@ -1682,9 +1739,15 @@ + + const QString def_cmd = QDir::cleanDirPath(QString("%1/%2") + .arg(gContext->GetShareDir()) +- .arg("mythvideo/scripts/imdb.pl -D")); +- const QString cmd = gContext->GetSetting("MovieDataCommandLine", +- def_cmd); ++ .arg("mythvideo/scripts/tmdb.pl -D")); ++ // Since there's no DB update to remove imdb.pl settings in -fixes, ++ // check for the old imdb.pl command and, if it's the old default, ++ // use tmdb.pl, instead (if available in the same location or the ++ // scripts dir)) ++ const QString cmd = UpdateCommandForTMDB( ++ gContext->GetSetting("MovieDataCommandLine", ++ def_cmd), ++ "/imdb.pl -D", "-D"); + + StartRun(cmd, video_uid, "Video Data Query"); + } +@@ -1726,9 +1789,16 @@ + const QString default_cmd = + QDir::cleanDirPath(QString("%1/%2") + .arg(gContext->GetShareDir()) +- .arg("mythvideo/scripts/imdb.pl -P")); +- const QString cmd = gContext->GetSetting("MoviePosterCommandLine", +- default_cmd); ++ .arg("mythvideo/scripts/tmdb.pl -P")); ++ // Since there's no DB update to remove imdb.pl settings in -fixes, ++ // check for the old imdb.pl command and, if it's the old default, ++ // use tmdb.pl, instead (if available in the same location or the ++ // scripts dir)) ++ const QString cmd = UpdateCommandForTMDB( ++ gContext->GetSetting("MoviePosterCommandLine", ++ default_cmd), ++ "/imdb.pl -P", "-P"); ++ + StartRun(cmd, video_uid, "Poster Query"); + } + +Index: mythplugins/mythvideo/mythvideo/globalsettings.cpp +=================================================================== +--- mythplugins.orig/mythvideo/mythvideo/globalsettings.cpp 2009-03-09 22:39:40.000000000 -0400 ++++ mythplugins/mythvideo/mythvideo/globalsettings.cpp 2009-03-09 22:42:47.000000000 -0400 +@@ -210,8 +210,7 @@ + { + HostLineEdit *gc = new HostLineEdit("MovieListCommandLine"); + gc->setLabel(QObject::tr("Command to search for movie listings")); +- gc->setValue(gContext->GetShareDir() + "mythvideo/scripts/imdb.pl " + +- "-M tv=no;video=no"); ++ gc->setValue(gContext->GetShareDir() + "mythvideo/scripts/tmdb.pl -M"); + gc->setHelpText(QObject::tr("This command must be " + "executable by the user running MythVideo.")); + return gc; +@@ -221,7 +220,7 @@ + { + HostLineEdit *gc = new HostLineEdit("MoviePosterCommandLine"); + gc->setLabel(QObject::tr("Command to search for movie posters")); +- gc->setValue(gContext->GetShareDir() + "mythvideo/scripts/imdb.pl -P"); ++ gc->setValue(gContext->GetShareDir() + "mythvideo/scripts/tmdb.pl -P"); + gc->setHelpText(QObject::tr("This command must be " + "executable by the user running MythVideo.")); + return gc; +@@ -231,7 +230,7 @@ + { + HostLineEdit *gc = new HostLineEdit("MovieDataCommandLine"); + gc->setLabel(QObject::tr("Command to extract data for movies")); +- gc->setValue(gContext->GetShareDir() + "mythvideo/scripts/imdb.pl -D"); ++ gc->setValue(gContext->GetShareDir() + "mythvideo/scripts/tmdb.pl -D"); + gc->setHelpText(QObject::tr("This command must be " + "executable by the user running MythVideo.")); + return gc; diff --git a/abs/core-testing/mythtv/stable/mythweb/PKGBUILD b/abs/core-testing/mythtv/stable/mythweb/PKGBUILD index 3e3d172..20e9e3d 100644 --- a/abs/core-testing/mythtv/stable/mythweb/PKGBUILD +++ b/abs/core-testing/mythtv/stable/mythweb/PKGBUILD @@ -1,13 +1,13 @@ pkgname=mythweb pkgver=0.21 -pkgrel=19 +pkgrel=20 pkgdesc="Web interface for MythTV's backend" arch=('i686' 'x86_64') url="http://www.mythtv.org" license=('GPL') depends=("mythtv>=${pkgver}" 'lighttpd' 'php' 'local-website') install=mythweb.install -source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2" wiiweb.tar.bz2) +source=("ftp://ftp.knoppmyth.net/R6/sources/mythplugins-$pkgver-fixes.tar.bz2" wiiweb.tar.bz2 transcoders.patch) md5sums=('1b3e2a97b7ecf7373e162fe20b6faabe') groups=('mythtv-extras') DOCROOT=/data/srv/httpd/htdocs/mythweb @@ -26,6 +26,7 @@ build() { # Workaround for LIGHTTPD bug in mythweb.pl (affects DB queries) cd $startdir/src/mythplugins/$pkgname/ patch -p0 < $startdir/patch/mythweb.pl.diff + patch -p1 < $startdir/transcoders.patch cp -r $startdir/src/mythplugins/$pkgname/* $startdir/pkg/$DOCROOT # cp $startdir/src/mythplugins-$pkgver/$pkgname/data/.htaccess $startdir/pkg/$DOCROOT diff --git a/abs/core-testing/mythtv/stable/mythweb/transcoders.patch b/abs/core-testing/mythtv/stable/mythweb/transcoders.patch new file mode 100644 index 0000000..c1aeb6c --- /dev/null +++ b/abs/core-testing/mythtv/stable/mythweb/transcoders.patch @@ -0,0 +1,23 @@ +diff -ruaN mythweb.orig/modules/_shared/lang/English.lang mythweb/modules/_shared/lang/English.lang +--- mythweb.orig/modules/_shared/lang/English.lang 2009-01-09 02:44:23.000000000 +0000 ++++ mythweb/modules/_shared/lang/English.lang 2009-07-31 06:29:11.000000000 +0000 +@@ -816,3 +816,5 @@ + "Year" + "Yes" + "Yesterday" ++"Myth2iPod" ++"Myt2XviD3" +diff -ruaN mythweb.orig/modules/_shared/tmpl/default/header.php mythweb/modules/_shared/tmpl/default/header.php +--- mythweb.orig/modules/_shared/tmpl/default/header.php 2009-01-09 02:44:23.000000000 +0000 ++++ mythweb/modules/_shared/tmpl/default/header.php 2009-07-31 06:28:54.000000000 +0000 +@@ -171,6 +171,10 @@ + <a href="<?php echo root ?>tv/recorded"><?php echo t('Recorded Programs') ?></a> + | + <a href="<?php echo root ?>status"><?php echo t('Backend Status') ?></a> ++ | ++ <a href="/ipodfeed/m2iweb.php"><?php echo t('Myth2iPod') ?></a> ++ | ++ <a href="/archive/archive.php"><?php echo t('Myt2XviD3') ?></a> + <?php if ($Modules['backend_log']) { ?> + | + <a href="<?php echo root ?>backend_log"><?php echo t('Backend Logs') ?></a> diff --git a/abs/core-testing/mythtv/trunk/clean_all.sh b/abs/core-testing/mythtv/trunk/clean_all.sh new file mode 100755 index 0000000..1ebdc43 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/clean_all.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +buildlist=('mythtv' 'mytharchive' 'mythbrowser' 'mythflix' 'mythgallery' 'mythgame' 'mythmovies' 'mythmusic' 'mythnews' 'mythvideo' 'mythweather' 'mythzoneminder' 'mythweb' 'myththemes' 'morethemes') + +# clean up current directory +rm -f *~ + +# clean up mythtv directories +for i in `echo ${buildlist[@]:0}` +do + echo "-- cleaning $i" + cd ./$i + + # clean up everything + rm -rf pkg src + rm -f *~ + + cd .. +done + +echo "DONE!" + diff --git a/abs/core-testing/mythtv/trunk/morethemes/PKGBUILD b/abs/core-testing/mythtv/trunk/morethemes/PKGBUILD index 3009bee..e23a18f 100644 --- a/abs/core-testing/mythtv/trunk/morethemes/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/morethemes/PKGBUILD @@ -1,5 +1,5 @@ pkgname=morethemes-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="Additional themes for MythTV" url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/trunk/mp_all.sh b/abs/core-testing/mythtv/trunk/mp_all.sh index 3b0421c..f95a31d 100755 --- a/abs/core-testing/mythtv/trunk/mp_all.sh +++ b/abs/core-testing/mythtv/trunk/mp_all.sh @@ -1,5 +1,6 @@ #!/bin/sh -_svnver=20787 +pkgver=21022 +pkgrel=1 # NOTE: Make sure to build and install mythtv first BEFORE building anything else buildlist=('mythtv' 'mytharchive' 'mythbrowser' 'mythflix' 'mythgallery' 'mythgame' 'mythmovies' 'mythmusic' 'mythnews' 'mythvideo' 'mythweather' 'mythzoneminder' 'mythweb' 'myththemes' 'morethemes') @@ -9,9 +10,18 @@ for i in `echo ${buildlist[@]:0}` do echo "---------- building $i ----------" cd ./$i + + # set svn version in the PKGBUILD + sed -i s/^pkgver=.*/pkgver=$pkgver/ PKGBUILD + sed -i s/^pkgrel=.*/pkgrel=$pkgrel/ PKGBUILD + + # make the package mp -f -i --holdver || exit 1 + + # clean up afterwards rm -rf pkg rm -f *~ + cd .. done diff --git a/abs/core-testing/mythtv/trunk/mytharchive/PKGBUILD b/abs/core-testing/mythtv/trunk/mytharchive/PKGBUILD index 3101248..02802a4 100644 --- a/abs/core-testing/mythtv/trunk/mytharchive/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mytharchive/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mytharchive-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="MythTV plugin that lets you create DVDs from or archive your recorded shows." url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/trunk/mythbrowser/PKGBUILD b/abs/core-testing/mythtv/trunk/mythbrowser/PKGBUILD index f01722d..d9b5df6 100644 --- a/abs/core-testing/mythtv/trunk/mythbrowser/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mythbrowser/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mythbrowser-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="Mini web browser for MythTV" url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/trunk/mythflix/PKGBUILD b/abs/core-testing/mythtv/trunk/mythflix/PKGBUILD index f5efdc9..2edd643 100644 --- a/abs/core-testing/mythtv/trunk/mythflix/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mythflix/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mythflix-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="Netflix access plugin for MythTV" url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/trunk/mythgallery/PKGBUILD b/abs/core-testing/mythtv/trunk/mythgallery/PKGBUILD index 115bc12..b010c83 100644 --- a/abs/core-testing/mythtv/trunk/mythgallery/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mythgallery/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mythgallery-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="Image gallery plugin for MythTV" url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/trunk/mythgame/PKGBUILD b/abs/core-testing/mythtv/trunk/mythgame/PKGBUILD index 2271068..36a776b 100644 --- a/abs/core-testing/mythtv/trunk/mythgame/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mythgame/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mythgame-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="Emulation plugin for MythTV" url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/trunk/mythmovies/PKGBUILD b/abs/core-testing/mythtv/trunk/mythmovies/PKGBUILD index b62b7c7..777276d 100644 --- a/abs/core-testing/mythtv/trunk/mythmovies/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mythmovies/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mythmovies-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="Displays information about movies playing in the area." url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/trunk/mythmusic/PKGBUILD b/abs/core-testing/mythtv/trunk/mythmusic/PKGBUILD index 912fa54..743872c 100644 --- a/abs/core-testing/mythtv/trunk/mythmusic/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mythmusic/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mythmusic-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="Music playing plugin for MythTV" url="http://www.mythtv.org" @@ -12,7 +12,7 @@ depends=('mythtv-svn' 'libid3tag' 'libmad' 'libvorbis' 'flac>=1.1.4' 'libcdaudio conflicts=('mythmusic') groups=('mythtv-extras-svn') -patches=('aacdecoder.cpp.patch') +patches=() source=(`echo ${patches[@]:0}`) _svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins _svnmod=mythplugins diff --git a/abs/core-testing/mythtv/trunk/mythmusic/aacdecoder.cpp.patch b/abs/core-testing/mythtv/trunk/mythmusic/aacdecoder.cpp.patch deleted file mode 100644 index 8796eb4..0000000 --- a/abs/core-testing/mythtv/trunk/mythmusic/aacdecoder.cpp.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- mythmusic/mythmusic/aacdecoder.cpp.orig 2008-11-19 12:51:48.000000000 -0500 -+++ mythmusic/mythmusic/aacdecoder.cpp 2008-11-19 12:52:42.000000000 -0500 -@@ -17,6 +17,9 @@ - #define FAAD_MODIFIED - #endif - -+// LinHES need this undefined -+#undef FAAD_MODIFIED -+ - // ANSI C headers - #include <cstdlib> - diff --git a/abs/core-testing/mythtv/trunk/mythnews/PKGBUILD b/abs/core-testing/mythtv/trunk/mythnews/PKGBUILD index 5d8c7fe..06c9aa4 100644 --- a/abs/core-testing/mythtv/trunk/mythnews/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mythnews/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mythnews-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="News checking plugin for MythTV" url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/trunk/myththemes/PKGBUILD b/abs/core-testing/mythtv/trunk/myththemes/PKGBUILD index 2066152..81f2cb4 100755 --- a/abs/core-testing/mythtv/trunk/myththemes/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/myththemes/PKGBUILD @@ -1,5 +1,5 @@ pkgname=myththemes-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="Themes for MythTV" url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/trunk/mythtv/PKGBUILD b/abs/core-testing/mythtv/trunk/mythtv/PKGBUILD index cb0bc86..57bfe54 100755 --- a/abs/core-testing/mythtv/trunk/mythtv/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mythtv/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mythtv-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="A personal video recorder for Linux" url="http://www.mythtv.org" @@ -16,7 +16,8 @@ groups=('pvr') #MAKEFLAGS="-j6" install='mythtv.install' -patchs=('smolt_jump.patch' 'myththemedmenu.h.patch' 'myththemedmenu.cpp.patch' ) +patchs=() +#patchs=('smolt_jump.patch' 'myththemedmenu.h.patch' 'myththemedmenu.cpp.patch' ) # 'H264Parser-fixes-v1.1.patch' \ # 'hdpvr-signalmonitor.patch' 'ringbuffer_reset_v2.diff' ) #patchs=('svn_main_menu_popup.patch' 'smolt_jump.patch') @@ -55,10 +56,11 @@ build() { # configure ./configure --prefix=/usr --arch=${ARCH} \ - --enable-vdpau --enable-xvmc --enable-xvmc-pro \ + --enable-vdpau --disable-xvmc \ --enable-opengl-vsync --enable-libfaad --enable-dvb --enable-firewire \ --compile-type=release --with-bindings=perl,python \ --enable-audio-alsa --disable-audio-jack --disable-audio-arts || return 1 + # --enable-xvmc --enable-xvmc-pro \ # build and install . /etc/profile diff --git a/abs/core-testing/mythtv/trunk/mythvideo/PKGBUILD b/abs/core-testing/mythtv/trunk/mythvideo/PKGBUILD index 289dd21..12fd62f 100644 --- a/abs/core-testing/mythtv/trunk/mythvideo/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mythvideo/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mythvideo-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="Video playback and browsing plugin for MythTV" url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/trunk/mythweather/PKGBUILD b/abs/core-testing/mythtv/trunk/mythweather/PKGBUILD index 4200bf0..8fd9935 100644 --- a/abs/core-testing/mythtv/trunk/mythweather/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mythweather/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mythweather-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="Weather checking plugin for MythTV" url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/trunk/mythweb/PKGBUILD b/abs/core-testing/mythtv/trunk/mythweb/PKGBUILD index b058125..150e5cf 100644 --- a/abs/core-testing/mythtv/trunk/mythweb/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mythweb/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mythweb-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="Web interface for MythTV's backend" url="http://www.mythtv.org" diff --git a/abs/core-testing/mythtv/trunk/mythzoneminder/PKGBUILD b/abs/core-testing/mythtv/trunk/mythzoneminder/PKGBUILD index cb2f2c3..f33281a 100644 --- a/abs/core-testing/mythtv/trunk/mythzoneminder/PKGBUILD +++ b/abs/core-testing/mythtv/trunk/mythzoneminder/PKGBUILD @@ -1,5 +1,5 @@ pkgname=mythzoneminder-svn -pkgver=20787 +pkgver=21022 pkgrel=1 pkgdesc="Integrates ZoneMinder into MythTV" url="http://www.mythtv.org" diff --git a/abs/core-testing/nuvexport/MP4.pm b/abs/core-testing/nuvexport/MP4.pm new file mode 100755 index 0000000..e13d44b --- /dev/null +++ b/abs/core-testing/nuvexport/MP4.pm @@ -0,0 +1,316 @@ +#!/usr/bin/perl -w +# +# ffmpeg-based MP4 (iPod) video module for nuvexport. +# +# Many thanks to cartman in #ffmpeg, and for the instructions at +# http://rob.opendot.cl/index.php?active=3&subactive=1 +# http://videotranscoding.wikispaces.com/EncodeForIPodorPSP +# +# @url $URL: svn+ssh://xris@svn.mythtv.org/var/lib/svn/trunk/mythextras/nuvexport/export/ffmpeg/MP4.pm $ +# @date $Date: 2008-02-16 20:54:43 -0800 (Sat, 16 Feb 2008) $ +# @version $Revision: 16110 $ +# @author $Author: xris $ +# @copyright Silicon Mechanics +# + +package export::ffmpeg::MP4; + use base 'export::ffmpeg'; + +# Load the myth and nuv utilities, and make sure we're connected to the database + use nuv_export::shared_utils; + use nuv_export::cli; + use nuv_export::ui; + use mythtv::recordings; + +# Load the following extra parameters from the commandline + add_arg('quantisation|q=i', 'Quantisation'); + add_arg('a_bitrate|a=i', 'Audio bitrate'); + add_arg('v_bitrate|v=i', 'Video bitrate'); + add_arg('multipass!', 'Enable two-pass encoding.'); + add_arg('mp4_codec=s', 'Video codec to use for MP4/iPod video (mpeg4 or h264).'); + add_arg('mp4_fps=s', 'Framerate to use: auto, 25, 23.97, 29.97.'); + add_arg('ipod!', 'Produce ipod-compatible output.'); + + sub new { + my $class = shift; + my $self = { + 'cli' => qr/\b(?:mp4|ipod)\b/i, + 'name' => 'Export to MP4 (iPod)', + 'enabled' => 1, + 'errors' => [], + 'defaults' => {}, + }; + bless($self, $class); + + # Initialize the default parameters + $self->load_defaults(); + + # Verify any commandline or config file options + die "Audio bitrate must be > 0\n" unless (!defined $self->val('a_bitrate') || $self->{'a_bitrate'} > 0); + die "Video bitrate must be > 0\n" unless (!defined $self->val('v_bitrate') || $self->{'v_bitrate'} > 0); + die "Width must be > 0\n" unless (!defined $self->val('width') || $self->{'width'} =~ /^\s*\D/ || $self->{'width'} > 0); + die "Height must be > 0\n" unless (!defined $self->val('height') || $self->{'height'} =~ /^\s*\D/ || $self->{'height'} > 0); + + # VBR, multipass, etc. + if ($self->val('multipass')) { + $self->{'vbr'} = 1; + } + elsif ($self->val('quantisation')) { + die "Quantisation must be a number between 1 and 31 (lower means better quality).\n" if ($self->{'quantisation'} < 1 || $self->{'quantisation'} > 31); + $self->{'vbr'} = 1; + } + + # Initialize and check for ffmpeg + $self->init_ffmpeg(); + + # Can we even encode mp4? + if (!$self->can_encode('mp4')) { + push @{$self->{'errors'}}, "Your ffmpeg installation doesn't support encoding to mp4 file formats."; + } + if (!$self->can_encode('aac') && !$self->can_encode('libfaac')) { + push @{$self->{'errors'}}, "Your ffmpeg installation doesn't support encoding to aac audio."; + } + if (!$self->can_encode('mpeg4') && !$self->can_encode('h264') && !$self->can_encode('libx264')) { + push @{$self->{'errors'}}, "Your ffmpeg installation doesn't support encoding to either mpeg4 or h264 video."; + } + # Any errors? disable this function + $self->{'enabled'} = 0 if ($self->{'errors'} && @{$self->{'errors'}} > 0); + # Return + return $self; + } + +# Load default settings + sub load_defaults { + my $self = shift; + # Load the parent module's settings + $self->SUPER::load_defaults(); + # Default settings + $self->{'defaults'}{'v_bitrate'} = 384; + $self->{'defaults'}{'a_bitrate'} = 64; + $self->{'defaults'}{'width'} = 320; + $self->{'defaults'}{'mp4_codec'} = 'mpeg4'; + # Verify commandline options + if ($self->val('mp4_codec') !~ /^(?:mpeg4|h264)$/i) { + die "mp4_codec must be either mpeg4 or h264.\n"; + } + $self->{'mp4_codec'} =~ tr/A-Z/a-z/; + + } + +# Gather settings from the user + sub gather_settings { + my $self = shift; + # Load the parent module's settings + $self->SUPER::gather_settings(); + # Audio Bitrate + $self->{'a_bitrate'} = query_text('Audio bitrate?', + 'int', + $self->val('a_bitrate')); + # Video options + if (!$is_cli) { + # iPod compatibility mode? + $self->{'ipod'} = query_text('Enable iPod compatibility?', + 'yesno', + $self->val('ipod')); + # Video codec + if ($self->{'ffmpeg_vers'} eq 'svn') { + while (1) { + my $codec = query_text('Video codec (mpeg4 or h264)?', + 'string', + $self->{'mp4_codec'}); + if ($codec =~ /^m/) { + $self->{'mp4_codec'} = 'mpeg4'; + last; + } + elsif ($codec =~ /^h/) { + $self->{'mp4_codec'} = 'h264'; + last; + } + print "Please choose either mpeg4 or h264\n"; + } + } + else { + $self->{'mp4_codec'} = 'mpeg4'; + print "Using the mpeg4 codec (h.264 mp4/ipod encoding requires the svn version of ffmpeg.)\n"; + } + # Video bitrate options + $self->{'vbr'} = query_text('Variable bitrate video?', + 'yesno', + $self->val('vbr')); + if ($self->{'vbr'}) { + $self->{'multipass'} = query_text('Multi-pass (slower, but better quality)?', + 'yesno', + $self->val('multipass')); + if (!$self->{'multipass'}) { + while (1) { + my $quantisation = query_text('VBR quality/quantisation (1-31)?', + 'float', + $self->val('quantisation')); + if ($quantisation < 1) { + print "Too low; please choose a number between 1 and 31.\n"; + } + elsif ($quantisation > 31) { + print "Too high; please choose a number between 1 and 31\n"; + } + else { + $self->{'quantisation'} = $quantisation; + last; + } + } + } + } else { + $self->{'multipass'} = 0; + } + # Ask the user what video bitrate he/she wants + $self->{'v_bitrate'} = query_text('Video bitrate?', + 'int', + $self->val('v_bitrate')); + } + # Complain about h264 + if ($self->{'mp4_codec'} eq 'h264' && $self->{'ffmpeg_vers'} ne 'svn') { + die "h.264 mp4/ipod encoding requires the svn version of ffmpeg.\n"; + } + # Loop, in case we need to verify ipod compatibility + while (1) { + # Query the resolution + $self->query_resolution(); + # Warn about ipod resolution + if ($self->val('ipod') && ($self->{'height'} > 480 || $self->{'width'} > 640)) { + my $note = "WARNING: Video larger than 640x480 will not play on an iPod.\n"; + die $note if ($is_cli); + print $note; + next; + } + # Done looping + last; + } + } + + sub export { + my $self = shift; + my $episode = shift; + # Make sure this is set to anamorphic mode + $self->{'aspect_stretched'} = 1; + # Framerate + my $standard = ($episode->{'finfo'}{'fps'} =~ /^2(?:5|4\.9)/) ? 'PAL' : 'NTSC'; + if ($standard eq 'PAL') { + $self->{'out_fps'} = 25; + } + elsif ($self->val('mp4_fps') =~ /^23/) { + $self->{'out_fps'} = 23.97; + } + elsif ($self->val('mp4_fps') =~ /^29/) { + $self->{'out_fps'} = 29.97; + } + else { + $self->{'out_fps'} = ($self->{'width'} > 320 || $self->{'height'} > 288) ? 29.97 : 23.97; + } + # Embed the title + $safe_title = $episode->{'title'}; + if ($episode->{'subtitle'} ne 'Untitled') { + $safe_title .= ' - '.$episode->{'subtitle'}; + } + my $safe_title = shell_escape($safe_title); + # Codec name changes between ffmpeg versions + my $codec = $self->{'mp4_codec'}; + if ($codec eq 'h264' && $self->can_encode('libx264')) { + $codec = 'libx264'; + } + # Build the common ffmpeg string + my $ffmpeg_xtra = ' -vcodec '.$codec + .$self->param('bit_rate', $self->{'v_bitrate'}) + ;### ." -title $safe_title"; + # Options required for the codecs separately + if ($self->{'mp4_codec'} eq 'h264') { + $ffmpeg_xtra .= ' -level 30' + ### .' -loop 1' + .' -g 250 -keyint_min 25' + .' -sc_threshold 40' + ### .' -rc_eq \'blurCplx^(1-qComp)\'' + .$self->param('bit_rate_tolerance', $self->{'v_bitrate'}) + .$self->param('rc_max_rate', 1500 - $self->{'a_bitrate'}) + .$self->param('rc_buffer_size', 2000) + .$self->param('i_quant_factor', 0.71428572) + .$self->param('b_quant_factor', 0.76923078) + .$self->param('max_b_frames', 0) + ### .' -me umh' # this will eventually be me_method, but not all ffmpeg versions support it yet + ; + } + else { + $ffmpeg_xtra .= ' -flags +mv4' ## +trell+loop' + ### .' -aic 1' + .' -mbd 1' + .' -cmp 2 -subcmp 2' + ; + } + # Some shared options + if ($self->{'multipass'} || $self->{'vbr'}) { + $ffmpeg_xtra .= $self->param('qcompress', 0.6) + .$self->param('qmax', 51) + .$self->param('max_qdiff', 4) + ; + } + # Dual pass? + if ($self->{'multipass'}) { + # Apparently, the -passlogfile option doesn't work for h264, so we need + # to be aware of other processes that might be working in this directory + if ($self->{'mp4_codec'} eq 'h264' && (-e 'x264_2pass.log.temp' || -e 'x264_2pass.log')) { + die "ffmpeg does not allow us to specify the name of the multi-pass log\n" + ."file, and x264_2pass.log exists in this directory already. Please\n" + ."wait for the other process to finish, or remove the stale file.\n"; + } + # Add all possible temporary files to the list + push @tmpfiles, 'x264_2pass.log', + 'x264_2pass.log.temp', + 'ffmpeg2pass-0.log'; + # Build the ffmpeg string + print "First pass...\n"; + $self->{'ffmpeg_xtra'} = ' -pass 1' + .$ffmpeg_xtra + .' -f mp4'; + if ($self->{'mp4_codec'} eq 'h264') { + $self->{'ffmpeg_xtra'} .= ' -refs 1 -subq 1' + .' -trellis 0' + ; + } + $self->SUPER::export($episode, '', 1); + # Second Pass + print "Final pass...\n"; + $ffmpeg_xtra = ' -pass 2 ' + .$ffmpeg_xtra; + } + # Single Pass + else { + if ($self->{'vbr'}) { + $ffmpeg_xtra .= ' -qmin '.$self->{'quantisation'}; + } + } + # Single/final pass options + if ($self->{'mp4_codec'} eq 'h264') { + $ffmpeg_xtra .= ' -refs '.($self->val('ipod') ? 2 : 7) + .' -subq 7' + .' -partitions parti4x4+parti8x8+partp4x4+partp8x8+partb8x8' + .' -flags2 +bpyramid+wpred+mixed_refs+8x8dct' ##+brdo' + .' -me_range 21' + .' -trellis 2' + .' -chromaoffset 1' + ### .' -slice 2' + ### .' -cmp 1' + # These should match the defaults: + .' -deblockalpha 0 -deblockbeta 0' + ; + } + # Audio codec name changes between ffmpeg versions + my $acodec = $self->can_encode('libfaac') ? 'libfaac' : 'aac'; + # Don't forget the audio, etc. + $self->{'ffmpeg_xtra'} = $ffmpeg_xtra + ." -acodec $acodec -ar 48000 -async 1" + .$self->param('ab', $self->{'a_bitrate'}); + # Execute the (final pass) encode + $self->SUPER::export($episode, '.mp4'); + } + +1; #return true + +# vim:ts=4:sw=4:ai:et:si:sts=4 + diff --git a/abs/core-testing/nuvexport/PKGBUILD b/abs/core-testing/nuvexport/PKGBUILD index e414b1e..27369de 100644 --- a/abs/core-testing/nuvexport/PKGBUILD +++ b/abs/core-testing/nuvexport/PKGBUILD @@ -4,7 +4,7 @@ pkgname=nuvexport pkgver=20080311 relnum=0.5 -pkgrel=1 +pkgrel=3 pkgdesc="Export for MythTV nuv files to other formats (DVD/SVCD/DivX,etc.)" arch=(i686 x86_64) url="http://forevermore.net/files/nuvexport" @@ -15,7 +15,7 @@ conflicts=() replaces=() backup=() install= -source=(http://forevermore.net/files/nuvexport/$pkgname-$relnum-0.$pkgver.svn.tar.bz2 $pkgname-ipod-disable.patch) +source=(http://forevermore.net/files/nuvexport/archive/$pkgname-$relnum-0.$pkgver.svn.tar.bz2 $pkgname-ipod-disable.patch MP4.pm XviD.pm) md5sums=('2d0a99623f06394daf3bf8769536d3cd' 'acd2dad9987e68359ead8b0be5e5797c') build() { @@ -28,4 +28,6 @@ build() { mkdir $startdir/pkg/usr || return 1 make install || return 1 sed -i "s|/tmp/fifodir|/var/tmp/fifodir|g" $startdir/pkg/usr/share/nuvexport/export/*.pm || return 1 + cp $startdir/src/MP4.pm $startdir/pkg/usr/share/nuvexport/export/ffmpeg/MP4.pm + cp $startdir/src/XviD.pm $startdir/pkg/usr/share/nuvexport/export/ffmpeg/XviD.pm } diff --git a/abs/core-testing/nuvexport/XviD.pm b/abs/core-testing/nuvexport/XviD.pm new file mode 100755 index 0000000..c4700f5 --- /dev/null +++ b/abs/core-testing/nuvexport/XviD.pm @@ -0,0 +1,197 @@ +# +# ffmpeg-based XviD export module for nuvexport. +# +# @url $URL: svn+ssh://xris@svn.mythtv.org/var/lib/svn/trunk/mythextras/nuvexport/export/ffmpeg/XviD.pm $ +# @date $Date: 2008-02-19 20:47:06 -0800 (Tue, 19 Feb 2008) $ +# @version $Revision: 16175 $ +# @author $Author: xris $ +# @copyright Silicon Mechanics +# + +package export::ffmpeg::XviD; + use base 'export::ffmpeg'; + +# Load the myth and nuv utilities, and make sure we're connected to the database + use nuv_export::shared_utils; + use nuv_export::cli; + use nuv_export::ui; + use mythtv::recordings; + +# Load the following extra parameters from the commandline + add_arg('quantisation|q=i', 'Quantisation'); + add_arg('a_bitrate|a=i', 'Audio bitrate'); + add_arg('v_bitrate|v=i', 'Video bitrate'); + add_arg('multipass!', 'Enable two-pass encoding.'); + + sub new { + my $class = shift; + my $self = { + 'cli' => qr/\bxvid\b/i, + 'name' => 'Export to XviD', + 'enabled' => 1, + 'errors' => [], + 'defaults' => {}, + }; + bless($self, $class); + + # Initialize the default parameters + $self->load_defaults(); + + # Verify any commandline or config file options + die "Audio bitrate must be > 0\n" unless (!defined $self->val('a_bitrate') || $self->{'a_bitrate'} > 0); + die "Video bitrate must be > 0\n" unless (!defined $self->val('v_bitrate') || $self->{'v_bitrate'} > 0); + die "Width must be > 0\n" unless (!defined $self->val('width') || $self->{'width'} =~ /^\s*\D/ || $self->{'width'} > 0); + die "Height must be > 0\n" unless (!defined $self->val('height') || $self->{'height'} =~ /^\s*\D/ || $self->{'height'} > 0); + + # VBR, multipass, etc. + if ($self->val('multipass')) { + $self->{'vbr'} = 1; + } + elsif ($self->val('quantisation')) { + die "Quantisation must be a number between 1 and 31 (lower means better quality).\n" if ($self->{'quantisation'} < 1 || $self->{'quantisation'} > 31); + $self->{'vbr'} = 1; + } + + # Initialize and check for ffmpeg + $self->init_ffmpeg(); + + # Can we even encode xvid? + if (!$self->can_encode('xvid') && !$self->can_encode('libxvid')) { + push @{$self->{'errors'}}, "Your ffmpeg installation doesn't support encoding to xvid.\n" + ." (It must be compiled with the --enable-libxvid option)"; + } + if (!$self->can_encode('mp3') && !$self->can_encode('libmp3lame')) { + push @{$self->{'errors'}}, "Your ffmpeg installation doesn't support encoding to mp3 audio."; + } + + # Any errors? disable this function + $self->{'enabled'} = 0 if ($self->{'errors'} && @{$self->{'errors'}} > 0); + # Return + return $self; + } + +# Load default settings + sub load_defaults { + my $self = shift; + # Load the parent module's settings + $self->SUPER::load_defaults(); + # Default bitrates and resolution + $self->{'defaults'}{'a_bitrate'} = 128; + $self->{'defaults'}{'v_bitrate'} = 960; + $self->{'defaults'}{'width'} = 624; + } + +# Gather settings from the user + sub gather_settings { + my $self = shift; + # Load the parent module's settings + $self->SUPER::gather_settings(); + # Audio Bitrate + $self->{'a_bitrate'} = query_text('Audio bitrate?', + 'int', + $self->val('a_bitrate')); + # VBR options + if (!$is_cli) { + $self->{'vbr'} = query_text('Variable bitrate video?', + 'yesno', + $self->val('vbr')); + if ($self->{'vbr'}) { + $self->{'multipass'} = query_text('Multi-pass (slower, but better quality)?', + 'yesno', + $self->val('multipass')); + if (!$self->{'multipass'}) { + while (1) { + my $quantisation = query_text('VBR quality/quantisation (1-31)?', + 'float', + $self->val('quantisation')); + if ($quantisation < 1) { + print "Too low; please choose a number between 1 and 31.\n"; + } + elsif ($quantisation > 31) { + print "Too high; please choose a number between 1 and 31\n"; + } + else { + $self->{'quantisation'} = $quantisation; + last; + } + } + } + } else { + $self->{'multipass'} = 0; + } + # Ask the user what video bitrate he/she wants + $self->{'v_bitrate'} = query_text('Video bitrate?', + 'int', + $self->val('v_bitrate')); + } + # Query the resolution + $self->query_resolution(); + } + + sub export { + my $self = shift; + my $episode = shift; + # Make sure we have the framerate + $self->{'out_fps'} = $episode->{'finfo'}{'fps'}; + # Embed the title + $safe_title = $episode->{'title'}; + if ($episode->{'subtitle'} ne 'Untitled') { + $safe_title .= ' - '.$episode->{'subtitle'}; + } + my $safe_title = shell_escape($safe_title); + # Codec name changes between ffmpeg versions + my $codec = $self->can_encode('libxvid') ? 'libxvid' : 'xvid'; + # Build the common ffmpeg string + my $ffmpeg_xtra = ' -vcodec '.$codec + .$self->param('bit_rate', $self->{'v_bitrate'}) + .($self->{'vbr'} + ? $self->param('rc_min_rate', 32) + . $self->param('rc_max_rate', (2 * $self->{'v_bitrate'})) + . $self->param('bit_rate_tolerance', 32) + . ' -bufsize 65535' + : '') + .' -flags +mv4+loop+cgop' + .' -trellis 1' + ### .' -aic 1' + .' -mbd 1' + .' -cmp 2 -subcmp 2' + ### .' -cgop 1' + .$self->param('b_quant_factor', 150) + .$self->param('b_quant_offset', 100) + .$self->param('max_b_frames', 1) + ; + # Dual pass? + if ($self->{'multipass'}) { + # Add the temporary file to the list + push @tmpfiles, "/tmp/xvid.$$.log"; + # First pass + print "First pass...\n"; + $self->{'ffmpeg_xtra'} = $ffmpeg_xtra + ." -pass 1 -passlogfile '/tmp/xvid.$$.log'" + .' -f avi'; + $self->SUPER::export($episode, '', 1); + # Second pass + print "Final pass...\n"; + $self->{'ffmpeg_xtra'} = $ffmpeg_xtra + . " -pass 2 -passlogfile '/tmp/xvid.$$.log'"; + } + # Single Pass + else { + $self->{'ffmpeg_xtra'} = $ffmpeg_xtra + .($self->{'vbr'} + ? ' -qmax 31 -qmin '.$self->{'quantisation'} + : ''); + } + # Don't forget the audio, etc. + $self->{'ffmpeg_xtra'} .= ' -acodec ' + .($self->can_encode('libmp3lame') ? 'libmp3lame' : 'mp3') + .' -async 1 ' + .$self->param('ab', $self->{'a_bitrate'}) + .' -f avi'; + # Execute the (final pass) encode + $self->SUPER::export($episode, '.avi'); + } + +1; #return true + +# vim:ts=4:sw=4:ai:et:si:sts=4 diff --git a/abs/core-testing/nvidia-71xx/PKGBUILD b/abs/core-testing/nvidia-71xx/PKGBUILD index 3e5d589..318b798 100644 --- a/abs/core-testing/nvidia-71xx/PKGBUILD +++ b/abs/core-testing/nvidia-71xx/PKGBUILD @@ -3,13 +3,13 @@ pkgname=nvidia-71xx pkgver=71.86.09 _kernver='2.6.28-LinHES' -pkgrel=1 +pkgrel=3 pkgdesc="NVIDIA legacy drivers for kernel26-ice, 71xx branch" arch=(i686 x86_64) [ "$CARCH" = "i686" ] && ARCH=x86 [ "$CARCH" = "x86_64" ] && ARCH=x86_64 url="http://www.nvidia.com/" -depends=('nvidia-71xx-utils' 'kernel26') +depends=('nvidia-71xx-utils' 'kernel26' 'vdpinfo-71xx') conflicts=('nvidia' 'nvidia-96xx') license=('custom') source=(http://us.download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run diff --git a/abs/core-testing/nvidia-96xx/PKGBUILD b/abs/core-testing/nvidia-96xx/PKGBUILD index deb90eb..ee165d2 100644 --- a/abs/core-testing/nvidia-96xx/PKGBUILD +++ b/abs/core-testing/nvidia-96xx/PKGBUILD @@ -4,14 +4,14 @@ pkgname=nvidia-96xx pkgver=96.43.09 _kernver='2.6.28-LinHES' -pkgrel=4 +pkgrel=5 pkgdesc="NVIDIA legacy drivers for kernel26, 96xx branch" arch=(i686 x86_64) license=('custom:NVIDIA') [ "$CARCH" = "i686" ] && ARCH=x86 [ "$CARCH" = "x86_64" ] && ARCH=x86_64 url="http://www.nvidia.com/" -depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-96xx-utils') +depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-96xx-utils' 'vdpinfo-96xx') conflicts=('nvidia' 'nvidia-71xx' 'nvidia-legacy') install=nvidia-96xx.install license=('custom') diff --git a/abs/core-testing/nvidia/PKGBUILD b/abs/core-testing/nvidia/PKGBUILD index eccf01f..252a746 100644 --- a/abs/core-testing/nvidia/PKGBUILD +++ b/abs/core-testing/nvidia/PKGBUILD @@ -4,13 +4,13 @@ pkgname=nvidia pkgver=185.18.14 _kernver='2.6.28-LinHES' -pkgrel=2 +pkgrel=4 pkgdesc="NVIDIA drivers for kernel26." arch=('i686' 'x86_64') [ "$CARCH" = "i686" ] && ARCH=x86 [ "$CARCH" = "x86_64" ] && ARCH=x86_64 url="http://www.nvidia.com/" -depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-utils=185.18.14') +depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-utils=185.18.14' 'vdpinfo') conflicts=('nvidia-96xx' 'nvidia-71xx' 'nvidia-legacy' 'nvidia-beta') license=('custom') install=nvidia.install diff --git a/abs/core-testing/perl_modules/perl-tk/PKGBUILD b/abs/core-testing/perl_modules/perl-tk/PKGBUILD index 7a16357..7aa281d 100644 --- a/abs/core-testing/perl_modules/perl-tk/PKGBUILD +++ b/abs/core-testing/perl_modules/perl-tk/PKGBUILD @@ -6,7 +6,7 @@ pkgname=perl-tk _realname=Tk #stable pkgver=804.027 pkgver=804.028 -pkgrel=1 +pkgrel=2 pkgdesc="This module/script allows perl to interface with tk" license=('PerlArtistic' 'GPL' 'custom') arch=(i686 x86_64) diff --git a/abs/core-testing/php/PKGBUILD b/abs/core-testing/php/PKGBUILD index b7b99c1..c549d56 100644 --- a/abs/core-testing/php/PKGBUILD +++ b/abs/core-testing/php/PKGBUILD @@ -1,6 +1,6 @@ pkgname=php pkgver=5.2.6 -pkgrel=17 +pkgrel=20 _suhosinver=0.9.6.2 pkgdesc='A high-level scripting language' arch=('i686' 'x86_64') @@ -39,10 +39,14 @@ optdepends=('bzip2: bz2' \ 'libxslt: xsl' \ ) options=('emptydirs') -source=("http://www.php.net/distributions/${pkgname}-${pkgver}.tar.bz2" \ +source=("http://museum.php.net/php5/${pkgname}-${pkgver}.tar.bz2" \ "http://download.suhosin.org/suhosin-patch-${pkgver}-${_suhosinver}.patch.gz" \ 'php.ini' 'apache.conf' 'db-configure.patch') - +md5sums=('7380ffecebd95c6edb317ef861229ebd' + 'f2ec986341a314c271259dbe4d940858' + '160b4a4f6fba59e646c3b79e3cb0f134' + '96ca078be6729b665be8a865535a97bf' + '74e5ce5a02488ec91b1c59f539e42936') build() { phpconfig="--prefix=/usr \ diff --git a/abs/core-testing/php/php.ini b/abs/core-testing/php/php.ini index 0d05055..21c3db1 100644 --- a/abs/core-testing/php/php.ini +++ b/abs/core-testing/php/php.ini @@ -249,7 +249,7 @@ safe_mode_protected_env_vars = LD_LIBRARY_PATH ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. This directive is ; *NOT* affected by whether Safe Mode is turned On or Off. -open_basedir = /data/srv/httpd/htdocs/:/home/:/tmp/:/usr/share/pear/:/data/srv/tmp:/usr/share/mythtv/mythweather/scripts/:/data/srv/httpd/htdocs/mythweb/data/video +open_basedir = /data/srv/httpd/htdocs/:/home/:/tmp/:/usr/share/pear/:/data/srv/tmp:/usr/share/mythtv/mythweather/scripts/:/data/srv/httpd/htdocs/mythweb/data/video:/myth/ipodfeed:/data/srv/httpd/htdocs/archive ; This directive allows you to disable certain functions for security reasons. ; It receives a comma-delimited list of function names. This directive is diff --git a/abs/core-testing/pil/PKGBUILD b/abs/core-testing/pil/PKGBUILD index f7149de..6f01309 100644 --- a/abs/core-testing/pil/PKGBUILD +++ b/abs/core-testing/pil/PKGBUILD @@ -4,7 +4,7 @@ pkgname=pil pkgver=1.1.6 -pkgrel=5 +pkgrel=6 pkgdesc="Python imaging library" arch=('i686' 'x86_64') url="http://www.pythonware.com/products/pil/index.htm" diff --git a/abs/core-testing/qt/PKGBUILD b/abs/core-testing/qt/PKGBUILD index b581564..87ec9f7 100644 --- a/abs/core-testing/qt/PKGBUILD +++ b/abs/core-testing/qt/PKGBUILD @@ -2,33 +2,49 @@ # Maintainer: Pierre Schmitz <pierre@archlinux.de> pkgname=qt -pkgver=4.5.1 -pkgrel=2 -_qtcopyver=958581 +pkgver=4.5.2 +pkgrel=4 +_kdeqtver=2d1727e396d5dca24ae0fb6a45d35ffc1abd0c12 pkgdesc='A cross-platform application and UI framework' arch=('i686' 'x86_64') url='http://www.qtsoftware.com/' license=('GPL3' 'LGPL') -depends=('libpng' 'mesa' 'fontconfig' 'libtiff' 'libmng' 'sqlite3' 'libxrandr' 'glib2' 'libxi' 'dbus' 'libxcursor' 'libxinerama' 'libxrender') +depends=('libpng' 'mesa' 'fontconfig' 'libtiff>=3.8.2-5' 'libmng>=1.0.10-2' 'sqlite3' + 'libxrandr' 'glib2' 'libxi' 'dbus' 'libxcursor' 'libxinerama' 'libxrender') optdepends=('postgresql-libs' 'libmysqlclient' 'unixodbc') -makedepends=('inputproto' 'postgresql-libs' 'mysql' 'unixodbc' 'libxfixes') +makedepends=('inputproto' 'postgresql-libs' 'mysql' 'unixodbc' 'libxfixes' 'gtk2') provides=("qt4=${pkgver}") replaces=('qt4') conflicts=('qt4') options=('!libtool') _pkgfqn="qt-x11-opensource-src-${pkgver}" -# svn export -r${_qtcopyver} svn://anonsvn.kde.org/home/kde/trunk/qt-copy/patches/ qt-copy-patches-${_qtcopyver} source=("ftp://ftp.qtsoftware.com/qt/source/${_pkgfqn}.tar.bz2" - "ftp://ftp.archlinux.org/other/qt/qt-copy-patches-${_qtcopyver}.tar.bz2" + "ftp://ftp.archlinux.org/other/kde-qt/kde-qt-patches-${_kdeqtver}.tar.bz2" 'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qtconfig.desktop' 'qdoc3.patch') -md5sums=('afc43e566341cf3e5ed0bcb974f0c3b2' - 'b57b08ac7f990f91b85a7b1b1106e36b' +md5sums=('28a7e8ac9805a6f614d2a27ee1a6ac9d' + '4b333add3031f59538629b35858178d9' 'b352b4b70faba2571af3fce5d119580a' '491a96682faa03407f768a53cca71db5' 'cda7ed7e132689991dc2968a0043b4b0' '717669b728a0a795217d2f52969e454c' - '868056a3edab09fbac0f82ec8b4a4be3') + '9c0a0db3569e889a54a6cddcd55c538c') + +_create-kdeqt-patches() { + local codir=$(mktemp -d) + mkdir -p "${codir}/kde-qt" + git clone git://gitorious.org/+kde-developers/qt/kde-qt.git "${codir}/kde-qt" + pushd "${codir}/kde-qt" + local kdeqtver=$(git --no-pager show --format='%H' "${pkgver}-patched") + mkdir "../kde-qt-patches-${kdeqtver}" + git format-patch -k "v${pkgver}..${pkgver}-patched" -o "../kde-qt-patches-${kdeqtver}" + popd + pushd "${codir}" + bsdtar -cjf "kde-qt-patches-${kdeqtver}.tar.bz2" kde-qt-patches-${kdeqtver} + popd + mv "${codir}/kde-qt-patches-${kdeqtver}.tar.bz2" . + rm -rf "${codir}" +} build() { unset QMAKESPEC @@ -37,17 +53,17 @@ build() { export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH} cd $srcdir/$_pkgfqn - for i in $srcdir/qt-copy-patches-${_qtcopyver}/*; do + for i in $srcdir/kde-qt-patches-${_kdeqtver}/*; do echo "applying $i" - patch -p0 -i $i || return 1 + patch -p1 -i $i || return 1 done - patch -p1 -i $srcdir/qdoc3.patch + patch -p0 -i $srcdir/qdoc3.patch sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf + sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf ./configure -confirm-license -opensource \ - -silent \ -prefix /usr \ -sysconfdir /etc \ -plugindir /usr/lib/qt/plugins \ @@ -56,16 +72,32 @@ build() { -docdir /usr/share/doc/qt \ -examplesdir /usr/share/doc/qt/examples \ -demosdir /usr/share/doc/qt/demos \ - -no-separate-debug-info \ + -largefile \ -plugin-sql-{psql,mysql,sqlite,odbc} \ -system-sqlite \ + -xmlpatterns \ + -no-phonon \ + -svg \ + -webkit \ + -scripttools \ + -system-zlib \ + -system-libtiff \ + -system-libpng \ + -system-libmng \ + -system-libjpeg \ -openssl-linked \ -nomake demos \ -nomake examples \ -nomake docs \ - -no-phonon \ + -no-rpath \ + -silent \ -optimized-qmake \ - -reduce-relocations + -dbus \ + -reduce-relocations \ + -no-separate-debug-info \ + -gtkstyle \ + -opengl \ + -glib make make INSTALL_ROOT=$pkgdir install diff --git a/abs/core-testing/qt/qdoc3.patch b/abs/core-testing/qt/qdoc3.patch index 38ae735..c967b6e 100644 --- a/abs/core-testing/qt/qdoc3.patch +++ b/abs/core-testing/qt/qdoc3.patch @@ -1,17 +1,20 @@ -diff -up qt-x11-opensource-src-4.5.0/tools/qdoc3/qdoc3.pro.qdoc3 qt-x11-opensource-src-4.5.0/tools/qdoc3/qdoc3.pro ---- qt-x11-opensource-src-4.5.0/tools/qdoc3/qdoc3.pro.qdoc3 2009-02-25 15:09:26.000000000 -0600 -+++ qt-x11-opensource-src-4.5.0/tools/qdoc3/qdoc3.pro 2009-03-04 09:30:05.000000000 -0600 -@@ -106,3 +106,7 @@ win32 { - QT_WINCONFIG = debug - } +--- tools/qdoc3/qdoc3.pro 2009-06-25 17:34:42.000000000 +0200 ++++ tools/qdoc3/qdoc3.pro.new 2009-06-25 17:35:42.000000000 +0200 +@@ -8,6 +8,11 @@ + CONFIG -= build_all + CONFIG += release } + +TARGET= qdoc3 +target.path = $$[QT_INSTALL_BINS] +INSTALLS += target ++ + mac:CONFIG -= app_bundle + HEADERS += apigenerator.h \ + archiveextractor.h \ diff -up qt-x11-opensource-src-4.5.0/tools/tools.pro.qdoc3 qt-x11-opensource-src-4.5.0/tools/tools.pro ---- qt-x11-opensource-src-4.5.0/tools/tools.pro.qdoc3 2009-02-25 15:09:27.000000000 -0600 -+++ qt-x11-opensource-src-4.5.0/tools/tools.pro 2009-03-04 09:44:18.000000000 -0600 +--- tools/tools.pro.qdoc3 2009-02-25 15:09:27.000000000 -0600 ++++ tools/tools.pro 2009-03-04 09:44:18.000000000 -0600 @@ -13,6 +13,7 @@ no-png { SUBDIRS += designer } diff --git a/abs/core-testing/qt3/PKGBUILD b/abs/core-testing/qt3/PKGBUILD index 870305a..131cbb1 100644 --- a/abs/core-testing/qt3/PKGBUILD +++ b/abs/core-testing/qt3/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: John Proctor <jproctor@prium.net> pkgname=qt3 pkgver=3.3.8 -pkgrel=8 +pkgrel=9 pkgdesc="The QT gui toolkit." arch=(i686 x86_64) license=('GPL') diff --git a/abs/core-testing/runit-scripts/PKGBUILD b/abs/core-testing/runit-scripts/PKGBUILD index 2c237d7..6bea389 100755 --- a/abs/core-testing/runit-scripts/PKGBUILD +++ b/abs/core-testing/runit-scripts/PKGBUILD @@ -1,11 +1,11 @@ pkgname=runit-scripts pkgver=1.8.0 -pkgrel=90 +pkgrel=94 pkgdesc="collection of startup scripts for runit" url="http://smarden.org/runit/" license="BSD" depends=('glibc' 'util-linux' 'initscripts' 'runit' ) -makedepends=() +makedepends=('rsync') conflicts=() replaces=() backup=(etc/runit/1.local) diff --git a/abs/core-testing/runit-scripts/runitscripts/halt-runit b/abs/core-testing/runit-scripts/runitscripts/halt-runit index 7c07b05..b7d9a95 100755 --- a/abs/core-testing/runit-scripts/runitscripts/halt-runit +++ b/abs/core-testing/runit-scripts/runitscripts/halt-runit @@ -1,2 +1,3 @@ #!/bin/sh +wall "System will shutdown NOW" runit-init 0 diff --git a/abs/core-testing/runit-scripts/runitscripts/reboot-runit b/abs/core-testing/runit-scripts/runitscripts/reboot-runit index be831ec..0d3d9d4 100755 --- a/abs/core-testing/runit-scripts/runitscripts/reboot-runit +++ b/abs/core-testing/runit-scripts/runitscripts/reboot-runit @@ -1,2 +1,3 @@ #!/bin/sh +wall "System will reboot NOW" runit-init 6 diff --git a/abs/core-testing/runit-scripts/runitscripts/services/lircd/run b/abs/core-testing/runit-scripts/runitscripts/services/lircd/run index 6d67537..0a398ac 100755 --- a/abs/core-testing/runit-scripts/runitscripts/services/lircd/run +++ b/abs/core-testing/runit-scripts/runitscripts/services/lircd/run @@ -1,30 +1,36 @@ #!/bin/bash + exec 2>&1 export TERM=linux + . /etc/rc.conf . /etc/rc.d/functions #since what we do may not be enough #if your one of those people, this is where you place your stuff + LOG=/tmp/lirc.log + if [ -f $LOG ] then - rm -f $LOG + rm -f $LOG fi + if [ -f /etc/runit/lirc.sh ] then #program must not terminate. - stat_runit "Starting lirc" + stat_runit "Starting lirc" /etc/runit/lirc.sh else . /etc/systemconfig stat_runit "Starting lirc" + [ -e /etc/sv/lircd/.runtime ] || mkdir -p /etc/sv/lircd/.runtime function dvico_detect { - if [ x$Remotetype = "xdvico" ] + if [ x$Remotetype = "xdvico" ] || [ x$Remotetype = "xDvico-Dual-Digital4-rev2" ] then RunDvico=true else @@ -35,15 +41,26 @@ else num_lirc=`ls -la /dev/lirc[0-9] 2>/dev/null |wc -l ` num_lirc=$((num_lirc-1)) - #/dev/ttys0 (COM1), port 0x3f8, irq 4 - #/dev/ttys1 (COM2), port 0x2f8, irq 3 - #/dev/ttys2 (COM3), port 0x3e8, irq 4 - #/dev/ttys3 (COM4), port 0x2e8, irq 3 + serial_port="" + if [ x$ReceiverType = xSerial ] then - case $ReceiverSerialport in + serial_port=$ReceiverSerialport + elif [ x$HostBlasterType = xSerial ] + then + serial_port=$HostSerialPort_blasterlirc + fi + + if [ -n "$serial_port" ] + then + #/dev/ttyS0 (COM1), port 0x3f8, irq 4 + #/dev/ttyS1 (COM2), port 0x2f8, irq 3 + #/dev/ttyS2 (COM3), port 0x3e8, irq 4 + #/dev/ttyS3 (COM4), port 0x2e8, irq 3 + + case $serial_port in ttyS0) - FLAGS="io=0x3f8 irq=4" + FLAGS="io=0x3f8 irq=4" ;; ttyS1) FLAGS="io=0x2f8 irq=3" @@ -52,81 +69,70 @@ else FLAGS="io=0x3e8 irq=4" ;; ttyS3) - FLAGS="io=0x2f8 irq=3" + FLAGS="io=0x2e8 irq=3" ;; esac - /usr/bin/setserial /dev/$ReceiverSerialport uart none - sleep .5 + /usr/bin/setserial /dev/serial_port uart none + sleep 0.5 /sbin/modprobe lirc_serial $FLAGS - sleep .5 - elif [ x$HostBlasterType = xSerial ] - then - case $HostSerialPort_blasterlirc in - ttyS0) - FLAGS="io=0x3f8 irq=4" - ;; - ttyS1) - FLAGS="io=0x2f8 irq=3" - ;; - ttyS2) - FLAGS="io=0x3e8 irq=4" - ;; - ttyS3) - FLAGS="io=0x2f8 irq=3" - ;; - esac - /usr/bin/setserial /dev/$ReceiverSerialport uart none - sleep .5 - /sbin/modprobe lirc_serial $FLAGS - sleep .5 + sleep 0.5 fi dvico_detect + if [ x$HostBlasterType = xCommandIR -o x$ReceiverType = xCommandIR ] then CMD="/usr/sbin/lircd -n --driver=commandir" printhl " Using commandir" $CMD >>$LOG 2>>$LOG - elif [ x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ] - then +#echo $CMD + elif [ x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ] + then sv start igdaemon CMD="/usr/sbin/lircd -n --driver=iguanaIR" printhl " Using iguanaIR usb" +#echo $CMD $CMD >>$LOG 2>>$LOG else LASTCMD="" + for i in `seq 1 $num_lirc` do CMD="/usr/sbin/lircd -d /dev/lirc$i --output=/dev/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i" -# echo $CMD printhl " Device $i" +#echo $CMD $CMD >>$LOG 2>>$LOG LASTCMD="--connect=localhost:876$i $LASTCMD " done - if [ $RunDvico = "true" -a $num_lirc -lt 0 ] - then - #only run dvicio - LCMD="/usr/sbin/lircd -n -d /dev/usb/dvicoIR --driver=dvico --output /dev/lircd" - # echo $LCMD - printhl " Device Dvicio" - - exec $LCMD >>$LOG 2>>$LOG - elif [ $RunDvico = true -a $num_lirc -gt -1 ] - then - #chain them together - i=$((i+1)) - CMD="/usr/sbin/lircd -d /dev/usb/dvicoIR --driver=dvico --output=/dev/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i" - # echo $CMD - $CMD >> $LOG - LASTCMD="--connect=localhost:876$i $LASTCMD " - printhl " Device Dvicio" - - /usr/sbin/lircd -n -d /dev/lirc0 --output /dev/lircd $LASTCMD >>$LOG 2>>$LOG - else - LCMD="/usr/sbin/lircd -n -d /dev/lirc0 --output /dev/lircd $LASTCMD" - # echo $LCMD - - exec $LCMD >>$LOG 2>>$LOG - fi + + if [ $RunDvico = "true" ] + then + if [ x$Remotetype = "xdvico" ] + then + LCMD="/usr/sbin/lircd -n -d /dev/usb/dvicoIR --driver=dvico --output /dev/lircd" + else + LCMD="/usr/sbin/lircd -n -d /dev/input/irremote --driver=devinput --output /dev/lircd" + fi + + if [ $num_lirc -lt 0 ] + then + # Only run Dvico + printhl " Device $Remotetype" +#echo $LCMD + exec $LCMD >>$LOG 2>>$LOG + elif [ $num_lirc -gt -1 ] + then + i=$((i+1)) + CMD="$LCMD --output=/dev/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i" + $CMD >> $LOG + LASTCMD="--connect=localhost:876$i $LASTCMD " + printhl " Device Dvico" + /usr/sbin/lircd -n -d /dev/lirc0 --output /dev/lircd $LASTCMD >>$LOG 2>>$LOG + fi + else + LCMD="/usr/sbin/lircd -n -d /dev/lirc0 --output /dev/lircd $LASTCMD" +#echo $LCMD + exec $LCMD >>$LOG 2>>$LOG + fi fi fi diff --git a/abs/core-testing/sqlite3/PKGBUILD b/abs/core-testing/sqlite3/PKGBUILD index b40c3ee..acf7a94 100644 --- a/abs/core-testing/sqlite3/PKGBUILD +++ b/abs/core-testing/sqlite3/PKGBUILD @@ -3,8 +3,8 @@ # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=sqlite3 -pkgver=3.6.7 -pkgrel=2 +pkgver=3.6.10 +pkgrel=5 pkgdesc="A C library that implements an SQL database engine" arch=('i686' 'x86_64') license=('custom') @@ -15,9 +15,9 @@ conflicts=('sqlite') replaces=('sqlite') source=(http://www.sqlite.org/sqlite-$pkgver.tar.gz license.txt) -options=(!libtool) -md5sums=('5223d1f459b608ed8c2c54f8847f8e1a' +md5sums=('a03bdc86df4025b6881d58557e4b5bd3' 'c1cdbc5544034d9012e421e75a5e4890') +options=(!libtool) build() { cd ${srcdir}/sqlite-${pkgver} diff --git a/abs/core-testing/system-templates/PKGBUILD b/abs/core-testing/system-templates/PKGBUILD index b911335..c93b210 100755 --- a/abs/core-testing/system-templates/PKGBUILD +++ b/abs/core-testing/system-templates/PKGBUILD @@ -1,6 +1,6 @@ pkgname=system-templates pkgver=1.0 -pkgrel=27 +pkgrel=33 conflicts=( ) pkgdesc="Templates used for system configuration" depends=() diff --git a/abs/core-testing/system-templates/templates/remotes/ea65/lircd.conf.ea65 b/abs/core-testing/system-templates/templates/remotes/AOpen-EA65/lircd.conf.ea65 index a10181d..a10181d 100644 --- a/abs/core-testing/system-templates/templates/remotes/ea65/lircd.conf.ea65 +++ b/abs/core-testing/system-templates/templates/remotes/AOpen-EA65/lircd.conf.ea65 diff --git a/abs/core-testing/system-templates/templates/remotes/ea65/lircrc.ea65 b/abs/core-testing/system-templates/templates/remotes/AOpen-EA65/lircrc.ea65 index fd96d42..fd96d42 100644 --- a/abs/core-testing/system-templates/templates/remotes/ea65/lircrc.ea65 +++ b/abs/core-testing/system-templates/templates/remotes/AOpen-EA65/lircrc.ea65 diff --git a/abs/core-testing/system-templates/templates/remotes/AOpen-EA65/preview.jpg b/abs/core-testing/system-templates/templates/remotes/AOpen-EA65/preview.jpg Binary files differnew file mode 100644 index 0000000..2fc223c --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/AOpen-EA65/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/asus-digitmatrix/lircd.conf.asus b/abs/core-testing/system-templates/templates/remotes/ASUS-DiGiMatrix/lircd.conf.asus index ceadbf0..ceadbf0 100644 --- a/abs/core-testing/system-templates/templates/remotes/asus-digitmatrix/lircd.conf.asus +++ b/abs/core-testing/system-templates/templates/remotes/ASUS-DiGiMatrix/lircd.conf.asus diff --git a/abs/core-testing/system-templates/templates/remotes/asus-digitmatrix/lircd.conf.digimatrix b/abs/core-testing/system-templates/templates/remotes/ASUS-DiGiMatrix/lircd.conf.digimatrix index a6e9abd..a6e9abd 100644 --- a/abs/core-testing/system-templates/templates/remotes/asus-digitmatrix/lircd.conf.digimatrix +++ b/abs/core-testing/system-templates/templates/remotes/ASUS-DiGiMatrix/lircd.conf.digimatrix diff --git a/abs/core-testing/system-templates/templates/remotes/ASUS-DiGiMatrix/preview.jpg b/abs/core-testing/system-templates/templates/remotes/ASUS-DiGiMatrix/preview.jpg Binary files differnew file mode 100644 index 0000000..250d6a1 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/ASUS-DiGiMatrix/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Avermedia_77x/lircd-avermedia77x.conf b/abs/core-testing/system-templates/templates/remotes/Avermedia_77x/lircd-avermedia77x.conf new file mode 100755 index 0000000..d30e172 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Avermedia_77x/lircd-avermedia77x.conf @@ -0,0 +1,66 @@ +# +# this config file was automatically generated +# using lirc-0.8.0(userspace) on Mon Feb 20 23:15:48 2006 +# +# contributed by Joris Patroons +# +# brand: AVerMedia +# model no. of remote control: Unknown +# devices being controlled by this remote: +# AVerTV DVB-T 771 + +begin remote + + name a771 + bits 32 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 9078 4437 + one 615 1631 + zero 615 515 + ptrail 620 + repeat 9080 2189 + gap 108056 + toggle_bit 0 + + + begin codes + SOURCE 0x40BF807F + TELETEXT 0x40BF40BF + POWER 0x40BF00FF + 1 0x40BFA05F + 2 0x40BF609F + 3 0x40BFE01F + 4 0x40BF906F + 5 0x40BF50AF + 6 0x40BFD02F + 7 0x40BFB04F + 8 0x40BF708F + 9 0x40BFF00F + 0 0x40BF8877 + AUDIO 0x40BF10EF + FULLSCREEN 0x40BF30CF + DISPLAY 0x40BF48B7 + LOOP 0x40BFC837 + PREVIEW 0x40BF08F7 + BACKWARD 0x40BFA857 + FORWARD 0x40BF6897 + CAPTURE 0x40BFE817 + MUTE 0x40BF28D7 + RECORD 0x40BF9867 + PAUSE 0x40BF58A7 + STOP 0x40BFD827 + PLAY 0x40BF18E7 + RED 0x40BFB847 + GREEN 0xC03F807F + YELLOW 0x40BF38C7 + BLUE 0xC03F00FF + VOL_DOWN 0x40BF7887 + VOL_UP 0x40BFF807 + CH_DOWN 0xC03F40BF + CH_UP 0xC03FC03F + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Avermedia_77x/lircrc-avermedia771.txt b/abs/core-testing/system-templates/templates/remotes/Avermedia_77x/lircrc-avermedia771.txt new file mode 100755 index 0000000..2aa9e09 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Avermedia_77x/lircrc-avermedia771.txt @@ -0,0 +1,475 @@ +# Channel Up +begin +prog = mythtv +button = CH_UP +config = Up +end + +# Channel Down +begin +prog = mythtv +button = CH_DOWN +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = CH_UP +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = CH_DOWN +config = Down +end + +# Volume Up +begin +prog = mythtv +button = VOL_UP +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = VOL_DOWN +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = +config = Space +end + +# Play +begin +prog = mythtv +button = PLAY +config = Return +end + +# Stop +begin +prog = mythtv +button = STOP +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = POWER +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = PAUSE +config = P +end + +# Mute +begin +prog = mythtv +button = MUTE +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = FORWARD +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = BACKWARD +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = CAPTURE +config = R +end + +# Delete +begin +prog = mythtv +button = RED +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = PREVIEW +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = TELETEXT +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = DISPLAY +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = PREVIEW +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = TELETEXT +config = osd +end + +# Pause playback +begin +prog = mplayer +button = PAUSE +config = pause +end + +# Skip ahead a minute if playing +# If paused, resume playing +begin +prog = mplayer +button = +config = seek +1 +end + +# Mute +begin +prog = mplayer +button = MUTE +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = BACKWARD +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = FORWARD +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = STOP +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = FULLSCREEN +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = PLAY +config = Play +end + +begin +prog = xine +button = STOP +config = Stop +end + +begin +prog = xine +button = STOP +config = Quit +end + +begin +prog = xine +button = PAUSE +config = Pause +end + +begin +prog = xine +button = +config = EventUp +end + +begin +prog = xine +button = +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = +config = EventSelect +end + +begin +prog = xine +button = PREVIEW +config = Menu +end + +begin +prog = xine +button = FORWARD +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = BACKWARD +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = VOL_UP +config = Volume+ +end + +begin +prog = xine +button = VOL_DOWN +config = Volume- +end + +begin +prog = xine +button = MUTE +config = Mute +end + +begin +prog = xine +button = STOP +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = TELETEXT +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/ea65/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Avermedia_77x/preview.jpg Binary files differindex a034186..a034186 100644 --- a/abs/core-testing/system-templates/templates/remotes/ea65/preview.jpg +++ b/abs/core-testing/system-templates/templates/remotes/Avermedia_77x/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Avermedia_98/lircd-avermedia98.conf b/abs/core-testing/system-templates/templates/remotes/Avermedia_98/lircd-avermedia98.conf new file mode 100755 index 0000000..bfc07b9 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Avermedia_98/lircd-avermedia98.conf @@ -0,0 +1,97 @@ +# +# this config file was automatically generated +# using lirc-0.6.1 on Tue Apr 25 14:31:21 2000 +# +# contributed by Christoph Bartelmus <lirc@bartelmus.de> +# +# brand: AVerMedia +# model: ? (36 buttons) +# supported devices: TVPhone98 card (ID 0x00031461) +# TVCapture98 card (ID 0x00041461) +# +# This config file does work with both homebrew receivers and +# original AVerMedia TV cards !!! +# + +begin remote + + name TVPhone98 + bits 16 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 9078 4437 + one 615 1631 + zero 615 515 + ptrail 620 + repeat 9080 2189 + pre_data_bits 16 + pre_data 0x40BF + gap 108056 + repeat_bit 0 + + begin codes + POWER 0x00000000000000FF + TV/FM 0x000000000000807F + CD 0x00000000000040BF + TELETEXT 0x000000000000C03F + VIDEO 0x00000000000020DF + 1 0x000000000000A05F + 2 0x000000000000609F + 3 0x000000000000E01F + AUDIO 0x00000000000010EF + 4 0x000000000000906F + 5 0x00000000000050AF + 6 0x000000000000D02F + FULLSCREEN 0x00000000000030CF + 7 0x000000000000B04F + 8 0x000000000000708F + 9 0x000000000000F00F + + PREVIEW 0x00000000000008F7 + 0 0x0000000000008877 + DISPLAY 0x00000000000048B7 + LOOP 0x000000000000C837 + MUTE 0x00000000000028D7 + AUTOSCAN 0x000000000000A857 + FREEZE 0x0000000000006897 + CAPTURE 0x000000000000E817 + PLAY 0x00000000000018E7 + RECORD 0x0000000000009867 + PAUSE 0x00000000000058A7 + STOP 0x000000000000D827 + YELLOW 0x00000000000038C7 + RED 0x000000000000B847 + VOL_DOWN 0x0000000000007887 + VOL_UP 0x000000000000F807 + end codes + +end remote + +begin remote + + name TVPhone98_ext + bits 16 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 9078 4437 + one 615 1631 + zero 615 515 + ptrail 620 + repeat 9080 2189 + pre_data_bits 16 + pre_data 0xC03F + gap 108056 + repeat_bit 0 + + begin codes + BLUE 0x00000000000000FF + GREEN 0x000000000000807F + CH_DOWN 0x00000000000040BF + CH_UP 0x000000000000C03F + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Avermedia_98/lircrc-avermedia98.txt b/abs/core-testing/system-templates/templates/remotes/Avermedia_98/lircrc-avermedia98.txt new file mode 100755 index 0000000..f8fb43a --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Avermedia_98/lircrc-avermedia98.txt @@ -0,0 +1,477 @@ +# Channel Up +begin +prog = mythtv +button = CH_UP +config = Up +end + +# Channel Down +begin +prog = mythtv +button = CH_DOWN +config = Down +end + +# General Left +begin +prog = mythtv +button = LEFT +config = Left +end + +# General Right +begin +prog = mythtv +button = RIGHT +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = CH_UP +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = CH_DOWN +config = Down +end + +# Volume Up +begin +prog = mythtv +button = VOL_UP +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = VOL_DOWN +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = UNLABELED +config = Space +end + +# Play +begin +prog = mythtv +button = PLAY +config = Return +end + +# Stop +begin +prog = mythtv +button = STOP +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = POWER +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = PAUSE +config = P +end + +# Mute +begin +prog = mythtv +button = MUTE +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = +config = Right +end + +# Rewind (10 sec default) +begin +remote = TVPhone98_ext +prog = mythtv +button = BLUE +config = Left +end + +# Skip forward (10 min default) +begin +remote = TVPhone98_ext +prog = mythtv +button = GREEN +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = CAPTURE +config = R +end + +# Delete +begin +prog = mythtv +button = RED +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = YELLOW +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = TELETEXT +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = DISPLAY +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = VIDEO +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = TELETEXT +config = osd +end + +# Pause playback +begin +prog = mplayer +button = PAUSE +config = pause +end + +# Skip ahead a minute if playing +# If paused, resume playing +begin +prog = mplayer +button = +config = seek +1 +end + +# Mute +begin +prog = mplayer +button = MUTE +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = STOP +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = FULLSCREEN +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = PLAY +config = Play +end + +begin +prog = xine +button = STOP +config = Stop +end + +begin +prog = xine +button = STOP +config = Quit +end + +begin +prog = xine +button = PAUSE +config = Pause +end + +begin +prog = xine +button = +config = EventUp +end + +begin +prog = xine +button = +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = +config = EventSelect +end + +begin +prog = xine +button = PREVIEW +config = Menu +end + +begin +prog = xine +button = +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = VOL_UP +config = Volume+ +end + +begin +prog = xine +button = VOL_DOWN +config = Volume- +end + +begin +prog = xine +button = MUTE +config = Mute +end + +begin +prog = xine +button = STOP +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = TELETEXT +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Avermedia_98/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Avermedia_98/preview.jpg Binary files differnew file mode 100644 index 0000000..a2382d2 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Avermedia_98/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Avertv_USB/lircd-avertvusb.conf b/abs/core-testing/system-templates/templates/remotes/Avertv_USB/lircd-avertvusb.conf new file mode 100755 index 0000000..391c8d4 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Avertv_USB/lircd-avertvusb.conf @@ -0,0 +1,65 @@ +#
+# this config file was created by using lirc-0.8 on Thu Sept 14 2006
+#
+# contributed by elturisto
+#
+# brand: AVerMedia
+# model no. of remote control: RM-FP
+# devices being controlled by this remote: AVerMedia DVB-T USB2.0 (A800)
+#
+
+begin remote
+
+ name rmfp
+ bits 32
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 8967 4524
+ one 565 1682
+ zero 565 559
+ ptrail 561
+ repeat 8968 2276
+ gap 107905
+ toggle_bit 0
+
+
+ begin codes
+ power 0x00010074
+ source 0x00010094
+ 1 0x00010002
+ 2 0x00010003
+ 3 0x00010004
+ 4 0x00010005
+ 5 0x00010006
+ 6 0x00010007
+ 7 0x00010008
+ 8 0x00010009
+ 9 0x0001000a
+ 0 0x0001000b
+ display 0x00010095
+ snapshot 0x00010069
+ chrtn 0x0001006a
+ chprev 0x000100ca
+ chup 0x00010192
+ chdown 0x00010193
+ voldown 0x00010072
+ volup 0x00010073
+ fullscreen 0x00010174
+ mute 0x00010071
+ audio 0x00010188
+ record 0x000100a7
+ play 0x000100cf
+ stop 0x00010080
+ pause 0x000100a4
+ rewind 0x0001009e
+ forward 0x0001009f
+ teletext 0x00010184
+ last 0x00010194
+ next 0x00010195
+ epg 0x0001016d
+ menu 0x0001008b
+ end codes
+
+end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Avertv_USB/lircrc-avertvusb.txt b/abs/core-testing/system-templates/templates/remotes/Avertv_USB/lircrc-avertvusb.txt new file mode 100755 index 0000000..dc28857 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Avertv_USB/lircrc-avertvusb.txt @@ -0,0 +1,482 @@ +# Channel Up +begin +prog = mythtv +button = chup +config = Up +end + +# Channel Down +begin +prog = mythtv +button = chdown +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = chup +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = chdown +config = Down +end + +# Volume Up +begin +prog = mythtv +button = volup +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = voldown +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = +config = Space +end + +# Play +begin +prog = mythtv +button = play +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = forward +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = rewind +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = next +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = last +config = PgUp +end + +# Record +begin +prog = mythtv +button = record +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = epg +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = menu +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = display +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = chprev +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = teletext +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = snapshot +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = menu +config = osd +end + +# Pause playback +begin +prog = mplayer +button = pause +config = pause +end + +# Skip ahead a minute if playing +# If paused, resume playing +begin +prog = mplayer +button = +config = seek +1 +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = forward +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = rewind +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = next +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = last +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = display +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = pause +config = Pause +end + +begin +prog = xine +button = chup +config = EventUp +end + +begin +prog = xine +button = chdown +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = +config = EventSelect +end + +begin +prog = xine +button = menu +config = Menu +end + +begin +prog = xine +button = forward +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = rewind +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = volup +config = Volume+ +end + +begin +prog = xine +button = voldown +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = next +config = EventNext +end + +begin +prog = xine +button = last +config = EventPrior +end + +begin +prog = xine +button = display +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/asus-digitmatrix/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Avertv_USB/preview.jpg Binary files differindex a034186..a034186 100644 --- a/abs/core-testing/system-templates/templates/remotes/asus-digitmatrix/preview.jpg +++ b/abs/core-testing/system-templates/templates/remotes/Avertv_USB/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Cinergy/lircd-cinergy400600.conf b/abs/core-testing/system-templates/templates/remotes/Cinergy/lircd-cinergy400600.conf new file mode 100755 index 0000000..8b0bd3c --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Cinergy/lircd-cinergy400600.conf @@ -0,0 +1,67 @@ +# Please make this file available to others +# by sending it to <lirc@bartelmus.de> +# +# this config file was automatically generated +# using lirc-0.7.0 (devinput) on Sun Feb 27 18:29:35 2005 +# +# +# brand: Terratec_Cinergy_Remote +# model no. of remote control: +# devices being controlled by this remote: +# + +begin remote + +name Terratec_Cinergy_Remote +bits 16 +eps 30 +aeps 100 +one 0 0 +zero 0 0 +pre_data_bits 16 +pre_data 0x8001 +gap 237493 +toggle_bit 0 + + + begin codes + power 0x0000000000000074 + app 0x0000000000000094 + zoom 0x0000000000000174 + 1 0x000000000000004F + 2 0x0000000000000050 + 3 0x0000000000000051 + 4 0x000000000000004B + 5 0x000000000000004C + 6 0x000000000000004D + 7 0x0000000000000047 + 8 0x0000000000000048 + 9 0x0000000000000049 + 0 0x0000000000000052 + chup 0x0000000000000192 + chdown 0x0000000000000193 + volup 0x0000000000000073 + voldown 0x0000000000000072 + av 0x0000000000000182 + -/-- 0x0000000000000045 + audio 0x0000000000000188 + mute 0x0000000000000071 + left 0x0000000000000069 + right 0x000000000000006A + up 0 x0000000000000067 + down 0x000000000000006C + mouseleft 0x0000000000000110 + mouseright 0x0000000000000111 + text 0x0000000000000096 + rew 0x00000000000000A8 + fwd 0x000000000000009F + rec 0x00000000000000A7 + play 0x00000000000000CF + prev 0x00000000000000A5 + next 0x00000000000000A3 + pause 0x0000000000000077 + stop 0x0000000000000080 + +end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Cinergy/lircrc-cinergy400600.txt b/abs/core-testing/system-templates/templates/remotes/Cinergy/lircrc-cinergy400600.txt new file mode 100755 index 0000000..5ac2227 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Cinergy/lircrc-cinergy400600.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = chup +config = Up +end + +# Channel Down +begin +prog = mythtv +button = chdown +config = Down +end + +# General Left +begin +prog = mythtv +button = left +config = Left +end + +# General Right +begin +prog = mythtv +button = right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = volup +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = voldown +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = +config = Space +end + +# Play +begin +prog = mythtv +button = play +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = fwd +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = rew +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = next +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = prev +config = PgUp +end + +# Record +begin +prog = mythtv +button = rec +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = app +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = app +config = osd +end + +# Pause playback +begin +prog = mplayer +button = pause +config = pause +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = rew +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = fwd +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = next +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = prev +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = zoom +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = pause +config = Pause +end + +begin +prog = xine +button = up +config = EventUp +end + +begin +prog = xine +button = down +config = EventDown +end + +begin +prog = xine +button = left +config = EventLeft +end + +begin +prog = xine +button = right +config = EventRight +end + +begin +prog = xine +button = +config = EventSelect +end + +begin +prog = xine +button = app +config = Menu +end + +begin +prog = xine +button = next +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = prev +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = volup +config = Volume+ +end + +begin +prog = xine +button = voldown +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = next +config = EventNext +end + +begin +prog = xine +button = prev +config = EventPrior +end + +begin +prog = xine +button = av +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Cinergy/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Cinergy/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Cinergy/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Cinergy_1400/lircd-cinergy1400.conf b/abs/core-testing/system-templates/templates/remotes/Cinergy_1400/lircd-cinergy1400.conf new file mode 100755 index 0000000..8458cfe --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Cinergy_1400/lircd-cinergy1400.conf @@ -0,0 +1,71 @@ +# +# this config file was automatically generated +# using lirc-0.7.2(serial) on Fri Oct 14 16:29:58 2005 +# +# contributed by Sebastian Kraft +# +# brand: Terratec +# model no. of remote control: Cinergy 1400-T +# devices being controlled by this remote: +# + +begin remote + + name Terratec_Cinergy_1400-T + bits 16 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 9007 4495 + one 557 1683 + zero 557 555 + ptrail 546 + pre_data_bits 16 + pre_data 0x20D7 + gap 110968 + toggle_bit 0 + + + begin codes + 0 0x30CF + 1 0x40BF + 2 0xC03F + 3 0x20DF + 4 0xA05F + 5 0x609F + 6 0xE01F + 7 0x10EF + 8 0x906F + 9 0x50AF + fullscreen 0x18E7 + osd 0x708F + volumeup 0x38C7 + volumedown 0x7887 + channelup 0xD827 + channeldown 0xF807 + epg 0xF00F + av 0xD02F + power 0x807F + teletext 0xA857 + clock 0xE817 + mute 0xB847 + pause 0x02FD + play 0x32CD + record 0x1AE5 + rewind 0x2AD5 + stop 0x12ED + forward 0x3AC5 + up 0x08F7 + down 0x28D7 + left 0x8877 + right 0xC837 + info 0x6897 + ok 0x48B7 + tab 0x58A7 + audio 0x9867 + clock 0xE817 + + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Cinergy_1400/lircrc-cinergy1400.txt b/abs/core-testing/system-templates/templates/remotes/Cinergy_1400/lircrc-cinergy1400.txt new file mode 100755 index 0000000..8dd42c5 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Cinergy_1400/lircrc-cinergy1400.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = channelup +config = Up +end + +# Channel Down +begin +prog = mythtv +button = channeldown +config = Down +end + +# General Left +begin +prog = mythtv +button = left +config = Left +end + +# General Right +begin +prog = mythtv +button = right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = volumeup +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = volumedown +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = ok +config = Space +end + +# Play +begin +prog = mythtv +button = play +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = forward +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = rewind +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = record +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = osd +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = epg +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = info +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = tab +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = teletext +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = osd +config = osd +end + +# Pause playback +begin +prog = mplayer +button = pause +config = pause +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = rewind +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = forward +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = fullscreen +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = pause +config = Pause +end + +begin +prog = xine +button = up +config = EventUp +end + +begin +prog = xine +button = down +config = EventDown +end + +begin +prog = xine +button = left +config = EventLeft +end + +begin +prog = xine +button = right +config = EventRight +end + +begin +prog = xine +button = ok +config = EventSelect +end + +begin +prog = xine +button = epg +config = Menu +end + +begin +prog = xine +button = forward +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = rewind +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = volumeup +config = Volume+ +end + +begin +prog = xine +button = volumedown +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = channelup +config = EventNext +end + +begin +prog = xine +button = channeldown +config = EventPrior +end + +begin +prog = xine +button = info +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Cinergy_1400/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Cinergy_1400/preview.jpg Binary files differnew file mode 100644 index 0000000..b777ac9 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Cinergy_1400/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Cinergy_T2/lircd-cinergyT2.conf b/abs/core-testing/system-templates/templates/remotes/Cinergy_T2/lircd-cinergyT2.conf new file mode 100755 index 0000000..168743b --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Cinergy_T2/lircd-cinergyT2.conf @@ -0,0 +1,72 @@ +# +# this config file was generated +# using lirc-0.7.1pre2(serial) kantonix VDR +# +# contributed by Stefan Bernshausen +# +# brand: Terratec +# model no. of remote control: Cinergy T2 +# devices being controlled by this remote: +# + +begin remote + + name Terratec_Cinergy_T2 + bits 16 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 9007 4495 + one 557 1683 + zero 557 555 + ptrail 546 + pre_data_bits 16 + pre_data 0x20D7 + gap 110968 + toggle_bit 0 + + + begin codes + 0 0x30CF + 1 0x40BF + 2 0xC03F + 3 0x20DF + 4 0xA05F + 5 0x609F + 6 0xE01F + 7 0x10EF + 8 0x906F + 9 0x50AF + Green 0x18E7 + Osd 0x708F + Volume+ 0x38C7 + Volume- 0x7887 + Ch+ 0xD827 + Ch- 0xF807 + Epg 0xF00F + Av 0xD02F + Power 0x807F + Txt 0xA857 + Red 0xE817 + Mute 0xB847 + Pause 0x02FD + Play 0x32CD + Record 0x1AE5 + Fback 0x2AD5 + Stop 0x12ED + Ffor 0x3AC5 + Up 0x08F7 + Down 0x28D7 + Left 0x8877 + Right 0xC837 + Info 0x6897 + Ok 0x48B7 + Blue 0x58A7 + Yellow 0x9867 + Red 0xE817 + Back 0xB04F + + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Cinergy_T2/lircrc-cinergyT2.txt b/abs/core-testing/system-templates/templates/remotes/Cinergy_T2/lircrc-cinergyT2.txt new file mode 100755 index 0000000..c4042fe --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Cinergy_T2/lircrc-cinergyT2.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = Ch+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = Ch- +config = Down +end + +# General Left +begin +prog = mythtv +button = Left +config = Left +end + +# General Right +begin +prog = mythtv +button = Right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = Up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = Down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = Volume+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = Volume- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = Ok +config = Space +end + +# Play +begin +prog = mythtv +button = Play +config = Return +end + +# Stop +begin +prog = mythtv +button = Stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = Power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = Pause +config = P +end + +# Mute +begin +prog = mythtv +button = Mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = Ffor +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = Fback +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = Record +config = R +end + +# Delete +begin +prog = mythtv +button = Red +config = D +end + +# OSD browse +begin +prog = mythtv +button = Osd +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = Epg +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = Info +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = Green +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = Blue +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = Osd +config = osd +end + +# Pause playback +begin +prog = mplayer +button = Pause +config = pause +end + +# Mute +begin +prog = mplayer +button = Mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = Fback +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = Ffor +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = Stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = Ch+ +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = Ch- +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = Blue +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = Play +config = Play +end + +begin +prog = xine +button = Stop +config = Stop +end + +begin +prog = xine +button = Stop +config = Quit +end + +begin +prog = xine +button = Pause +config = Pause +end + +begin +prog = xine +button = Up +config = EventUp +end + +begin +prog = xine +button = Down +config = EventDown +end + +begin +prog = xine +button = Left +config = EventLeft +end + +begin +prog = xine +button = Right +config = EventRight +end + +begin +prog = xine +button = Ok +config = EventSelect +end + +begin +prog = xine +button = Epg +config = Menu +end + +begin +prog = xine +button = Ffor +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = Fback +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = Volume+ +config = Volume+ +end + +begin +prog = xine +button = Volume- +config = Volume- +end + +begin +prog = xine +button = Mute +config = Mute +end + +begin +prog = xine +button = Stop +config = RootMenu +end + +begin +prog = xine +button = Ch+ +config = EventNext +end + +begin +prog = xine +button = Ch- +config = EventPrior +end + +begin +prog = xine +button = Info +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Cinergy_T2/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Cinergy_T2/preview.jpg Binary files differnew file mode 100644 index 0000000..b777ac9 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Cinergy_T2/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Compro/lircd-compro.conf b/abs/core-testing/system-templates/templates/remotes/Compro/lircd-compro.conf new file mode 100755 index 0000000..41f2c7b --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Compro/lircd-compro.conf @@ -0,0 +1,364 @@ +begin remote + name linux-input-layer + bits 32 + begin codes + ESC 0x10001 + 1 0x10002 + 2 0x10003 + 3 0x10004 + 4 0x10005 + 5 0x10006 + 6 0x10007 + 7 0x10008 + 8 0x10009 + 9 0x1000a + 0 0x1000b + MINUS 0x1000c + EQUAL 0x1000d + BACKSPACE 0x1000e + TAB 0x1000f + Q 0x10010 + W 0x10011 + E 0x10012 + R 0x10013 + T 0x10014 + Y 0x10015 + U 0x10016 + I 0x10017 + O 0x10018 + P 0x10019 + LEFTBRACE 0x1001a + RIGHTBRACE 0x1001b + ENTER 0x1001c + LEFTCTRL 0x1001d + A 0x1001e + S 0x1001f + D 0x10020 + F 0x10021 + G 0x10022 + H 0x10023 + J 0x10024 + K 0x10025 + L 0x10026 + SEMICOLON 0x10027 + APOSTROPHE 0x10028 + GRAVE 0x10029 + LEFTSHIFT 0x1002a + BACKSLASH 0x1002b + Z 0x1002c + X 0x1002d + C 0x1002e + V 0x1002f + B 0x10030 + N 0x10031 + M 0x10032 + COMMA 0x10033 + DOT 0x10034 + SLASH 0x10035 + RIGHTSHIFT 0x10036 + KPASTERISK 0x10037 + LEFTALT 0x10038 + SPACE 0x10039 + CAPSLOCK 0x1003a + F1 0x1003b + F2 0x1003c + F3 0x1003d + F4 0x1003e + F5 0x1003f + F6 0x10040 + F7 0x10041 + F8 0x10042 + F9 0x10043 + F10 0x10044 + NUMLOCK 0x10045 + SCROLLLOCK 0x10046 + KP7 0x10047 + KP8 0x10048 + KP9 0x10049 + KPMINUS 0x1004a + KP4 0x1004b + KP5 0x1004c + KP6 0x1004d + KPPLUS 0x1004e + KP1 0x1004f + KP2 0x10050 + KP3 0x10051 + KP0 0x10052 + KPDOT 0x10053 + 103RD 0x10054 + F13 0x10055 + 102ND 0x10056 + F11 0x10057 + F12 0x10058 + F14 0x10059 + F15 0x1005a + F16 0x1005b + F17 0x1005c + F18 0x1005d + F19 0x1005e + F20 0x1005f + KPENTER 0x10060 + RIGHTCTRL 0x10061 + KPSLASH 0x10062 + SYSRQ 0x10063 + RIGHTALT 0x10064 + LINEFEED 0x10065 + HOME 0x10066 + UP 0x10067 + PAGEUP 0x10068 + LEFT 0x10069 + RIGHT 0x1006a + END 0x1006b + DOWN 0x1006c + PAGEDOWN 0x1006d + INSERT 0x1006e + DELETE 0x1006f + MACRO 0x10070 + MUTE 0x10071 + VOLUMEDOWN 0x10072 + VOLUMEUP 0x10073 + POWER 0x10074 + KPEQUAL 0x10075 + KPPLUSMINUS 0x10076 + PAUSE 0x10077 + F21 0x10078 + F22 0x10079 + F23 0x1007a + F24 0x1007b + KPCOMMA 0x1007c + LEFTMETA 0x1007d + RIGHTMETA 0x1007e + COMPOSE 0x1007f + STOP 0x10080 + AGAIN 0x10081 + PROPS 0x10082 + UNDO 0x10083 + FRONT 0x10084 + COPY 0x10085 + OPEN 0x10086 + PASTE 0x10087 + FIND 0x10088 + CUT 0x10089 + HELP 0x1008a + MENU 0x1008b + CALC 0x1008c + SETUP 0x1008d + SLEEP 0x1008e + WAKEUP 0x1008f + FILE 0x10090 + SENDFILE 0x10091 + DELETEFILE 0x10092 + XFER 0x10093 + PROG1 0x10094 + PROG2 0x10095 + WWW 0x10096 + MSDOS 0x10097 + COFFEE 0x10098 + DIRECTION 0x10099 + CYCLEWINDOWS 0x1009a + MAIL 0x1009b + BOOKMARKS 0x1009c + COMPUTER 0x1009d + BACK 0x1009e + FORWARD 0x1009f + CLOSECD 0x100a0 + EJECTCD 0x100a1 + EJECTCLOSECD 0x100a2 + NEXTSONG 0x100a3 + PLAYPAUSE 0x100a4 + PREVIOUSSONG 0x100a5 + STOPCD 0x100a6 + RECORD 0x100a7 + REWIND 0x100a8 + PHONE 0x100a9 + ISO 0x100aa + CONFIG 0x100ab + HOMEPAGE 0x100ac + REFRESH 0x100ad + EXIT 0x100ae + MOVE 0x100af + EDIT 0x100b0 + SCROLLUP 0x100b1 + SCROLLDOWN 0x100b2 + KPLEFTPAREN 0x100b3 + KPRIGHTPAREN 0x100b4 + INTL1 0x100b5 + INTL2 0x100b6 + INTL3 0x100b7 + INTL4 0x100b8 + INTL5 0x100b9 + INTL6 0x100ba + INTL7 0x100bb + INTL8 0x100bc + INTL9 0x100bd + LANG1 0x100be + LANG2 0x100bf + LANG3 0x100c0 + LANG4 0x100c1 + LANG5 0x100c2 + LANG6 0x100c3 + LANG7 0x100c4 + LANG8 0x100c5 + LANG9 0x100c6 + PLAYCD 0x100c8 + PAUSECD 0x100c9 + PROG3 0x100ca + PROG4 0x100cb + SUSPEND 0x100cd + CLOSE 0x100ce + PLAY 0x100cf + FASTFORWARD 0x100d0 + BASSBOOST 0x100d1 + PRINT 0x100d2 + HP 0x100d3 + CAMERA 0x100d4 + SOUND 0x100d5 + QUESTION 0x100d6 + EMAIL 0x100d7 + CHAT 0x100d8 + SEARCH 0x100d9 + CONNECT 0x100da + FINANCE 0x100db + SPORT 0x100dc + SHOP 0x100dd + ALTERASE 0x100de + CANCEL 0x100df + BRIGHTNESSDOWN 0x100e0 + BRIGHTNESSUP 0x100e1 + MEDIA 0x100e2 + UNKNOWN 0x100f0 + BTN_MISC 0x10100 + BTN_0 0x10100 + BTN_1 0x10101 + BTN_2 0x10102 + BTN_3 0x10103 + BTN_4 0x10104 + BTN_5 0x10105 + BTN_6 0x10106 + BTN_7 0x10107 + BTN_8 0x10108 + BTN_9 0x10109 + BTN_MOUSE 0x10110 + BTN_LEFT 0x10110 + BTN_RIGHT 0x10111 + BTN_MIDDLE 0x10112 + BTN_SIDE 0x10113 + BTN_EXTRA 0x10114 + BTN_FORWARD 0x10115 + BTN_BACK 0x10116 + BTN_TASK 0x10117 + BTN_JOYSTICK 0x10120 + BTN_TRIGGER 0x10120 + BTN_THUMB 0x10121 + BTN_THUMB2 0x10122 + BTN_TOP 0x10123 + BTN_TOP2 0x10124 + BTN_PINKIE 0x10125 + BTN_BASE 0x10126 + BTN_BASE2 0x10127 + BTN_BASE3 0x10128 + BTN_BASE4 0x10129 + BTN_BASE5 0x1012a + BTN_BASE6 0x1012b + BTN_DEAD 0x1012f + BTN_GAMEPAD 0x10130 + BTN_A 0x10130 + BTN_B 0x10131 + BTN_C 0x10132 + BTN_X 0x10133 + BTN_Y 0x10134 + BTN_Z 0x10135 + BTN_TL 0x10136 + BTN_TR 0x10137 + BTN_TL2 0x10138 + BTN_TR2 0x10139 + BTN_SELECT 0x1013a + BTN_START 0x1013b + BTN_MODE 0x1013c + BTN_THUMBL 0x1013d + BTN_THUMBR 0x1013e + BTN_DIGI 0x10140 + BTN_TOOL_PEN 0x10140 + BTN_TOOL_RUBBER 0x10141 + BTN_TOOL_BRUSH 0x10142 + BTN_TOOL_PENCIL 0x10143 + BTN_TOOL_AIRBRUSH 0x10144 + BTN_TOOL_FINGER 0x10145 + BTN_TOOL_MOUSE 0x10146 + BTN_TOOL_LENS 0x10147 + BTN_TOUCH 0x1014a + BTN_STYLUS 0x1014b + BTN_STYLUS2 0x1014c + BTN_WHEEL 0x10150 + BTN_GEAR_DOWN 0x10150 + BTN_GEAR_UP 0x10151 + OK 0x10160 + SELECT 0x10161 + GOTO 0x10162 + CLEAR 0x10163 + POWER2 0x10164 + OPTION 0x10165 + INFO 0x10166 + TIME 0x10167 + VENDOR 0x10168 + ARCHIVE 0x10169 + PROGRAM 0x1016a + CHANNEL 0x1016b + FAVORITES 0x1016c + EPG 0x1016d + PVR 0x1016e + MHP 0x1016f + LANGUAGE 0x10170 + TITLE 0x10171 + SUBTITLE 0x10172 + ANGLE 0x10173 + ZOOM 0x10174 + MODE 0x10175 + KEYBOARD 0x10176 + SCREEN 0x10177 + PC 0x10178 + TV 0x10179 + TV2 0x1017a + VCR 0x1017b + VCR2 0x1017c + SAT 0x1017d + SAT2 0x1017e + CD 0x1017f + TAPE 0x10180 + RADIO 0x10181 + TUNER 0x10182 + PLAYER 0x10183 + TEXT 0x10184 + DVD 0x10185 + AUX 0x10186 + MP3 0x10187 + AUDIO 0x10188 + VIDEO 0x10189 + DIRECTORY 0x1018a + LIST 0x1018b + MEMO 0x1018c + CALENDAR 0x1018d + RED 0x1018e + GREEN 0x1018f + YELLOW 0x10190 + BLUE 0x10191 + CHANNELUP 0x10192 + CHANNELDOWN 0x10193 + FIRST 0x10194 + LAST 0x10195 + AB 0x10196 + NEXT 0x10197 + RESTART 0x10198 + SLOW 0x10199 + SHUFFLE 0x1019a + BREAK 0x1019b + PREVIOUS 0x1019c + DIGITS 0x1019d + TEEN 0x1019e + TWEN 0x1019f + DEL_EOL 0x101c0 + DEL_EOS 0x101c1 + INS_LINE 0x101c2 + DEL_LINE 0x101c3 + end codes +end remote diff --git a/abs/core-testing/system-templates/templates/remotes/Compro/lircrc-compro.txt b/abs/core-testing/system-templates/templates/remotes/Compro/lircrc-compro.txt new file mode 100755 index 0000000..3a7fae8 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Compro/lircrc-compro.txt @@ -0,0 +1,487 @@ +begin + prog = mythtv + button = UP + config = Up +end + +begin + prog = mythtv + button = DOWN + config = Down +end + +begin + prog = mythtv + button = LEFT + config = Left +end + +begin + prog = mythtv + button = RIGHT + config = Right +end + +begin + prog = mythtv + button = DVD + config = Esc +end + +begin + prog = mythtv + button = Go +# Swap the PiP windows + config = N +end + +begin + prog = mythtv + button = 1 + config = 1 +end + +begin + prog = mythtv + button = 2 + config = 2 +end + +begin + prog = mythtv + button = 3 + config = 3 +end + +begin + prog = mythtv + button = 4 + config = 4 +end + +begin + prog = mythtv + button = 5 + config = 5 +end + +begin + prog = mythtv + button = 6 + config = 6 +end + +begin + prog = mythtv + button = 7 + config = 7 +end + +begin + prog = mythtv + button = 8 + config = 8 +end + +begin + prog = mythtv + button = 9 + config = 9 +end + +begin + prog = mythtv + button = 0 + config = 0 +end + +begin + prog = mythtv + button = TV + config = Esc +end + +begin + prog = mythtv + button = VIDEO + config = M +end + +# Below are keys used with the Hauppauge Grey remote + +begin + prog = mythtv +# This is the Red key +# We'll use it for "Delete" + button = Red + config = D +end + +begin + prog = mythtv +# This is the Green key +# We'll use it for "Information" + button = Green + config = I +end + +# Note the "repeat =" strings in the volume and channel. +# This means that if you hold down the key, every nth instance will be +# passed. This depends on your system, so you may want to increase or +# decrease this and see what happens. repeat = 1 is probably too +# fast. + +begin + prog = mythtv +# This is the Yellow key +# Use it as a volume key + button = VOLUMEDOWN + repeat = 3 + config = F10 +end + +begin + prog = mythtv +# This is the Blue key +# Use it as a volume key + button = VOLUMEUP + repeat = 3 + config = F11 +end + +begin + prog = mythtv + button = CHANNELUP +# This is the "up" on the central diamond + repeat = 3 + config = Up +end + +begin + prog = mythtv + button = CHANNELDOWN +# This is the "down" on the central diamond + repeat = 3 + config = Down +end + +begin + prog = mythtv + button = VOLUMEUP +# This is the "left" on the central diamond + repeat = 3 + config = Right +end + +begin + prog = mythtv + button = VOLUMEDOWN +# This is the "right" on the central diamond + repeat = 3 + config = Left +end + +begin + prog = mythtv +# Middle button on the diamond + button = OK + config = Return +end + +begin + prog = mythtv + button = MUTE + config = | +end + +begin + prog = mythtv +# Change focus for PiP (to change channel in the other window) + button = Blank + config = B +end + +begin + prog = mythtv +# Toggle PiP on/off + button = Full + config = V +end + +begin + prog = mythtv + button = REWIND + config = < +end + +begin + prog = mythtv + button = PLAY + config = P +end + +begin + prog = mythtv + button = FORWARD + config = > +end + +begin + prog = mythtv + button = RECORD + config = R +end + +begin + prog = mythtv +# Teletext + button = STOP + config = T +end + +begin + prog = mythtv + button = PLAYPAUSE + config = P +end + +begin + prog = mythtv + button = Replay +# Use for backwards commercial skip + config = Q +end + +begin + prog = mythtv + button = Skip +# Use for forward commercial skip + config = Z +end + +#MPlayer +begin + prog = mplayer + button = VIDEO + config = quit +end + +begin + prog = mplayer + button = SETUP + config = osd +end + +begin + prog = mplayer + button = REWIND + config = seek -10 + repeat = 1 +end + +begin + prog = mplayer + button = FOWARD + config = seek +10 + repeat = 1 +end + +begin + prog = mplayer + button = PREVIOUS + config = seek -60 + repeat = 1 +end + +begin + prog = mplayer + button = NEXT + config = seek +60 + repeat = 1 +end + +begin + prog = mplayer + button = PLAYPAUSE + config = pause +end + +begin + prog = mplayer + button = PLAYPAUSE + config = pause +end + +begin + prog = mplayer + button = VIDEO + config = quit +end + +begin + prog = mplayer + button = VOLUMEUP + config = volume +1 + repeat = 1 +end + +begin + prog = mplayer + button = VOLUMEDOWN + config = volume -1 + repeat = 1 +end + +begin + prog = mplayer + button = MUTE + config = mute +end +##XINE + + begin + prog = xine + button = PLAY + repeat = 3 + config = Play + end + + begin + prog = xine + button = STOP + repeat = 3 + config = Stop + end + + begin + prog = xine + button = BACK/EXIT + config = Quit + end + + begin + prog = xine + button = PAUSE + repeat = 3 + config = Pause + end + + begin + prog = xine + button = CH+ + repeat = 4 + config = EventUp + end + + begin + prog = xine + button = CH- + repeat = 4 + config = EventDown + end + + begin + prog = xine + button = VOL- + repeat = 4 + config = Volume- + end + + begin + prog = xine + button = VOL+ + repeat = 4 + config = Volume+ + end + + begin + prog = xine + button = OK + repeat = 0 + config = EventSelect + end + + begin + prog = xine + button = MENU + repeat = 0 + config = Menu + end + + #vol down + begin + prog = xine + button = YELLOW + repeat = 1 + config = EventLeft + end + + #vol up + begin + prog = xine + button = Red + repeat = 1 + config = EventRight + end + + begin + prog = xine + button = FFW + repeat = 2 + config = SeekRelative+30 + end + + begin + prog = xine + button = REW + repeat = 2 + config = SeekRelative-30 + end + + #ch up + begin + prog = xine + button = Green + repeat = 1 + config = SeekRelative+60 + end + + #ch down + begin + prog = xine + button = Blue + repeat = 1 + config = SeekRelative-60 + end + + #sleep + begin + prog = xine + button = GO + repeat = 1 + config = ZoomIn + end + + #display + begin + prog = xine + button = SKIP + repeat = 1 + config = ZoomOut + end + + #skip chapter forward + begin + prog = xine + button = SKIP + repeat = 1 + config = EventNext + end + + #skip chapter backward + begin + prog = xine + button = REPLAY + repeat = 1 + config = EventPrior + end diff --git a/abs/core-testing/system-templates/templates/remotes/Compro/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Compro/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Compro/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Dvico-Dual-Digital4-rev2/lircd.conf.dvico-dual-digital4 b/abs/core-testing/system-templates/templates/remotes/Dvico-Dual-Digital4-rev2/lircd.conf.dvico-dual-digital4 new file mode 100644 index 0000000..2d2b9ac --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Dvico-Dual-Digital4-rev2/lircd.conf.dvico-dual-digital4 @@ -0,0 +1,81 @@ +# Please make this file available to others +# by sending it to <lirc@bartelmus.de> +# +# this config file was automatically generated +# using lirc-0.8.0(userspace) on Mon Mar 5 16:00:35 2007 +# +# contributed by: Soth +# +# brand: DViCO FusionHDTV DVB-T Dual Digital +# model no. of remote control: Fusion MCE +# devices being controlled by this remote: +# + +begin remote + + name DViCO_Dual_Digital + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + pre_data_bits 16 + pre_data 0x1 + gap 251756 + toggle_bit 0 + + begin codes +#starting at the top + dtv 0x0179 + mp3 0x0187 + dvd 0x0185 + cpf 0x016C +#outer circle clockwise from top + tvpower 0x0164 + guide 0x016D + info 0x0166 + alttab 0x000F + skip 0x00A3 + start 0x001C + replay 0x00A5 + dvdmenu 0x008B + back 0x009E + setup 0x008D +#inner circle + up 0x0067 + down 0x006C + left 0x0069 + right 0x006A + ok 0x0160 +#volume and channel + voldn 0x0072 + volup 0x0073 + chup 0x0192 + chdn 0x0193 +#keypad + camera 0x00D4 + live 0x0182 + folder 0x0086 + 1 0x0002 + 2 0x0003 + 3 0x0004 + 4 0x0005 + 5 0x0006 + 6 0x0007 + 7 0x0008 + 8 0x0009 + 9 0x000A + aspect 0x0173 + 0 0x000B + zoom 0x0174 +#play buttons + rew 0x00A8 + playpause 0x00A4 + ff 0x00D0 + mute 0x0071 + stop 0x0080 + rec 0x00A7 + power 0x0074 + end codes +end remote diff --git a/abs/core-testing/system-templates/templates/remotes/Dvico-Dual-Digital4-rev2/lircrc.dvico-dual-digital4 b/abs/core-testing/system-templates/templates/remotes/Dvico-Dual-Digital4-rev2/lircrc.dvico-dual-digital4 new file mode 100644 index 0000000..7c75f01 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Dvico-Dual-Digital4-rev2/lircrc.dvico-dual-digital4 @@ -0,0 +1,430 @@ +# lircrc.example.DVICO-nativelirc +# 2004-07-04, Chris Pascoe +# mailto:linuxdvb@itee.uq.edu.au +# Save this file in ~/.mythtv/lircrc +# +# Note the "repeat =" strings in the volume and channel. +# This means that if you hold down the key, every nth instance will be +# passed. This depends on your system, so you may want to increase or +# decrease this and see what happens. repeat = 1 is probably too +# fast. + +### Top 4 buttons ### + +# DTV - Change focus for PiP (to change channel in the other window) +begin + prog = mythtv + button = dtv + config = B +end + +begin + prog = mythtv + button = mp3 + config = Ctrl+M +end + +begin + prog = mythtv + button = dvd + config = Ctrl+D +end + +begin + prog = mythtv + button = cpf + config = +end + +### Outer Circle (clockwise from the top) ### + +begin + prog = mythtv + button = tvpower + config = Esc +end + +begin + prog = mythtv + button = guide + config = S +end + +begin + prog = mythtv + button = info + config = I +end + +#swap the pip windows +begin + prog = mythtv + button = alttab + config = N +end + +#commercial skip forwards +begin + prog = mythtv + button = skip + config = Z +end + +begin + prog = mythtv + button = start + config = Return +end + +#commercial skip backwards +begin + prog = mythtv + button = replay + config = Q +end + +begin + prog = mythtv + button = dvdmenu +# config = undefined +end + +begin + prog = mythtv + button = back + config = Esc +end + +begin + prog = mythtv + button = setup + config = undefined +end + +### Inner Circle ### + +begin + prog = mythtv + button = up + config = Up +end + +begin + prog = mythtv + button = down + config = Down +end + +begin + prog = mythtv + button = left + config = Left +end + +begin + prog = mythtv + button = right + config = Right +end + +begin + prog = mythtv + button = ok + config = Return +end + +### Volume and Channel ### + +begin + prog = mythtv + button = voldn + repeat = 1 + config = F10 +end + +begin + prog = mythtv + button = volup + repeat = 1 + config = F11 +end + +begin + prog = mythtv + button = chup + config = Up +end + +begin + prog = mythtv + button = chdn + config = Down +end + +### Keypad ### + +begin + prog = mythtv + button = camera + config = P +end + +begin + prog = mythtv + button = live +# config = undefined +end + +begin + prog = mythtv + button = folder + config = C +end + +begin + prog = mythtv + button = 1 + config = 1 + config = return +end + +begin + prog = mythtv + button = 2 + config = 2 + config = return +end + +begin + prog = mythtv + button = 3 + config = 3 + config = return +end + +begin + prog = mythtv + button = 4 + config = 4 + config = return +end + +begin + prog = mythtv + button = 5 + config = 5 + config = return +end + +begin + prog = mythtv + button = 6 + config = 6 + config = return +end + +begin + prog = mythtv + button = 7 + config = 7 + config = return +end + +begin + prog = mythtv + button = 8 + config = 8 + config = return +end + +begin + prog = mythtv + button = 9 + config = 9 + config = return +end + +begin + prog = mythtv + button = aspect + config = W +end + +begin + prog = mythtv + button = 0 + config = 0 + config = return +end + +# Toggle PiP on/off +begin + prog = mythtv + button = zoom + config = V +end + +### Play buttons ### + +begin + prog = mythtv + button = rew + config = Left +# config = seek -180 +end + +begin + prog = mythtv + button = playpause + config = ctrl+p +end + +begin + prog = mythtv + button = ff + config = Right +# config = seek +180 +end + +begin + prog = mythtv + button = mute + config = | +end + +begin + prog = mythtv + button = stop + config = P +end + +begin + prog = mythtv + button = rec + config = R +end + +begin + prog = mythtv + button = power + config = Esc +end + +# Xine + +begin + prog = xine + button = playpause + repeat = 3 + config = Play +end + +begin + prog = xine + button = stop + repeat = 3 + config = Pause +end + +begin + prog = xine + button = back + config = Quit +end + +begin + prog = xine + button = tv_onoff + config = Quit +end + +begin + prog = xine + button = right + repeat = 3 + config = SeekRelative+10 +end + +begin + prog = xine + button = left + repeat = 3 + config = SeekRelative-10 +end + +begin + prog = xine + button = ff + repeat = 3 + config = SeekRelative+30 +end + +begin + prog = xine + button = rew + repeat = 3 + config = SeekRelative-30 +end + +begin + prog = xine + button = skip + repeat = 3 + config = SeekRelative+300 +end + +begin + prog = xine + button = replay + repeat = 3 + config = SeekRelative-300 +end + +begin + prog = xine + button = up + repeat = 1 + config = EventUp +end + +begin + prog = xine + button = down + repeat = 1 + config = EventDown +end + +begin + prog = xine + button = ok + repeat = 0 + config = EventSelect +end + +begin + prog = xine + button = guide + repeat = 0 + config = Menu +end + +begin + prog = xine + button = setup + repeat = 0 + config = Menu +end + +begin + prog = xine + button = volup + repeat = 1 + config = Volume+ +end + +begin + prog = xine + button = voldn + repeat = 1 + config = Volume- +end diff --git a/abs/core-testing/system-templates/templates/remotes/Dvico-Dual-Digital4-rev2/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Dvico-Dual-Digital4-rev2/preview.jpg Binary files differnew file mode 100644 index 0000000..f3956fa --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Dvico-Dual-Digital4-rev2/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Flyvideo_2000/lircd-flyvideo2000.conf b/abs/core-testing/system-templates/templates/remotes/Flyvideo_2000/lircd-flyvideo2000.conf new file mode 100755 index 0000000..03a5f14 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Flyvideo_2000/lircd-flyvideo2000.conf @@ -0,0 +1,57 @@ +# Please make this file available to others +# by sending it to <lirc@bartelmus.de> +# +# this config file was automatically generated +# using lirc-0.8.1(dev/input) on Wed Jun 13 19:09:39 2007 +# +# contributed by +# +# brand: /tmp/lirc.conf +# model no. of remote control: +# devices being controlled by this remote: +# + +begin remote + +name FlyVideo_2000 +bits 16 +eps 30 +aeps 100 + +one 0 0 +zero 0 0 +pre_data_bits 16 +pre_data 0x8001 +gap 208092 +toggle_bit 0 + + +begin codes + Air/catTV 0x0175 + Video 0x0189 + Audio 0x0188 + Power 0x0074 + AVSource 0x0182 + FullScreen 0x0174 + Stereo 0x0170 + Mute 0x0071 + Vol+ 0x0073 + Vol- 0x0072 + Ch+ 0x0192 + Ch- 0x0193 + Recall 0x0081 + Enter 0x001C + 1 0x0002 + 2 0x0003 + 3 0x0004 + 4 0x0005 + 5 0x0006 + 6 0x0007 + 7 0x0008 + 8 0x0009 + 9 0x000A + 0 0x000B + +end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Flyvideo_2000/lircrc-flyvideo2000.txt b/abs/core-testing/system-templates/templates/remotes/Flyvideo_2000/lircrc-flyvideo2000.txt new file mode 100755 index 0000000..08fb7fb --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Flyvideo_2000/lircrc-flyvideo2000.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = Ch+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = Ch- +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = Ch+ +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = Ch- +config = Down +end + +# Volume Up +begin +prog = mythtv +button = Vol+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = Vol- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = Enter +config = Space +end + +# Play +begin +prog = mythtv +button = +config = Return +end + +# Stop +begin +prog = mythtv +button = +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = Power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = +config = P +end + +# Mute +begin +prog = mythtv +button = Mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = Recall +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = +config = osd +end + +# Pause playback +begin +prog = mplayer +button = +config = pause +end + +# Mute +begin +prog = mplayer +button = Mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = FullScreen +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = +config = Play +end + +begin +prog = xine +button = +config = Stop +end + +begin +prog = xine +button = +config = Quit +end + +begin +prog = xine +button = +config = Pause +end + +begin +prog = xine +button = Ch+ +config = EventUp +end + +begin +prog = xine +button = Ch- +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = Enter +config = EventSelect +end + +begin +prog = xine +button = +config = Menu +end + +begin +prog = xine +button = +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = Vol+ +config = Volume+ +end + +begin +prog = xine +button = Vol- +config = Volume- +end + +begin +prog = xine +button = Mute +config = Mute +end + +begin +prog = xine +button = +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Flyvideo_2000/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Flyvideo_2000/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Flyvideo_2000/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Flyvideo_3000/lircd-flyvideo3000.conf b/abs/core-testing/system-templates/templates/remotes/Flyvideo_3000/lircd-flyvideo3000.conf new file mode 100755 index 0000000..8b4f23e --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Flyvideo_3000/lircd-flyvideo3000.conf @@ -0,0 +1,47 @@ +# lircd.conf.Flyvideo_3000_devinput +# +# Lirc configuration file for the LifeView FlyVideo 3000 remote. +# +# Adapted from the standard linux input layer config file found at +# http://linux.bytesex.org/v4l2/linux-input-layer-lircd.conf +# The remote name and button names are consistent with lircd.conf.Flyvideo_3000. +# +# Created January 22, 2005 +# +# contributed by Jason Anderson (jasonofhoulton@hotmail.com) +# +# brand: Lifeview +# model no. of remote control: Flyvideo 3000 +# devices being controlled by this remote: +# + +begin remote + name Flyvideo_3000 + bits 32 + begin codes + air/catv 0x10182 + video 0x10189 + audio 0x10188 + power 0x10074 + av_source 0x100b0 + full_screen 0x10174 + stereo 0x100c0 + Mute 0x10071 + 1 0x1004f + 2 0x10050 + 3 0x10051 + vol+ 0x10073 + 4 0x1004b + 5 0x1004c + 6 0x1004d + vol- 0x10072 + 7 0x10047 + 8 0x10048 + 9 0x10049 + ch+ 0x10192 + recall 0x10081 + 0 0x10052 + enter 0x10060 + ch- 0x10193 + end codes +end remote diff --git a/abs/core-testing/system-templates/templates/remotes/Flyvideo_3000/lircrc-flyvideo3000.txt b/abs/core-testing/system-templates/templates/remotes/Flyvideo_3000/lircrc-flyvideo3000.txt new file mode 100755 index 0000000..565c2d9 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Flyvideo_3000/lircrc-flyvideo3000.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = ch+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = ch- +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = ch+ +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = ch- +config = Down +end + +# Volume Up +begin +prog = mythtv +button = vol+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = vol- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = enter +config = Space +end + +# Play +begin +prog = mythtv +button = +config = Return +end + +# Stop +begin +prog = mythtv +button = +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = +config = P +end + +# Mute +begin +prog = mythtv +button = Mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = recall +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = +config = osd +end + +# Pause playback +begin +prog = mplayer +button = +config = pause +end + +# Mute +begin +prog = mplayer +button = Mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = full_Screen +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = +config = Play +end + +begin +prog = xine +button = +config = Stop +end + +begin +prog = xine +button = +config = Quit +end + +begin +prog = xine +button = +config = Pause +end + +begin +prog = xine +button = ch+ +config = EventUp +end + +begin +prog = xine +button = ch- +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = enter +config = EventSelect +end + +begin +prog = xine +button = +config = Menu +end + +begin +prog = xine +button = +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = vol+ +config = Volume+ +end + +begin +prog = xine +button = vol- +config = Volume- +end + +begin +prog = xine +button = Mute +config = Mute +end + +begin +prog = xine +button = +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Flyvideo_3000/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Flyvideo_3000/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Flyvideo_3000/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Hercules/lircd-hercules.conf b/abs/core-testing/system-templates/templates/remotes/Hercules/lircd-hercules.conf new file mode 100755 index 0000000..a745dbb --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Hercules/lircd-hercules.conf @@ -0,0 +1,61 @@ +# +# this config file was automatically generated +# using lirc-0.6.6(any) on Mon Oct 6 01:10:14 2003 +# +# contributed by Dimitris Michail <dmichail|yahoo.com> +# +# brand: Hercules +# model no. of remote control: unknown +# devices being controlled by this remote: Hercules SmartTV Stereo +# +# Works with module lirc_i2c, reports PV951 IR + +begin remote + + name HERCULES_SMARTTV_STEREO + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + pre_data_bits 16 + pre_data 0x61D6 + gap 199964 + toggle_bit 0 + + + begin codes + POWER 0x00000000000048B7 + MUTE 0x000000000000C837 + PREVIEW 0x000000000000F00F + FULLSCREEN 0x00000000000038C7 + AV/TV 0x0000000000008877 + TELETEXT 0x00000000000008F7 + 1 0x000000000000807F + 2 0x00000000000040BF + 3 0x000000000000C03F + 4 0x00000000000020DF + 5 0x000000000000A05F + 6 0x000000000000609F + 7 0x000000000000E01F + 8 0x00000000000010EF + 9 0x000000000000906F + 0 0x00000000000000FF + SNAPSHOT 0x00000000000050AF + 100+ 0x000000000000E817 + CH+ 0x00000000000058A7 + CH- 0x0000000000007887 + VOL+ 0x000000000000D827 + VOL- 0x000000000000F807 + PAUSE 0x000000000000B04F + RECORD 0x000000000000708F + STOP 0x000000000000B847 + PLAY 0x0000000000009867 + TV_REPLAY 0x0000000000006897 + TIME_SHIFT 0x00000000000028D7 + SEEK_BACK 0x00000000000018E7 + SEEK_FWD 0x00000000000030CF + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Hercules/lircrc-hercules.txt b/abs/core-testing/system-templates/templates/remotes/Hercules/lircrc-hercules.txt new file mode 100755 index 0000000..c54873b --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Hercules/lircrc-hercules.txt @@ -0,0 +1,475 @@ +# Channel Up +begin +prog = mythtv +button = CH+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = CH- +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = CH+ +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = CH- +config = Down +end + +# Volume Up +begin +prog = mythtv +button = VOL+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = VOL- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = +config = Space +end + +# Play +begin +prog = mythtv +button = PLAY +config = Return +end + +# Stop +begin +prog = mythtv +button = STOP +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = POWER +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = PAUSE +config = P +end + +# Mute +begin +prog = mythtv +button = MUTE +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = SEEK_FWD +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = SEEK_BACK +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = RECORD +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = PREVIEW +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = FULLSCREEN +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Closed Captioning +begin +prog = mythtv +button = TELETEXT +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = PREVIEW +config = osd +end + +# Pause playback +begin +prog = mplayer +button = PAUSE +config = pause +end + +# Skip ahead a minute if playing +# If paused, resume playing +begin +prog = mplayer +button = +config = seek +1 +end + +# Mute +begin +prog = mplayer +button = MUTE +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = SEEK_BACK +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = SEEK_FWD +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = STOP +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = FULLSCREEN +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = PLAY +config = Play +end + +begin +prog = xine +button = STOP +config = Stop +end + +begin +prog = xine +button = STOP +config = Quit +end + +begin +prog = xine +button = PAUSE +config = Pause +end + +begin +prog = xine +button = +config = EventUp +end + +begin +prog = xine +button = +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = +config = EventSelect +end + +begin +prog = xine +button = PREVIEW +config = Menu +end + +begin +prog = xine +button = SEEK_FWD +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = SEEK_BACK +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = VOL+ +config = Volume+ +end + +begin +prog = xine +button = VOL- +config = Volume- +end + +begin +prog = xine +button = MUTE +config = Mute +end + +begin +prog = xine +button = STOP +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = TELETEXT +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Hercules/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Hercules/preview.jpg Binary files differnew file mode 100644 index 0000000..8ffa652 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Hercules/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_110/lircd-kworld110.conf b/abs/core-testing/system-templates/templates/remotes/Kworld_110/lircd-kworld110.conf new file mode 100755 index 0000000..eab7fa2 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_110/lircd-kworld110.conf @@ -0,0 +1,84 @@ +# +# this config file was automatically generated +# using lirc-0.8.1-CVS(default) on Sun Jan 14 20:53:40 2007 +# +# contributed by Craig Courtney <craig at dawnsedge.com> +# +# brand: Kworld +# model no. of remote control: ATSC 110 Remote +# devices being controlled by this remote: ATSC 110 HDTV Tuner Card +# +# Generated with homebrew serial circuit connect to reciever that came +# with the card. +# + +begin remote + + name Kworld_ATSC_110 + bits 16 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 9084 4466 + one 604 1650 + zero 604 526 + ptrail 603 + repeat 9082 2218 + pre_data_bits 16 + pre_data 0xDF + gap 108354 + toggle_bit 0 + + + begin codes + power 0x30CF + ch+ 0x7887 + ch- 0xF807 + vol+ 0x38C7 + vol- 0xB847 + 1 0x00FF + 2 0x807F + 3 0x40BF + 4 0xC03F + 5 0x20DF + 6 0xA05F + 7 0x609F + 8 0xE01F + 9 0x10EF + 0 0x50AF + numpad_up 0x906F + numpad_enter 0xD02F + standby 0xB04F + mute 0x28D7 + stereo 0xA857 + source 0x6897 + zoom 0xE817 + shut_down 0x18E7 + up 0x08F7 + left 0x48B7 + right 0xC837 + down 0x8877 + select 0x708F + timeshift 0x9867 + stop 0x58A7 + rec 0xD827 + scan_rev 0x02FD + scan_fwd 0x827D + play_pause 0x22DD + play_stop 0xA25D + chapter_rev 0x42BD + chapter_fwd 0xC23D + a 0x12ED + b 0x926D + c 0x52AD + d 0xD22D + e 0x32CD + f 0xB24D + g 0x728D + h 0xF20D + end codes + +end remote + + diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_110/lircrc-kworld110.txt b/abs/core-testing/system-templates/templates/remotes/Kworld_110/lircrc-kworld110.txt new file mode 100755 index 0000000..7447a46 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_110/lircrc-kworld110.txt @@ -0,0 +1,482 @@ +# Channel Up +begin +prog = mythtv +button = ch+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = ch- +config = Down +end + +# General Left +begin +prog = mythtv +button = left +config = Left +end + +# General Right +begin +prog = mythtv +button = right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = vol+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = vol- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = select +config = Space +end + +# Play +begin +prog = mythtv +button = play_pause +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = play_pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = scan_fwd +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = scan_rev +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = chapter_fwd +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = chapter_rev +config = PgUp +end + +# Record +begin +prog = mythtv +button = rec +config = R +end + +# Delete +begin +prog = mythtv +button = d +config = D +end + +# OSD browse +begin +prog = mythtv +button = b +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = e +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = c +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = zoom +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = h +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = f +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = g +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = source +config = osd +end + +# Pause playback +begin +prog = mplayer +button = play_pause +config = pause +end + +# Skip ahead a minute if playing +# If paused, resume playing +begin +prog = mplayer +button = +config = seek +1 +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = scan_rev +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = seek_fwd +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = chapter_fwd +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = chapter_rev +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = zoom +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play_pause +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = play_pause +config = Pause +end + +begin +prog = xine +button = up +config = EventUp +end + +begin +prog = xine +button = down +config = EventDown +end + +begin +prog = xine +button = left +config = EventLeft +end + +begin +prog = xine +button = right +config = EventRight +end + +begin +prog = xine +button = select +config = EventSelect +end + +begin +prog = xine +button = a +config = Menu +end + +begin +prog = xine +button = seek_fwd +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = seek_rev +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = vol+ +config = Volume+ +end + +begin +prog = xine +button = vol- +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = chapter_fwd +config = EventNext +end + +begin +prog = xine +button = chapter_rev +config = EventPrior +end + +begin +prog = xine +button = source +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_110/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Kworld_110/preview.jpg Binary files differnew file mode 100644 index 0000000..f83f474 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_110/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_220/lircd-kworld220.conf b/abs/core-testing/system-templates/templates/remotes/Kworld_220/lircd-kworld220.conf new file mode 100755 index 0000000..a483e7f --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_220/lircd-kworld220.conf @@ -0,0 +1,80 @@ +# +# this config file only works with a home-brew receiver!!! +# + +# +# this config file was automatically generated +# using lirc-0.8.1(default) on Sun Jul 1 22:59:56 2007 +# +# contributed by Bruce Schultz <brucejs71 at yahoo.com.au> +# +# brand: KWorld +# model no. of remote control: +# devices being controlled by this remote: DVB-T 220 tuner card +# + +begin remote + + name KWorld-DVBT-220 + bits 16 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 9144 4394 + one 673 1578 + zero 673 453 + ptrail 666 + repeat 9146 2141 + pre_data_bits 16 + pre_data 0xDF + gap 108141 + toggle_bit 0 + + + begin codes + power 0x30CF + standby 0xB04F + sub_tv 0x7887 + preview 0xF807 + snap 0x38C7 + shut_down 0xB847 + 1 0x00FF + 2 0x807F + 3 0x40BF + 4 0xC03F + 5 0x20DF + 6 0xA05F + 7 0x609F + 8 0xE01F + 9 0x10EF + 0 0x50AF + numpad_up 0x906F + numpad_enter 0xD02F + mute 0x28D7 + stereo 0xA857 + source 0x6897 + zoom 0xE817 + min 0x18E7 + left 0x48B7 + right 0xC837 + up 0x08F7 + down 0x8877 + select 0x708F + timeshift 0x9867 + stop 0x58A7 + rec 0xD827 + scan_rev 0x02FD + scan_fwd 0x827D + play_pause 0x22DD + play_stop 0xA25D + chapter_rev 0x42BD + chapter_fwd 0xC23D + fun1 0x12ED + fun2 0x926D + fun3 0x52AD + fun4 0xD22D + end codes + +end remote + diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_220/lircrc-kworld220.txt b/abs/core-testing/system-templates/templates/remotes/Kworld_220/lircrc-kworld220.txt new file mode 100755 index 0000000..702d238 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_220/lircrc-kworld220.txt @@ -0,0 +1,482 @@ +# Channel Up +begin +prog = mythtv +button = up +config = Up +end + +# Channel Down +begin +prog = mythtv +button = down +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = right +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = left +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = select +config = Space +end + +# Play +begin +prog = mythtv +button = play_pause +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = play_pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = scan_fwd +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = scan_rev +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = chapter_fwd +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = chapter_rev +config = PgUp +end + +# Record +begin +prog = mythtv +button = rec +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = fun1 +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = fun2 +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = zoom +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = fun3 +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = source +config = osd +end + +# Pause playback +begin +prog = mplayer +button = play_pause +config = pause +end + +# Skip ahead a minute if playing +# If paused, resume playing +begin +prog = mplayer +button = +config = seek +1 +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = scan_rev +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = seek_fwd +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = chapter_fwd +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = chapter_rev +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = zoom +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play_pause +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = play_pause +config = Pause +end + +begin +prog = xine +button = up +config = EventUp +end + +begin +prog = xine +button = down +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = select +config = EventSelect +end + +begin +prog = xine +button = preview +config = Menu +end + +begin +prog = xine +button = seek_fwd +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = seek_rev +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = right +config = Volume+ +end + +begin +prog = xine +button = left +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = chapter_fwd +config = EventNext +end + +begin +prog = xine +button = chapter_rev +config = EventPrior +end + +begin +prog = xine +button = source +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_220/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Kworld_220/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_220/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_310/lircd-kworld310.conf b/abs/core-testing/system-templates/templates/remotes/Kworld_310/lircd-kworld310.conf new file mode 100755 index 0000000..7ee4bdd --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_310/lircd-kworld310.conf @@ -0,0 +1,80 @@ +# +# this config file only works with a home-brew receiver!!! +# + +# +# this config file was automatically generated +# using lirc-0.8.1(default) on Sun Jul 1 23:10:43 2007 +# +# contributed by Bruce Schultz <brucejs71 at yahoo.com.au> +# +# brand:KWorld +# model no. of remote control: +# devices being controlled by this remote: DVB-T PE310 tuner card +# + +begin remote + + name KWorld-DVBT-PE310 + bits 16 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 9175 4402 + one 677 1580 + zero 677 452 + ptrail 667 + repeat 9177 2145 + pre_data_bits 16 + pre_data 0xDF + gap 108444 + toggle_bit 0 + + + begin codes + power 0x30CF + standby 0xB04F + sub_tv 0x7887 + preview 0xF807 + snap 0x38C7 + shut_down 0xB847 + 1 0x00FF + 2 0x807F + 3 0x40BF + 4 0xC03F + 5 0x20DF + 6 0xA05F + 7 0x609F + 8 0xE01F + 9 0x10EF + 0 0x50AF + numpad_up 0x906F + numpad_enter 0xD02F + mute 0x28D7 + stereo 0xA857 + source 0x6897 + zoom 0xE817 + min 0x18E7 + left 0x48B7 + right 0xC837 + up 0x08F7 + down 0x8877 + select 0x708F + timeshift 0x9867 + stop 0x58A7 + rec 0xD827 + scan_rev 0x02FD + scan_fwd 0x827D + play_pause 0x22DD + play_stop 0xA25D + chapter_rev 0x42BD + chapter_fwd 0xC23D + fun1 0x12ED + fun2 0x926D + fun3 0x52AD + fun4 0xD22D + end codes + +end remote + diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_310/lircrc-kworld310.txt b/abs/core-testing/system-templates/templates/remotes/Kworld_310/lircrc-kworld310.txt new file mode 100755 index 0000000..702d238 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_310/lircrc-kworld310.txt @@ -0,0 +1,482 @@ +# Channel Up +begin +prog = mythtv +button = up +config = Up +end + +# Channel Down +begin +prog = mythtv +button = down +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = right +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = left +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = select +config = Space +end + +# Play +begin +prog = mythtv +button = play_pause +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = play_pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = scan_fwd +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = scan_rev +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = chapter_fwd +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = chapter_rev +config = PgUp +end + +# Record +begin +prog = mythtv +button = rec +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = fun1 +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = fun2 +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = zoom +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = fun3 +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = source +config = osd +end + +# Pause playback +begin +prog = mplayer +button = play_pause +config = pause +end + +# Skip ahead a minute if playing +# If paused, resume playing +begin +prog = mplayer +button = +config = seek +1 +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = scan_rev +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = seek_fwd +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = chapter_fwd +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = chapter_rev +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = zoom +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play_pause +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = play_pause +config = Pause +end + +begin +prog = xine +button = up +config = EventUp +end + +begin +prog = xine +button = down +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = select +config = EventSelect +end + +begin +prog = xine +button = preview +config = Menu +end + +begin +prog = xine +button = seek_fwd +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = seek_rev +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = right +config = Volume+ +end + +begin +prog = xine +button = left +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = chapter_fwd +config = EventNext +end + +begin +prog = xine +button = chapter_rev +config = EventPrior +end + +begin +prog = xine +button = source +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_310/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Kworld_310/preview.jpg Binary files differnew file mode 100644 index 0000000..f024370 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_310/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_DVBT/lircd-kworlddvbt.conf b/abs/core-testing/system-templates/templates/remotes/Kworld_DVBT/lircd-kworlddvbt.conf new file mode 100755 index 0000000..425e107 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_DVBT/lircd-kworlddvbt.conf @@ -0,0 +1,71 @@ +# +# this config file was automatically generated +# using lirc-0.6.6(sa1100) on Sun Feb 23 17:02:27 2003 +# +# contributed by Denes Balatoni <pnis at coder.hu> +# Modified by Daniel Foote <freefoote at dview dot net> to +# work with remote that came with DVB-T card. +# +# brand: kworld +# model no. of remote control: ? +# devices being controlled by this remote: tv878r tuner card +# + +begin remote + + name KWorld_DVB-T + bits 16 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 8853 4526 + one 533 1713 + zero 533 589 + ptrail 531 + repeat 8853 2281 + pre_data_bits 16 + pre_data 0x61D6 + gap 107839 + toggle_bit 0 + + + begin codes + ch- 0x0000000000007887 + 7 0x000000000000E01F + preview 0x00000000000038C7 + zoom 0x00000000000018E7 + 3 0x000000000000C03F + 1 0x000000000000807F + epg 0x000000000000D02F + vol+ 0x000000000000D827 + vol- 0x000000000000F807 + 5 0x000000000000A05F + 9 0x000000000000906F + reset 0x000000000000A857 + turnleft 0x000000000000E817 + 6 0x000000000000609F + 0 0x00000000000050AF + power 0x00000000000048B7 + scan 0x00000000000030CF + 2 0x00000000000040BF + mute 0x00000000000008F7 + snap 0x000000000000C837 + 4 0x00000000000020DF + turnup 0x00000000000000FF + 8 0x00000000000010EF + backward 0x0000000000008877 + source 0x000000000000F00F + forward 0x0000000000009867 + pip 0x00000000000028D7 + ch- 0x000000000000E817 + play 0x0000000000006897 + ch+ 0x00000000000058A7 + stop 0x000000000000B04F + function- 0x00000000000020DF + pause 0x000000000000708F + function+ 0x00000000000030CF + rec 0x000000000000B847 + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_DVBT/lircrc-kworlddvbt.txt b/abs/core-testing/system-templates/templates/remotes/Kworld_DVBT/lircrc-kworlddvbt.txt new file mode 100755 index 0000000..70272b7 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_DVBT/lircrc-kworlddvbt.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = ch+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = ch- +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = ch+ +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = ch- +config = Down +end + +# Volume Up +begin +prog = mythtv +button = vol+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = vol- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = +config = Space +end + +# Play +begin +prog = mythtv +button = play +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = forward +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = backward +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = function+ +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = function- +config = PgUp +end + +# Record +begin +prog = mythtv +button = rec +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = preview +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = epg +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = source +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = zoom +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = reset +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = pip +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = snap +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = epg +config = osd +end + +# Pause playback +begin +prog = mplayer +button = pause +config = pause +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = backward +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = forward +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = function+ +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = function- +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = zoom +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = pause +config = Pause +end + +begin +prog = xine +button = turnup +config = EventUp +end + +begin +prog = xine +button = +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = +config = EventSelect +end + +begin +prog = xine +button = epg +config = Menu +end + +begin +prog = xine +button = forward +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = backward +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = vol+ +config = Volume+ +end + +begin +prog = xine +button = vol- +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = function+ +config = EventNext +end + +begin +prog = xine +button = function- +config = EventPrior +end + +begin +prog = xine +button = source +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_DVBT/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Kworld_DVBT/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_DVBT/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_tv878/lircd-kworldtv878.conf b/abs/core-testing/system-templates/templates/remotes/Kworld_tv878/lircd-kworldtv878.conf new file mode 100755 index 0000000..5817bfd --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_tv878/lircd-kworldtv878.conf @@ -0,0 +1,70 @@ +# +# this config file was automatically generated +# using lirc-0.6.6(sa1100) on Sun Feb 23 17:02:27 2003 +# +# contributed by Denes Balatoni <pnis at coder.hu> +# +# brand: kworld +# model no. of remote control: ? +# devices being controlled by this remote: tv878r tuner card +# + +begin remote + + name kworld-878 + bits 16 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 8853 4526 + one 533 1713 + zero 533 589 + ptrail 531 + repeat 8853 2281 + pre_data_bits 16 + pre_data 0x61D6 + gap 107839 + toggle_bit 0 + + + begin codes + power 0x0000000000007887 + source 0x000000000000E01F + scan 0x00000000000038C7 + mute 0x00000000000018E7 + tv/fm 0x000000000000C03F + 1 0x000000000000807F + 2 0x000000000000D02F + 3 0x000000000000D827 + fm_scan+ 0x000000000000F807 + 4 0x000000000000A05F + 5 0x000000000000906F + 6 0x000000000000A857 + fm_scan- 0x000000000000E817 + 7 0x000000000000609F + 8 0x00000000000050AF + 9 0x00000000000048B7 + fm_freq+ 0x00000000000030CF + 0 0x00000000000040BF + + 0x00000000000008F7 + recall 0x000000000000C837 + fm-freq- 0x00000000000020DF + record 0x00000000000000FF + stop 0x00000000000010EF + play 0x0000000000008877 + minimze 0x000000000000F00F + ch+ 0x000000000000F807 + zoom 0x0000000000009867 + vol- 0x00000000000028D7 + ch- 0x000000000000E817 + vol+ 0x0000000000006897 + snapshot 0x00000000000058A7 + mts 0x000000000000B04F + function- 0x00000000000020DF + function 0x000000000000708F + function+ 0x00000000000030CF + reset 0x000000000000B847 + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_tv878/lircrc-kworldv878.txt b/abs/core-testing/system-templates/templates/remotes/Kworld_tv878/lircrc-kworldv878.txt new file mode 100755 index 0000000..e1ca297 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_tv878/lircrc-kworldv878.txt @@ -0,0 +1,482 @@ +# Channel Up +begin +prog = mythtv +button = ch+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = ch- +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = ch+ +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = ch- +config = Down +end + +# Volume Up +begin +prog = mythtv +button = vol+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = vol- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = +config = Space +end + +# Play +begin +prog = mythtv +button = play +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = snapshot +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = function+ +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = function- +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = record +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = function +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = scan +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = minimze +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = recall +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = scan +config = osd +end + +# Pause playback +begin +prog = mplayer +button = snapshot +config = pause +end + +# Skip ahead a minute if playing +# If paused, resume playing +begin +prog = mplayer +button = +config = seek +1 +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = function- +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = function+ +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = zoom +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = snapshot +config = Pause +end + +begin +prog = xine +button = +config = EventUp +end + +begin +prog = xine +button = +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = +config = EventSelect +end + +begin +prog = xine +button = source +config = Menu +end + +begin +prog = xine +button = function+ +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = function- +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = vol+ +config = Volume+ +end + +begin +prog = xine +button = vol- +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = + +config = EventNext +end + +begin +prog = xine +button = recall +config = EventPrior +end + +begin +prog = xine +button = reset +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Kworld_tv878/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Kworld_tv878/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Kworld_tv878/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Leadtek_2000XP/lircd-leadtek2000xp.conf b/abs/core-testing/system-templates/templates/remotes/Leadtek_2000XP/lircd-leadtek2000xp.conf new file mode 100755 index 0000000..4238a02 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Leadtek_2000XP/lircd-leadtek2000xp.conf @@ -0,0 +1,77 @@ +# Please make this file available to others +# by sending it to <lirc at bartelmus.de> +# +# this config file was automatically generated +# using lirc-0.8.3-CVS(dev/input) on Tue Nov 6 17:04:54 2007 +# +# contributed by: Jeff Kosowsky +# +# brand: LeadTek +# model no. of remote control: Y0400046 (bundled with Winfast 2000XP Deluxe) +# devices being controlled by this remote: LeadTek Winfast 2000XP Deluxe + +# brand: Leadtek +# model: Y0400052 (bundeled with Winfast PVR2000 TV-card) +# +# Note: Only CH_UP, CH_DOWN, VOL_UP and VOL_DOWN will repeat. This +# seems to be a limitation of the remote control. + +begin remote + + name Leadtek_2000XP + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + pre_data_bits 16 + pre_data 0x8001 + gap 423871 + toggle_bit_mask 0x80010073 + + begin codes + POWER 0x0074 + MTS 0x0188 + TV/FM 0x0182 + VIDEO 0x0189 + DISPLAY 0x0166 + CH+ 0x0192 + CH- 0x0193 + VOL- 0x0072 + VOL+ 0x0073 + FULLSCREEN 0x0174 + TELETEXT 0x0184 + SLEEP 0x008E + BOSSKEY 0x0163 + MUTE 0x0071 + RED 0x018E + GREEN 0x018F + YELLOW 0x0190 + BLUE 0x0191 + 1 0x0002 + 2 0x0003 + 3 0x0004 + 4 0x0005 + 5 0x0006 + 6 0x0007 + 7 0x0008 + 8 0x0009 + 9 0x000A + 0 0x000B + . 0x0034 + FINETUNE+ 0x004E + FINETUNE- 0x004A + PIP 0x00E2 + ENTER 0x001C + RECALL 0x0195 + BACK 0x019C + PLAY 0x00A4 + NEXT 0x0197 + TIMESHIFTING 0x0169 + STOP 0x0080 + REC 0x00A7 + SNAPSHOT 0x00EA + end codes + +end remote diff --git a/abs/core-testing/system-templates/templates/remotes/Leadtek_2000XP/lircrc-leadtek2000xp.txt b/abs/core-testing/system-templates/templates/remotes/Leadtek_2000XP/lircrc-leadtek2000xp.txt new file mode 100755 index 0000000..f16beb3 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Leadtek_2000XP/lircrc-leadtek2000xp.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = CH+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = CH- +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = FINETUNE+ +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = FINETUNE- +config = Down +end + +# Volume Up +begin +prog = mythtv +button = VOL+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = VOL- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = ENTER +config = Space +end + +# Play +begin +prog = mythtv +button = PLAY +config = Return +end + +# Stop +begin +prog = mythtv +button = STOP +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = POWER +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = SNAPSHOT +config = P +end + +# Mute +begin +prog = mythtv +button = MUTE +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = NEXT +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = BACK +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = REC +config = R +end + +# Delete +begin +prog = mythtv +button = RED +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = GREEN +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = YELLOW +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = DISPLAY +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = RECALL +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = PIP +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = BLUE +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = DISPLAY +config = osd +end + +# Pause playback +begin +prog = mplayer +button = SNAPSHOT +config = pause +end + +# Mute +begin +prog = mplayer +button = MUTE +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = BACK +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = NEXT +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = STOP +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = FINETUNE+ +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = FINETUNE- +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = FULLSCREEN +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = PLAY +config = Play +end + +begin +prog = xine +button = STOP +config = Stop +end + +begin +prog = xine +button = STOP +config = Quit +end + +begin +prog = xine +button = SNAPSHOT +config = Pause +end + +begin +prog = xine +button = CH+ +config = EventUp +end + +begin +prog = xine +button = CH- +config = EventDown +end + +begin +prog = xine +button = FINETUNE- +config = EventLeft +end + +begin +prog = xine +button = FINETUNE+ +config = EventRight +end + +begin +prog = xine +button = ENTER +config = EventSelect +end + +begin +prog = xine +button = DISPLAY +config = Menu +end + +begin +prog = xine +button = NEXT +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = BACK +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = VOL+ +config = Volume+ +end + +begin +prog = xine +button = VOL- +config = Volume- +end + +begin +prog = xine +button = MUTE +config = Mute +end + +begin +prog = xine +button = STOP +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = TELETEXT +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Leadtek_2000XP/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Leadtek_2000XP/preview.jpg Binary files differnew file mode 100644 index 0000000..aeecf95 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Leadtek_2000XP/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Leadtek_PVR/lircd-leadtekPVR.conf b/abs/core-testing/system-templates/templates/remotes/Leadtek_PVR/lircd-leadtekPVR.conf new file mode 100755 index 0000000..460ddcf --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Leadtek_PVR/lircd-leadtekPVR.conf @@ -0,0 +1,82 @@ +# +# this config file was automatically generated +# using lirc-0.8.2-CVS(default) on Thu Oct 25 23:27:29 2007 +# +# contributed by +# +# brand: Leadtek +# model no. of remote control: +# devices being controlled by this remote: PVR2000 +# + +begin remote + + name PVR2000 + bits 16 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 8946 4535 + one 530 1716 + zero 530 593 + ptrail 532 + repeat 8945 2286 + pre_data_bits 16 + pre_data 0xC03F + gap 107856 + toggle_bit_mask 0x0 + + begin codes + POWER 0x00FF + TV 0x6A95 + FM 0xEA15 + DVD 0x1AE5 + RED 0xD22D + GREEN 0x32CD + YELLOW 0xB24D + BLUE 0x728D + TELETEXT 0xF807 + SLEEP 0x02FD + MUTE 0x28D7 + BOSS_KEY 0x926D + CH_UP 0x30CF + CH_DOWN 0x08F7 + VOL_DOWN 0x10EF + VOL_UP 0x20DF + ENTER 0xC837 + CC 0x0AF5 + FULLSCREEN 0xC03F + MENU 0xF20D + SCAN 0x8A75 + REPLAY 0x42BD + PLAY 0xC23D + SKIP 0x22DD + OSD 0x4AB5 + BACK 0x2AD5 + STOP 0x629D + FORWARD 0xAA55 + LANGUAGE 0xCA35 + 1 0xA05F + 2 0x609F + 3 0xE01F + 4 0x906F + 5 0x50AF + 6 0xD02F + 7 0xB04F + 8 0x708F + 9 0xF00F + 0 0x48B7 + . 0x827D + RECALL 0x8877 + VIDEO 0x7887 + AUDIO 0xD827 + DISPLAY 0x6897 + SNAPSHOT 0x12ED + PIP 0x52AD + RECSTOP 0x629D + REC 0xE21D + TIMESHIFT 0xA25D + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Leadtek_PVR/lircrc-leadtekPVR.txt b/abs/core-testing/system-templates/templates/remotes/Leadtek_PVR/lircrc-leadtekPVR.txt new file mode 100755 index 0000000..a15ee21 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Leadtek_PVR/lircrc-leadtekPVR.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = CH_UP +config = Up +end + +# Channel Down +begin +prog = mythtv +button = CH_DOWN +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = CH_UP +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = CH_DOWN +config = Down +end + +# Volume Up +begin +prog = mythtv +button = VOL_UP +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = VOL_DOWN +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = ENTER +config = Space +end + +# Play +begin +prog = mythtv +button = PLAY +config = Return +end + +# Stop +begin +prog = mythtv +button = STOP +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = POWER +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = SNAPSHOT +config = P +end + +# Mute +begin +prog = mythtv +button = MUTE +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = FORWARD +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = BACK +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = REC +config = R +end + +# Delete +begin +prog = mythtv +button = RED +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = GREEN +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = YELLOW +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = DISPLAY +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = RECALL +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = PIP +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = BLUE +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = DISPLAY +config = osd +end + +# Pause playback +begin +prog = mplayer +button = SNAPSHOT +config = pause +end + +# Mute +begin +prog = mplayer +button = MUTE +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = BACK +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = FORWARD +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = STOP +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = FULLSCREEN +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = PLAY +config = Play +end + +begin +prog = xine +button = STOP +config = Stop +end + +begin +prog = xine +button = STOP +config = Quit +end + +begin +prog = xine +button = SNAPSHOT +config = Pause +end + +begin +prog = xine +button = CH_UP +config = EventUp +end + +begin +prog = xine +button = CH_DOWN +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = ENTER +config = EventSelect +end + +begin +prog = xine +button = DISPLAY +config = Menu +end + +begin +prog = xine +button = FORWARD +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = BACK +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = VOL_UP +config = Volume+ +end + +begin +prog = xine +button = VOL_DOWN +config = Volume- +end + +begin +prog = xine +button = MUTE +config = Mute +end + +begin +prog = xine +button = STOP +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = TELETEXT +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Leadtek_PVR/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Leadtek_PVR/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Leadtek_PVR/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Lifeview/lircd-lifeview.conf b/abs/core-testing/system-templates/templates/remotes/Lifeview/lircd-lifeview.conf new file mode 100755 index 0000000..2df0bc6 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Lifeview/lircd-lifeview.conf @@ -0,0 +1,48 @@ +begin remote + name Lifeview_trio + bits 16 + eps 30 + aeps 100 + one 0 0 + zero 0 0 + gap 199996 + pre_data_bits 16 + pre_data 0x8001 + + begin codes + fullscreen 0x0174 + power 0x0074 + one 0x0002 + two 0x0003 + three 0x0004 + four 0x0005 + five 0x0006 + six 0x0007 + seven 0x0008 + eight 0x0009 + nine 0x000A + zero 0x000B + recall 0x0081 + mute 0x0071 + tv/radio 0x0181 + sap 0x0170 + ch+ 0x0192 + vol- 0x0072 + enter 0x001C + vol+ 0x0073 + ch- 0x0193 + pip 0x0175 + source 0x0182 + record/pause 0x00A7 + timeshift/pause 0x0077 + rewind 0x009E + play/pause 0x00A4 + forward 0x009F + back 0x019C + stop 0x0080 + next 0x0197 + blank 0x0173 + + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Lifeview/lircrc-lifeview.txt b/abs/core-testing/system-templates/templates/remotes/Lifeview/lircrc-lifeview.txt new file mode 100755 index 0000000..845742a --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Lifeview/lircrc-lifeview.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = ch+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = ch- +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = ch+ +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = ch- +config = Down +end + +# Volume Up +begin +prog = mythtv +button = vol+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = vol- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = enter +config = Space +end + +# Play +begin +prog = mythtv +button = play/pause +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = play/pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = forward +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = rewind +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = next +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = back +config = PgUp +end + +# Record +begin +prog = mythtv +button = record/pause +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = source +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = blank +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = zero +config = 0 +end + +begin +prog = mythtv +button = one +config = 1 +end + +begin +prog = mythtv +button = two +config = 2 +end + +begin +prog = mythtv +button = three +config = 3 +end + +begin +prog = mythtv +button = four +config = 4 +end + +begin +prog = mythtv +button = five +config = 5 +end + +begin +prog = mythtv +button = six +config = 6 +end + +begin +prog = mythtv +button = seven +config = 7 +end + +begin +prog = mythtv +button = eight +config = 8 +end + +begin +prog = mythtv +button = nine +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = recall +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = pip +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = source +config = osd +end + +# Pause playback +begin +prog = mplayer +button = play/pause +config = pause +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = rewind +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = forward +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = next +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = back +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = fullscreen +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play/pause +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = play/pause +config = Pause +end + +begin +prog = xine +button = ch+ +config = EventUp +end + +begin +prog = xine +button = ch- +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = enter +config = EventSelect +end + +begin +prog = xine +button = source +config = Menu +end + +begin +prog = xine +button = forward +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = rewind +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = vol+ +config = Volume+ +end + +begin +prog = xine +button = vol- +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = next +config = EventNext +end + +begin +prog = xine +button = back +config = EventPrior +end + +begin +prog = xine +button = blank +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Lifeview/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Lifeview/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Lifeview/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Medion_RF/lircd-medion-rf.conf b/abs/core-testing/system-templates/templates/remotes/Medion_RF/lircd-medion-rf.conf new file mode 100755 index 0000000..8793475 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Medion_RF/lircd-medion-rf.conf @@ -0,0 +1,82 @@ +# Please make this file available to others +# by sending it to <lirc at bartelmus.de> +# +# this config file was automatically generated +# using lirc-0.7.0(atiusb) on Sun Jan 23 11:18:36 2005 +# +# contributed by Dirk Aust +# +# brand: Medion, Made by X10, China +# Remote P/N: 20016398 +# Receiver P/N: 20016397 + +begin remote + + name Medion + bits 40 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + gap 139873 + toggle_bit 0 + + + begin codes + TV 0x00000014012C0000 + VCR 0x00000014022D0000 + DVD 0x00000014D9040000 + MUSIC 0x00000014DB060000 + RADIO 0x00000014032E0000 + PHOTO 0x00000014DA050000 + TV_PREVIEW 0x00000014042F0000 + CHANNEL_LIST 0x0000001405300000 + SETUP 0x00000014F01B0000 + VIDEO_DESKTOP 0x0000001406310000 + CHAN+ 0x00000014E00B0000 + VOL- 0x00000014DD080000 + MUTE 0x00000014D5000000 + VOL+ 0x00000014DE090000 + CHAN- 0x00000014E10C0000 + RED 0x0000001407320000 + GREEN 0x0000001408330000 + YELLOW 0x0000001409340000 + BLUE 0x000000140A350000 + TXT 0x00000014FE290000 + 1 0x00000014E20D0000 + 2 0x00000014E30E0000 + 3 0x00000014E40F0000 + 4 0x00000014E5100000 + 5 0x00000014E6110000 + 6 0x00000014E7120000 + 7 0x00000014E8130000 + 8 0x00000014E9140000 + 9 0x00000014EA150000 + TV/RADIO 0x00000014F11C0000 + 0 0x00000014EC170000 + DELETE 0x00000014F5200000 + RENAME 0x000000140B360000 + SNAPSHOT 0x00000014ED180000 + UP 0x00000014EF1A0000 + LEFT 0x00000014F21D0000 + OK 0x00000014F31E0000 + RIGHT 0x00000014F41F0000 + DOWN 0x00000014F7220000 + ACQ_IMAGE 0x000000140C370000 + EDIT_IMAGE 0x000000140D380000 + REW 0x00000014F9240000 + PLAY 0x00000014FA250000 + FFW 0x00000014FB260000 + RECORD 0x00000014FC270000 + STOP 0x00000014FD280000 + PAUSE 0x00000014FE290000 + PREV 0x00000014F6210000 + FULL 0x000000140E390000 + NEXT 0x00000014F8230000 + DVD_MENU 0x00000014EE190000 + DVD_AUDIO 0x000000140F3A0000 + POWER 0x00000014D7020000 + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Medion_RF/lircrc-medion-rf.txt b/abs/core-testing/system-templates/templates/remotes/Medion_RF/lircrc-medion-rf.txt new file mode 100755 index 0000000..cc69f96 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Medion_RF/lircrc-medion-rf.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = CH+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = CH- +config = Down +end + +# General Left +begin +prog = mythtv +button = LEFT +config = Left +end + +# General Right +begin +prog = mythtv +button = RIGHT +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = UP +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = DOWN +config = Down +end + +# Volume Up +begin +prog = mythtv +button = VOL+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = VOL- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = OK +config = Space +end + +# Play +begin +prog = mythtv +button = PLAY_PAUSE +config = Return +end + +# Stop +begin +prog = mythtv +button = STOP +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = PC +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = PLAY_PAUSE +config = P +end + +# Mute +begin +prog = mythtv +button = MUTE +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = FFWD +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = FRWND +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = NEXT +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = PREV +config = PgUp +end + +# Record +begin +prog = mythtv +button = RECORD +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = RC +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = +config = osd +end + +# Pause playback +begin +prog = mplayer +button = PLAY_PAUSE +config = pause +end + +# Mute +begin +prog = mplayer +button = MUTE +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = FRWND +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = FFWD +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = STOP +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = NEXT +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = PREV +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = PLAY_PAUSE +config = Play +end + +begin +prog = xine +button = STOP +config = Stop +end + +begin +prog = xine +button = STOP +config = Quit +end + +begin +prog = xine +button = PLAY_PAUSE +config = Pause +end + +begin +prog = xine +button = UP +config = EventUp +end + +begin +prog = xine +button = DOWN +config = EventDown +end + +begin +prog = xine +button = LEFT +config = EventLeft +end + +begin +prog = xine +button = RIGHT +config = EventRight +end + +begin +prog = xine +button = OK +config = EventSelect +end + +begin +prog = xine +button = +config = Menu +end + +begin +prog = xine +button = FFWD +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = FRWND +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = VOL+ +config = Volume+ +end + +begin +prog = xine +button = VOL- +config = Volume- +end + +begin +prog = xine +button = MUTE +config = Mute +end + +begin +prog = xine +button = STOP +config = RootMenu +end + +begin +prog = xine +button = NEXT +config = EventNext +end + +begin +prog = xine +button = PREV +config = EventPrior +end + +begin +prog = xine +button = +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Medion_RF/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Medion_RF/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Medion_RF/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Medion_X10_8080/lircd-medionx10-8080.conf b/abs/core-testing/system-templates/templates/remotes/Medion_X10_8080/lircd-medionx10-8080.conf new file mode 100755 index 0000000..68c9179 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Medion_X10_8080/lircd-medionx10-8080.conf @@ -0,0 +1,68 @@ +begin remote + name Medion_8080 + bits 16 + eps 30 + aeps 100 + one 0 0 + zero 0 0 + gap 139996 + pre_data_bits 8 + pre_data 0x14 + + begin codes + dvdaudio 0x0F3A + power 0xD702 + dvdmenu 0xEE19 + ff 0xF823 + fullscreen 0x0E39 + bb 0xF621 + pause 0xFE29 + stop 0xFD28 + rec 0xFC27 + f 0xFB26 + play 0xFA25 + b 0xF924 + editimage 0x0D38 + acquireimage 0x0C37 + ok 0xF31E + right 0xF41F + left 0xF21D + down 0xF722 + up 0xEF1A + snapshot 0xED18 + rename 0x0B36 + delete 0xF520 + tvradio 0xF11C + 0 0xEC17 + 9 0xEA15 + 8 0xE914 + 7 0xE813 + 6 0xE712 + 5 0xE611 + 4 0xE510 + 3 0xE40F + 2 0xE30E + 1 0xE20D + txt 0xEB16 + blue 0x0A35 + yellow 0x0934 + green 0x0833 + red 0x0732 + vol+ 0xDE09 + vol- 0xDD08 + chan- 0xE10C + chan+ 0xE00B + videodesktop 0x0631 + setup 0xF01B + channellist 0x0530 + tvpreview 0x042F + photo 0xDA05 + radio 0x032E + music 0xDB06 + dvd 0xD904 + vcr 0x022D + tv 0x012C + + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Medion_X10_8080/lircrc-medionx10-8080.txt b/abs/core-testing/system-templates/templates/remotes/Medion_X10_8080/lircrc-medionx10-8080.txt new file mode 100755 index 0000000..2476f76 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Medion_X10_8080/lircrc-medionx10-8080.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = chan+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = chan- +config = Down +end + +# General Left +begin +prog = mythtv +button = left +config = Left +end + +# General Right +begin +prog = mythtv +button = right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = vol+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = vol- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = ok +config = Space +end + +# Play +begin +prog = mythtv +button = play +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = pause +config = P +end + +# Mute +begin +prog = mythtv +button = +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = ff +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = bb +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = rec +config = R +end + +# Delete +begin +prog = mythtv +button = delete +config = D +end + +# OSD browse +begin +prog = mythtv +button = tvpreview +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = channellist +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = setup +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = fullscreen +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = snapshot +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = txt +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = pip +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = tvpreview +config = osd +end + +# Pause playback +begin +prog = mplayer +button = play +config = pause +end + +# Mute +begin +prog = mplayer +button = +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = bb +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = ff +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = fullscreen +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = pause +config = Pause +end + +begin +prog = xine +button = chan+ +config = EventUp +end + +begin +prog = xine +button = chan- +config = EventDown +end + +begin +prog = xine +button = left +config = EventLeft +end + +begin +prog = xine +button = right +config = EventRight +end + +begin +prog = xine +button = ok +config = EventSelect +end + +begin +prog = xine +button = tvpreview +config = Menu +end + +begin +prog = xine +button = forward +#config = ff +config = SeekRelative+60 +end + +begin +prog = xine +button = rewind +#config = bb +config = SeekRelative-60 +end + +begin +prog = xine +button = vol+ +config = Volume+ +end + +begin +prog = xine +button = vol- +config = Volume- +end + +begin +prog = xine +button = +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = channellist +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Medion_X10_8080/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Medion_X10_8080/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Medion_X10_8080/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Medion_X10_8802/lircd-medionx10-8802.conf b/abs/core-testing/system-templates/templates/remotes/Medion_X10_8802/lircd-medionx10-8802.conf new file mode 100755 index 0000000..f897a64 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Medion_X10_8802/lircd-medionx10-8802.conf @@ -0,0 +1,126 @@ +# +# this config file was hand crafted for +# lirc-0.8.0(atiusb) on Sun June 11 22:49:23 2006 +# +# contributed by Ted Schipper <t.schipper@tsux.org> +# +# brand: Medion 8802 +# Remote P/N: 20029724 +# Receiver P/N: 20024123 +# model no. of remote control: Medion RF remote +# devices being controlled by this remote: Medion 8802 Multimedia Home Entertainment Design Center +# + +begin remote + + name Medion_8802 + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + pre_data_bits 8 + pre_data 0x14 + post_data_bits 16 + post_data 0x0 + gap 227999 + min_repeat 5 + toggle_bit 0 + + + begin codes + Line_TV 0x719C + Line_TV 0xF11C + Rec_TV 0x6D98 + Rec_TV 0xED18 + On/Standby 0xD702 + Photo 0x5A85 + Photo 0xDA05 + Music 0x5B86 + Music 0xDB06 + Guide 0x0631 + Guide 0x86B1 + DVD_Menu 0x5984 + DVD_Menu 0xD904 + Video 0x022D + Video 0x82AD + Text 0x6B96 + Text 0xEB16 + RED/Audio 0x0732 + RED/Audio 0x87B2 + YELLOW/Angle 0x0934 + YELLOW/Angle 0x89B4 + BLUE/Title 0x0A35 + BLUE/Title 0x8AB5 + GREEN/Subtitle 0x0833 + GREEN/Subtitle 0x88B3 + Vol+ 0x5E89 + Vol+ 0xDE09 + Vol- 0x5D88 + Vol- 0xDD08 + Up 0x6F9A + Up 0xEF1A + Down 0x77A2 + Down 0xF722 + Left 0x729D + Left 0xF21D + Right 0x749F + Right 0xF41F + Ok 0x739E + Ok 0xF31E + Mute 0x5580 + Mute 0xD500 + Ch+ 0x608B + Ch+ 0xE00B + Ch- 0x618C + Ch- 0xE10C + 1 0x628D + 1 0xE20D + 2 0x638E + 2 0xE30E + 3 0x648F + 3 0xE40F + 4 0x6590 + 4 0xE510 + 5 0x6691 + 5 0xE611 + 6 0x6792 + 6 0xE712 + 7 0x6893 + 7 0xE813 + 8 0x6994 + 8 0xE994 + 9 0x6A95 + 9 0xEA15 + * 0x0C37 + * 0x8CB7 + 0 0x6C97 + 0 0xEC17 + # 0x0D38 + # 0x8DB8 + Back 0x75A0 + Back 0xF520 + Info 0x042F + Info 0x84AF + Select 0x709B + Select 0xF01B + Rewind 0x79A4 + Rewind 0xF924 + Play 0x7AA5 + Play 0xFA25 + Fast_Forward 0x7BA6 + Fast_Forward 0xFB26 + Pause 0x7EA9 + Pause 0xFE29 + Start 0x76A1 + Start 0xF621 + End 0x78A3 + End 0xF823 + Stop 0x7DA8 + Stop 0xFD28 + Record 0x7CA7 + Record 0xFC27 + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Medion_X10_8802/lircrc-medionx10-8802.txt b/abs/core-testing/system-templates/templates/remotes/Medion_X10_8802/lircrc-medionx10-8802.txt new file mode 100755 index 0000000..fb91d72 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Medion_X10_8802/lircrc-medionx10-8802.txt @@ -0,0 +1,487 @@ +# Channel Up +begin +prog = mythtv +button = Ch+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = Ch- +config = Down +end + +# General Left +begin +prog = mythtv +button = Left +config = Left +end + +# General Right +begin +prog = mythtv +button = Right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = Up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = Down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = Vol+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = Vol- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = Ok +config = Space +end + +# OK/Select +begin +prog = mythtv +button = Select +config = Space +end + +# Play +begin +prog = mythtv +button = Play +config = Return +end + +# Stop +begin +prog = mythtv +button = Stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = On/Standby +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = Pause +config = P +end + +# Mute +begin +prog = mythtv +button = Mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = Fast_Forward +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = Rewind +config = PgUp +end + +# Record +begin +prog = mythtv +button = Record +config = R +end + +# Delete +begin +prog = mythtv +button = RED/Audio +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = Guide +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = Info +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = back +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = Guide +config = osd +end + +# Pause playback +begin +prog = mplayer +button = Pause +config = pause +end + +# Mute +begin +prog = mplayer +button = Mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = Fast_Forward +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = Rewind +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = Stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = Right +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = Left +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = Play +config = Play +end + +begin +prog = xine +button = Stop +config = Stop +end + +begin +prog = xine +button = Stop +config = Quit +end + +begin +prog = xine +button = Pause +config = Pause +end + +begin +prog = xine +button = Up +config = EventUp +end + +begin +prog = xine +button = Down +config = EventDown +end + +begin +prog = xine +button = Left +config = EventLeft +end + +begin +prog = xine +button = Right +config = EventRight +end + +begin +prog = xine +button = Select +config = EventSelect +end + +begin +prog = xine +button = Ok +config = EventSelect +end + +begin +prog = xine +button = Guide +config = Menu +end + +begin +prog = xine +button = Fast_Forward +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = Rewind +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = Vol+ +config = Volume+ +end + +begin +prog = xine +button = Vol- +config = Volume- +end + +begin +prog = xine +button = Mute +config = Mute +end + +begin +prog = xine +button = Stop +config = RootMenu +end + +begin +prog = xine +button = Ch+ +config = EventNext +end + +begin +prog = xine +button = Ch- +config = EventPrior +end + +begin +prog = xine +button = Info +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Medion_X10_8802/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Medion_X10_8802/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Medion_X10_8802/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Nebula/lircd-nebula.conf b/abs/core-testing/system-templates/templates/remotes/Nebula/lircd-nebula.conf new file mode 100755 index 0000000..611c804 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nebula/lircd-nebula.conf @@ -0,0 +1,88 @@ + +# this config file was automatically generated +# using lirc-0.8.0(userspace) on Wed Dec 20 19:35:11 2006 +# +# contributed by Peter Wood +# +# brand: Nebula Electronics +# model no. of remote control: DigiTV-PCI Remote +# devices being controlled by this remote: DVB-Card +# +# Note unlike the existing lircd.conf, this one was captured with +# the DigiTV IR receiver via the DVB card it's self. This was the +# remote which came with a Revision B PCI card (Brought Dec 2006). + +begin remote + + name Nebula_DVB + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + pre_data_bits 16 + pre_data 0x8001 + gap 135906 + toggle_bit 0 + + + begin codes + TV 0x0179 + AUX 0x0186 + DVD/CD 0x0185 + 1 0x0002 + 2 0x0003 + 3 0x0004 + 4 0x0005 + 5 0x0006 + 6 0x0007 + 7 0x0008 + 8 0x0009 + 9 0x000A + 0 0x000B + 16:9 0x00B7 + 14:9 0x00B8 + EXIT 0x00AE + POWER 0x0074 + PICTURE 0x016F + AUDIO 0x0188 + I 0x0166 + EPG 0x016D + MENU 0x008B + UP 0x0067 + DOWN 0x006C + LEFT 0x0069 + RIGHT 0x006A + OK 0x001C + CH+ 0x0192 + CH- 0x0193 + VOLUME+ 0x0073 + VOLUME- 0x0072 + RED 0x018E + GREEN 0x018F + YELLOW 0x0190 + BLUE 0x0191 + SUBT 0x0172 + AD 0x00B9 + TEXT 0x0184 + MUTE 0x0071 + REWIND 0x00A8 + STOP 0x0080 + PLAY 0x00CF + FFORWARD 0x00D0 + CHAPTER 0x00BA + PAUSE 0x0077 + PLAYSPEED 0x80010CF + RECORD 0x00A7 + PIP 0x00BB + ZOOM- 0x004E + ZOOM+ 0x004A + CAPTURE 0x00BC + WEB 0x00BD + EMAIL 0x00D7 + PHONE 0x00A9 + PC 0x0178 + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Nebula/lircrc-nebula.txt b/abs/core-testing/system-templates/templates/remotes/Nebula/lircrc-nebula.txt new file mode 100755 index 0000000..c3d70b0 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nebula/lircrc-nebula.txt @@ -0,0 +1,402 @@ +# lircrc.example.[[Nebula Digi T V]]-nativelirc
+# 2005-04-02, Samuel Jacobs
+# Save this file in ~/.mythtv/lircrc
+
+# There are so many buttons on this remote, 55 to be exact. I don't really
+# know what to do with all of them, yet I'm discovering that Myth has
+# functions for all of them and much, much more! All in all, 407 lines of
+# yummy remote-controlled icing on the delicious cake that is MythTV.
+
+# Intended for use with:
+# http://lirc.sourceforge.net/remotes/nebula_electronics/DigiTV
+# NOTE: On my system I renamed the remote to "nebdtv". To use this file
+# with the download from lirc.sf.net (which is otherwise identical to my
+# copy) simply replace all instances of "nebdtv" with "Nebula_DVB".
+
+# NOTE 2: Not all buttons are used yet, and some key binding customisations
+# will probably be made to get the most out of the extra buttons. In
+# particular "Picture" and "Audio" are currently unused so I could
+# possibly set jumppoints to [[Myth Photo]] and [[Myth Music]] in future.
+
+# NOTE 3: The buttons on the remote are listed from the top left down, row
+# by row, left to right, with any unused buttons given comments where it
+# would appear if it was used here. The number buttons are listed in their
+# entirety before starting back at the "Picture" button.
+
+# NOTE 4: I just thought of another thing that could cause confusion, the
+# volume buttons are commented out because I use KDELIRC for that. They
+# are defined however, so just uncomment them if you want to use them.
+
+# Based on, and thanks to:
+# lircrc.example.[[Hauppauge Grey]]-nativelirc
+# 2003-09-17, Robert Kulagowski
+# mailto:rkulagow@rocketmail.com
+
+# TODO: TV (will probably use for launching mythfrontend)
+# TODO: Aux (probably a jumppoint to Live TV)
+# TODO: DVD/CD (there's currently no jumppoint for generic optical media,
+# so will probably use for DVD)
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Power
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 1
+ config = 1
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 2
+ config = 2
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 4
+ config = 4
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 5
+ config = 5
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 6
+ config = 6
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 7
+ config = 7
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 8
+ config = 8
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 9
+ config = 9
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 0
+ config = 0
+end
+
+# TODO: Picture
+# TODO: Audio
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = I
+ config = I
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = 16:9
+ config = W
+end
+
+# Unused: 14:9
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+# this will only work in live tv mode
+ button = EPG
+ config = S
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Exit
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Menu
+ config = M
+end
+
+# Note the "repeat =" strings in the arrows, volume and channel.
+# This means that if you hold down the key, every nth instance will be
+# passed. This depends on your system, so you may want to increase or
+# decrease this and see what happens. repeat = 1 is probably too
+# fast.
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Up
+# This is the "up" on the central diamond
+ repeat = 3
+ config = Up
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Down
+# This is the "down" on the central diamond
+ repeat = 3
+ config = Down
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Left
+# This is the "left" on the central diamond
+ repeat = 3
+ config = Left
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Right
+# This is the "right" on the central diamond
+ repeat = 3
+ config = Right
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Ok
+# Middle button on the diamond
+ config = Return
+end
+
+# The channel buttons are mapped to Page Up and Page Down.
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Ch+
+ repeat = 3
+ config = [[Pg Up]]
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Ch-
+ repeat = 3
+ config = [[Pg Down]]
+end
+
+# These are the volume buttons. Uncomment them if you want myth to handle
+# the volume.
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Volume+
+ repeat = 3
+ config = F11
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Volume-
+ repeat = 3
+ config = F10
+end
+
+# colours
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Red
+# This is the Red button
+# We'll use it for "Delete"
+ config = D
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Green
+# This is the Green button
+# We'll use it for "Extended Info"
+ config = U
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Yellow
+# This is the Yellow button
+# We'll use it for "Edit"
+ config = E
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Blue
+# This is the Blue button
+# We'll use it for "Toggle browse mode"
+ config = O
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = SubT
+ config = T
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = AD
+ config = A
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Text
+# I REALLY can't think of anything to put here, so it does the same as EPG.
+ config = S
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Mute
+ config = |
+end
+
+# Here begineth a stickered area, so I assume the labels for these buttons
+# could be easily changed post-manufacture.
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Rewind
+ config = <
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Stop
+# Again, I couldn't think of an appropriate function, so it's ESC.
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Play
+ config = P
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = FForward
+ config = >
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Chapter
+# Change focus for PiP (to change channel in the other window)
+ config = B
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Pause
+ config = P
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Playspeed
+ config = J
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Record
+ config = R
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = PiP
+# Toggle PiP on/off
+ config = V
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Zoom-
+# Use for backwards commercial skip
+ config = Q
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Zoom+
+# Use for forward commercial skip
+ config = Z
+end
+
+begin
+ prog = mythtv
+ remote = Nebula_DVB
+ button = Capture
+# Swap the PiP windows
+ config = N
+end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Nebula/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Nebula/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nebula/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Nexus/lircd-nexus.conf b/abs/core-testing/system-templates/templates/remotes/Nexus/lircd-nexus.conf new file mode 100755 index 0000000..229db28 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nexus/lircd-nexus.conf @@ -0,0 +1,73 @@ +# +# this config file was automatically generated +# using lirc-0.7.0pre4(serial) on Sun Oct 2 00:24:32 2005 +# +# contributed by anton|ganthaler.at and juergen.wilhelm|aon.at +# members of linux user group Vorarlberg www.lugv.at +# +# for ir remote controler from Hauppauge WinTV Nexus-S +# most of the keys are supported +# +# brand: Hauppauge +# model no. of remote control: WinTV Nexus-S +# devices being controlled by this remote: +# + +begin remote + + name Hauppauge_WinTV_Nexus-S + bits 13 + flags RC5|CONST_LENGTH + eps 30 + aeps 100 + + one 944 828 + zero 944 828 + plead 980 + gap 113932 + min_repeat 1 + toggle_bit 2 + + + begin codes + Up 0x0000000000001794 + Down 0x0000000000001795 + Left 0x0000000000001796 + Right 0x0000000000001797 + Power 0x00000000000017BD + Ok 0x00000000000017A5 + Menu 0x000000000000178D + Back 0x000000000000179F + Red 0x000000000000178B + Green 0x00000000000017AE + Yellow 0x00000000000017B8 + Blue 0x00000000000017A9 + 0 0x0000000000001780 + 1 0x0000000000001781 + 2 0x0000000000001782 + 3 0x0000000000001783 + 4 0x0000000000001784 + 5 0x0000000000001785 + 6 0x0000000000001786 + 7 0x0000000000001787 + 8 0x0000000000001788 + 9 0x0000000000001789 + Play 0x00000000000017B5 + Pause 0x00000000000017B0 + Stop 0x00000000000017B6 + Record 0x00000000000017B7 + FastFwd 0x00000000000017B4 + FastRwd 0x00000000000017B2 + Channel+ 0x00000000000017A0 + Channel- 0x00000000000017A1 + Volume+ 0x0000000000001790 + Volume- 0x0000000000001791 + Mute 0x000000000000178F + Timers 0x000000000000178A + Recordings 0x000000000000178E + Back 0x000000000000179F + Record 0x00000000000017B7 + end codes + +end remote + diff --git a/abs/core-testing/system-templates/templates/remotes/Nexus/lircrc-nexus.txt b/abs/core-testing/system-templates/templates/remotes/Nexus/lircrc-nexus.txt new file mode 100755 index 0000000..169da14 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nexus/lircrc-nexus.txt @@ -0,0 +1,459 @@ +# ~/.mythtv/lircrc +# +# MythTV native LIRC config file for +# the new grey Hauppauge remote +# + + + +begin +prog = mythtv +button = Go +repeat = 3 +config = I +end + +begin +prog = mythtv +button = Up +repeat = 3 +config = Up +end + +begin +prog = mythtv +button = Down +repeat = 3 +config = Down +end + +begin +prog = mythtv +button = Left +repeat = 3 +config = Left +end + +begin +prog = mythtv +button = Right +repeat = 3 +config = Right +end + +# Channel Up +begin +prog = mythtv +button = Channel+ +repeat = 3 +config = Up +end + +# Channel Down +begin +prog = mythtv +button = Channel- +repeat = 3 +config = Down +end + +# OKSelect +begin +prog = mythtv +button = Ok +repeat = 3 +config = Space +end + +# Play +begin +prog = mythtv +button = Play +repeat = 3 +config = Return +end + +# Stop +begin +prog = mythtv +button = Stop +repeat = 3 +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = Back +repeat = 3 +config = Esc +end + +# Power Off/Exit +begin +prog = irxevent +button = Power +repeat = 3 +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = Pause +repeat = 3 +config = P +end + +# Mute +begin +prog = mythtv +button = Mute +repeat = 3 +config = | +end + +# Fast forward +begin +prog = mythtv +button = FastFwd +repeat = 3 +config = < +end + +# Rewind +begin +prog = mythtv +button = FastRwd +repeat = 3 +config = > +end + +# Record +begin +prog = mythtv +button = Record +repeat = 3 +config = R +end + +# Delete +begin +prog = mythtv +button = Red +repeat = 3 +config = D +end + +# Decrease play speed +begin +prog = mythtv +button = Green +repeat = 3 +config = U +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = Menu +repeat = 3 +config = M +end + +# Scroll up +begin +prog = mythtv +button = Volume+ +repeat = 3 +config = F11 +end + +# Scroll down +begin +prog = mythtv +button = Volume- +repeat = 3 +config = F10 +end + +# double speed watch +begin +prog = mythtv +button = Yellow +repeat = 3 +config = J +end + +# Bring up Time stretch +begin +prog = mythtv +button = Blue +repeat = 3 +config = A +end + +# Numbers 0-9 +begin +prog = mythtv +button = 0 +repeat = 3 +config = 0 +end + +begin +prog = mythtv +button = 1 +repeat = 3 +config = 1 +end + +begin +prog = mythtv +button = 2 +repeat = 3 +config = 2 +end + +begin +prog = mythtv +button = 3 +repeat = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +repeat = 3 +config = 4 +end + +begin +prog = mythtv +button = 5 +repeat = 3 +config = 5 +end + +begin +prog = mythtv +button = 6 +repeat = 3 +config = 6 +end + +begin +prog = mythtv +button = 7 +repeat = 3 +config = 7 +end + +begin +prog = mythtv +button = 8 +repeat = 3 +config = 8 +end + +begin +prog = mythtv +button = 9 +repeat = 3 +config = 9 +end + + + +###### MPlayer lirc setup +# Show OSD +begin +prog = mplayer +button = Menu +repeat = 3 +config = osd +end + +# Pause playback +begin +prog = mplayer +button = Pause +repeat = 3 +config = pause +end + +# Skip ahead a minute if playing +# If paused, resume playing +begin +prog = mplayer +button = Play +repeat = 3 +config = seek +1 +end + +# Stop playback and exit +begin +prog = mplayer +button = Stop +repeat = 3 +config = quit +end + +# Mute +begin +prog = mplayer +button = Mute +repeat = 3 +config = mute +end + +begin +prog = mplayer +button = Left +repeat = 3 +config = seek -10 +end + +# Seek back 10 seconds +begin +prog = mplayer +button = FastRwd +repeat = 3 +config = seek -10 +end + +begin +prog = mplayer +button = Right +repeat = 3 +config = seek +30 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = FastFwd +repeat = 3 +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = Back +repeat = 3 +config = quit +end + + + + +###### Xine lirc setup +begin +prog = xine +button = Play +repeat = 3 +config = Play +end + +begin +prog = xine +button = Stop +repeat = 3 +config = Stop +end + +begin +prog = xine +button = Back +repeat = 3 +config = Quit +end + +begin +prog = xine +button = Pause +repeat = 3 +config = Pause +end + +begin +prog = xine +button = Up +repeat = 3 +config = EventUp +end + +begin +prog = xine +button = Down +repeat = 3 +config = EventDown +end + +begin +prog = xine +button = Left +repeat = 3 +config = EventLeft +end + +begin +prog = xine +button = Right +repeat = 3 +config = EventRight +end + +begin +prog = xine +button = Ok +repeat = 3 +config = EventSelect +end + +begin +prog = xine +button = FastFwd +repeat = 3 +config = SpeedFaster +end + +begin +prog = xine +button = FastRwd +repeat = 3 +config = SpeedSlower +end + +begin +prog = xine +button = Volume+ +repeat = 3 +config = Volume+ +end + +begin +prog = xine +button = Volume- +repeat = 3 +config = Volume- +end + +begin +prog = xine +button = Mute +repeat = 3 +config = Mute +end + +begin +prog = xine +button = Menu +repeat = 3 +config = RootMenu +end + + diff --git a/abs/core-testing/system-templates/templates/remotes/Nexus/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Nexus/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nexus/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Nova_500/lircd-nova500.conf b/abs/core-testing/system-templates/templates/remotes/Nova_500/lircd-nova500.conf new file mode 100755 index 0000000..c66c9e5 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nova_500/lircd-nova500.conf @@ -0,0 +1,69 @@ +# +# brand: Hauppauge NOVA-T-500 +# model no. of remote control: Hauppage Nova-T-500 Snowboard Shape Silver over Black +# + +begin remote + + name NOVA-T500 + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + pre_data_bits 16 + pre_data 0x1 + gap 199999 + toggle_bit 0 + + + begin codes + Go 0x0162 + Power 0x0074 + TV 0x0179 + Videos 0x0189 + Music 0x0188 + Pictures 0x00E2 + Guide 0x016D + Radio 0x0181 + ArrowUp 0x0067 + ArrowLeft 0x0069 + OK 0x0160 + ArrowRight 0x006A + ArrowDown 0x006C + BackExit 0x009E + Menu 0x008B + VolumeUp 0x0073 + VolumeDown 0x0072 + PrevCh 0x016B + Mute 0x0071 + ChannelUp 0x0192 + ChannelDown 0x0193 + Record 0x00A7 + Rewind 0x00A8 + SkipBack 0x0195 + Play 0x00CF + Pause 0x0077 + Stop 0x0080 + Fwdwind 0x00D0 + SkipFwd 0x0197 + 1 0x0002 + 2 0x0003 + 3 0x0004 + 4 0x0005 + 5 0x0006 + 6 0x0007 + 7 0x0008 + 8 0x0009 + 9 0x000A + Star 0x0037 + 0 0x000B + # 0x0029 + Red 0x018E + Green 0x018F + Yellow 0x0190 + Blue 0x0191 + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Nova_500/lircrc-nova500.txt b/abs/core-testing/system-templates/templates/remotes/Nova_500/lircrc-nova500.txt new file mode 100755 index 0000000..2d74c3d --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nova_500/lircrc-nova500.txt @@ -0,0 +1,559 @@ +# /etc/lircrc +# ln ~mythtv/.mythtv/lircrc +# +# MythTV native LIRC config file for +# Hauppage Nova-T-500 PCI Dual Tuners DVB-T +# Snowboard shape remote +# Silver on top Black underneath +# 45 buttons +# +# Originally +# By Jarod Wilson, 2003/12/21 +# Amalgamated from Jeff Campbell's .lircrc + + + +################## MythTV Control ###################### +### http://www.mythtv.org/wiki/index.php/Keybindings ### + +# Remote Button +## MythTV function + + +# Go +## Go to home page +begin +prog = mythtv +button = Go +config = ALT+H +end + +# Power +## Turns monitor in Standby +#begin +#prog = irexec +#button = Power +#config = sudo vbetool dpms on ; sudo vbetool dpms off +#end + +# TV +## Go to Watch TV +begin +prog = mythtv +button = TV +config = ALT+T +end + +# Videos +## Go to MythVideo +begin +prog = mythtv +button = Videos +config = ALT+V +end + +# Music +## Go to MythMusic +begin +prog = mythtv +button = Music +config = ALT+M +end + +# Pictures +## Go to MythGallery +begin +prog = mythtv +button = Pictures +config = ALT+P +end + +# Guide +## display EPG +begin +prog = mythtv +button = Guide +config = s +end + +# Radio + + + +# ArrowUp +## Up +begin +prog = mythtv +button = ArrowUp +config = Up +end + +# ArrowLeft +## Left +begin +prog = mythtv +button = ArrowLeft +config = Left +end + +# OK +## Select/enter/resolve +begin +prog = mythtv +button = OK +config = Space +end + +# ArrowRight +## Right +begin +prog = mythtv +button = ArrowRight +config = Right +end + +# ArrowDown +## Down +begin +prog = mythtv +button = ArrowDown +config = Down +end + +# BackExit +## Exit/go back/cancel +begin +prog = mythtv +button = BackExit +config = Esc +end + +# Menu +## Menu +begin +prog = mythtv +button = Menu +config = m +end + +# VolumeUp +## Volume Up +begin +prog = mythtv +button = VolumeUp +config = F11 +end + +# VolumeDown +## Volume down +begin +prog = mythtv +button = VolumeDown +config = F10 +end + +# PrevCh +## Change tuner card input +begin +prog = mythtv +button = PrevCh +config = c +end + +# Mute +## Mute +begin +prog = mythtv +button = Mute +config = | +end + +# ChannelUp +begin +prog = mythtv +button = ChannelUp +config = Up +end + +# ChannelDown +begin +prog = mythtv +button = ChannelDown +config = Down +end + +# Record +begin +prog = mythtv +button = Record +config = R +end + +# Rewind +begin +prog = mythtv +button = Rewind +config = Left +end + +# SkipBack +begin +prog = mythtv +button = SkipBack +config = PgUp +end + +# Play +begin +prog = mythtv +button = Play +config = Return +end + +# Pause +begin +prog = mythtv +button = Pause +config = P +end + +# Stop +begin +prog = mythtv +button = Stop +config = Esc +end + +# Fwdwind +begin +prog = mythtv +button = Fwdwind +config = Right +end + +# SkipFwd +begin +prog = mythtv +button = SkipFwd +config = PgDown +end + +# 1 +begin +prog = mythtv +button = 1 +config = 1 +end + +# 2 +begin +prog = mythtv +button = 2 +config = 2 +end + +# 3 +begin +prog = mythtv +button = 3 +config = 3 +end + +# 4 +begin +prog = mythtv +button = 4 +config = 4 +end + +# 5 +begin +prog = mythtv +button = 5 +config = 5 +end + +# 6 +begin +prog = mythtv +button = 6 +config = 6 +end + +# 7 +begin +prog = mythtv +button = 7 +config = 7 +end + +# 8 +begin +prog = mythtv +button = 8 +config = 8 +end + +# 9 +begin +prog = mythtv +button = 9 +config = 9 +end + +# Star +## Info +begin +prog = mythtv +button = Star +config = i +end + +# 0 +begin +prog = mythtv +button = 0 +config = 0 +end + +# # +## Toggle recording of current program (cycles through types) +begin +prog = mythtv +button = # +config = r +end + +# Red +## Picture zoom +begin +prog = mythtv +button = Red +config = W +end + +# Green +# OSD navigation through channels/programs +begin +prog = mythtv +button = Green +config = O +end + +# Yellow +begin +prog = mythtv +button = Yellow +config = Q +end + +# Blue +begin +prog = mythtv +button = Blue +config = Z +end + + + +##### MPlayer lirc setup +# Show OSD +begin +prog = mplayer +button = Menu +config = osd +end + +# Pause playback +begin +prog = mplayer +button = Pause +config = pause +end + +# Skip ahead a minute if playing +# If paused, resume playing +begin +prog = mplayer +button = Play +config = seek +1 +end + +# Stop playback and exit +begin +prog = mplayer +button = Stop +config = quit +end + +# Mute +begin +prog = mplayer +button = Mute +config = mute +end + +begin +prog = mplayer +button = ArrowLeft +config = seek -10 +end + +# Seek back 10 seconds +begin +prog = mplayer +button = Rewind +config = seek -10 +end + +begin +prog = mplayer +button = ArrowRight +config = seek +30 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = Fwdwind +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = BackExit +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = SkipFwd +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = SkipBack +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = Star +config = vo_fullscreen +end + + + +###### Xine lirc setup +begin +prog = xine +button = Play +config = Play +end + +begin +prog = xine +button = Stop +config = Stop +end + +begin +prog = xine +button = BackExit +config = Quit +end + +begin +prog = xine +button = Pause +config = Pause +end + +begin +prog = xine +button = ArrowUp +config = EventUp +end + +begin +prog = xine +button = ArrowDown +config = EventDown +end + +begin +prog = xine +button = ArrowLeft +config = EventLeft +end + +begin +prog = xine +button = ArrowRight +config = EventRight +end + +begin +prog = xine +button = OK +config = EventSelect +end + +begin +prog = xine +button = Fwdwind +config = SpeedFaster +end + +begin +prog = xine +button = Rewind +config = SpeedSlower +end + +begin +prog = xine +button = VolumeUp +config = Volume+ +end + +begin +prog = xine +button = VolumeDown +config = Volume- +end + +begin +prog = xine +button = Mute +config = Mute +end + +begin +prog = xine +button = Menu +config = RootMenu +end + +begin +prog = xine +button = SkipFwd +config = EventNext +end + +begin +prog = xine +button = SkipBack +config = EventPrior +end + +begin +prog = xine +button = Go +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Nova_500/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Nova_500/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nova_500/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Nova_T/lircd-novat.conf b/abs/core-testing/system-templates/templates/remotes/Nova_T/lircd-novat.conf new file mode 100755 index 0000000..27a575d --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nova_T/lircd-novat.conf @@ -0,0 +1,60 @@ +begin remote + name nova-t + bits 16 + eps 30 + aeps 100 + one 0 0 + zero 0 0 + gap 135988 + pre_data_bits 16 + pre_data 0x8001 + + begin codes + 1 0x0002 + 2 0x0003 + 3 0x0004 + 4 0x0005 + 5 0x0006 + 6 0x0007 + 7 0x0008 + 8 0x0009 + 9 0x000A + 0 0x000B + * 0x0184 + # 0x0172 + red 0x018E + green 0x018F + yellow 0x0190 + blue 0x0191 + power 0x0074 + go 0x0161 + tv 0x0179 + videos 0x0189 + music 0x0188 + pictures 0x016F + guide 0x016D + radio 0x0181 + up 0x0067 + left 0x0069 + right 0x006A + down 0x006C + ok 0x001C + back 0x00A8 + menu 0x008B + prev-ch 0x019C + mute 0x0071 + volup 0x0073 + voldown 0x0072 + chanup 0x0192 + chandown 0x0193 + rec 0x00A7 + stop 0x0080 + forward 0x00D0 + skipback 0x00A5 + skipforward 0x00A3 + play 0x00CF + pause 0x0077 + + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Nova_T/lircrc-novat.txt b/abs/core-testing/system-templates/templates/remotes/Nova_T/lircrc-novat.txt new file mode 100755 index 0000000..f075729 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nova_T/lircrc-novat.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = chanup +config = Up +end + +# Channel Down +begin +prog = mythtv +button = chandown +config = Down +end + +# General Left +begin +prog = mythtv +button = left +config = Left +end + +# General Right +begin +prog = mythtv +button = right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = volup +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = voldown +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = ok +config = Space +end + +# Play +begin +prog = mythtv +button = play +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = forward +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = back +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = skipforward +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = skipback +config = PgUp +end + +# Record +begin +prog = mythtv +button = rec +config = R +end + +# Delete +begin +prog = mythtv +button = red +config = D +end + +# OSD browse +begin +prog = mythtv +button = menu +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = guide +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = yellow +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = blue +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = prev-ch +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = guide +config = osd +end + +# Pause playback +begin +prog = mplayer +button = pause +config = pause +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = back +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = forward +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = skipforward +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = skipback +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = pause +config = Pause +end + +begin +prog = xine +button = up +config = EventUp +end + +begin +prog = xine +button = down +config = EventDown +end + +begin +prog = xine +button = left +config = EventLeft +end + +begin +prog = xine +button = right +config = EventRight +end + +begin +prog = xine +button = ok +config = EventSelect +end + +begin +prog = xine +button = menu +config = Menu +end + +begin +prog = xine +button = forward +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = back +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = volup +config = Volume+ +end + +begin +prog = xine +button = voldown +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = skipforward +config = EventNext +end + +begin +prog = xine +button = skipback +config = EventPrior +end + +begin +prog = xine +button = guide +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Nova_T/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Nova_T/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nova_T/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Nova_T_USB2/lircd-novatusb2.conf b/abs/core-testing/system-templates/templates/remotes/Nova_T_USB2/lircd-novatusb2.conf new file mode 100755 index 0000000..d2bbee6 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nova_T_USB2/lircd-novatusb2.conf @@ -0,0 +1,77 @@ +# Please make this file available to others +# by sending it to <lirc@bartelmus.de> +# +# this config file was automatically generated +# using lirc-0.8.1-CVS(dev/input) on Sun Oct 8 22:51:46 2006 +# +# contributed by JonS +# +# brand: irrecord.nova-T-usb +# model no. of remote control: Hauppage Nova-T USB Snowboard Shape Silver over Black +# devices being controlled by this remote: MythTV +# + +begin remote + + name nova-T-usb + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + pre_data_bits 16 + pre_data 0x1 + gap 199999 + toggle_bit 0 + + + begin codes + Go 0x0162 + Power 0x0074 + TV 0x0179 + Videos 0x0189 + Music 0x0188 + Pictures 0x00E2 + Guide 0x016D + Radio 0x0181 + ArrowUp 0x0067 + ArrowLeft 0x0069 + OK 0x0160 + ArrowRight 0x006A + ArrowDown 0x006C + BackExit 0x009E + Menu 0x008B + VolumeUp 0x0073 + VolumeDown 0x0072 + PrevCh 0x016B + Mute 0x0071 + ChannelUp 0x0192 + ChannelDown 0x0193 + Record 0x00A7 + Rewind 0x00A8 + SkipBack 0x0195 + Play 0x00CF + Pause 0x0077 + Stop 0x0080 + Fwdwind 0x00D0 + SkipFwd 0x0197 + 1 0x0002 + 2 0x0003 + 3 0x0004 + 4 0x0005 + 5 0x0006 + 6 0x0007 + 7 0x0008 + 8 0x0009 + 9 0x000A + * 0x0037 + 0 0x000B + # 0x0029 + Red 0x018E + Green 0x018F + Yellow 0x0190 + Blue 0x0191 + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Nova_T_USB2/lircrc-novatusb2.txt b/abs/core-testing/system-templates/templates/remotes/Nova_T_USB2/lircrc-novatusb2.txt new file mode 100755 index 0000000..fad1483 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nova_T_USB2/lircrc-novatusb2.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = ChannelUp +config = Up +end + +# Channel Down +begin +prog = mythtv +button = ChannelDown +config = Down +end + +# General Left +begin +prog = mythtv +button = ArrowLeft +config = Left +end + +# General Right +begin +prog = mythtv +button = ArrowRight +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = ArrowUp +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = ArrowDown +config = Down +end + +# Volume Up +begin +prog = mythtv +button = VolumeUp +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = VolumeDown +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = OK +config = Space +end + +# Play +begin +prog = mythtv +button = Play +config = Return +end + +# Stop +begin +prog = mythtv +button = Stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = BackExit +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = Power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = Pause +config = P +end + +# Mute +begin +prog = mythtv +button = Mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = FwdWind +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = Rewind +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = SkipFwd +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = SkipBack +config = PgUp +end + +# Record +begin +prog = mythtv +button = Record +config = R +end + +# Delete +begin +prog = mythtv +button = Red +config = D +end + +# OSD browse +begin +prog = mythtv +button = Green +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = Guide +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = Yellow +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = Blue +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = PrevCh +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = Guide +config = osd +end + +# Pause playback +begin +prog = mplayer +button = Pause +config = pause +end + +# Mute +begin +prog = mplayer +button = Mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = Rewind +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = FwdWind +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = Stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = SkipFwd +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = SkipBack +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = Play +config = Play +end + +begin +prog = xine +button = Stop +config = Stop +end + +begin +prog = xine +button = BackExit +config = Quit +end + +begin +prog = xine +button = Pause +config = Pause +end + +begin +prog = xine +button = ArrowUp +config = EventUp +end + +begin +prog = xine +button = ArrowDown +config = EventDown +end + +begin +prog = xine +button = ArrowLeft +config = EventLeft +end + +begin +prog = xine +button = ArrowRight +config = EventRight +end + +begin +prog = xine +button = OK +config = EventSelect +end + +begin +prog = xine +button = Guide +config = Menu +end + +begin +prog = xine +button = FwdWind +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = Rewind +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = VolumeUp +config = Volume+ +end + +begin +prog = xine +button = VolumeDown +config = Volume- +end + +begin +prog = xine +button = Mute +config = Mute +end + +begin +prog = xine +button = Stop +config = RootMenu +end + +begin +prog = xine +button = SkipFwd +config = EventNext +end + +begin +prog = xine +button = SkipBack +config = EventPrior +end + +begin +prog = xine +button = Menu +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Nova_T_USB2/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Nova_T_USB2/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nova_T_USB2/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Nvidia/lircd-nvidia.conf b/abs/core-testing/system-templates/templates/remotes/Nvidia/lircd-nvidia.conf new file mode 100755 index 0000000..133ac00 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nvidia/lircd-nvidia.conf @@ -0,0 +1,62 @@ +begin remote + name nvidia + bits 16 + eps 30 + aeps 100 + one 0 0 + zero 0 0 + gap 227970 + pre_data_bits 8 + pre_data 0x14 + + begin codes + CANCIL 0xDF0A + RIGHTMOUSE 0x517C + LEFTMOUSE 0x4D78 + PAUSE 0x4D78 + STOP 0xFD28 + REC 0xFC27 + ADVANCE 0xFB26 + PLAY 0xFA25 + REPLAY 0xF924 + FFORWARD 0xF823 + REWIND 0xF621 + OK 0xF31E + SLOW 0xF520 + LIVETV 0xF11C + LEFT 0xF21D + RIGHT 0xF41F + DOWN 0xF722 + UP 0xEF1A + SETUP 0xF01B + DVDMENU 0xEE19 + SNAPSHOT 0xED18 + CC 0xEB16 + 0 0xEC17 + 9 0xEA15 + 8 0xE914 + 7 0xE813 + 6 0xE712 + 5 0xE611 + 4 0xE510 + 3 0xE40F + 2 0xE30E + 1 0xE20D + ZOOM 0xFF2A + INPUT 0x002B + CHAN- 0xE10C + CHAN+ 0xE00B + VOL- 0xDD08 + VOL+ 0xDE09 + WEB 0xDC07 + MUSIC 0xDB06 + PHOTO 0xDA05 + DVDVCD 0xD904 + DVR 0xD803 + CHSURF 0xD702 + CHGUIDE 0xD601 + MUTE 0xD500 + + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Nvidia/lircrc-nvidia.txt b/abs/core-testing/system-templates/templates/remotes/Nvidia/lircrc-nvidia.txt new file mode 100755 index 0000000..53c133b --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nvidia/lircrc-nvidia.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = CHAN+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = CHAN- +config = Down +end + +# General Left +begin +prog = mythtv +button = LEFT +config = Left +end + +# General Right +begin +prog = mythtv +button = RIGHT +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = UP +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = DOWN +config = Down +end + +# Volume Up +begin +prog = mythtv +button = VOL+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = VOL- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = OK +config = Space +end + +# Play +begin +prog = mythtv +button = PLAY +config = Return +end + +# Stop +begin +prog = mythtv +button = STOP +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = CANCIL +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = PAUSE +config = P +end + +# Mute +begin +prog = mythtv +button = MUTE +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = FFORWARD +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = REWIND +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = ADVANCE +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = REPLAY +config = PgUp +end + +# Record +begin +prog = mythtv +button = REC +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = CHGUIDE +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = CHSURF +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = INPUT +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = SETUP +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = CHGUIDE +config = osd +end + +# Pause playback +begin +prog = mplayer +button = PAUSE +config = pause +end + +# Mute +begin +prog = mplayer +button = MUTE +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = REWIND +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = FFORWARD +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = STOP +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = ADVANCE +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = REPLAY +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = ZOOM +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = PLAY +config = Play +end + +begin +prog = xine +button = STOP +config = Stop +end + +begin +prog = xine +button = STOP +config = Quit +end + +begin +prog = xine +button = PAUSE +config = Pause +end + +begin +prog = xine +button = UP +config = EventUp +end + +begin +prog = xine +button = DOWN +config = EventDown +end + +begin +prog = xine +button = LEFT +config = EventLeft +end + +begin +prog = xine +button = RIGHT +config = EventRight +end + +begin +prog = xine +button = OK +config = EventSelect +end + +begin +prog = xine +button = CHGUIDE +config = Menu +end + +begin +prog = xine +button = FFORWARD +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = REWIND +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = VOL+ +config = Volume+ +end + +begin +prog = xine +button = VOL- +config = Volume- +end + +begin +prog = xine +button = MUTE +config = Mute +end + +begin +prog = xine +button = STOP +config = RootMenu +end + +begin +prog = xine +button = ADVANCE +config = EventNext +end + +begin +prog = xine +button = REPLAY +config = EventPrior +end + +begin +prog = xine +button = CHSURF +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Nvidia/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Nvidia/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nvidia/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Nvidia_X10/lircd-nvidiax10.conf b/abs/core-testing/system-templates/templates/remotes/Nvidia_X10/lircd-nvidiax10.conf new file mode 100755 index 0000000..1c06639 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nvidia_X10/lircd-nvidiax10.conf @@ -0,0 +1,71 @@ +begin remote + name nvidiax10 + bits 40 + eps 30 + aeps 100 + one 0 0 + zero 0 0 + gap 235987 + + begin codes + mute 0x14D5000000 + playlist 0x14D6010000 + chSurf 0x14D7020000 + dvr 0x14D8030000 + dvd 0x14D9040000 + photo 0x14DA050000 + music 0x14DB060000 + web 0x14DC070000 + L 0x144D780000 + R 0x14517C0000 + ESC 0x14DF0A0000 + VOL+ 0x14DE090000 + VOL- 0x14DD080000 + CHAN- 0x14E10C0000 + CHAN+ 0x14E00B0000 + angle 0x14002B0000 + zoom 0x14FF2A0000 + 0 0x14EC170000 + 1 0x14E20D0000 + 2 0x14E30E0000 + 3 0x14E40F0000 + 4 0x14E5100000 + 5 0x14E6110000 + 6 0x14E7120000 + 7 0x14E8130000 + 8 0x14E9140000 + 9 0x14EA150000 + TXT 0x14EB160000 + SnapShot 0x14ED180000 + DVDMenu 0x14EE190000 + setup 0x14F01B0000 + audio 0x14F11C0000 + slow 0x14F5200000 + up 0x14EF1A0000 + down 0x14F7220000 + left 0x14F21D0000 + right 0x14F41F0000 + ok 0x14F31E0000 + back 0x14F6210000 + forward 0x14F8230000 + fRewind 0x14F9240000 + play 0x14FA250000 + ffw 0x14FB260000 + rec 0x14FC270000 + stop 0x14FD280000 + pause 0x14FE290000 + + mouse_n 0x0000001447720000 + mouse_ne 0x000000144A750000 + mouse_e 0x0000001446710000 + mouse_se 0x000000144B760000 + mouse_s 0x0000001448730000 + mouse_sw 0x000000144C770000 + mouse_w 0x0000001445700000 + mouse_nw 0x0000001449740000 + mouse_left 0x000000144E790000 + mouse_right 0x00000014527D0000 + + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Nvidia_X10/lircrc-nvidiax10.txt b/abs/core-testing/system-templates/templates/remotes/Nvidia_X10/lircrc-nvidiax10.txt new file mode 100755 index 0000000..0774c10 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nvidia_X10/lircrc-nvidiax10.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = CHAN+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = CHAN- +config = Down +end + +# General Left +begin +prog = mythtv +button = left +config = Left +end + +# General Right +begin +prog = mythtv +button = right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = VOL+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = VOL- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = ok +config = Space +end + +# Play +begin +prog = mythtv +button = play +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = ESC +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = ffw +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = fRewind +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = forward +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = back +config = PgUp +end + +# Record +begin +prog = mythtv +button = rec +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = chSurf +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = TXT +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = chSurf +config = osd +end + +# Pause playback +begin +prog = mplayer +button = pause +config = pause +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = fRewind +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = ffw +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = forward +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = back +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = zoom +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = ESC +config = Quit +end + +begin +prog = xine +button = pause +config = Pause +end + +begin +prog = xine +button = up +config = EventUp +end + +begin +prog = xine +button = down +config = EventDown +end + +begin +prog = xine +button = left +config = EventLeft +end + +begin +prog = xine +button = right +config = EventRight +end + +begin +prog = xine +button = ok +config = EventSelect +end + +begin +prog = xine +button = chSurf +config = Menu +end + +begin +prog = xine +button = ffw +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = fRewind +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = VOL+ +config = Volume+ +end + +begin +prog = xine +button = VOL- +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = forward +config = EventNext +end + +begin +prog = xine +button = back +config = EventPrior +end + +begin +prog = xine +button = +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Nvidia_X10/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Nvidia_X10/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Nvidia_X10/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/One4All/lircd-one4all.conf b/abs/core-testing/system-templates/templates/remotes/One4All/lircd-one4all.conf new file mode 100755 index 0000000..00060fd --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/One4All/lircd-one4all.conf @@ -0,0 +1,111 @@ +#------------------------------------------------------------------------------
+# contributed by Claas Langbehn (claas@bigfoot.com) 01-May-2000
+#------------------------------------------------------------------------------
+#
+# filename: RC-5
+# encoding: shift encoded, RC-5
+# brand: Philips (and others)
+# model: all
+# supported devices: all
+#
+#------------------------------------------------------------------------------
+
+begin remote
+
+ name one4all
+ bits 11
+ flags RC5|CONST_LENGTH
+ eps 20
+ aeps 0
+
+ header 0 0
+ one 889 889
+ zero 889 889
+ plead 889
+ ptrail 0
+ foot 0 0
+ repeat 0 0
+ pre_data_bits 2
+ pre_data 0x02
+ post_data_bits 0
+ post_data 0x0
+ pre 0 0
+ post 0 0
+ gap 113792
+ toggle_bit 2
+ frequency 36000
+ duty_cycle 50
+
+ begin codes
+ 0 0x0000000000000140
+ 1 0x0000000000000141
+ 2 0x0000000000000142
+ 3 0x0000000000000143
+ 4 0x0000000000000144
+ 5 0x0000000000000145
+ 6 0x0000000000000146
+ 7 0x0000000000000147
+ 8 0x0000000000000148
+ 9 0x0000000000000149
+ GUIDE 0x000000000000014a
+ SELECT 0x000000000000014b
+ POWER 0x000000000000014c
+ Mute 0x000000000000014d
+ Move 0x000000000000014e
+ VOL+ 0x0000000000000150
+ VOL- 0x0000000000000151
+ PREVCH 0x0000000000000152
+ NEXTCH 0x0000000000000153
+ SLOMO 0x0000000000000154
+ ANGLE 0x0000000000000155
+ MENU 0x000000000000015d
+ SUBT 0x000000000000015e
+ CH+ 0x0000000000000160
+ CH- 0x0000000000000161
+ PIP 0x0000000000000162
+ Swap 0x0000000000000163
+ PAUSE 0x0000000000000169
+ PVRMENU 0x000000000000016e
+ EXIT 0x0000000000000171
+ REW 0x0000000000000172
+ REPLAY 0x0000000000000173
+ FFW 0x0000000000000174
+ PLAY 0x0000000000000175
+ STOP 0x0000000000000176
+ REC 0x0000000000000177
+ SKIP 0x0000000000000178
+ Prev 0x000000000000017b
+ INFO 0x000000000000017c
+ TV/VID 0x000000000000017e
+ Audio 0x000000000000017f
+ THDN 0x0000000000000268
+ THUP 0x0000000000000269
+ end codes
+
+end remote
+
+begin remote
+
+ name PHILIPS_RC-5_ALT
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 20
+ aeps 0
+
+ one 889 889
+ zero 889 889
+ plead 889
+ gap 113792
+ min_repeat 1
+ toggle_bit 2
+
+ frequency 36000
+ duty_cycle 50
+
+ begin codes
+ LEFT 0x0000000000000155
+ RIGHT 0x0000000000000156
+ end codes
+
+end remote
+
diff --git a/abs/core-testing/system-templates/templates/remotes/One4All/lircrc-one4all.txt b/abs/core-testing/system-templates/templates/remotes/One4All/lircrc-one4all.txt new file mode 100755 index 0000000..0b67174 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/One4All/lircrc-one4all.txt @@ -0,0 +1,730 @@ +# lircrc.URC-6131/RC-5 (Hauppauge PVR-250) +# 2004-01-25, Joe Votour +# mailto:vulturej@vulturesnest.net +# Save this file in ~/.mythtv/lircrc, and make a symlink with ~/.lircrc +# TODO: Test/configure the mplayer buttons +# Finish the rest of the remote buttons for MythTV + +# Power button/quit +#begin +# prog = mythtv +# button = POWER +# config = Esc +#end + +# Change TV card input +begin + prog = mythtv + button = TV/VID + config = C +end + +# Toggle Picture-In-Picture +begin + prog = mythtv + button = PIP + config = V +end + +# Swap the PiP windows +begin + prog = mythtv + button = Swap + config = N +end + +# Number keys +begin + prog = mythtv + button = 1 + config = 1 +end + +begin + prog = mythtv + button = 2 + config = 2 +end + +begin + prog = mythtv + button = 3 + config = 3 +end + +begin + prog = mythtv + button = 4 + config = 4 +end + +begin + prog = mythtv + button = 5 + config = 5 +end + +begin + prog = mythtv + button = 6 + config = 6 +end + +begin + prog = mythtv + button = 7 + config = 7 +end + +begin + prog = mythtv + button = 8 + config = 8 +end + +begin + prog = mythtv + button = 9 + config = 9 +end + +begin + prog = mythtv + button = 0 + config = 0 +end + +# Exit button (returning to menu) +begin + prog = mythtv + button = EXIT + config = Esc +end + +# Menu button (TV menu) +begin + prog = mythtv + button = MENU + config = M +end + +# Guide button (EPG) +begin + prog = mythtv + button = GUIDE + config = S +end + +# Delete (i.e. View recordings screen) +begin + prog = mythtv + button = POWER + config = D +end + +# View program info (OSD) +begin + prog = mythtv + button = INFO + config = I +end + +# Note the "repeat =" strings in the volume and channel. +# This means that if you hold down the key, every nth instance will be +# passed. This depends on your system, so you may want to increase or +# decrease this and see what happens. repeat = 1 is probably too +# fast. + +# Volume Down +begin + prog = mythtv + button = VOL- + repeat = 3 + config = F10 +end + +# Volume Up +begin + prog = mythtv + button = VOL+ + repeat = 3 + config = F11 +end + +# Channel Up +begin + prog = mythtv + button = THUP + repeat = 3 + config = Up +end + +# Channel Down +begin + prog = mythtv + button = THDN + repeat = 3 + config = Down +end + +# Navigational arrows +begin + prog = mythtv + button = LEFT + repeat = 3 + config = Left +end + +begin + prog = mythtv + button = RIGHT + repeat = 3 + config = Right +end + +begin + prog = mythtv + button = SELECT + config = Return +end + +# Mute +begin + prog = mythtv + button = Mute + config = F9 +end + +# Browse mode +#begin +# prog = mythtv +# button = DISPLAY +# config = O +#end + +# Channel history +begin + prog = mythtv + button = Prev + config = H +end + +# Rewind +begin + prog = mythtv + button = REW + config = Left +end + +# Play +begin + prog = mythtv + button = PLAY + config = P +end + +# Fast-forward +begin + prog = mythtv + button = FFW + config = Right +end + +# Next chapter (page down for EPG) +begin + prog = mythtv + button = NEXTCH + config = PgDown +end + +# Previous chapter (page up for EPG) +begin + prog = mythtv + button = PREVCH + config = PgUp +end + +# Record +begin + prog = mythtv + button = REC + config = R +end + +# Teletext/Closed Captioning +# Audio button doubles as CC +begin + prog = mythtv + button = Audio + config = T +end + +# Pause +begin + prog = mythtv + button = PAUSE + config = P +end + +# Backwards commercial skip +begin + prog = mythtv + button = REPLAY + config = Q +end + +# Forward commercial skip +begin + prog = mythtv + button = SKIP + config = Z +end + +# +# mplayer keys (Untested) +# +begin + prog = mplayer + button = EXIT + config = quit +end + +begin + prog = mplayer + button = MUTE + config = mute +end + +begin + prog = mplayer + button = VOL- + config = volume -1 + repeat = 1 +end + +begin + prog = mplayer + button = VOL+ + config = volume 1 + repeat = 1 +end + +begin + prog = mplayer + button = PLAY + config = pause +end + +begin + prog = mplayer + button = PAUSE + config = pause +end + +begin + prog = mplayer + button = STOP + config = quit +end + +begin + prog = mplayer + button = DISPLAY + config = osd +end + +begin + prog = mplayer + button = FFW + config = skip 1 +end + +begin + prog = mplayer + button = REW + config = skip -1 +end + +begin + prog = mplayer + button = REPLAY + config = skip -60 +end + +begin + prog = mplayer + button = SKIP + config = skip 60 +end + +## +# xine key bindings. +# Automatically generated by xine-ui version 0.9.23. +# To run xine: +# MythVideo: xine -D -pfh %s +# MythDVD: xine -D -pfhq --auto-scan dvd (for DVD) +# xine -D -pfhq --auto-scan vcdo (for VCD) +## + +# start playback +begin + button = PLAY + prog = xine + repeat = 3 + config = Play +end + +# playback pause toggle +begin + button = PAUSE + prog = xine + repeat = 3 + config = Pause +end + +# stop playback +begin + button = STOP + prog = xine + repeat = 3 + config = Stop +end + +# set position to -10 minutes in current stream +begin + button = REPLAY + prog = xine + repeat = 3 + config = SeekRelative-600 +end + +# set position to +10 minutes in current stream +begin + button = SKIP + prog = xine + repeat = 3 + config = SeekRelative+600 +end + +# set position to -30 seconds in current stream +begin + button = REW + prog = xine + repeat = 3 + config = SeekRelative-30 +end + +# set position to +30 seconds in current stream +begin + button = FFW + prog = xine + repeat = 3 + config = SeekRelative+30 +end + +# decrement playback speed +begin + button = SLOMO + prog = xine + repeat = 3 + config = SpeedSlower +end + +# reset playback speed +begin + button = PLAY + prog = xine + repeat = 3 + config = SpeedReset +end + +# increment audio volume +begin + button = VOL+ + prog = xine + repeat = 2 + config = Volume+ +end + +# decrement audio volume +begin + button = VOL- + prog = xine + repeat = 2 + config = Volume- +end + +# increment amplification level +#begin +# remote = xxxxx +# button = xxxxx +# prog = xine +# repeat = 3 +# config = Amp+ +#end + +# decrement amplification level +#begin +# remote = xxxxx +# button = xxxxx +# prog = xine +# repeat = 3 +# config = Amp- +#end + +# reset amplification to default value +#begin +# remote = xxxxx +# button = xxxxx +# prog = xine +# repeat = 3 +# config = ResetAmp +#end + +# audio muting toggle +begin + button = Mute + prog = xine + repeat = 3 + config = Mute +end + +# select next audio channel +begin + button = Audio + prog = xine + repeat = 3 + config = AudioChannelNext +end + +# select next sub picture (subtitle) channel +begin + button = SUBT + prog = xine + repeat = 3 + config = SpuNext +end + +# jump to media Menu +#begin +# button = MENU +# prog = xine +# repeat = 3 +# config = Menu +#end + +# jump to Title Menu +#begin +# remote = xxxxx +# button = xxxxx +# prog = xine +# repeat = 3 +# config = TitleMenu +#end + +# jump to Root Menu +begin + button = MENU + prog = xine + repeat = 3 + config = RootMenu +end + +# jump to Subpicture Menu +begin + remote = xxxxx + button = xxxxx + prog = xine + repeat = 3 + config = SubpictureMenu +end + +# jump to Audio Menu +begin + button = Audio + prog = xine + repeat = 3 + config = AudioMenu +end + +# jump to Angle Menu +begin + button = Angle + prog = xine + repeat = 3 + config = AngleMenu +end + +# jump to Part Menu +#begin +# remote = xxxxx +# button = xxxxx +# prog = xine +# repeat = 3 +# config = PartMenu +#end + +# menu navigate up +begin + button = CH+ + prog = xine + repeat = 3 + config = EventUp +end + +# menu navigate down +begin + button = CH- + prog = xine + repeat = 3 + config = EventDown +end + +# menu navigate left +begin + button = LEFT + prog = xine + repeat = 3 + config = EventLeft +end + +# menu navigate right +begin + button = RIGHT + prog = xine + repeat = 3 + config = EventRight +end + +# menu select +begin + button = SELECT + prog = xine + repeat = 3 + config = EventSelect +end + +# jump to next chapter +begin + button = NEXTCH + prog = xine + repeat = 3 + config = EventNext +end + +# jump to previous chapter +begin + button = PREVCH + prog = xine + repeat = 3 + config = EventPrior +end + +# select next angle +begin + button = ANGLE + prog = xine + repeat = 3 + config = EventAngleNext +end + +# display stream information using OSD +begin + button = INFO + prog = xine + repeat = 3 + config = OSDStreamInfos +end + +# enter the number 0 +begin + button = 0 + prog = xine + repeat = 3 + config = Number0 +end + +# enter the number 1 +begin + button = 1 + prog = xine + repeat = 3 + config = Number1 +end + +# enter the number 2 +begin + button = 2 + prog = xine + repeat = 3 + config = Number2 +end + +# enter the number 3 +begin + button = 3 + prog = xine + repeat = 3 + config = Number3 +end + +# enter the number 4 +begin + button = 4 + prog = xine + repeat = 3 + config = Number4 +end + +# enter the number 5 +begin + button = 5 + prog = xine + repeat = 3 + config = Number5 +end + +# enter the number 6 +begin + button = 6 + prog = xine + repeat = 3 + config = Number6 +end + +# enter the number 7 +begin + button = 7 + prog = xine + repeat = 3 + config = Number7 +end + +# enter the number 8 +begin + button = 8 + prog = xine + repeat = 3 + config = Number8 +end + +# enter the number 9 +begin + button = 9 + prog = xine + repeat = 3 + config = Number9 +end + +# quit the program +begin + button = POWER + prog = xine + repeat = 3 + config = Quit +end + +## +# End of xine key bindings. +## + diff --git a/abs/core-testing/system-templates/templates/remotes/One4All/preview.jpg b/abs/core-testing/system-templates/templates/remotes/One4All/preview.jpg Binary files differnew file mode 100644 index 0000000..770d54b --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/One4All/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/One4All_6131/lircd-one4all6131.conf b/abs/core-testing/system-templates/templates/remotes/One4All_6131/lircd-one4all6131.conf new file mode 100755 index 0000000..9562f79 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/One4All_6131/lircd-one4all6131.conf @@ -0,0 +1,31 @@ +begin remote + name OneForAll_6131 + bits 20 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + header 2449 542 + one 1259 527 + zero 675 527 + gap 45430 + + begin codes + Left 0xDEB92 + Right 0x3EB92 + Up 0x9EB92 + Down 0x5EB92 + Select 0xD0B92 + Exit 0x70B92 + Info 0x2AB92 + Guide 0x58B92 + Menu 0xD8B92 + Play 0x4CB92 + Pause 0x9CB92 + Stop 0x1CB92 + JumpBack 0x6CB92 + JumpAhead 0xECB92 + JumpToStart 0x0CB92 + + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/One4All_6131/lircrc-one4all6131.txt b/abs/core-testing/system-templates/templates/remotes/One4All_6131/lircrc-one4all6131.txt new file mode 100755 index 0000000..728c046 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/One4All_6131/lircrc-one4all6131.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = Up +config = Up +end + +# Channel Down +begin +prog = mythtv +button = Down +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = Up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = Down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = Right +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = Left +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = Select +config = Space +end + +# Play +begin +prog = mythtv +button = Play +config = Return +end + +# Stop +begin +prog = mythtv +button = Stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = Exit +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = Pause +config = P +end + +# Mute +begin +prog = mythtv +button = +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = JumpAhead +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = JumpBack +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = Menu +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = Guide +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = Info +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = Menu +config = osd +end + +# Pause playback +begin +prog = mplayer +button = Pause +config = pause +end + +# Mute +begin +prog = mplayer +button = +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = JumpBack +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = JumpAhead +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = Stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = Play +config = Play +end + +begin +prog = xine +button = Stop +config = Stop +end + +begin +prog = xine +button = Exit +config = Quit +end + +begin +prog = xine +button = Pause +config = Pause +end + +begin +prog = xine +button = Up +config = EventUp +end + +begin +prog = xine +button = Down +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = Select +config = EventSelect +end + +begin +prog = xine +button = Menu +config = Menu +end + +begin +prog = xine +button = JumpAhead +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = JumpBack +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = Right +config = Volume+ +end + +begin +prog = xine +button = Left +config = Volume- +end + +begin +prog = xine +button = +config = Mute +end + +begin +prog = xine +button = Stop +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = Info +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/One4All_6131/preview.jpg b/abs/core-testing/system-templates/templates/remotes/One4All_6131/preview.jpg Binary files differnew file mode 100644 index 0000000..cc0751e --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/One4All_6131/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/One4All_7544/lircd-one4all7544.conf b/abs/core-testing/system-templates/templates/remotes/One4All_7544/lircd-one4all7544.conf new file mode 100755 index 0000000..c1787ef --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/One4All_7544/lircd-one4all7544.conf @@ -0,0 +1,49 @@ +begin remote + name one4all_7544 + bits 12 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + header 2399 615 + one 1175 620 + zero 572 620 + gap 45451 + + begin codes + 1 0x01A + 2 0x81A + 3 0x41A + 4 0xC1A + 5 0x21A + 6 0xA1A + 7 0x61A + 8 0xE1A + 9 0x11A + 10 0x51A + 0 0x91A + av 0x55A + c+ 0x09A + c- 0x89A + exit 0x55A + ok 0x8BA + up 0x43A + down 0xC3A + left 0x47A + right 0x87A + v+ 0x49A + v- 0xC9A + mute 0xADA + rr 0xD9A + play 0x59A + pause 0x99A + ff 0x39A + red 0x1BA + green 0x19A + yellow 0xB9A + blue 0xE5A + menu 0xB3A + power 0xA9A + + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/One4All_7544/lircrc-one4all7544.txt b/abs/core-testing/system-templates/templates/remotes/One4All_7544/lircrc-one4all7544.txt new file mode 100755 index 0000000..57e702a --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/One4All_7544/lircrc-one4all7544.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = c+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = c- +config = Down +end + +# General Left +begin +prog = mythtv +button = left +config = Left +end + +# General Right +begin +prog = mythtv +button = right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = v+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = v- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = ok +config = Space +end + +# Play +begin +prog = mythtv +button = play +config = Return +end + +# Stop +begin +prog = mythtv +button = exit +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = ff +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = rr +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = red +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = yellow +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = menu +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = green +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = blue +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = menu +config = osd +end + +# Pause playback +begin +prog = mplayer +button = pause +config = pause +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = rr +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = ff +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = exit +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play +config = Play +end + +begin +prog = xine +button = exit +config = Stop +end + +begin +prog = xine +button = exit +config = Quit +end + +begin +prog = xine +button = pause +config = Pause +end + +begin +prog = xine +button = up +config = EventUp +end + +begin +prog = xine +button = down +config = EventDown +end + +begin +prog = xine +button = left +config = EventLeft +end + +begin +prog = xine +button = right +config = EventRight +end + +begin +prog = xine +button = ok +config = EventSelect +end + +begin +prog = xine +button = menu +config = Menu +end + +begin +prog = xine +button = ff +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = rr +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = v+ +config = Volume+ +end + +begin +prog = xine +button = v- +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = exit +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = green +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/One4All_7544/preview.jpg b/abs/core-testing/system-templates/templates/remotes/One4All_7544/preview.jpg Binary files differnew file mode 100644 index 0000000..cb75f0b --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/One4All_7544/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/One4All_9910/lircd-one4all9910.conf b/abs/core-testing/system-templates/templates/remotes/One4All_9910/lircd-one4all9910.conf new file mode 100755 index 0000000..504718b --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/One4All_9910/lircd-one4all9910.conf @@ -0,0 +1,53 @@ +begin remote + name one4all_9910 + bits 24 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + header 4074 3901 + one 584 1909 + zero 584 909 + ptrail 589 + gap 64326 + + begin codes + 1 0x7318CE + 2 0x7328CD + 3 0x7338CC + 4 0x7348CB + 5 0x7358CA + 6 0x7368C9 + 7 0x7378C8 + 8 0x7388C7 + 9 0x7398C6 + 0 0x7308CF + enter 0x7F480B + tvvid 0x7A385C + rew 0x71D8E2 + play 0x7158EA + fwd 0x72D8D2 + rec 0x7178E8 + pause 0x7198E6 + frew 0x72C8D3 + stop 0x71F8E0 + ffwd 0x72D8D2 + pip 0x71B8E4 + swap 0x7C383C + fav 0x72D8D2 + ch- 0x72C8D3 + ch+ 0x72D8D2 + prev 0x7278D8 + left 0x7568A9 + up 0x7598A6 + down 0x7588A7 + right 0x7578A8 + select 0x7F480B + menu 0x7088F7 + guide 0x71A8E5 + exit 0x7068F9 + info 0x73C8C3 + power 0x72A8D5 + + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/One4All_9910/lircrc-one4all9910.txt b/abs/core-testing/system-templates/templates/remotes/One4All_9910/lircrc-one4all9910.txt new file mode 100755 index 0000000..ea40c6a --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/One4All_9910/lircrc-one4all9910.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = ch+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = ch- +config = Down +end + +# General Left +begin +prog = mythtv +button = left +config = Left +end + +# General Right +begin +prog = mythtv +button = right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = select +config = Space +end + +# Play +begin +prog = mythtv +button = play +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = exit +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = pause +config = P +end + +# Mute +begin +prog = mythtv +button = +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = fwd +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = rew +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = ffwd +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = frew +config = PgUp +end + +# Record +begin +prog = mythtv +button = rec +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = menu +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = info +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = prev +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = pip +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = menu +config = osd +end + +# Pause playback +begin +prog = mplayer +button = pause +config = pause +end + +# Mute +begin +prog = mplayer +button = +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = rew +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = fwd +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = ffwd +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = frew +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = pause +config = Pause +end + +begin +prog = xine +button = up +config = EventUp +end + +begin +prog = xine +button = down +config = EventDown +end + +begin +prog = xine +button = left +config = EventLeft +end + +begin +prog = xine +button = right +config = EventRight +end + +begin +prog = xine +button = enter +config = EventSelect +end + +begin +prog = xine +button = menu +config = Menu +end + +begin +prog = xine +button = ffwd +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = frew +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = ch+ +config = Volume+ +end + +begin +prog = xine +button = ch- +config = Volume- +end + +begin +prog = xine +button = +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = prev +config = EventPrior +end + +begin +prog = xine +button = info +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/One4All_9910/preview.jpg b/abs/core-testing/system-templates/templates/remotes/One4All_9910/preview.jpg Binary files differnew file mode 100644 index 0000000..827cb9a --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/One4All_9910/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Packard_bell/lircd-packard.conf b/abs/core-testing/system-templates/templates/remotes/Packard_bell/lircd-packard.conf new file mode 100755 index 0000000..9e0e783 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Packard_bell/lircd-packard.conf @@ -0,0 +1,92 @@ +# Config file for Packard Bell Remotes (with repeat codes!) +# created by Samuel Wood (sjw@umr.edu) +# +# brand: Packard Bell Remote +# model: El Cheapo Packard Bell Remote +# +# This is a config file for the cheap excess Packard Bell remotes +# you sometimes can buy from online auctions like www.onsale.com. +# +# The receiver that comes with it hooks into the serial port and works +# fine with lirc 0.5.4. +# +# The receiver that comes with the remote is near garbage. If +# you don't point almost directly at it, it will not detect. But +# it's simpler than building your own. :-) +# +# Repeat works fine for me. You just have to modify or add the +# "repeat=" lines in your .lircrc. +# +# irrecord was used to generate the file, then I modified and +# added repeat codes. +# +# The button names used are identical to what was printed on the +# remote, except for the number pads (using actual numbers like +# "1" and so forth did not seem to work. Similarly, '*' is Star +# and '#' is Hash. LMB and RMB refer to the two mousepad buttons +# on the left and right respectively. +# +# I still need to modify the gap setting. Right now, if you don't +# hold the button down long enough, it may not register, but if +# you hold it too long, it will detect a repeat or two. Feel free +# to modify this to work better. If you get it to work better, send +# me a copy. :-) + +begin remote + + name PackBell + bits 15 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 400 + + header 9065 4500 + one 597 532 + zero 597 1643 + ptrail 597 + pre_data_bits 16 + pre_data 0xF708 + post_data_bits 1 + post_data 0x0 + gap 107000 + repeat_bit 0 + repeat 9050 2250 + + begin codes + Help 0x0000000000006F90 + Phone 0x0000000000004FB0 + Message 0x0000000000006E91 + SRS 0x0000000000004EB1 + CD 0x0000000000002FD0 + Aux1 0x0000000000000FF0 + Aux2 0x0000000000002ED1 + Aux3 0x0000000000000EF1 + LMB 0x00000000000023DC + RMB 0x000000000000639C + Up 0x00000000000037C8 + Down 0x00000000000057A8 + Left 0x0000000000007788 + Right 0x00000000000017E8 + Menu 0x0000000000007B84 + Mute 0x0000000000003BC4 + Enter 0x00000000000047B8 + CHUp 0x00000000000027D8 + CHDown 0x0000000000006798 + VolUp 0x0000000000005BA4 + VolDown 0x0000000000001BE4 + Display 0x00000000000007F8 + One 0x0000000000005EA1 + Two 0x0000000000001EE1 + Three 0x0000000000000BF4 + Four 0x0000000000007E81 + Five 0x0000000000003EC1 + Six 0x0000000000004BB4 + Seven 0x0000000000005FA0 + Eight 0x0000000000001FE0 + Nine 0x0000000000002BD4 + Zero 0x0000000000003FC0 + Star 0x0000000000007F80 + Hash 0x0000000000006B94 + end codes + +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Packard_bell/lircrc-packard.txt b/abs/core-testing/system-templates/templates/remotes/Packard_bell/lircrc-packard.txt new file mode 100755 index 0000000..5e54f7a --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Packard_bell/lircrc-packard.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = CHUp +config = Up +end + +# Channel Down +begin +prog = mythtv +button = CHDown +config = Down +end + +# General Left +begin +prog = mythtv +button = Left +config = Left +end + +# General Right +begin +prog = mythtv +button = Right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = Up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = Down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = VolUp +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = VolDown +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = Enter +config = Space +end + +# Play +begin +prog = mythtv +button = +config = Return +end + +# Stop +begin +prog = mythtv +button = +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = +config = P +end + +# Mute +begin +prog = mythtv +button = Mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = Menu +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = Zero +config = 0 +end + +begin +prog = mythtv +button = One +config = 1 +end + +begin +prog = mythtv +button = Two +config = 2 +end + +begin +prog = mythtv +button = Three +config = 3 +end + +begin +prog = mythtv +button = Four +config = 4 +end + +begin +prog = mythtv +button = Five +config = 5 +end + +begin +prog = mythtv +button = Six +config = 6 +end + +begin +prog = mythtv +button = Seven +config = 7 +end + +begin +prog = mythtv +button = Eight +config = 8 +end + +begin +prog = mythtv +button = Nine +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = Menu +config = osd +end + +# Pause playback +begin +prog = mplayer +button = +config = pause +end + +# Mute +begin +prog = mplayer +button = Mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = Left +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = Right +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = +config = Play +end + +begin +prog = xine +button = +config = Stop +end + +begin +prog = xine +button = +config = Quit +end + +begin +prog = xine +button = +config = Pause +end + +begin +prog = xine +button = Up +config = EventUp +end + +begin +prog = xine +button = Down +config = EventDown +end + +begin +prog = xine +button = Left +config = EventLeft +end + +begin +prog = xine +button = Right +config = EventRight +end + +begin +prog = xine +button = +config = EventSelect +end + +begin +prog = xine +button = Menu +config = Menu +end + +begin +prog = xine +button = +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = VolUp +config = Volume+ +end + +begin +prog = xine +button = VolDown +config = Volume- +end + +begin +prog = xine +button = Mute +config = Mute +end + +begin +prog = xine +button = +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = Help +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Packard_bell/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Packard_bell/preview.jpg Binary files differnew file mode 100644 index 0000000..76453bb --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Packard_bell/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Pinnacle/lircd-pinnacle.conf b/abs/core-testing/system-templates/templates/remotes/Pinnacle/lircd-pinnacle.conf new file mode 100755 index 0000000..ebc04d9 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Pinnacle/lircd-pinnacle.conf @@ -0,0 +1,97 @@ +# +# contributed by Bart Alewijnse <scarfboy@yahoo.com> +# +# brand: Pinnacle Systems +# model: PCTV Remote (Perhaps other ones as well) +# supported devices: there's only one I know of. (serial) +# +# Mail me if your remote is only partly supported, or if it has different +# buttons than listed below. +# + +begin remote + + name PinnacleSysPCTVRemote + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + pre_data_bits 8 + pre_data 0xFE + gap 180000 + toggle_bit 0 + + begin codes + Mute 0xB53C #Mute 0x000000000000003C + Power 0x2D2F #Power 0x000000000000002F + Chan+Play 0x173F #Chan+Play 0x000000000000003F + Chan-Stop 0xC63E #Chan-Stop 0x000000000000003E + Vol+FF 0xF13B #Vol+FF 0x000000000000003B + Vol-Rew 0x643D #Vol-Rew 0x000000000000003D + 1 0x9F31 #1 0x0000000000000031 + 2 0x3D32 #2 0x0000000000000032 + 3 0xEC33 #3 0x0000000000000033 + 4 0xA834 #4 0x0000000000000034 + 5 0x7935 #5 0x0000000000000035 + 6 0xDB36 #6 0x0000000000000036 + 7 0x0A37 #7 0x0000000000000037 + 8 0x5338 #8 0x0000000000000038 + 9 0x8239 #9 0x0000000000000039 + Fullscreen 0x5E2D #Fullscreen 0x000000000000002D + 0/AV 0x203A #0/AV 0x000000000000003A + Info 0xCB2B #Info 0x000000000000002B + Preview 0xFC2E #Preview 0x000000000000002E + Record 0x3027 #Record 0x0000000000000027 + Chan_Last 0x4325 #Chan_Last 0x0000000000000025 + F_TV 0xE126 #F_TV 0x0000000000000026 + F_TELETEXT 0xB829 #F_TELETEXT 0x0000000000000029 + F_RADIO 0x1A2A #F_RADIO 0x000000000000002A + +# +# here are some extra buttons a new version of the remote seems to have +# +# contributed by Robbert Monna <rjmonna@kabelfoon.nl> +# +# brand: Pinnacle Systems +# model: PCTV Remote (newest version?) +# supported devices: dongle on serial port (from TV-Card) +# + L 0x631F #L 0x000000000000001F + Zoom 0xB21E #Zoom 0x000000000000001E + vol+ 0x851B #vol+ 0x000000000000001B + vol- 0x590F #vol- 0x000000000000000F + channel+ 0x7E17 #channel+ 0x0000000000000017 + channel- 0xC11C #channel- 0x000000000000001C + middle 0x541A #middle 0x000000000000001A + Menu 0x101D #Menu 0x000000000000001D + next 0xF619 #next 0x0000000000000019 + undo 0xAF16 #undo 0x0000000000000016 + pause 0x0D15 #pause 0x0000000000000015 + redo 0x9813 #redo 0x0000000000000013 + Rewind 0x880E #Rewind 0x000000000000000E + Play 0x2A0D #Play 0x000000000000000D + Stop 0xBF0B #Stop 0x000000000000000B + FForward 0x4407 #FForward 0x0000000000000007 + EPG 0x2718 #EPG 0x0000000000000018 + +# here are some more buttons that seem to be mapped differently from +# the ones above + +# contributed by InterCeptor ceptor_7@freemail.hu +# +# brand: Pinnacle Systems PCTV Pro Remote +# model no. of remote control: (I can't find any numbers on it) +# supported devices: serial +# + + 9 0x0000000000000082 + Zoom 0x00000000000000B2 + middle 0x0000000000000014 + + + end codes +end remote + + diff --git a/abs/core-testing/system-templates/templates/remotes/Pinnacle/lircrc-pinnacle.txt b/abs/core-testing/system-templates/templates/remotes/Pinnacle/lircrc-pinnacle.txt new file mode 100755 index 0000000..d3b9261 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Pinnacle/lircrc-pinnacle.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = channel+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = channel- +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = channel+ +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = channel- +config = Down +end + +# Volume Up +begin +prog = mythtv +button = vol+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = vol- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = +config = Space +end + +# Play +begin +prog = mythtv +button = Play +config = Return +end + +# Stop +begin +prog = mythtv +button = Stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = undo +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = Power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = pause +config = P +end + +# Mute +begin +prog = mythtv +button = Mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = FForward +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = Rewind +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = Vol+FF +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = Vol-Rew +config = PgUp +end + +# Record +begin +prog = mythtv +button = Record +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = Menu +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = EPG +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = Info +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = Chan_Last +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = F_TELETEXT +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = Fullscreen +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = Menu +config = osd +end + +# Pause playback +begin +prog = mplayer +button = pause +config = pause +end + +# Mute +begin +prog = mplayer +button = Mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = Rewind +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = FForward +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = Stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = Vol+FF +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = Vol-Rew +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = Fullscreen +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = Play +config = Play +end + +begin +prog = xine +button = Stop +config = Stop +end + +begin +prog = xine +button = Stop +config = Quit +end + +begin +prog = xine +button = pause +config = Pause +end + +begin +prog = xine +button = channel+ +config = EventUp +end + +begin +prog = xine +button = channel- +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = +config = EventSelect +end + +begin +prog = xine +button = Menu +config = Menu +end + +begin +prog = xine +button = FForward +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = Rewind +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = vol+ +config = Volume+ +end + +begin +prog = xine +button = vol- +config = Volume- +end + +begin +prog = xine +button = Mute +config = Mute +end + +begin +prog = xine +button = Stop +config = RootMenu +end + +begin +prog = xine +button = next +config = EventNext +end + +begin +prog = xine +button = undo +config = EventPrior +end + +begin +prog = xine +button = Info +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Pinnacle/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Pinnacle/preview.jpg Binary files differnew file mode 100644 index 0000000..bd8e19e --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Pinnacle/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Provideo/lircd-provideo.conf b/abs/core-testing/system-templates/templates/remotes/Provideo/lircd-provideo.conf new file mode 100755 index 0000000..d20ad85 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Provideo/lircd-provideo.conf @@ -0,0 +1,52 @@ +begin remote + + name PV951 + bits 16 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 9067 4482 + one 597 1650 + zero 597 529 + ptrail 584 + repeat 9068 2232 + pre_data_bits 16 + pre_data 0x61D6 + gap 107983 + repeat_bit 0 + + begin codes + power 0x00000000000048B7 + air/cbl 0x000000000000D02F + pc/tv 0x0000000000008877 + source 0x000000000000F00F + mts 0x000000000000C837 + mute 0x00000000000008F7 + 1 0x000000000000807F + 2 0x00000000000040BF + 3 0x000000000000C03F + 4 0x00000000000020DF + 5 0x000000000000A05F + 6 0x000000000000609F + 7 0x000000000000E01F + 8 0x00000000000010EF + 9 0x000000000000906F + 0 0x00000000000000FF + +100 0x00000000000050AF + ch_rtn 0x000000000000E817 + ch+ 0x00000000000058A7 + ch- 0x0000000000007887 + vol+ 0x000000000000D827 + vol- 0x000000000000F807 + func 0x0000000000009867 + ttx 0x000000000000B04F + pg+ 0x000000000000708F + pg- 0x000000000000B847 + cc 0x0000000000006897 + sync 0x00000000000028D7 + ch+- 0x00000000000018E7 + autoscan 0x00000000000030CF + end codes + +end remote diff --git a/abs/core-testing/system-templates/templates/remotes/Provideo/lircrc-provideo.txt b/abs/core-testing/system-templates/templates/remotes/Provideo/lircrc-provideo.txt new file mode 100755 index 0000000..90972b6 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Provideo/lircrc-provideo.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = ch+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = ch- +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = pg+ +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = pg- +config = Down +end + +# Volume Up +begin +prog = mythtv +button = vol+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = vol- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = +config = Space +end + +# Play +begin +prog = mythtv +button = +config = Return +end + +# Stop +begin +prog = mythtv +button = +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = func +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = ch_rtn +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = cc +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = func +config = osd +end + +# Pause playback +begin +prog = mplayer +button = +config = pause +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = +config = Play +end + +begin +prog = xine +button = +config = Stop +end + +begin +prog = xine +button = +config = Quit +end + +begin +prog = xine +button = +config = Pause +end + +begin +prog = xine +button = ch+ +config = EventUp +end + +begin +prog = xine +button = ch- +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = +config = EventSelect +end + +begin +prog = xine +button = +config = Menu +end + +begin +prog = xine +button = pg+ +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = pg- +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = vol+ +config = Volume+ +end + +begin +prog = xine +button = vol- +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = ch_rtn +config = EventPrior +end + +begin +prog = xine +button = ttx +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Provideo/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Provideo/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Provideo/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Sasem/lircd-sasem.conf b/abs/core-testing/system-templates/templates/remotes/Sasem/lircd-sasem.conf new file mode 100755 index 0000000..25d6521 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Sasem/lircd-sasem.conf @@ -0,0 +1,81 @@ +# +# this config file was automatically generated +# using lirc-0.7.0pre4(sasem) on Mon May 24 03:11:34 2004 +# +# contributed by Oliver Stabel (oliver.stabel@gmx.de) +# +# brand: Sasem OnAir +# model no. of remote control: n/a +# devices being controlled by this remote: +# This IR came with the Dign HV5 HTPC case, manufactured +# by Uneed in Korea (www.iuneed.com). +# AFAIK the case is called Ahanix HV5 in the US. +# The IR/VFD device is originally manufactured by Sasem, +# and sold as OnAir Remocon-V (?looks different from +# mine but should be the same?) +# + +begin remote + + name sasem + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + pre_data_bits 24 + pre_data 0x0C807F + post_data_bits 24 + post_data 0x000000 + gap 196000 + toggle_bit 0 + + + begin codes + 1 0x08F7 + 2 0x09F6 + 3 0x0AF5 + 4 0x10EF + 5 0x11EE + 6 0x12ED + 7 0x18E7 + 8 0x19E6 + 9 0x1AE5 + start 0x40BF + 0 0x41BE + full_down 0x06F9 + vol- 0x0FF0 + vol+ 0x0EF1 + esc 0x05FA + up 0x0BF4 + close 0x07F8 + left 0x03FC + enter 0x13EC + right 0x1BE4 + prev 0x0CF3 + down 0x43BC + next 0x01FE + mute 0x0DF2 + step 0x04FB + play_pause 0x49B6 + stop 0x48B7 + winamp 0x1EE1 + media_player 0x15EA + hdtv 0x17E8 + cd_player 0x16E9 + win_dvd 0x44BB + power_dvd 0x14EB + internet 0x46B9 + email 0x47B8 + a 0x45BA + b 0x1DE2 + c 0x1CE3 + d 0x1FE0 + eject 0x02FD + power 0x00FF + end codes + +end remote + + diff --git a/abs/core-testing/system-templates/templates/remotes/Sasem/lircrc-sasem.txt b/abs/core-testing/system-templates/templates/remotes/Sasem/lircrc-sasem.txt new file mode 100755 index 0000000..9d73415 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Sasem/lircrc-sasem.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = up +config = Up +end + +# Channel Down +begin +prog = mythtv +button = down +config = Down +end + +# General Left +begin +prog = mythtv +button = left +config = Left +end + +# General Right +begin +prog = mythtv +button = right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = vol+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = vol- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = enter +config = Space +end + +# Play +begin +prog = mythtv +button = play_pause +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = esc +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = play_pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = next +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = prev +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = +config = osd +end + +# Pause playback +begin +prog = mplayer +button = play_pause +config = pause +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = prev +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = next +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = full_down +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play_pause +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = esc +config = Quit +end + +begin +prog = xine +button = play_pause +config = Pause +end + +begin +prog = xine +button = up +config = EventUp +end + +begin +prog = xine +button = down +config = EventDown +end + +begin +prog = xine +button = left +config = EventLeft +end + +begin +prog = xine +button = right +config = EventRight +end + +begin +prog = xine +button = enter +config = EventSelect +end + +begin +prog = xine +button = +config = Menu +end + +begin +prog = xine +button = next +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = prev +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = vol+ +config = Volume+ +end + +begin +prog = xine +button = vol- +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Sasem/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Sasem/preview.jpg Binary files differnew file mode 100644 index 0000000..ec2b595 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Sasem/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Technisat/lircd-technisat.conf b/abs/core-testing/system-templates/templates/remotes/Technisat/lircd-technisat.conf new file mode 100755 index 0000000..3f0f3d4 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Technisat/lircd-technisat.conf @@ -0,0 +1,68 @@ +# Please make this file available to others +# by sending it to <lirc@bartelmus.de> +# +# this config file was automatically generated +# using lirc-0.6.6(any) on Sun Mar 27 11:39:40 2005 +# +# contributed by +# +# brand: +# model no. of remote control: TS35 - Airstar2 +# devices being controlled by this remote: DVB-T +# + +begin remote + + name technisat + bits 13 + flags RC5|CONST_LENGTH + eps 30 + aeps 100 + + one 907 885 + zero 907 885 + plead 954 + gap 113935 + toggle_bit 2 + + + begin codes + 1 0x0000000000001A81 + 2 0x0000000000001A82 + 3 0x0000000000001283 + 4 0x0000000000001284 + 5 0x0000000000001A85 + 6 0x0000000000001286 + 7 0x0000000000001A87 + 8 0x0000000000001288 + 9 0x0000000000001A89 + 0 0x0000000000001A80 + Mute 0x000000000000128D + Ext 0x0000000000001AB8 + a/b 0x00000000000012A3 + Power 0x0000000000001A8C + tv/radio 0x0000000000000293 + -/-- 0x0000000000001A8A + Menu 0x0000000000000292 + Back 0x0000000000000A8F + Up 0x0000000000001AA0 + Down 0x00000000000012A1 + Left 0x0000000000001A91 + Right 0x0000000000001A90 + Sfi 0x0000000000001AAF + Repeat 0x0000000000001AA2 + Red 0x00000000000002AB + Green 0x0000000000000AAC + Yellow 0x0000000000000AAD + Blue 0x0000000000000AAE + Ok 0x0000000000000297 + Check 0x00000000000002B6 + txt 0x0000000000001ABC + stop 0x00000000000012A9 + help 0x0000000000001A8F + tv/radio 0x0000000000000A93 + end codes + +end remote + + diff --git a/abs/core-testing/system-templates/templates/remotes/Technisat/lircrc-technisat.txt b/abs/core-testing/system-templates/templates/remotes/Technisat/lircrc-technisat.txt new file mode 100755 index 0000000..8baa6b9 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Technisat/lircrc-technisat.txt @@ -0,0 +1,347 @@ +begin + prog = mythtv + button = Up + config = Up +end + +begin + prog = mythtv + button = Down + config = Down +end + +begin + prog = mythtv + button = Left + config = Left +end + +begin + prog = mythtv + button = Right + config = Right +end + +begin + prog = mythtv + button = 1 + config = 1 +end + +begin + prog = mythtv + button = 2 + config = 2 +end + +begin + prog = mythtv + button = 3 + config = 3 +end + +begin + prog = mythtv + button = 4 + config = 4 +end + +begin + prog = mythtv + button = 5 + config = 5 +end + +begin + prog = mythtv + button = 6 + config = 6 +end + +begin + prog = mythtv + button = 7 + config = 7 +end + +begin + prog = mythtv + button = 8 + config = 8 +end + +begin + prog = mythtv + button = 9 + config = 9 +end + +begin + prog = mythtv + button = 0 + config = 0 +end + +begin + prog = mythtv + button = Menu + config = M +end + +begin + prog = mythtv + button = Repeat + config = H +end + +begin + prog = mythtv + button = Check + config = / +end + +begin + prog = mythtv + button = help + config = T +end + + +begin + prog = mythtv +# This is the Red key +# We'll use it for "Delete" + button = Red + config = D +end + +begin + prog = mythtv +# This is the Green key +# We'll use it for "Information" + button = Green + config = I +end + +begin + prog = mythtv +# This is the Green key +# We'll use it for "View details" + button = Yellow + config = U +end + +begin + prog = mythtv +# This is the Green key +# We'll use it for "Upcoming episodes" + button = Blue + config = O +end + + +# Note the "repeat =" strings in the volume and channel. +# This means that if you hold down the key, every nth instance will be +# passed. This depends on your system, so you may want to increase or +# decrease this and see what happens. repeat = 1 is probably too +# fast. + +begin + prog = mythtv + button = Left + repeat = 3 + config = F10 +end + +begin + prog = mythtv + button = Right + repeat = 3 + config = F11 +end + +begin + prog = mythtv +# Middle button on the diamond + button = Ok + config = P +end + +begin + prog = mythtv + button = Mute + config = | +end + +begin + prog = mythtv + button = back + config = Esc +end + + +begin + prog = mythtv + button = stop + config = Esc +end + + +#MPlayer +begin + prog = mplayer + button = stop + config = quit +end + +begin + prog = mplayer + button = help + config = osd +end + +begin + prog = mplayer + button = Ok + config = play +end + + + +begin + prog = mplayer + button = Ok + config = pause +end + +begin + prog = mplayer + button = Right + config = volume +1 + repeat = 1 +end + +begin + prog = mplayer + button = Left + config = volume -1 + repeat = 1 +end + +begin + prog = mplayer + button = Mute + config = mute +end +##XINE + + begin + prog = xine + button = Ok + repeat = 3 + config = Play + end + + begin + prog = xine + button = stop + repeat = 3 + config = Stop + end + + begin + prog = xine + button = Back + config = Quit + end + + begin + prog = xine + button = Ok + repeat = 3 + config = Pause + end + + begin + prog = xine + button = Up + repeat = 4 + config = EventUp + end + + begin + prog = xine + button = Down + repeat = 4 + config = EventDown + end + + begin + prog = xine + button = Left + repeat = 4 + config = Volume- + end + + begin + prog = xine + button = Right + repeat = 4 + config = Volume+ + end + + begin + prog = xine + button = Ok + repeat = 0 + config = EventSelect + end + + begin + prog = xine + button = Menu + repeat = 0 + config = Menu + end + + #vol down + begin + prog = xine + button = Yellow + repeat = 1 + config = EventLeft + end + + #vol up + begin + prog = xine + button = Red + repeat = 1 + config = EventRight + end + + + #ch up + begin + prog = xine + button = Green + repeat = 1 + config = SeekRelative+60 + end + + #ch down + begin + prog = xine + button = Blue + repeat = 1 + config = SeekRelative-60 + end + + + #skip chapter backward + begin + prog = xine + button = Repeat + repeat = 1 + config = EventPrior + end diff --git a/abs/core-testing/system-templates/templates/remotes/Technisat/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Technisat/preview.jpg Binary files differnew file mode 100644 index 0000000..25ecd0d --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Technisat/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Tekram/lircd-tekram.conf b/abs/core-testing/system-templates/templates/remotes/Tekram/lircd-tekram.conf new file mode 100755 index 0000000..90ae8f8 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Tekram/lircd-tekram.conf @@ -0,0 +1,48 @@ +# +# This is for the remote that Tekram bundles with its M230 card (Mach64) +# Commands from the remote are hardware-decoded +# +# contributed by Froenchenko Leonid <lfroen@galileo.co.il> +# +# brand: Tekram M230 (ATI Mach64) +# supported devices: This remote control comes with TV Tuner cards from +# Tekram based on ATI 264VT (btt829) +# + +begin remote + name tekram_m230 + bits 8 + begin codes + 0 0x00 + 1 0x01 + 2 0x02 + 3 0x03 + 4 0x04 + 5 0x05 + 6 0x06 + 7 0x07 + 8 0x08 + 9 0x09 + RECALL 0x0A + ENTER 0x17 + POWER 0x1C + SOURCE 0x15 + PC_VID 0x12 + STILL 0x11 + TTX 0x0F + FAV 0x13 + MUTE 0x10 + VOL_UP 0x1A + VOL_DN 0x1E + CH_UP 0x1B + CH_DN 0x1F + PLAY 0x0D + STOP 0x0E + REW 0x1D + FFW 0x19 + ADD_ER 0x16 + FUNC 0x14 + F_PLUS 0x18 + F_MINUS 0x0C + end codes +end remote diff --git a/abs/core-testing/system-templates/templates/remotes/Tekram/lircrc-tekram.txt b/abs/core-testing/system-templates/templates/remotes/Tekram/lircrc-tekram.txt new file mode 100755 index 0000000..6226f3d --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Tekram/lircrc-tekram.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = CH_UP +config = Up +end + +# Channel Down +begin +prog = mythtv +button = CH_DN +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = CH_UP +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = CH_DN +config = Down +end + +# Volume Up +begin +prog = mythtv +button = VOL_UP +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = VOL_DN +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = ENTER +config = Space +end + +# Play +begin +prog = mythtv +button = PLAY +config = Return +end + +# Stop +begin +prog = mythtv +button = STOP +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = POWER +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = STILL +config = P +end + +# Mute +begin +prog = mythtv +button = MUTE +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = FFW +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = REW +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = F_PLUS +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = F_MINUS +config = PgUp +end + +# Record +begin +prog = mythtv +button = FUNC +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = SOURCE +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = FAV +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = PC_VID +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = RECALL +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = TTX +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = FAV +config = osd +end + +# Pause playback +begin +prog = mplayer +button = STILL +config = pause +end + +# Mute +begin +prog = mplayer +button = MUTE +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = REW +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = FFW +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = STOP +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = F_PLUS +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = F_MINUS +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = SOURCE +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = PLAY +config = Play +end + +begin +prog = xine +button = STOP +config = Stop +end + +begin +prog = xine +button = STOP +config = Quit +end + +begin +prog = xine +button = STILL +config = Pause +end + +begin +prog = xine +button = CH_UP +config = EventUp +end + +begin +prog = xine +button = CH_DN +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = ENTER +config = EventSelect +end + +begin +prog = xine +button = SOURCE +config = Menu +end + +begin +prog = xine +button = FFW +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = REW +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = VOL_UP +config = Volume+ +end + +begin +prog = xine +button = VOL_DN +config = Volume- +end + +begin +prog = xine +button = MUTE +config = Mute +end + +begin +prog = xine +button = STOP +config = RootMenu +end + +begin +prog = xine +button = F_PLUS +config = EventNext +end + +begin +prog = xine +button = F_MINUS +config = EventPrior +end + +begin +prog = xine +button = TTX +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Tekram/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Tekram/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Tekram/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/Twinham/lircd-twinhan.conf b/abs/core-testing/system-templates/templates/remotes/Twinham/lircd-twinhan.conf new file mode 100755 index 0000000..3fb3652 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Twinham/lircd-twinhan.conf @@ -0,0 +1,44 @@ +begin remote + name TwinHanRemote + bits 32 + eps 30 + aeps 100 + one 0 0 + zero 0 0 + gap 115899 + toggle_bit 0 + begin codes + fullscreen 0x8001002C + Power 0x8001001D + 1 0x80010002 + 2 0x80010003 + 3 0x80010004 + 4 0x80010005 + 5 0x80010006 + 6 0x80010007 + 7 0x80010008 + 8 0x80010009 + 9 0x8001000A + 0 0x8001000B + rec 0x80010066 + favorite 0x8001002F + rewind 0x80010017 + forward 0x80010031 + ch+ 0x80010068 + ch- 0x8001006D + vol- 0x8001006C + vol+ 0x80010067 + recall 0x8001002E + play 0x8001001C + stop 0x8001006B + pause 0x80010014 + mute 0x80010032 + cancel 0x80010001 + capture 0x80010019 + preview 0x80010025 + epg 0x80010012 + recordlist 0x80010026 + tab 0x8001000F + teletext 0x8001001E + end codes +end remote
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Twinham/lircrc-twinhan.txt b/abs/core-testing/system-templates/templates/remotes/Twinham/lircrc-twinhan.txt new file mode 100755 index 0000000..296876c --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Twinham/lircrc-twinhan.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = ch+ +config = Up +end + +# Channel Down +begin +prog = mythtv +button = ch- +config = Down +end + +# General Left +begin +prog = mythtv +button = +config = Left +end + +# General Right +begin +prog = mythtv +button = +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = ch+ +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = ch- +config = Down +end + +# Volume Up +begin +prog = mythtv +button = vol+ +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = vol- +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = +config = Space +end + +# Play +begin +prog = mythtv +button = play +config = Return +end + +# Stop +begin +prog = mythtv +button = stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = Power +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = pause +config = P +end + +# Mute +begin +prog = mythtv +button = mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = forward +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = rewind +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = +config = PgUp +end + +# Record +begin +prog = mythtv +button = rec +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = epg +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = preview +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = recall +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = teletext +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = epg +config = osd +end + +# Pause playback +begin +prog = mplayer +button = pause +config = pause +end + +# Mute +begin +prog = mplayer +button = mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = rewind +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = forward +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = fullscreen +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = play +config = Play +end + +begin +prog = xine +button = stop +config = Stop +end + +begin +prog = xine +button = stop +config = Quit +end + +begin +prog = xine +button = pause +config = Pause +end + +begin +prog = xine +button = ch+ +config = EventUp +end + +begin +prog = xine +button = ch- +config = EventDown +end + +begin +prog = xine +button = +config = EventLeft +end + +begin +prog = xine +button = +config = EventRight +end + +begin +prog = xine +button = +config = EventSelect +end + +begin +prog = xine +button = epg +config = Menu +end + +begin +prog = xine +button = forward +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = rewind +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = vol+ +config = Volume+ +end + +begin +prog = xine +button = vol- +config = Volume- +end + +begin +prog = xine +button = mute +config = Mute +end + +begin +prog = xine +button = stop +config = RootMenu +end + +begin +prog = xine +button = +config = EventNext +end + +begin +prog = xine +button = +config = EventPrior +end + +begin +prog = xine +button = teletext +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/Twinham/preview.jpg b/abs/core-testing/system-templates/templates/remotes/Twinham/preview.jpg Binary files differnew file mode 100644 index 0000000..a034186 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/Twinham/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/X10_Lola/lircd-x10lola.conf b/abs/core-testing/system-templates/templates/remotes/X10_Lola/lircd-x10lola.conf new file mode 100755 index 0000000..7bfad44 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/X10_Lola/lircd-x10lola.conf @@ -0,0 +1,78 @@ +# lircd.conf for X-10 Lola remote +# +# this config file was automatically generated +# using lirc-0.6.6(any) on Sat May 15 14:41:38 2004 +# matching MythTV configuration file at http://wendy.seltzer.org/mythtv/lircrc +# +# +# brand: X-10 Lola +# model no. of remote control: UR89A +# devices being controlled by this remote: mythtv +# + +begin remote + + name x10_lola + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + + pre_data_bits 8 + pre_data 0x14 + post_data_bits 16 + post_data 0x0 + gap 219972 + toggle_bit 0 + + + begin codes + up 0x000000000000600B + down 0x000000000000610C + left 0x0000000000005D08 + right 0x0000000000005E09 + M 0x0000000000005F0A + 1 0x000000000000620D + 2 0x000000000000630E + 3 0x000000000000640F + 4 0x0000000000006510 + 5 0x0000000000006611 + 6 0x0000000000006712 + 7 0x0000000000006813 + 8 0x0000000000006914 + 9 0x0000000000006A15 + 0 0x0000000000006C17 + a-d 0x0000000000006B16 + a-b 0x0000000000006D18 + pageup 0x000000000000711C + pagedown 0x0000000000007520 + T 0x000000000000832E + E 0x000000000000842F + F 0x0000000000005C07 + S 0x0000000000008530 + scan- 0x000000000000802B + rew 0x0000000000007924 + play 0x0000000000007A25 + ff 0x0000000000007B26 + scan+ 0x0000000000007F2A + rec 0x0000000000007C27 + stop 0x0000000000007D28 + pause 0x0000000000007E29 + playlist 0x0000000000005601 + playing 0x000000000000822D + enter 0x000000000000731E + eu 0x0000000000006F1A + ed 0x0000000000007722 + el 0x000000000000721D + er 0x000000000000741F + alb 0x0000000000006E19 + art 0x000000000000701B + gen 0x0000000000007621 + trk 0x0000000000007823 + end codes + +end remote + + diff --git a/abs/core-testing/system-templates/templates/remotes/X10_Lola/lircrc-x10lola.txt b/abs/core-testing/system-templates/templates/remotes/X10_Lola/lircrc-x10lola.txt new file mode 100755 index 0000000..5fc949e --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/X10_Lola/lircrc-x10lola.txt @@ -0,0 +1,334 @@ +# lircrc +# lircrc configuration file for X-10 Lola remote for use with MythTV +# for use with keymapping at http://wendy.seltzer.org/mythtv/lircd.conf +# common keymappings from the keys.txt suggestions +# +# This file is public domain. No rights reserved. + +###number keys +begin + prog = mythtv + button = 0 + config = 0 +end +begin + prog = mythtv + button = 1 + config = 1 +end +begin + prog = mythtv + button = 2 + config = 2 +end +begin + prog = mythtv + button = 3 + config = 3 +end +begin + prog = mythtv + button = 4 + config = 4 +end +begin + prog = mythtv + button = 5 + config = 5 +end +begin + prog = mythtv + button = 0 + config = 0 +end +begin + prog = mythtv + button = 6 + config = 6 +end +begin + prog = mythtv + button = 7 + config = 7 +end +begin + prog = mythtv + button = 8 + config = 8 +end +begin + prog = mythtv + button = 9 + config = 9 +end + +##arrows +begin + prog = mythtv + button = play + config = Space +end + +### arrows with the multibutton +begin + prog = mythtv + button = eu + config = Up +end +begin + prog = mythtv + button = ed + config = Down +end +begin + prog = mythtv + button = el + config = Left +end +begin + prog = mythtv + button = er + config = Right +end +begin + prog = mythtv + button = enter + config = Space +end +begin + prog = mythtv + button = stop + config = Escape +end +begin + prog = mythtv + button = alb + config = m +end +begin + prog = mythtv + button = art + config = e +end +begin + prog = mythtv + button = gen + config = i +end +begin + prog = mythtv + button = trk + config = y +end +begin + prog = mythtv + button = rec + config = r +end + +begin + prog = mythtv + button = pause + config = p +end + +begin + prog = mythtv + button = T + config = t +end + +begin + prog = mythtv + button = E + config = u +end + +begin + prog = mythtv + button = S + config = a +end + +begin + prog = mythtv + button = F + config = + +end + +begin + prog = mythtv + button = playing + config = s +end + +begin + prog=mythtv + button = playlist + config = w +end + +begin + prog = mythtv + button = a-d + config = d +end + +begin + prog = mythtv + button = a-b + config = b +end +##Volume (with pageup) +begin + prog=mythtv + button = pageup + config = Page Up +end +begin + prog=mythtv + button = pagedown + config = Page Down +end + +begin + prog=mythtv + button = ch+ + config = ] +end + +begin + prog=mythtv + button = ch- + config = [ +end + +begin + prog=mythtv + button = vol- + config = q +end + +begin + prog=mythtv + button = vol+ + config = z +end + +begin + prog=mythtv + button = ff + config = > +end + +begin + prog=mythtv + button = rew + config = < +end + +begin + prog=mythtv + button = scan+ + config = } +end + +begin + prog=mythtv + button = scan- + config = { +end + + +##mplayer +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = alb +repeat = 3 +config = osd +end + +# Pause playback +begin +prog = mplayer +button = pause +repeat = 3 +config = pause +end + +# Skip ahead a minute if playing +# If paused, resume playing +begin +prog = mplayer +button = play +repeat = 3 +config = seek +1 +end + +# Stop playback and exit +begin +prog = mplayer +button = stop +repeat = 3 +config = quit +end + +# Mute +begin +prog = mplayer +button = +repeat = 3 +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = rew +repeat = 3 +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = ff +repeat = 3 +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = E +repeat = 3 +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = vol+ +repeat = 3 +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = vol- +repeat = 3 +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = playlist +repeat = 3 +config = vo_fullscreen +end + diff --git a/abs/core-testing/system-templates/templates/remotes/X10_Lola/preview.jpg b/abs/core-testing/system-templates/templates/remotes/X10_Lola/preview.jpg Binary files differnew file mode 100644 index 0000000..915a3b2 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/X10_Lola/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/imon-pad/preview.jpg b/abs/core-testing/system-templates/templates/remotes/imon-pad/preview.jpg Binary files differindex a034186..a2e46a3 100644 --- a/abs/core-testing/system-templates/templates/remotes/imon-pad/preview.jpg +++ b/abs/core-testing/system-templates/templates/remotes/imon-pad/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/imon/preview.jpg b/abs/core-testing/system-templates/templates/remotes/imon/preview.jpg Binary files differindex a034186..0829118 100644 --- a/abs/core-testing/system-templates/templates/remotes/imon/preview.jpg +++ b/abs/core-testing/system-templates/templates/remotes/imon/preview.jpg diff --git a/abs/core-testing/system-templates/templates/remotes/mceusb/lircd-mceusb.conf b/abs/core-testing/system-templates/templates/remotes/mceusb/lircd-mceusb.conf deleted file mode 100644 index ec3b73e..0000000 --- a/abs/core-testing/system-templates/templates/remotes/mceusb/lircd-mceusb.conf +++ /dev/null @@ -1,88 +0,0 @@ -# -# RC-6 config file -# -# source: http://home.hccnet.nl/m.majoor/projects__remote_control.htm -# http://home.hccnet.nl/m.majoor/pronto.pdf -# -# used by: Philips -# -######### -# -# Philips Media Center Edition remote control -# For use with the USB MCE ir receiver -# -# Dan Conti dconti|acm.wwu.edu -# -# Radio, Print, RecTV are only available on the HP Media Center remote control -# - -begin remote - - name mceusb - bits 16 - flags RC6|CONST_LENGTH - eps 30 - aeps 100 - - header 2667 889 - one 444 444 - zero 444 444 - pre_data_bits 21 - pre_data 0x37FF0 - gap 105000 - toggle_bit 22 - rc6_mask 0x100000000 - - - begin codes - -# starts at af - Radio 0x00007baf - Print 0x00007bb1 - Videos 0x00007bb5 - Pictures 0x00007bb6 - RecTV 0x00007bb7 - Music 0x00007bb8 - TV 0x00007bb9 -# no ba - d8 - Guide 0x00007bd9 - LiveTV 0x00007bda - DVD 0x00007bdb - Back 0x00007bdc - OK 0x00007bdd - Right 0x00007bde - Left 0x00007bdf - Down 0x00007be0 - Up 0x00007be1 -# no e2,e3 - Replay 0x00007be4 - Skip 0x00007be5 - Stop 0x00007be6 - Pause 0x00007be7 - Record 0x00007be8 - Play 0x00007be9 - Rewind 0x00007bea - Forward 0x00007beb - ChanDown 0x00007bec - ChanUp 0x00007bed - VolDown 0x00007bee - VolUp 0x00007bef - More 0x00007bf0 - Mute 0x00007bf1 - Home 0x00007bf2 - Power 0x00007bf3 - Enter 0x00007bf4 - Clear 0x00007bf5 - Nine 0x00007bf6 - Eight 0x00007bf7 - Seven 0x00007bf8 - Six 0x00007bf9 - Five 0x00007bfa - Four 0x00007bfb - Three 0x00007bfc - Two 0x00007bfd - One 0x00007bfe - Zero 0x00007bff - end codes - -end remote diff --git a/abs/core-testing/system-templates/templates/remotes/mceusb/lircd.conf.mceusb b/abs/core-testing/system-templates/templates/remotes/mceusb/lircd.conf.mceusb index 041c2cb..b1c26b6 100644 --- a/abs/core-testing/system-templates/templates/remotes/mceusb/lircd.conf.mceusb +++ b/abs/core-testing/system-templates/templates/remotes/mceusb/lircd.conf.mceusb @@ -24,81 +24,140 @@ begin remote - name mceusb - bits 16 - flags RC6|CONST_LENGTH - eps 30 - aeps 100 + name mceusb + bits 16 + flags RC6|CONST_LENGTH + eps 30 + aeps 100 - header 2667 889 - one 444 444 - zero 444 444 + header 2667 889 + one 444 444 + zero 444 444 pre_data_bits 21 pre_data 0x37FF0 - gap 105000 - toggle_bit 22 - rc6_mask 0x100000000 + gap 105000 + toggle_bit 22 + rc6_mask 0x100000000 - - begin codes - - Blue 0x00007ba1 - Yellow 0x00007ba2 - Green 0x00007ba3 - Red 0x00007ba4 + begin codes +#-------------------------------------------------------------b9 + Testb90 0x00007b90 + Testb91 0x00007b91 + Testb92 0x00007b92 + Testb93 0x00007b93 + Testb94 0x00007b94 + Testb95 0x00007b95 + Testb96 0x00007b96 + Testb97 0x00007b97 + Testb98 0x00007b98 + Testb99 0x00007b99 + TV????? 0x00007b9a + Messenger 0x00007b9b + Testb9c 0x00007b9c + Testb9d 0x00007b9d + Testb9e 0x00007b9e + Testb9f 0x00007b9f +#-------------------------------------------------------------ba + Testba0 0x00007ba0 + Blue 0x00007ba1 + Yellow 0x00007ba2 + Green 0x00007ba3 + Red 0x00007ba4 Teletext 0x00007ba5 - -# starts at af - Radio 0x00007baf - Print 0x00007bb1 - Videos 0x00007bb5 - Pictures 0x00007bb6 - RecTV 0x00007bb7 - Music 0x00007bb8 - TV 0x00007bb9 -# no ba - d8 - - Guide 0x00007bd9 - LiveTV 0x00007bda - DVD 0x00007bdb - Back 0x00007bdc - OK 0x00007bdd - Right 0x00007bde - Left 0x00007bdf - Down 0x00007be0 - Up 0x00007be1 - - Star 0x00007be2 - Hash 0x00007be3 - - Replay 0x00007be4 - Skip 0x00007be5 - Stop 0x00007be6 - Pause 0x00007be7 - Record 0x00007be8 - Play 0x00007be9 - Rewind 0x00007bea - Forward 0x00007beb - ChanDown 0x00007bec - ChanUp 0x00007bed - VolDown 0x00007bee - VolUp 0x00007bef - More 0x00007bf0 - Mute 0x00007bf1 - Home 0x00007bf2 - Power 0x00007bf3 - Enter 0x00007bf4 - Clear 0x00007bf5 - Nine 0x00007bf6 - Eight 0x00007bf7 - Seven 0x00007bf8 - Six 0x00007bf9 - Five 0x00007bfa - Four 0x00007bfb - Three 0x00007bfc - Two 0x00007bfd - One 0x00007bfe - Zero 0x00007bff - end codes - + Testba6 0x00007ba6 + Testba7 0x00007ba7 + Testba8 0x00007ba8 + Testba9 0x00007ba9 + Testbaa 0x00007baa + Testbab 0x00007bab + Testbac 0x00007bac + Testbad 0x00007bad + Testbae 0x00007bae + Radio 0x00007baf +#-------------------------------------------------------------bb + Testbb0 0x00007bb0 + Print 0x00007bb1 + Testbb2 0x00007bb2 + Testbb3 0x00007bb3 + Testbb4 0x00007bb4 + Videos 0x00007bb5 + Pictures 0x00007bb6 + RecordedTV 0x00007bb7 + Music 0x00007bb8 + TV 0x00007bb9 + Testbba 0x00007bba + Testbbb 0x00007bbb + Testbbc 0x00007bbc + Testbbd 0x00007bbd + Testbbe 0x00007bbe + Testbbf 0x00007bbf +#-------------------------------------------------------------- bc + Testbc0 0x00007bc0 + Testbc1 0x00007bc1 + Testbc2 0x00007bc2 + Testbc3 0x00007bc3 + Testbc4 0x00007bc4 + Testbc5 0x00007bc5 + Testbc6 0x00007bc6 + Testbc7 0x00007bc7 + Testbc8 0x00007bc8 + Testbc9 0x00007bc9 + Testbca 0x00007bca + Testbcb 0x00007bcb + Testbcc 0x00007bcc + Testbcd 0x00007bcd + Testbce 0x00007bce + Testbcf 0x00007bcf +#---------------------------------------------------------------bd + Testbd0 0x00007bd0 + Testbd1 0x00007bd1 + Testbd2 0x00007bd2 + Testbd3 0x00007bd3 + Testbd4 0x00007bd4 + Testbd5 0x00007bd5 + Testbd6 0x00007bd6 + Testbd7 0x00007bd7 + Testbd8 0x00007bd8 + Guide 0x00007bd9 + LiveTV 0x00007bda + DVDMenu 0x00007bdb + Back 0x00007bdc + OK 0x00007bdd + Right 0x00007bde + Left 0x00007bdf +#--------------------------------------------------------------be + Down 0x00007be0 + Up 0x00007be1 + Star 0x00007be2 + Hash 0x00007be3 + Replay 0x00007be4 + Skip 0x00007be5 + Stop 0x00007be6 + Pause 0x00007be7 + Record 0x00007be8 + Play 0x00007be9 + Rewind 0x00007bea + Forward 0x00007beb + ChannelDown 0x00007bec + ChannelUp 0x00007bed + VolumeDown 0x00007bee + VolumeUp 0x00007bef +#---------------------------------------------------------------bf + More 0x00007bf0 + Mute 0x00007bf1 + Start 0x00007bf2 + Power 0x00007bf3 + Enter 0x00007bf4 + Clear 0x00007bf5 + Nine 0x00007bf6 + Eight 0x00007bf7 + Seven 0x00007bf8 + Six 0x00007bf9 + Five 0x00007bfa + Four 0x00007bfb + Three 0x00007bfc + Two 0x00007bfd + One 0x00007bfe + Zero 0x00007bff + end codes end remote diff --git a/abs/core-testing/system-templates/templates/remotes/mceusb/lircrc-mceusb b/abs/core-testing/system-templates/templates/remotes/mceusb/lircrc-mceusb index 3738bfa..a6a8c48 100644 --- a/abs/core-testing/system-templates/templates/remotes/mceusb/lircrc-mceusb +++ b/abs/core-testing/system-templates/templates/remotes/mceusb/lircrc-mceusb @@ -1,393 +1,877 @@ -# lircrc.mceusb - -################### +# /home/mythtv/.mythtv/lircrc +# +# From Knoppmyth R5.5 - Copied by UniCav # -# MythTV +# Media Center Edition Remote Control and +# Remote Control Keys on Media Center Keyboard # -################### +############################################################################## +# For use with the USB MCE ir receiver +# MythTV LIRC config file for the mceusb2 or lirc_mod_mce module + +# Info about lircrc statment +#begin +# prog = ... Program controlled, irxevent, irexec, mythtv, mplayer, +# xine, or others +# remote = ... mceusb, or what ever you happen to have or want to call it +# button = ... remote keys names from your lircd.conf file +# repeat = ... repeat = 2 is fast, repeat = 4 is slower +# delay = ... delay before repeat, 1 is short, 4 is longer +# config = ... output key presses to key bindings editor +# mode = ... +# flags = ... +#end + +# Test your new Lirc settings +# /etc/init.d/lirc restart To restart Lirc +# ctrl-alt-backspace To restart the frontend + +# Updated January 30th 2008 BAK +# for the Knoppmyth project + +################################### irexec ################################### +# the lirc irexec program must be running for this section + +# Will perform a complete shutdown +#begin +# prog = irexec +# button = Power +# config = /usr/bin/sudo halt +#end + +############################### Mythtv Section ############################### +# MythTV Key Binding Editor location +# Mythtv Menu >>Utilities / Setup >>Edit Keys +# Key Bindings can also be found in Myth Web + +# Record +begin + prog = mythtv + button = Record + config = R +end + +# Stop begin - prog = mythtv - button = One - config = 1 + prog = mythtv + button = Stop + config = Esc end +# Pause begin - prog = mythtv - button = Two - config = 2 + prog = mythtv + button = Pause + config = P end +# Rewind (while viewing) begin - prog = mythtv - button = Three - config = 3 + prog = mythtv + button = Rewind + repeat = 0 + delay = 1 + config = < end +# Fast forward (while viewing) begin - prog = mythtv - button = Four - config = 4 + prog = mythtv + button = Forward + repeat = 0 + delay = 1 + config = > end +# Play begin - prog = mythtv - button = Five - config = 5 + prog = mythtv + button = Play + config = L end +# Skip backward (1 min default) begin - prog = mythtv - button = Six - config = 6 + prog = mythtv + button = Replay + repeat = 4 + delay = 4 + config = PgUp end +# Skip forward (1 min default) begin - prog = mythtv - button = Seven - config = 7 + prog = mythtv + button = Skip + repeat = 4 + delay = 4 + config = PgDown end +#<><><><><><><><><><><> Mythtv Control <><><><> + +# Escape/Exit/Back begin - prog = mythtv - button = Eight - config = 8 + prog = mythtv + button = Back + config = Esc end +# Bring up OSD info begin - prog = mythtv - button = Nine - config = 9 + prog = mythtv + button = More + config = I end begin - prog = mythtv - button = Zero - config = 0 + prog = mythtv + button = Left + repeat = 2 + delay = 4 + config = Left end begin - prog = mythtv - button = Back - config = Esc + prog = mythtv + button = Right + repeat = 2 + delay = 4 + config = Right end begin - prog = mythtv - button = Guide - config = M + prog = mythtv + button = Up + repeat = 2 + delay = 4 + config = Up end begin - prog = mythtv - button = More - config = I + prog = mythtv + button = Down + repeat = 2 + delay = 4 + config = Down end +# OK/Select begin - prog = mythtv - button = VolDown - config = F10 + prog = mythtv + button = OK + config = Return end +# The Start Button is really just a Menu key begin - prog = mythtv - button = VolUp - config = F11 + prog = mythtv + button = Start + config = M +end + +#<><><><><><><><><><><><><><><> + +# Volume-Up +begin + prog = mythtv + button = VolumeUp + repeat = 1 + config = ] +end + +# Volume-Down +begin + prog = mythtv + button = VolumeDown + repeat = 1 + config = [ +end + +# Mute +begin + prog = mythtv + button = Mute + config = | +end + +# Channel Up +begin + prog = mythtv + button = ChannelUp + repeat = 3 +# delay = 1 + config = Up +end + +# Channel Down +begin + prog = mythtv + button = ChannelDown + config = Down + repeat = 3 +# delay = 1 +end + +# Numbers 0-9 <><><><><><><><><><><> + +begin + prog = mythtv + button = One +# repeat = 2 + config = 1 +end + +begin + prog = mythtv + button = Two +# repeat = 2 + config = 2 +end + +begin + prog = mythtv + button = Three +# repeat = 2 + config = 3 +end + +begin + prog = mythtv + button = Four +# repeat = 2 + config = 4 +end + +begin + prog = mythtv + button = Five +# repeat = 2 + config = 5 end begin - prog = mythtv - button = Up - config = Up + prog = mythtv + button = Six +# repeat = 2 + config = 6 end begin - prog = mythtv - button = Down - config = Down + prog = mythtv + button = Seven +# repeat = 2 + config = 7 end begin - prog = mythtv - button = Left - config = Left + prog = mythtv + button = Eight +# repeat = 2 + config = 8 +End + +begin + prog = mythtv + button = Nine +# repeat = 2 + config = 9 end begin - prog = mythtv - button = Right - config = Right + prog = mythtv + button = Zero +# repeat = 2 + config = 0 end +#<><><><><><><><><><><><><><><><><><><><> +# Seek to previous commercial cut point +# or remove all cut points from the Editing Cutlist begin - prog = mythtv - button = Play - config = Return + prog = mythtv + button = Star + config = Q end +# Seek to next commercial cut point +# or add commericial cut points to the Editing Cutlist begin - prog = mythtv - button = OK - config = Return + prog = mythtv + button = Hash + config = Z end +# Brings up the delete box begin - prog = mythtv - button = Mute - config = | + prog = mythtv + button = Clear + repeat = 0 + config = D end +# Toggle Editing Cutlist on or off begin - prog = mythtv - button = Rewind - config = Left + prog = mythtv + button = Enter + repeat = 0 + config = E end +#<><><><><><><><> Additional Remote Commands <><><><><><><><> +# All buttons in this section must be configured using +# MythTV's KeyBindings JumpPoints editor. +# >>> Utilities/ Setup >>> Edit Keys >>> JumpPoints >>> + +# Listen to Myth Music begin - prog = mythtv - button = Forward - config = Right + prog = mythtv + button = Music + config = Ctrl+Alt+M end +# at this time connects to MythStreem begin prog = mythtv - button = Record - config = R + button = Radio + config = Ctrl+Alt+S end +# View Pictures begin - prog = mythtv - button = Stop - config = O + prog = mythtv + button = Pictures + config = Ctrl+Alt+P end +# Watch Videos begin - prog = mythtv - button = Pause - config = P + prog = mythtv + button = Videos + config = Ctrl+Alt+V end -# Use for backwards commercial skip +# Watch Live TV with Live TV Guide open begin - prog = mythtv - button = Replay - config = Q + prog = mythtv + button = TV + config = Ctrl+Alt+K end -# Use for forward commercial skip +# Watch Live TV begin - prog = mythtv - button = Skip - config = Z + prog = mythtv + button = LiveTV + config = Ctrl+Alt+L end +# Recorded TV Programs +begin + prog = mythtv + button = RecordedTV + config = Ctrl+Alt+R +end -################### -# -# MPlayer -# -################### +# Program Guide +begin + prog = mythtv + button = Guide + config = Ctrl+Alt+G +end + +# Play DVD +# There must be a disk in the DVD drive or it dos nothing begin - prog = mplayer - button = Stop - config = quit + prog = mythtv + button = DVDMenu + config = Ctrl+Alt+D end +# unused key +#begin +# prog = mythtv +# button = Messenger +# config = Ctrl+Alt+A +#end + +# <><><><><><><><><><><><><> Teletext Buttons <><><><><><><><><><><> + +# Teletext = Show interactive MHEG screens begin - prog = mplayer - button = Play - config = seek +1 + prog = mythtv + button = Teletext + config = F7 end - + +# Red = Red button for interactive screens. begin - prog = mplayer - button = More - config = osd + prog = mythtv + button = Red + config = F2 end - + +# Green = Green button for interactive screens. begin - prog = mplayer - button = Replay - config = seek -10 - repeat = 1 + prog = mythtv + button = Green + config = F3 end - + +# Yellow = Yellow button for interactive screens. begin - prog = mplayer - button = Skip - config = seek +10 - repeat = 1 + prog = mythtv + button = Yellow + config = F4 end +# Blue = Blue button for interactive screens. begin - prog = mplayer - button = Rewind - config = seek -30 - repeat = 1 + prog = mythtv + button = Blue + config = F5 end + +######################## MPlayer Section ##################################### +# "mplayer -input keylist" Prints all keys that can be bound to commands. +# "mplayer -input cmdlist" Prints all commands that can be bound to keys +# "man mplayer" Prints documentation for MPlayer + +# Show OSD begin - prog = mplayer - button = Forward - config = seek +30 - repeat = 1 + prog = mplayer + button = OK + config = osd end +# Pause playback begin - prog = mplayer - button = Pause - config = pause + prog = mplayer + button = Pause + config = pause end - + +# If paused, resume playing begin - prog = mplayer - button = VolUp - config = volume +1 - repeat = 1 + prog = mplayer + button = Play + config = pause end +# Stop playback and exit begin - prog = mplayer - button = VolDown - config = volume -1 - repeat = 1 + prog = mplayer + button = Stop + config = quit end +# Volume-Up begin - prog = mplayer - button = Mute - config = mute + prog = mplayer + button = VolumeUp + repeat = 2 + config = volume +1 end -################### -# -# Xine +# Volume-Down +begin + prog = mplayer + button = VolumeDown + repeat = 2 + config = volume -1 +end + +# Mute +begin + prog = mplayer + button = Mute + config = mute +end + +# Seek back 60 seconds +begin + prog = mplayer + button = Left + repeat = 2 + config = seek -60 +end + +# Seek forward 60 seconds +begin + prog = mplayer + button = Right + repeat = 2 + config = seek +60 +end + +# Seek back 10 seconds +begin + prog = mplayer + button = Rewind + repeat = 2 + config = seek -10 +end + +# Seek forward 30 seconds +begin + prog = mplayer + button = Forward + repeat = 2 + config = seek +30 +end + +# Quit +begin + prog = mplayer + button = Back + config = quit +end + +# Seek forward 10 minutes +begin + prog = mplayer + button = Skip + repeat = 2 + config = seek +600 +end + +# Seek backward 10 minutes +begin + prog = mplayer + button = Replay + repeat = 2 + config = seek -600 +end + +# increase brightness +begin + prog = mplayer + button = ChannelUp + repeat = 2 + config = brightness +1 +end + +# decrease brightness +begin + prog = mplayer + button = ChannelDown + repeat = 2 + config = brightness -1 +end + +# Toggle full-screen +#begin +# prog = mplayer +# button = #??????????????????????????? +# repeat = 2 +# config = vo_fullscreen +#end + + +########################## XINE Section ###################################### # -################### -# Xine lirc setup +# For a compleate list of Xine's Lirc Keybindings use comand +# xine --keymap=lirc>.lircrc.xine.keybindings +# This creates a file in current directory called ".lircrc.xine.keybindings" +# Note: Xine has diferent sets of keybindings for lirc and keyboard + +## 01/14/2008 +# xine key bindings. +# Automatically generated by xine-ui version 0.99.6cvs. + +#<><><><><><><><><><> Xine Video Movement <><><><> + +# start playback +begin + prog = xine + button = Play + config = Play +end + +# playback pause toggle +begin + prog = xine + button = Pause + config = Pause +end + +# stop playback +begin + prog = xine + button = Stop + config = Stop +end + +# take a snapshot +#begin +# prog = xine +# button = Record +# repeat = 2 +# config = Snapshot +#end + +begin + prog = xine + button = Forward + repeat = 2 +# delay = 1 + config = SeekRelative+7 +end + begin -prog = xine -button = Play -repeat = 3 -config = Play + prog = xine + button = Rewind + repeat = 2 +# delay = 1 + config = SeekRelative-7 end +# set position to -60 seconds in current stream begin -prog = xine -button = Stop -repeat = 3 -config = Stop + prog = xine + button = Replay + repeat = 2 + delay = 1 + config = SeekRelative-60 end +# set position to +60 seconds in current stream begin -prog = xine -button = Back -repeat = 3 -config = Quit + prog = xine + button = Skip + repeat = 2 + delay = 1 + config = SeekRelative+60 end +#<><><><><><><><><><><><>Xine Control<><><><><><><><><> +# quit the program begin -prog = xine -button = Pause -repeat = 3 -config = Pause + prog = xine + button = Back + config = Quit end +#display stream information using OSD begin -prog = xine -button = Up -repeat = 3 -config = EventUp + prog = xine + button = More + config = OSDStreamInfos end +# menu navigate up begin -prog = xine -button = Down -repeat = 3 -config = EventDown + prog = xine + button = Up + repeat = 2 + delay = 2 + config = EventUp end +# menu navigate down begin -prog = xine -button = Left -repeat = 3 -config = EventLeft + prog = xine + button = Down + repeat = 2 + delay = 2 + config = EventDown end +# menu navigate left begin -prog = xine -button = Right -repeat = 3 -config = EventRight + prog = xine + button = Left + repeat = 2 + delay = 2 + config = EventLeft end +# menu navigate right begin -prog = xine -button = OK -repeat = 3 -config = EventSelect + prog = xine + button = Right + repeat = 2 + delay = 2 + config = EventRight end +# menu select begin -prog = xine -button = Home -repeat = 3 -config = Menu + prog = xine + button = OK + config = EventSelect end +# jump to Root Menu +begin + prog = xine + button = Start + config = Menu +end + +#<><><><><><><><><><><><><><><><><><><> Xine Volume / Channel <><><><><><><><> + +# increment audio volume begin -prog = xine -button = Forward -repeat = 3 -config = SpeedFaster + prog = xine + button = VolumeUp + repeat = 1 + config = Volume+ end +# decrement audio volume begin -prog = xine -button = Rewind -repeat = 3 -config = SpeedSlower + prog = xine + button = VolumeDown + repeat = 1 + config = Volume- end +# audio muting toggle begin -prog = xine -button = VolUp -repeat = 3 -config = Volume+ + prog = xine + button = Mute + config = Mute end +# increase brightness by 10 begin -prog = xine -button = VolDown -repeat = 3 -config = Volume- + prog = xine + button = ChannelUp + config = BrightnessControl+ end +# decrease brightness by 10 begin -prog = xine -button = Mute -repeat = 3 -config = Mute + prog = xine + button = ChannelDown + config = BrightnessControl- end +#<><><><><><><><><><><><><><><><><> Xine Menu <><><><> + +# unused key +#begin +# prog = xine +# button = RecordedTV +# config = ???????? +#end + +# visibility toggle of stream info window begin -prog = xine -button = ChanUp -repeat = 3 -config = EventNext + prog = xine + button = Guide + config = SetupShow end +# unused key +#begin +# prog = xine +# button = LiveTV +# config = ???????? +#end + +# jump to Title Menu begin -prog = xine -button = ChanDown -repeat = 3 -config = EventPrior + prog = xine + button = DVDMenu + config = RootMenu end +#<><><><><><><><><><><><><><><><><> Xine Stream Position <><><><> + +# set position in current stream + begin -prog = xine -button = More -repeat = 3 -config = OSDStreamInfos -end + prog = xine + button = Zero + config = SetPosition0% +end + +begin + prog = xine + button = One + config = SetPosition10% +end + +begin + prog = xine + button = Two + config = SetPosition20% +end + +begin + prog = xine + button = Three + config = SetPosition30% +end + +begin + prog = xine + button = Four + config = SetPosition40% +end + +begin + prog = xine + button = Five + config = SetPosition50% +end + +begin + prog = xine + button = Six + config = SetPosition60% +end + +begin + prog = xine + button = Seven + config = SetPosition70% +end + +begin + prog = xine + button = Eight + config = SetPosition80% +end + +begin + prog = xine + button = Nine + config = SetPosition90% +end + +#<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> + +# decrement playback speed (slow motion slowdown) +begin + prog = xine + button = Star + config = SpeedSlower +end + +# increment playback speed (slow motion speedup) +begin + prog = xine + button = Hash + config = SpeedFaster +end + +# reset playback speed +begin + prog = xine + button = Clear + config = SpeedReset +end + +# set position to -30 seconds in current stream config = SeekRelative-30 +# set position to +30 seconds in current stream config = SeekRelative+30 +# eject the current medium config = Eject +# zoom in config = ZoomIn +# zoom out config = ZoomOut +# fullscreen toggle config = ToggleFullscreen +## +# End of xine . +## diff --git a/abs/core-testing/system-templates/templates/remotes/receiver_usb.id b/abs/core-testing/system-templates/templates/remotes/receiver_usb.id index 71b37d1..f76442a 100644 --- a/abs/core-testing/system-templates/templates/remotes/receiver_usb.id +++ b/abs/core-testing/system-templates/templates/remotes/receiver_usb.id @@ -4,6 +4,7 @@ 0bc7:0004|ATI_Remote_Wonder| " ATI Remote Wonder" 0e9c:0000|streamzap| "Streamzap Remote" 0fe9:9010|dvico| "DVICO Remote:" +0fe9:db98|Dvico-Dual-Digital4-rev2| "Dvico Dual Digital4 rev2 0fe9/db98" 6253:0100|Twinhan_USB| "the VisionPlus is a Twinhan clone " 1509:9242|mceusb| "FIC eHome Infrared Transceiver 1509/9242" 1934:0602|mceusb| "Fintek eHome Infrared Transceiver 1934/0602" @@ -31,3 +32,4 @@ 1784:0007|mceusb| "Topseed HP eHome Infrared Transceiver 1784/0007" 1784:0008|mceusb| "Topseed eHome Infrared Transceiver 1784/0008" 045e:006d|mceusb-old| "USB Microsoft IR Transceiver Driver 045e/006d" + diff --git a/abs/core-testing/system-templates/templates/remotes/snapstream_mini/lircd-snapstreammini.conf b/abs/core-testing/system-templates/templates/remotes/snapstream_mini/lircd-snapstreammini.conf new file mode 100755 index 0000000..edc97f5 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/snapstream_mini/lircd-snapstreammini.conf @@ -0,0 +1,70 @@ +# +# this config file was automatically generated +# using WinLIRC 0.6.5 (LIRC 0.6.1pre3) on Sat Sep 09 22:22:16 2006 +# +# contributed by David Salisbury +# +# brand: SnapStream +# model: Firefly-Mini +# supported devices: +# + +begin remote + + name SnapStream_Firefly-Mini + bits 16 + flags SPACE_ENC + eps 25 + aeps 100 + + header 9052 4475 + one 627 1623 + zero 627 496 + ptrail 627 + repeat 9081 2206 + pre_data_bits 16 + pre_data 0xFF + gap 39962 + toggle_bit 0 + + + begin codes + Close 0xC23D + Mute 0xE21D + 1 0xD22D + 2 0xF20D + 3 0xCA35 + 4 0xEA15 + 5 0xDA25 + 6 0xFA05 + 7 0x827D + 8 0xA25D + 9 0x926D + 0 0x8A75 + VolumeUp 0xB24D + VolumeDown 0x9A65 + ChannelUp 0xAA55 + ChannelDown 0x02FD + Up 0xBA45 + Down 0x0AF5 + Left 0x22DD + Right 0x32CD + OK 0x12ED + Last 0x2AD5 + Exit 0x1AE5 + Option 0x3AC5 + Firefly 0xC03F + Menu 0xE01F + Record 0xD02F + Guide 0xF00F + Stop 0xC837 + Previous 0xE817 + Play 0xD827 + Next 0xF807 + Rewind 0x40BF + Pause 0x609F + FastForward 0x50AF + end codes + +end remote + diff --git a/abs/core-testing/system-templates/templates/remotes/snapstream_mini/lircrc-snapstreammini.txt b/abs/core-testing/system-templates/templates/remotes/snapstream_mini/lircrc-snapstreammini.txt new file mode 100755 index 0000000..4c557a2 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/snapstream_mini/lircrc-snapstreammini.txt @@ -0,0 +1,474 @@ +# Channel Up +begin +prog = mythtv +button = ChannelUp +config = Up +end + +# Channel Down +begin +prog = mythtv +button = ChannelDown +config = Down +end + +# General Left +begin +prog = mythtv +button = Left +config = Left +end + +# General Right +begin +prog = mythtv +button = Right +config = Right +end + + # LiveTV browse up channel +begin +prog = mythtv +button = Up +config = Up +end + +# LiveTV browse down channel +begin +prog = mythtv +button = Down +config = Down +end + +# Volume Up +begin +prog = mythtv +button = VolumeUp +config = F11 +end + +# Volume Down +begin +prog = mythtv +button = VolumeDown +config = F10 +end + + # OK/Select +begin +prog = mythtv +button = OK +config = Space +end + +# Play +begin +prog = mythtv +button = Play +config = Return +end + +# Stop +begin +prog = mythtv +button = Stop +config = Esc +end + +# Escape/Exit/Back +begin +prog = mythtv +button = Exit +config = Esc +end + +# Power Off/Exit +begin +prog = irexec +button = Firefly +config = /usr/bin/mythpowerbutton.sh +end + +# Pause +begin +prog = mythtv +button = Pause +config = P +end + +# Mute +begin +prog = mythtv +button = Mute +config = | +end + +# Fast forward (10 sec default) +begin +prog = mythtv +button = FastForward +config = Right +end + +# Rewind (10 sec default) +begin +prog = mythtv +button = Rewind +config = Left +end + +# Skip forward (10 min default) +begin +prog = mythtv +button = Next +config = PgDown +end + +# Skip backward (10 min default) +begin +prog = mythtv +button = Previous +config = PgUp +end + +# Record +begin +prog = mythtv +button = Record +config = R +end + +# Delete +begin +prog = mythtv +button = +config = D +end + +# OSD browse +begin +prog = mythtv +button = +config = O +end + +# Display EPG while in live TV, +# View selected show while in EPG +begin +prog = mythtv +button = Guide +config = M +end + +# Bring up OSD info +begin +prog = mythtv +button = +config = I +end + +# Change display aspect ratio +begin +prog = mythtv +button = Option +config = W +end + +# Seek to previous commercial cut point +begin +prog = mythtv +button = +config = Q +end + +# Seek to next commercial cut point +begin +prog = mythtv +button = +config = Z +end + +# Numbers 0-9 + +begin +prog = mythtv +button = 0 +config = 0 +end + +begin +prog = mythtv +button = 1 +config = 1 +end + +begin +prog = mythtv +button = 2 +config = 2 +end + +begin +prog = mythtv +button = 3 +config = 3 +end + +begin +prog = mythtv +button = 4 +config = 4 +end + +begin +prog = mythtv +button = 5 +config = 5 +end + +begin +prog = mythtv +button = 6 +config = 6 +end + +begin +prog = mythtv +button = 7 +config = 7 +end + +begin +prog = mythtv +button = 8 +config = 8 +end + +begin +prog = mythtv +button = 9 +config = 9 +end + +# Previous channel +begin +prog = mythtv +button = Last +config = H +end + +# Closed Captioning +begin +prog = mythtv +button = Close +config = T +end + +# Picture in Picture +begin +prog = mythtv +button = +config = V +end + +# Change channels on both cards +begin +prog = mythtv +button = +config = N +end + +# Clear cutpoints in cutlist +begin +prog = mythtv +button = +config = Q +end + + + + +### MPlayer lirc setup + +# Show OSD +begin +prog = mplayer +button = Guide +config = osd +end + +# Pause playback +begin +prog = mplayer +button = Pause +config = pause +end + +# Mute +begin +prog = mplayer +button = Mute +config = mute +end + +# Seek back 10 seconds +begin +prog = mplayer +button = Rewind +config = seek -10 +end + +# Seek forward 30 seconds +begin +prog = mplayer +button = FastForward +config = seek +30 +end + +# Quit +begin +prog = mplayer +button = Stop +config = quit +end + +# Seek forward 10 minutes +begin +prog = mplayer +button = Next +config = seek +600 +end + +# Seek backward 10 minutes +begin +prog = mplayer +button = Previous +config = seek -600 +end + +# Toggle full-screen +begin +prog = mplayer +button = +config = vo_fullscreen +end + + + +### Xine lirc setup + +begin +prog = xine +button = Play +config = Play +end + +begin +prog = xine +button = Stop +config = Stop +end + +begin +prog = xine +button = Exit +config = Quit +end + +begin +prog = xine +button = Pause +config = Pause +end + +begin +prog = xine +button = Up +config = EventUp +end + +begin +prog = xine +button = Down +config = EventDown +end + +begin +prog = xine +button = Left +config = EventLeft +end + +begin +prog = xine +button = Right +config = EventRight +end + +begin +prog = xine +button = OK +config = EventSelect +end + +begin +prog = xine +button = Guide +config = Menu +end + +begin +prog = xine +button = FastForward +#config = SpeedFaster +config = SeekRelative+60 +end + +begin +prog = xine +button = Rewind +#config = SpeedSlower +config = SeekRelative-60 +end + +begin +prog = xine +button = VolumeUp +config = Volume+ +end + +begin +prog = xine +button = VolumeDown +config = Volume- +end + +begin +prog = xine +button = Mute +config = Mute +end + +begin +prog = xine +button = Stop +config = RootMenu +end + +begin +prog = xine +button = Next +config = EventNext +end + +begin +prog = xine +button = Previous +config = EventPrior +end + +begin +prog = xine +button = Firefly +config = OSDStreamInfos +end
\ No newline at end of file diff --git a/abs/core-testing/system-templates/templates/remotes/snapstream_mini/preview.jpg b/abs/core-testing/system-templates/templates/remotes/snapstream_mini/preview.jpg Binary files differnew file mode 100644 index 0000000..aa6d9d2 --- /dev/null +++ b/abs/core-testing/system-templates/templates/remotes/snapstream_mini/preview.jpg diff --git a/abs/core-testing/transcode/PKGBUILD b/abs/core-testing/transcode/PKGBUILD index d1d0fe5..4535bce 100644 --- a/abs/core-testing/transcode/PKGBUILD +++ b/abs/core-testing/transcode/PKGBUILD @@ -5,7 +5,7 @@ pkgname=transcode _sripver=0.3-4 pkgver=1.1.0 -pkgrel=5 +pkgrel=6 pkgdesc="Transcode is a video/DVD ripper and encoder for the terminal/console." arch=(i686 x86_64) license=('GPL2') diff --git a/abs/core-testing/tweaker/PKGBUILD b/abs/core-testing/tweaker/PKGBUILD index ebd3ed4..43ca495 100644 --- a/abs/core-testing/tweaker/PKGBUILD +++ b/abs/core-testing/tweaker/PKGBUILD @@ -1,7 +1,7 @@ pkgname=tweaker pkgver=1 -pkgrel=38 -pkgdesc="" +pkgrel=48 +pkgdesc="applies tweaks to the baseline configuration and attempts to optimize settings for the hardware it finds" arch=('i686' 'x86_64') depends=('bash' 'perl' 'perl-dbi' 'perl-exception-class' 'perl-log-log4perl' 'perl-log-dispatch' 'perl-getopt-lucid' 'perl-list-member' 'perl-class-data-inheritable' 'perl-devel-stacktrace' 'perl-xml-twig') @@ -16,19 +16,18 @@ install=tweaker.install build() { TWEAKER_ROOT=usr/LH/tweaker mkdir -p $startdir/pkg/$TWEAKER_ROOT - mkdir -p $startdir/pkg/$TWEAKER_ROOT/{bin,fs,tcf} + mkdir -p $startdir/pkg/$TWEAKER_ROOT/{bin,fs,tcf} mkdir -p $startdir/pkg/etc/profile.d mkdir -p $startdir/pkg/usr/lib/perl5/vendor_perl/Tweaker/ cd $startdir # executables install -m0777 -D bin/* $startdir/pkg/$TWEAKER_ROOT/bin - # parallel root directory structure used for seeding configuration files -# install -m0777 -D fs/ $startdir/pkg/$TWEAKER_ROOT/fs - cp -rp fs $startdir/pkg/$TWEAKER_ROOT/ - chmod -R 0777 $startdir/pkg/$TWEAKER_ROOT/ + # Ensure shell variables are configured at start; ensure $TWEAKER_ROOT/bin is in $PATH + cp -rp fs $startdir/pkg/$TWEAKER_ROOT/ + chmod -R 0777 $startdir/pkg/$TWEAKER_ROOT/ # Tweaker configuration files install -m0555 -D tcf/* $startdir/pkg/$TWEAKER_ROOT/tcf @@ -37,7 +36,6 @@ build() { #install -m0755 log4perl.conf $startdir/pkg/etc/log4perl.conf install -m0755 log4perl.conf $startdir/pkg/$TWEAKER_ROOT - # Ensure shell variables are configured at start; ensure $TWEAKER_ROOT/bin is in $PATH install -m0755 tweaker.sh $startdir/pkg/etc/profile.d/tweaker.sh # Copy our tweaker Perl modules for general use diff --git a/abs/core-testing/tweaker/bin/twk_audio.pl b/abs/core-testing/tweaker/bin/twk_audio.pl index eec7992..47a2415 100755 --- a/abs/core-testing/tweaker/bin/twk_audio.pl +++ b/abs/core-testing/tweaker/bin/twk_audio.pl @@ -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 = "[ -e $mplayer_conf ] && sed -i '/^.*a[o,c].*=.*#TWEAKER/d' $mplayer_conf"; + my $delete_old_tweaker_edits = "[ -e $mplayer_conf ] && sed -i '/^.*a[o,c,f].*=.*#TWEAKER/d' $mplayer_conf && sed -i '/^speed.*=.*#TWEAKER/d' $mplayer_conf"; # comment out old entries that some other process may have made - my $comment_out_external_edits = "[ -e $mplayer_conf ] && sed -i 's/^\\(a[o,c].*=.*\\)/#\\1/g' $mplayer_conf"; + my $comment_out_external_edits = "[ -e $mplayer_conf ] && sed -i 's/^\\(a[o,c,f].*=.*\\)/#\\1/g' $mplayer_conf && sed -i 's/^\\(speed.*=.*\\)/#\\1/g' $mplayer_conf"; my $command1; my $command2=""; ($card, $device) = poll_for_digital_output_device; @@ -160,6 +160,14 @@ sub implement_option { } } } + # for all options + $command2 = "echo -e 'af=scaletempo=stride=30:overlap=.50:search=10 #TWEAKER\nspeed=1.0 #TWEAKER' >> $mplayer_conf"; + if (my $error = execute_shell_command($command2)) { + $logger->error("ERROR: $error"); + $logger->error("ERROR: Unable to implement option $option."); + exit(-1); + } + $logger->info("Edited $mplayer_conf for $option audio."); } diff --git a/abs/core-testing/tweaker/bin/twk_cpu.pl b/abs/core-testing/tweaker/bin/twk_cpu.pl index 118bac1..8bddbe3 100755 --- a/abs/core-testing/tweaker/bin/twk_cpu.pl +++ b/abs/core-testing/tweaker/bin/twk_cpu.pl @@ -57,6 +57,36 @@ sub get_HDD_size { # #} +# Edit mplayer.conf to tell mplayer to drop video frames when necessary. This should do no harm +# on systems that don't need the option, and it should make video watchable on those that do. +sub edit_mplayer_conf { + use vars qw($mplayer_conf); + $mplayer_conf = "/etc/mplayer/mplayer.conf"; + + # delete any old entries that Tweaker made, relevant to this particular edit + my $delete_old_tweaker_edits = "[ -e $mplayer_conf ] && sed -i '/^.*hardframedrop.*=.*#TWEAKER/d' $mplayer_conf"; + # comment out old entries that some other process may have made + my $comment_out_external_edits = "[ -e $mplayer_conf ] && sed -i 's/^\\(hardframedrop.*=.*\\)/#\\1/g' $mplayer_conf"; + my $command1; + my $command2=""; + my $logger = get_logger('tweaker.script'); + + if (my $error = execute_shell_command("$delete_old_tweaker_edits && $comment_out_external_edits")) { + $logger->error("ERROR: $error"); + $logger->error("ERROR: Unable to implement option $option."); + exit(-1); + } + + $command2 = "echo -e 'hardframedrop=true #TWEAKER' >> $mplayer_conf"; + if (my $error = execute_shell_command($command2)) { + $logger->error("ERROR: $error"); + $logger->error("ERROR: Unable to implement option $option."); + exit(-1); + } + + $logger->info("Edited $mplayer_conf to drop video frames when CPU is overloaded."); +} + # Try to implement the given option. sub implement_option { my($option) = @_; @@ -106,6 +136,7 @@ sub implement_option { change_or_make_setting('OSDTheme', 'blootube-osd') || exit -1; change_or_make_setting('PlayBoxShading', '0') || exit -1; change_or_make_setting('PlaybackExitPrompt', '2') || exit -1; + edit_mplayer_conf(); } else { exit -1; } diff --git a/abs/core-testing/tweaker/bin/twk_general.pl b/abs/core-testing/tweaker/bin/twk_general.pl index 387920c..f181310 100755 --- a/abs/core-testing/tweaker/bin/twk_general.pl +++ b/abs/core-testing/tweaker/bin/twk_general.pl @@ -87,10 +87,8 @@ sub implement_option { # # better awareness of different video extensions # - 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", "mkv") { - change_or_make_entry("videotypes", [["playcommand", "Internal"], ["f_ignore", "0"], ["use_default", "1"]], [["extension", $video_ext]]); + foreach my $video_ext ("mp2", "tp", "ts", "m2p", "nuv", "mkv", "ogg", "theora") { + change_or_make_entry("videotypes", [["playcommand", "Default"], ["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]]); @@ -407,15 +405,18 @@ sub implement_option { change_or_make_setting('StartupSecsBeforeRecording', '120'); change_or_make_setting('TruncateDeletesSlowly', '1'); change_or_make_setting('UseOutputPictureControls', '1'); - change_or_make_setting('UserJob4', 'myth2mp3 -cut \"%DIR%\" \"%FILE%\"'); + change_or_make_setting('UserJob2', 'myth2x264 \"%DIR%/%FILE%\" \"%TITLE% - %SUBTITLE%\" \"%CHANID%\" \"%STARTTIME%\" \"%JOBID%\"'); + change_or_make_setting('UserJob3', 'myth2xvid \"%DIR%/%FILE%\" \"%TITLE% - %SUBTITLE%\" \"%CHANID%\" \"%STARTTIME%\" \"%JOBID%\"'); + change_or_make_setting('UserJob4', 'myth2mp3 \"%DIR%/%FILE%\" \"%TITLE% - %SUBTITLE%\" \"%CHANID%\" \"%STARTTIME%\"'); change_or_make_setting('UserJobDesc1', 'User Job #1'); - change_or_make_setting('UserJobDesc2', 'User Job #2'); - change_or_make_setting('UserJobDesc3', 'User Job #3'); + change_or_make_setting('UserJobDesc2', 'Transcode for iPod'); + change_or_make_setting('UserJobDesc3', 'Transcode to xvid'); change_or_make_setting('UserJobDesc4', 'Extract audio'); - change_or_make_setting('VCDPlayerCommand', 'mplayer vcd:\/\/ -cdrom-device %d -fs -zoom -vo xv -vf pp=lb'); + change_or_make_setting('UseOutputPictureControls','0'); # If this is set to '1' it can swap blue for red (and vice versa) on some nVidia GPUs + change_or_make_setting('VCDPlayerCommand', 'mplayer-wrapper.pl vcd:\/\/ -cdrom-device %d -fs -zoom'); 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'); + change_or_make_setting('VideoDefaultPlayer', 'mplayer-wrapper.pl -fs -zoom %s'); change_or_make_setting('VideoGalleryNoDB', '1'); change_or_make_setting('VideoStartupDir', $SQL_DirVideo); change_or_make_setting('VideoTreeNoDB', '1'); diff --git a/abs/core-testing/tweaker/bin/twk_tuners.pl b/abs/core-testing/tweaker/bin/twk_tuners.pl index f928ea7..22c6a23 100755 --- a/abs/core-testing/tweaker/bin/twk_tuners.pl +++ b/abs/core-testing/tweaker/bin/twk_tuners.pl @@ -105,9 +105,11 @@ my @capture_card_patterns = ( # [ "bt878-based frame grabbers", [".*0400.*109e.*036e.*", ".*0480.*109e.*0878.*"], # ["V4L", ["NTSC"]]], - ); + # USB patterns -# USB patterns + [ "Dvico Dual Digital 4 rev2", [".* 0fe9:db98 .*"], + ["DVB", ["DVB-T"]]], + ); # "Hauppauge Nova-T 500 Dual DVB-T" @@ -148,8 +150,8 @@ sub implement_option { if (connect_to_db("DBI:mysql:$dbconnectionstring")) { my $logger = get_logger('tweaker.script'); - # Get a list of all PCI devices for later processing - my @lspci = split('\n', execute_shell_command("lspci -mn")); + # Get a list of all PCI and USB devices for later processing + my @device_list = split('\n', execute_shell_command("lspci -mn ; lsusb")); # Iterate through the list of known tuner cards, then the list of known network tuners. # For each known tuner, configure a safe default for it if it's found. Set up @@ -338,22 +340,22 @@ sub implement_option { # Configure each supported tuner/capture device detected on the system. - # built-in, PCI, or PCI Express - $logger->debug("Processing local devices..."); - for my $pci_device (@lspci) { - $logger->debug("DEVICE: $pci_device"); + # built-in, PCI, PCI Express, or USB + $logger->debug("Processing built-in, PCI, PCI Express or USB devices..."); + for my $a_device (@device_list) { + $logger->debug("DEVICE: $a_device"); my $match=0; - for my $pci_device_data (@capture_card_patterns) { - $logger->debug("\tIs there a @$pci_device_data[0] at this location?"); + for my $device_data (@capture_card_patterns) { + $logger->debug("\tIs there a @$device_data[0] at this location?"); - for my $patterns (@$pci_device_data[1]) { + for my $patterns (@$device_data[1]) { for my $pattern (@$patterns) { if ($match) { next; } else { $logger->debug("\t\tPATTERN: $pattern"); - $match += ($pci_device =~ m/$pattern/i); + $match += ($a_device =~ m/$pattern/i); if ($match) { $global_device_count++; # 1-indexed @@ -364,10 +366,10 @@ sub implement_option { # The sub_types are used to populate the videosource table. # The device type and "best" sub_type are used to set the 'sourceid' field of the cardinput table. - for my $typeblock (@$pci_device_data[2]) { - my $pci_device_type = @$typeblock[0]; - $logger->debug("\t\tDEVICE TYPE: $pci_device_type"); # e.g. "DVB", "MPEG", etc. - $cardtypes{$pci_device_type}++; + for my $typeblock (@$device_data[2]) { + my $device_type = @$typeblock[0]; + $logger->debug("\t\tDEVICE TYPE: $device_type"); # e.g. "DVB", "MPEG", etc. + $cardtypes{$device_type}++; my $sourceid = -1; for my $sub_types (@$typeblock[1]) { for my $sub_type (@$sub_types) { @@ -387,7 +389,7 @@ sub implement_option { # # POPULATE capturecard table # - my $defaultinput = make_capturecard_SQL($global_device_count, $cardtypes{$pci_device_type}-1, $pci_device_type, -1); + my $defaultinput = make_capturecard_SQL($global_device_count, $cardtypes{$device_type}-1, $device_type, -1); # # POPULATE cardinput table @@ -457,10 +459,6 @@ sub implement_option { close(SHELL2); } # else: don't scan the internet! - # USB devices - $logger->debug("Processing USB devices..."); - $logger->debug("\t(no USB devices supported yet)"); - # Filesystem Tweaks for tuners # This only works with the Nova-T-500 card, but it doesn't hurt any other cards execute_shell_command("echo \"#switch on onboard amplifier on Nova-T-500 card\" > /etc/modprobe.d/dvb-usb-dib0700"); diff --git a/abs/core-testing/tweaker/fs/home/mythtv/.config/smplayer/smplayer.ini b/abs/core-testing/tweaker/fs/home/mythtv/.config/smplayer/smplayer.ini index 33439a7..9660607 100644 --- a/abs/core-testing/tweaker/fs/home/mythtv/.config/smplayer/smplayer.ini +++ b/abs/core-testing/tweaker/fs/home/mythtv/.config/smplayer/smplayer.ini @@ -330,7 +330,7 @@ reset_zoom=Shift+E auto_zoom=Shift+W zoom_169=Shift+A zoom_235=Shift+S -exit_fullscreen=Esc +exit_fullscreen= next_osd=O dec_contrast=1 inc_contrast=2 diff --git a/abs/core-testing/v4l-dvb/PKGBUILD b/abs/core-testing/v4l-dvb/PKGBUILD index c7aedbb..03508eb 100644 --- a/abs/core-testing/v4l-dvb/PKGBUILD +++ b/abs/core-testing/v4l-dvb/PKGBUILD @@ -4,7 +4,7 @@ pkgname=v4l-dvb _kernver=2.6.28-LinHES pkgver=1 -pkgrel=8 +pkgrel=9 pkgdesc="V4L-DVB drivers from mercurial" arch=('i686' 'x86_64') license=('GPL2') diff --git a/abs/core-testing/vdpinfo-71xx/PKGBUILD b/abs/core-testing/vdpinfo-71xx/PKGBUILD new file mode 100644 index 0000000..bf20d32 --- /dev/null +++ b/abs/core-testing/vdpinfo-71xx/PKGBUILD @@ -0,0 +1,25 @@ +# It is not expected that vdpau will work with the 71xx nVidia drivers, but we still want +# 'vdpinfo' to return something when users run it, even if the real 'vdpinfo' won't build +# for their nVidia driver version. + +pkgname=vdpinfo-71xx +pkgver=1 +pkgrel=1 +pkgdesc="tells the user they can't handle vdpau" +license=('GPLv2') +arch=('i686' 'x86_64') +depends=('nvidia-71xx-utils' 'nvidia-71xx') +# Just let the dependency on the right nvidia and nvidia-utils versions +# handle conflicts via those packages conflicts. +# conflicts=() +provides=('vdpinfo') +source=(vdpinfo) +md5sums=() + +build() { + LH_ROOT=/usr/LH + mkdir -p $startdir/pkg/$LH_ROOT/bin/ + + cd $startdir + install -m0755 -D vdpinfo $startdir/pkg/$LH_ROOT/bin/ +}
\ No newline at end of file diff --git a/abs/core-testing/vdpinfo-71xx/vdpinfo b/abs/core-testing/vdpinfo-71xx/vdpinfo new file mode 100755 index 0000000..9b237dc --- /dev/null +++ b/abs/core-testing/vdpinfo-71xx/vdpinfo @@ -0,0 +1,2 @@ +#!/bin/bash +echo "vdpau is unsupported" diff --git a/abs/core-testing/vdpinfo-96xx/PKGBUILD b/abs/core-testing/vdpinfo-96xx/PKGBUILD new file mode 100644 index 0000000..34391dd --- /dev/null +++ b/abs/core-testing/vdpinfo-96xx/PKGBUILD @@ -0,0 +1,25 @@ +# It is not expected that vdpau will work with the 71xx nVidia drivers, but we still want +# 'vdpinfo' to return something when users run it, even if the real 'vdpinfo' won't build +# for their nVidia driver version. + +pkgname=vdpinfo-96xx +pkgver=1 +pkgrel=1 +pkgdesc="tells the user they can't handle vdpau" +license=('GPLv2') +arch=('i686' 'x86_64') +depends=('nvidia-96xx-utils' 'nvidia-96xx') +# Just let the dependency on the right nvidia and nvidia-utils versions +# handle conflicts via those packages conflicts. +# conflicts=() +provides=('vdpinfo') +source=(vdpinfo) +md5sums=() + +build() { + LH_ROOT=/usr/LH + mkdir -p $startdir/pkg/$LH_ROOT/bin/ + + cd $startdir + install -m0755 -D vdpinfo $startdir/pkg/$LH_ROOT/bin/ +}
\ No newline at end of file diff --git a/abs/core-testing/vdpinfo-96xx/vdpinfo b/abs/core-testing/vdpinfo-96xx/vdpinfo new file mode 100755 index 0000000..9b237dc --- /dev/null +++ b/abs/core-testing/vdpinfo-96xx/vdpinfo @@ -0,0 +1,2 @@ +#!/bin/bash +echo "vdpau is unsupported" diff --git a/abs/core-testing/vdpinfo/PKGBUILD b/abs/core-testing/vdpinfo/PKGBUILD new file mode 100644 index 0000000..d9bfadc --- /dev/null +++ b/abs/core-testing/vdpinfo/PKGBUILD @@ -0,0 +1,35 @@ +# Because this requires parts of the nVidia driver, this parallels the PKGBUILD for +# the nvidia package. + +pkgname=vdpinfo +pkgver=185.18.14 +pkgrel=1 +pkgdesc="polls the GPU for nVidia vdpau capabilities" +arch=('i686' 'x86_64') +[ "$CARCH" = "i686" ] && ARCH=x86 +[ "$CARCH" = "x86_64" ] && ARCH=x86_64 +url="http://www.cs.rug.nl/~wladimir/vdpinfo/" +license=('MIT') +depends=('nvidia-utils=185.18.14' 'nvidia=185.18.14') +# Just let the dependency on the right nvidia and nvidia-utils versions +# handle conflicts via those packages conflicts. +# conflicts=() +provides=('vdpinfo') +source=(http://www.cs.rug.nl/~wladimir/vdpinfo/vdpinfo-0.0.5.tar.gz http://us.download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run) +md5sums=() + +build() { + LH_ROOT=/usr/LH + mkdir -p $startdir/pkg/$LH_ROOT/bin/ + + # Extract nVidia driver to get at the headers we need to build vdpau + cd $startdir/src/ + sh NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run --extract-only + + # build vdpinfo + cd $startdir/src/vdpinfo + #g++ -O3 -g -I../NVIDIA-Linux-x86-185.18.14-pkg0/usr/include -c -o vdpinfo.o vdpinfo.cpp + #g++ -O3 -g -I$startdir/src/usr/include -c -o vdpinfo.o vdpinfo.cpp + make + install -m0755 vdpinfo $startdir/pkg/$LH_ROOT/bin/ +}
\ No newline at end of file diff --git a/abs/core-testing/x264/PKGBUILD b/abs/core-testing/x264/PKGBUILD index 8d85cb5..4f1756b 100644 --- a/abs/core-testing/x264/PKGBUILD +++ b/abs/core-testing/x264/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 24030 2009-01-11 23:42:22Z eric $ +# $Id: PKGBUILD 36085 2009-04-19 22:58:09Z eric $ # Contributor: damir <damir@archlinux.org> # Maintainer: Paul Mattal <paul@archlinux.org> pkgname=x264 -pkgver=20090108 +pkgver=20090416 pkgrel=1 pkgdesc="free library for encoding H264/AVC video streams" arch=(i686 x86_64) @@ -12,7 +12,7 @@ license=('GPL') depends=('libx11') makedepends=('yasm') source=(ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-$pkgver-2245.tar.bz2) -md5sums=('27129d3cc2e93899069f3caf6eb51f68') +md5sums=('f5730feaa6175539e8227e48e38b7d67') build() { cd "$srcdir/$pkgname-snapshot-$pkgver-2245" || return 1 diff --git a/abs/core-testing/zoneminder/PKGBUILD b/abs/core-testing/zoneminder/PKGBUILD index bdd1669..6bfb082 100644 --- a/abs/core-testing/zoneminder/PKGBUILD +++ b/abs/core-testing/zoneminder/PKGBUILD @@ -3,7 +3,7 @@ pkgname=zoneminder pkgver=1.23.3 -pkgrel=4 +pkgrel=6 pkgdesc="Capture, analyse, record and monitor video security cameras." arch=('i686') url="http://www.zoneminder.com" @@ -31,7 +31,7 @@ noextract=() md5sums=('ee803f0f71d6e67adf602c3557fb6bc9' 'af8631abe20cd7dcab1a023af7d4f3e8' '246852035905589617b9e0dc63759d27' - '0e91bbfddbed78ffe1c968d11af49ccb' + '320dd41725945218de0672f899e1d739' '818cec2eba7e1efb3f5c410f6dd8d528' 'f9720872736f26d17bc49d8725b75ae4' 'f0c4b80b3c2f1e0fe90d7b52191b7e51' diff --git a/abs/core-testing/zoneminder/zmupdate.patch b/abs/core-testing/zoneminder/zmupdate.patch index 2c94d89..913a6ec 100644 --- a/abs/core-testing/zoneminder/zmupdate.patch +++ b/abs/core-testing/zoneminder/zmupdate.patch @@ -9,3 +9,15 @@ print( "Executing '$command'\n" ) if ( DBG_LEVEL > 0 ); my $output = qx($command); +diff -Naru ZoneMinder-1.23.3-orig/scripts/zmlogrotate.conf.in ZoneMinder-1.23.3/scripts/zmlogrotate.conf.in +--- ZoneMinder-1.23.3-orig/scripts/zmlogrotate.conf.in 2008-02-25 20:19:52.000000000 +1030 ++++ ZoneMinder-1.23.3/scripts/zmlogrotate.conf.in 2009-07-20 20:18:16.000000000 +0930 +@@ -7,7 +7,7 @@ + missingok + } + +-Now the weekly db backup ++# Now the weekly db backup + + /var/lib/zm/zm_backup.sql { + weekly |