diff --git a/ChangeLog b/ChangeLog index 5a4d950e..7a7931df 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19048,3 +19048,6 @@ 2019-08-29 Patrick Linstruth * Refactored 'RDCddbLookup' class to use 'QTcpSocket' class instead of 'Q3Socket'. +2019-08-29 Patrick Linstruth + * Modified rdlibrary(1) Rip Disk dialog to use Artist and Album + text fields when modifying cart labels. diff --git a/rdlibrary/disk_ripper.cpp b/rdlibrary/disk_ripper.cpp index 1b8c4c3e..7ad9db36 100644 --- a/rdlibrary/disk_ripper.cpp +++ b/rdlibrary/disk_ripper.cpp @@ -443,6 +443,11 @@ void DiskRipper::ripDiskButtonData() rip_isrc_read=true; } + // + // Set Artist and Album + // + SetArtistAlbum(); + // // Rip // @@ -503,7 +508,9 @@ void DiskRipper::ripDiskButtonData() item->setText(5,""); item=(RDListViewItem *)item->nextSibling(); } - rip_cdrom->eject(); + +// rip_cdrom->eject(); + if(rip_aborting) { QMessageBox::information(this,tr("Rip Complete"),tr("Rip aborted!")); } @@ -737,7 +744,10 @@ void DiskRipper::setSingleButtonData() void DiskRipper::modifyCartLabelData() { + SetArtistAlbum(); + RDListViewItem *item=(RDListViewItem *)rip_track_list->firstChild(); + while(item!=NULL) { if(item->isSelected()) { int track=item->text(0).toInt()-1; @@ -777,6 +787,8 @@ void DiskRipper::mediaChangedData() { RDListViewItem *l; + QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); + rip_isrc_read=false; rip_cutnames.clear(); rip_end_track.clear(); @@ -813,6 +825,8 @@ void DiskRipper::mediaChangedData() lookupRecord(rip_cdda_dir.path(),rda->libraryConf()->ripperDevice(), rda->libraryConf()->cddbServer(),8880, RIPPER_CDDB_USER,PACKAGE_NAME,VERSION); + + QApplication::restoreOverrideCursor(); } @@ -1149,6 +1163,23 @@ QString DiskRipper::BuildTrackName(int start_track,int end_track) const } +void DiskRipper::SetArtistAlbum() +{ + RDListViewItem *item=(RDListViewItem *)rip_track_list->firstChild(); + + while(item!=NULL) { + int track=item->text(0).toInt()-1; + if(rip_wave_datas[track]->artist().isEmpty()) { + rip_wave_datas[track]->setArtist(rip_artist_edit->text()); + } + if(rip_wave_datas[track]->album().isEmpty()) { + rip_wave_datas[track]->setAlbum(rip_album_edit->text()); + } + item=(RDListViewItem *)item->nextSibling(); + } +} + + void DiskRipper::SendNotification(RDNotification::Action action, unsigned cartnum) { diff --git a/rdlibrary/disk_ripper.h b/rdlibrary/disk_ripper.h index 447d4741..822dc8d7 100644 --- a/rdlibrary/disk_ripper.h +++ b/rdlibrary/disk_ripper.h @@ -88,6 +88,7 @@ class DiskRipper : public QDialog void RipTrack(int track,int end_track,QString cutname,QString title); void UpdateRipButton(); QString BuildTrackName(int start_track,int end_track) const; + void SetArtistAlbum(); void SendNotification(RDNotification::Action action,unsigned cartnum); RDCdPlayer *rip_cdrom; RDCddbRecord rip_cddb_record;