- Timestamp:
- Feb 17, 2021, 1:44:52 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
projects/CDDBeditor/devel/CDDBeditor/bin/CDDBeditor
r2658 r2666 27 27 use Device::Cdio::Device; 28 28 use Device::Cdio::Track; 29 use perlcdio; 29 30 use File::Copy; 30 31 use File::Basename; … … 362 363 $ind--; 363 364 } 365 364 366 # Point now to the right CD 365 367 $ce_cd = $cecd[$ind]; … … 412 414 my $device = Device::Cdio::Device->new(-source=>$ce_config{"CD_DEVICE"}); 413 415 my $track = $device->get_last_track(); 416 my $cd = perlcdio::open_cd(undef,$perlcdio::DRIVER_DEVICE,undef); 417 # Prepare to get info from CD-TEXT if defined 418 my $cdtext = perlcdio::cdio_get_cdtext($cd); 414 419 $ce_cd->{tno} = $track->{track}; 415 420 my $n = 0; 416 421 417 # If they were not found 422 # If they were not found, try to get them from CD-TEXT 423 $ce_cd->{artist} = perlcdio::cdtext_get_const($cdtext,$perlcdio::CDTEXT_FIELD_PERFORMER,$n) if (not defined $ce_cd->{artist}); 418 424 $ce_cd->{artist} = "" if (not defined $ce_cd->{artist}); 425 my $composer = perlcdio::cdtext_get_const($cdtext,$perlcdio::CDTEXT_FIELD_COMPOSER,$n); 426 $ce_cd->{title} = perlcdio::cdtext_get_const($cdtext,$perlcdio::CDTEXT_FIELD_TITLE,$n) if (not defined $ce_cd->{title}); 419 427 $ce_cd->{title} = "" if (not defined $ce_cd->{title}); 428 $ce_cd->{title} = $composer.": ".$ce_cd->{title} if ((defined $composer) && ($composer ne "")); 429 $ce_cd->{genre} = perlcdio::cdtext_get_const($cdtext,$perlcdio::CDTEXT_FIELD_GENRE,$n) if (not defined $ce_cd->{genre}); 420 430 $ce_cd->{genre} = "" if (not defined $ce_cd->{genre}); 421 431 $ce_cd->{cat} = "" if (not defined $ce_cd->{cat}); … … 428 438 $track->set_track($n+1); 429 439 # Again only if not found previously 430 $ce_cd->{track}[$n] = "" if (not defined $ce_cd->{track}[$n]); 440 if (not defined $ce_cd->{track}[$n]) { 441 # Try to get it from CD-TEXT 442 my $title = perlcdio::cdtext_get_const($cdtext,$perlcdio::CDTEXT_FIELD_TITLE,$n+1); 443 $title = $composer." / ".$title if ((defined $composer) && ($composer ne "")); 444 $ce_cd->{track}[$n] = $title; 445 $ce_cd->{track}[$n] = "" if (not defined $ce_cd->{track}[$n]); 446 } 431 447 my ($m, $s, $f) = split(/:/,$track->get_msf()); 432 448 $ce_cd->{frames}[$n] = $f + 75*$s + 75*60*$m;
Note:
See TracChangeset
for help on using the changeset viewer.