diff options
Diffstat (limited to 'perl-install/standalone/drakxtv')
-rwxr-xr-x | perl-install/standalone/drakxtv | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/perl-install/standalone/drakxtv b/perl-install/standalone/drakxtv deleted file mode 100755 index b07fee392..000000000 --- a/perl-install/standalone/drakxtv +++ /dev/null @@ -1,148 +0,0 @@ -#!/usr/bin/perl -# DrakxTV -# $Id$ - -# Copyright (C) 2002-2004 MandrakeSoft (tvignaud@mandrakesoft.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, 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 -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -use strict; -use lib qw(/usr/lib/libDrakX); - -use common; -use standalone; #- warning, standalone must be loaded very first, for 'explanations' - -use interactive; -use detect_devices; -use lang; -use log; - -my $in = 'interactive'->vnew; - -sub scan4channels() { - # xawtv has been installed by DrakX when/if it's detected a tv - # card. - - $in->do_pkgs->ensure_is_installed('xawtv', '/usr/bin/scantv'); - - my ($ftable_id, $norm); - # this table must be checked on each xawtv release: - my %freqtables = - ("us-bcast" => N("USA (broadcast)"), "us-cable" => N("USA (cable)"), "us-cable-hrc" => N("USA (cable-hrc)"), "canada-cable" => N("Canada (cable)"), - "japan-bcast" => N("Japan (broadcast)"), "japan-cable" => N("Japan (cable)"), "china-bcast" => N("China (broadcast)"), - "europe-west" => N("West Europe"), "europe-east" => N("East Europe"), "italy" => N("Italy"), "ireland" => N("Ireland"), "france" => N("France [SECAM]"), - "newzealand" => N("Newzealand"), "australia" => N("Australia"), - "southafrica" => N("South Africa"), - "argentina" => N("Argentina"), - "australia-optus" => N("Australian Optus cable TV"), - -1 => N("All") - ); - # Info: HRC means "Harmonically Related Carrier" - - my %countries = - ( - "AR" => [ "argentina" ], - "AU" => [ "australia" ], - "FR" => [ "france", "SECAM" ], - "CA" => [ "canada-cable", "NTSC" ], - "IE" => [ "ireland" ], - "IT" => [ "italy" ], - "JP" => [ "japan-bcast", "NTSC-JP" ], - "NZ" => [ "newzealand" ], - "AT|BE|CH|DE|ES|GB|SE" => [ "europe-west" ], - "US" => [ "us-bcast", "NTSC" ], - "ZA" => [ "southafrica" ], - "CN|TW" => [ "china-bcast" ] - ); - - my $tbl; - my $locale = lang::read('', $>); - $locale->{country} =~ /$_/ and $tbl = $countries{$_} foreach keys %countries; - if ($tbl) { - $ftable_id = $tbl->[0]; - $norm = $tbl->[1] if $tbl->[1]; - } - # default to pal since most people use that - $norm ||= "PAL"; - log::l("[drakxtv] guess country=>$locale->{country}, norm=>$norm, area=>$ftable_id"); - my %users = map { $_->[6] || $_->[0] => $_->[7] } grep { $_->[2] == 0 || 500 <= $_->[2] } list_passwd(); - my $user; - - if ($in->ask_from("TVdrake", N("Please,\ntype in your tv norm and country"), - [ - { label => N("TV norm:"), val => \$norm, list => [ "NTSC", "NTSC-JP", "PAL", "PAL-M", "PAL-N", "PAL-NC", "SECAM" ], type => 'combo' }, - { label => N("Area:"), val => \$ftable_id, list => [keys %freqtables], format => sub { $freqtables{$_[0]} }, sort => 1 }, - { label => N("User :"), val => \$user, list => [ keys %users ], sort => 1 }, - ] - )) { - my $_wait = $in->wait_message(N("Please wait"), - N("Scanning for TV channels in progress ...")); - # we provide scantv a bogus table (france) which will - # will be ignored since "All" is selected (because of -a) - $ftable_id = "france -a " if $ftable_id eq -1; - # Note that this'll be broken if/when we implement interactive::qt - my $use_X = $in->isa('interactive::gtk') && -x "/usr/X11R6/bin/xvt"; - my $home = $users{$user}; #ENV{HOME}; - my $is_bttv_loaded = cat_("/proc/modules"); - # workaround non loaded bttv - run_program::run('/sbin/modprobe', 'bttv') if $< == 0 && $is_bttv_loaded !~ /bttv/; - my $i = system(($use_X ? "xvt -T '" . N("Scanning for TV channels") . " ...' -e " : "") . - "scantv -n $norm -C /dev/v4l/vbi$::i -c /dev/v4l/video$::i -f $ftable_id -o $home/.xawtv" . - ($use_X ? "" : " &>$home/tmp/scantv.log;")); - if ($i) { - $in->ask_warn(N("Error"), N("There was an error while scanning for TV channels")); - } else { - log::explanations("created file $home/.xawtv"); - $in->ask_warn(N("Have a nice day!"), - N("Now, you can run xawtv (under X Window!) !\n")) unless $use_X; - } - } -} - -my @devices = detect_devices::getTVcards(); -push @devices, { driver => 'bttv', description => 'dummy' } if $::testing && !@devices; -if (@devices) { - my $not_canceled = 1; - my $configured; - # TODO: That need some work for multiples TV cards - each_index { - if (($< == 0 || $::testing) && (grep { detect_devices::isTVcard($_) } @devices)) { - require harddrake::v4l; - require modules; - modules::mergein_conf('/etc/modules.conf') if !$configured; - $configured++; - $not_canceled &&= harddrake::v4l::config($in, $_->{driver}); - modules::write_conf(); - } - scan4channels() if $not_canceled; - } @devices -} else { - $in->ask_warn(N("No TV Card detected!"), formatAlaTeX( - N("No TV Card has been detected on your machine. Please verify that a Linux-supported Video/TV Card is correctly plugged in. - - -You can visit our hardware database at: - - -http://www.linux-mandrake.com/en/hardware.php3"))); -} -$in->exit(0) if defined $in; - - -# TODO: -# - offer to sort channels after -# - use Video-Capture-V4l-0.221 ? -# - configure kwintv and zapping ? => they've already wizards :-( -# - install xawtv if needed through consolhelper |