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.

Reply via email to