diff --git a/ChangeLog b/ChangeLog index b68cccdc..7bfb998c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20941,3 +20941,6 @@ in the '[Hacks]' section of rd.conf(5). 2022-09-16 Fred Gleason * Incremented the package version to 3.6.5int5. +2022-09-26 Fred Gleason + * Fixed a regression in the Disc Ripper in rdlibrary(1) that caused + manual changes to track metadata to be incorrectly applied. diff --git a/rdlibrary/disk_ripper.cpp b/rdlibrary/disk_ripper.cpp index f355f39f..c9b47ab6 100644 --- a/rdlibrary/disk_ripper.cpp +++ b/rdlibrary/disk_ripper.cpp @@ -715,7 +715,7 @@ void DiskRipper::modifyCartLabelData() while(item!=NULL) { if(item->isSelected()) { - int track=item->text(0).toInt()-1; + int track=rip_wave_datas.size()-item->text(0).toInt(); if(rip_wavedata_dialog->exec(rip_wave_datas[track])==0) { item->setText(2,rip_wave_datas[track]->title()); } @@ -1086,9 +1086,10 @@ void DiskRipper::RipTrack(int track,int end_track,QString cutname,QString title) &audio_conv_err))) { case RDAudioImport::ErrorOk: cart->setMetadata(rip_wave_datas[rip_wave_datas.size()-track]); - cut->setDescription(rip_wave_datas[track-1]->title()); + cut->setDescription(rip_wave_datas[rip_wave_datas.size()-track]->title()); cut->setIsrc(rip_disc_record.isrc(rip_track_number-1)); - cut->setRecordingMbId(rip_disc_record.trackRecordingMbId(rip_track_number-1)); + cut->setRecordingMbId(rip_disc_record. + trackRecordingMbId(rip_track_number-1)); cut->setReleaseMbId(rip_disc_record.discReleaseMbId()); cart->clearPending(); SendNotification(RDNotification::AddAction,cart->number());