3 # Author: Martin Matusiak <numerodix@gmail.com>
4 # Licensed under the GNU Public License, version 3.
7 use Getopt
::Long
qw(:config no_ignore_case);
9 use FindBin
qw($RealBin);
12 use common qw(:DEFAULT $suite $defaults $tools);
15 my $usage = "Usage: " . s_b($suite->{tool_name}) . " ["
16 . s_b("--dev") . " " . s_bb($defaults->{dvd_device}) . " | "
17 . s_b("--dir") . " " . s_bb("/path") . " | "
18 . s_b("--iso") . " " . s_bb($defaults->{disc_image}) . "]
19 -d --dev dvd device to read from (default is " . s_bb($defaults->{dvd_device}) . ")
20 -q --dir dvd directory to read from
21 -i --iso dvd iso image to read from
22 -v be verbose (print id numbers)
23 --version show " . $suite->{suite_name} . " version\n";
26 my $dvd_device = $defaults->{dvd_device};
27 my $parse = GetOptions(
28 "d|dev=s"=>\$dvd_device,
29 "q|dir=s"=>\$dvd_device,
30 "i|iso=s"=>\$dvd_device,
32 "version"=>\&print_version,
42 my @titles = scan_dvd_for_titledata($dvd_device);
45 foreach my $title (@titles) {
46 my ($title_s, $length, @aids, @alangs, @sids, @slangs);
49 for (my $i = 0; $i < scalar @{ $title->{aids} }; $i++) {
50 if ($i == 0) { $audio = " audio: "; }
51 $audio .= s_bb(@{ $title->{alangs} }[$i]) . " ";
52 if ($verbose) { $audio .= s_it(@{ $title->{aids} }[$i]) . " "; }
57 for (my $i = 0; $i < scalar @{ $title->{sids} }; $i++) {
58 if ($i == 0) { $subs = " subs: "; }
59 $subs .= s_bb(@{ $title->{slangs} }[$i]) . " ";
60 if ($verbose) { $subs .= s_it(@{ $title->{sids} }[$i]) . " "; }
64 print s_b($title->{title_number}) ." length: " . s_bb($title->{length_s})
65 . $audio . $subs . "\n";
68 print "\nTo watch a title:\n";
69 print " " . s_b("mplayer")
70 ." " . s_b("dvd://") . s_bb("01")
71 ." " . s_b("-alang") . " " . s_bb("en")
72 ." " . s_b("-slang") . " " . s_bb("en/off") . "\n";
73 print "To rip titles:\n";
74 print " " . s_b("undvd")
75 ." " . s_b("-t") . " " . s_bb("01,02,03")
76 ." " . s_b("-a") . " " . s_bb("en")
77 ." " . s_b("-s") . " " . s_bb("en/off") . "\n";