Florent BERANGER <[EMAIL PROTECTED]> writes: > > > Yes, about drakxtv bugs. Sorry if it's out of topic but I think that > > > drakxtv need to be upgraded. > > > > there's no bug in not configuring something that cannot be configured > > ? In http://www.mandrake.com/en/archives/cooker/2002-11/msg00160.php message, > the author says that he have to configure something manually. It's just a > little bug, don't formalize please.
this message talk about bttv and old tv card that don't have subsystem ids we can check to discriminate the right model. i don't see the drakxtv bug here. unlike what you said, this is where harddrake::v4l is nice since it enable one to pick his tv card & tuner models in pull down menus. > > > > > > i quote you : "drakxtv doesn't handle all bttv cards" > > > > > > > > > > yes, some bttv cards doesn't works fine (no sound, only one channel > > > > > as described in > > > > > http://www.mandrake.com/en/archives/cooker/2002-11/msg00160.php ) > > > > > > > > you speak of totally different things: > > > > > > > > - support of cards supported by bttv, which we do fine for quite some > > > > time > > > > > > > > - support for other devices (such as dvb, saa7134, usb video, ...). > > > > for each new case we added, we need to think before doing > > > > anything. so are they webcam or real tv tuners ? > > > > > > They are TV cards in user view. > > > > all i want to know is if they support chanell selection ? > > no scantv with actual driver (see : http://www.emuit.com/webcam.html > for more info). this page source is currently : <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title></title></head> <body></body></html> ... which is quite empty anyway, i reviewed your patch. i cleaned the source. here's the cleaned (untested) version :
Index: harddrake/data.pm =================================================================== RCS file: /cooker/gi/perl-install/harddrake/data.pm,v retrieving revision 1.41 diff -u -w -r1.41 data.pm --- harddrake/data.pm 2002/11/06 13:20:18 1.41 +++ harddrake/data.pm 2002/11/06 16:22:19 @@ -11,7 +11,7 @@ # Update me each time you handle one more devices class (aka configurator) sub unknown { - grep { ($_->{media_type} !~ /tape|SERIAL_(USB|SMBUS)|Printer|DISPLAY|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|STORAGE_(IDE|SCSI|OTHER)|BRIDGE|NETWORK/) && ($_->{driver} ne 'scanner') && $_->{type} ne 'network' && $_->{driver} !~ /Mouse:USB/} @devices; + grep { ($_->{media_type} !~ /tape|SERIAL_(USB|SMBUS)|Printer|DISPLAY|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|STORAGE_(IDE|SCSI|OTHER)|BRIDGE|NETWORK/) && ($_->{driver} ne '^(scanner|usbvideo)$') && $_->{type} ne 'network' && $_->{driver} !~ /Mouse:USB/ } @devices; } @@ -28,7 +28,7 @@ ["DVDROM","DVD-ROM", "cd.png", "", sub { grep { ! detect_devices::isBurner($_) } detect_devices::dvdroms}, 0 ], ["TAPE","Tape", "tape.png", "", \&detect_devices::tapes, 0 ], ["VIDEO","Videocard", "video.png", "$sbindir/XFdrake", sub { grep { $_->{driver} =~ /^(Card|Server):/ || $_->{media_type} =~ 'DISPLAY_VGA' } @devices }, 1 ], - ["TV","Tvcard", "tv.png", "/usr/bin/XawTV", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_VIDEO' && $_->{bus} eq 'PCI' } @devices}, 0 ], + ["TV","Tvcard", "tv.png", "/usr/bin/XawTV", sub { grep { ($_->{media_type} =~ 'MULTIMEDIA_VIDEO' && $_->{bus} eq 'PCI')||($_->{driver} eq 'usbvision' && (($_->{description} =~ '(Hauppauge|Pinnacle Systems, Inc.)'))) } @devices}, 0 ], ["MULTIMEDIA_OTHER","Other MultiMedia devices", "multimedia.png", "", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_OTHER' } @devices}, 0 ], ["AUDIO","Soundcard", "sound.png", "$sbindir/draksound", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_AUDIO' } @devices}, 0 ], ["WEBCAM","Webcam", "webcam.png", "", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_VIDEO' && $_->{bus} ne 'PCI'} @devices }, 0 ], Index: standalone/drakxtv =================================================================== RCS file: /cooker/gi/perl-install/standalone/drakxtv,v retrieving revision 1.27 diff -u -r1.27 drakxtv --- standalone/drakxtv 2002/11/06 13:20:21 1.27 +++ standalone/drakxtv 2002/11/06 16:02:11 @@ -134,20 +134,24 @@ } } -my @devices = grep { $_->{media_type} eq 'MULTIMEDIA_VIDEO' } detect_devices::probeall(1); +my @devices = grep { ($_->{media_type} eq 'MULTIMEDIA_VIDEO') || ($_->{driver} eq 'usbvision' && (($_->{description} =~ '(Hauppauge|Pinnacle Systems, Inc.)'))) } detect_devices::probeall(1); if (@devices) { # TODO: That need some work for multiples TV cards foreach (@devices) { - if (($< == 0) && (grep { $_->{driver} =~ '(bttv|saa7134)' } @devices)) { - require harddrake::v4l; - require modules; - no strict 'subs'; - modules::read_conf; - harddrake::v4l::config($in, $_->{driver}); - modules::write_conf; - } - scan4channels(); - $in->exit(0); + if ($< == 0) { + if (grep { $_->{driver} =~ '(bttv|saa7134)' } @devices) { + require harddrake::v4l; + require modules; + no strict 'subs'; + modules::read_conf; + harddrake::v4l::config($in, $_->{driver}); + modules::write_conf; + scan4channels(); + } elsif (grep { $_->{driver} = 'usbvision' } @devices) { + $in->ask_warn(_("usbision USB TV cards"),_("Your TV card is not fully impemented yet in actual version.\nSee www.emuit.com/webcam.html web page for driver status.")); + } + + } } } else { $in->ask_warn(N("No TV Card detected!"), formatAlaTeX( @@ -159,6 +163,7 @@ http://www.linux-mandrake.com/en/hardware.php3"))); } +$in->exit(0) if defined $in; # TODO:
(which has the stupid "cannot configure" window that i don't accept) i looked at usbvision source. it support VIDIOC{G,S}FREQ v4l ioctl, so i agree to add it to tv cards and offer to scan channels on. since scantv uses VIDIOCSFREQ, it should works smoothly. i don't understand the next part : $_->{description} =~ '(Hauppauge|Pinnacle Systems, Inc.) i thought that all devices that usbvision supports should support VIDIOCSFREQ; so is this vendor string test really is needed ? then we can simply do :
Index: harddrake/data.pm =================================================================== RCS file: /cooker/gi/perl-install/harddrake/data.pm,v retrieving revision 1.41 diff -u -w -r1.41 data.pm --- harddrake/data.pm 2002/11/06 13:20:18 1.41 +++ harddrake/data.pm 2002/11/06 16:25:07 @@ -11,7 +11,7 @@ # Update me each time you handle one more devices class (aka configurator) sub unknown { - grep { ($_->{media_type} !~ /tape|SERIAL_(USB|SMBUS)|Printer|DISPLAY|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|STORAGE_(IDE|SCSI|OTHER)|BRIDGE|NETWORK/) && ($_->{driver} ne 'scanner') && $_->{type} ne 'network' && $_->{driver} !~ /Mouse:USB/} @devices; + grep { ($_->{media_type} !~ /tape|SERIAL_(USB|SMBUS)|Printer|DISPLAY|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|STORAGE_(IDE|SCSI|OTHER)|BRIDGE|NETWORK/) && ($_->{driver} ne '^(scanner|usbvideo)$') && $_->{type} ne 'network' && $_->{driver} !~ /Mouse:USB/ } @devices; } @@ -28,7 +28,7 @@ ["DVDROM","DVD-ROM", "cd.png", "", sub { grep { ! detect_devices::isBurner($_) } detect_devices::dvdroms}, 0 ], ["TAPE","Tape", "tape.png", "", \&detect_devices::tapes, 0 ], ["VIDEO","Videocard", "video.png", "$sbindir/XFdrake", sub { grep { $_->{driver} =~ /^(Card|Server):/ || $_->{media_type} =~ 'DISPLAY_VGA' } @devices }, 1 ], - ["TV","Tvcard", "tv.png", "/usr/bin/XawTV", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_VIDEO' && $_->{bus} eq 'PCI' } @devices}, 0 ], + ["TV","Tvcard", "tv.png", "/usr/bin/XawTV", sub { grep { ($_->{media_type} =~ 'MULTIMEDIA_VIDEO' && $_->{bus} eq 'PCI') || $_->{driver} eq 'usbvision' } @devices}, 0 ], ["MULTIMEDIA_OTHER","Other MultiMedia devices", "multimedia.png", "", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_OTHER' } @devices}, 0 ], ["AUDIO","Soundcard", "sound.png", "$sbindir/draksound", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_AUDIO' } @devices}, 0 ], ["WEBCAM","Webcam", "webcam.png", "", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_VIDEO' && $_->{bus} ne 'PCI'} @devices }, 0 ], Index: standalone/drakxtv =================================================================== RCS file: /cooker/gi/perl-install/standalone/drakxtv,v retrieving revision 1.27 diff -u -w -r1.27 drakxtv --- standalone/drakxtv 2002/11/06 13:20:21 1.27 +++ standalone/drakxtv 2002/11/06 16:25:07 @@ -134,11 +134,11 @@ } } -my @devices = grep { $_->{media_type} eq 'MULTIMEDIA_VIDEO' } detect_devices::probeall(1); +my @devices = grep { ($_->{media_type} eq 'MULTIMEDIA_VIDEO') || $_->{driver} eq 'usbvision' } detect_devices::probeall(1); if (@devices) { # TODO: That need some work for multiples TV cards foreach (@devices) { - if (($< == 0) && (grep { $_->{driver} =~ '(bttv|saa7134)' } @devices)) { + if (( $< == 0) && (grep { $_->{driver} =~ '(bttv|saa7134|usbvision)' } @devices)) { require harddrake::v4l; require modules; no strict 'subs'; @@ -147,8 +147,6 @@ modules::write_conf; } scan4channels(); - $in->exit(0); - } } 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. @@ -159,6 +157,7 @@ http://www.linux-mandrake.com/en/hardware.php3"))); } +$in->exit(0) if defined $in; # TODO:
btw, do not s!bin/XawTV!sbin/drakxtv! !!!! > > i can accept your changes regarding harddrake::date *IF* these usb > > pets don't have the right class (can you provide me the info displayed > > by harddrake?) > > Ok, no problem. I'll send it to you.