From 74a58ef08157d4cfaa721c4b4eb7993d37126c09 Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Thu, 29 Aug 2019 09:01:24 -0700 Subject: [PATCH 1/3] Modified rdlibrary(1) Rip Disk dialog to use Artist and Album text fields when modifying cart labels. --- ChangeLog | 3 +++ rdlibrary/disk_ripper.cpp | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index 5df36629..58982000 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19040,3 +19040,6 @@ 2019-08-29 Patrick Linstruth * Modified caed(8) to skip JACK startup, rather than crash, if no command line is specified in rdadmin(1). +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..0520b645 100644 --- a/rdlibrary/disk_ripper.cpp +++ b/rdlibrary/disk_ripper.cpp @@ -741,6 +741,14 @@ void DiskRipper::modifyCartLabelData() while(item!=NULL) { if(item->isSelected()) { int track=item->text(0).toInt()-1; + if(rip_wave_datas[track]->artist().isEmpty()&& + rip_artist_edit->text()!=rip_wave_datas[track]->artist()) { + rip_wave_datas[track]->setArtist(rip_artist_edit->text()); + } + if(rip_wave_datas[track]->album().isEmpty()&& + rip_album_edit->text()!=rip_wave_datas[track]->album()) { + rip_wave_datas[track]->setAlbum(rip_album_edit->text()); + } if(rip_wavedata_dialog->exec(rip_wave_datas[track])==0) { item->setText(2,rip_wave_datas[track]->title()); } From c1c0c09584e9edd013c09fc45a763d7ed90686ae Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Thu, 29 Aug 2019 09:05:48 -0700 Subject: [PATCH 2/3] Fix ChangeLog conflicts --- ChangeLog | 3 --- 1 file changed, 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3c7c7441..c118f826 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19037,9 +19037,6 @@ * Fixed a bug in rdlogmanager(1) that caused newly added events to be incorrectly sorted in the event list in the 'Edit Clock' dialog. -2019-08-29 Patrick Linstruth - * Modified caed(8) to skip JACK startup, rather than crash, if - no command line is specified in rdadmin(1). 2019-08-28 Patrick Linstruth * Added 'pypad_httpget.py' script. 2019-08-28 Patrick Linstruth From a39ddb48513cc2c5299e8fcffb727579b723a2ca Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Thu, 29 Aug 2019 21:28:36 -0700 Subject: [PATCH 3/3] Store Artist and Album text fields if not set by CDDB. --- rdlibrary/disk_ripper.cpp | 41 ++++++++++++++++++++++++++++++--------- rdlibrary/disk_ripper.h | 1 + 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/rdlibrary/disk_ripper.cpp b/rdlibrary/disk_ripper.cpp index 0520b645..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,18 +744,13 @@ 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; - if(rip_wave_datas[track]->artist().isEmpty()&& - rip_artist_edit->text()!=rip_wave_datas[track]->artist()) { - rip_wave_datas[track]->setArtist(rip_artist_edit->text()); - } - if(rip_wave_datas[track]->album().isEmpty()&& - rip_album_edit->text()!=rip_wave_datas[track]->album()) { - rip_wave_datas[track]->setAlbum(rip_album_edit->text()); - } if(rip_wavedata_dialog->exec(rip_wave_datas[track])==0) { item->setText(2,rip_wave_datas[track]->title()); } @@ -785,6 +787,8 @@ void DiskRipper::mediaChangedData() { RDListViewItem *l; + QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); + rip_isrc_read=false; rip_cutnames.clear(); rip_end_track.clear(); @@ -821,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(); } @@ -1157,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;