Version: 2.2.2 (using KDE 4.3.4) Compiler: gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9) $ gcc -v Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.1-4ubuntu9' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9) OS: Linux Installed from: Ubuntu Packages When ripping a newly-purchased CD, I noticed that one track was NOT ripped, probably because of the title: Statues/Shadows (band is Speaker Speaker). I closed Amarok, and opened a new instance using -d --nofork. This is the output after I asked to have that track added to the collection: amarok: BEGIN: bool CollectionTreeView::onlyOneCollection(const QModelIndexList&) amarok: END__: bool CollectionTreeView::onlyOneCollection(const QModelIndexList&) - Took 0.0002s amarok: BEGIN: bool CollectionTreeView::onlyOneCollection(const QModelIndexList&) amarok: END__: bool CollectionTreeView::onlyOneCollection(const QModelIndexList&) - Took 0.00018s amarok: BEGIN: bool CollectionTreeView::onlyOneCollection(const QModelIndexList&) amarok: END__: bool CollectionTreeView::onlyOneCollection(const QModelIndexList&) - Took 0.00016s amarok: BEGIN: void CollectionTreeView::copyTracks(const QSet<CollectionTreeItem*>&, Amarok::Collection*, bool) const amarok: starting source->prepareCopy amarok: BEGIN: void CollectionLocation::prepareCopy(QueryMaker*, CollectionLocation*) amarok: END__: void CollectionLocation::prepareCopy(QueryMaker*, CollectionLocation*) - Took 0.00024s amarok: END__: void CollectionTreeView::copyTracks(const QSet<CollectionTreeItem*>&, Amarok::Collection*, bool) const - Took 0.0012s amarok: BEGIN: void CollectionLocation::resultReady(const QString&, const Meta::TrackList&) amarok: END__: void CollectionLocation::resultReady(const QString&, const Meta::TrackList&) - Took 0.00029s amarok: BEGIN: void CollectionLocation::queryDone() amarok: we were about to copy something, lets proceed amarok: BEGIN: void CollectionLocation::startWorkflow(const Meta::TrackList&, bool) amarok: BEGIN: virtual void AudioCdCollectionLocation::showSourceDialog(const Meta::TrackList&, bool) amarok: END__: virtual void AudioCdCollectionLocation::showSourceDialog(const Meta::TrackList&, bool) - Took 0.047s amarok: END__: void CollectionLocation::startWorkflow(const Meta::TrackList&, bool) - Took 0.047s amarok: END__: void CollectionLocation::queryDone() - Took 0.047s amarok: BEGIN: void AudioCdCollectionLocation::onFormatSelected(int) amarok: BEGIN: QStringList MountPointManager::collectionFolders() amarok: [MountPointManager] QDesktopServices::MusicLocation: "/home/valorie/Music" amarok: END__: QStringList MountPointManager::collectionFolders() - Took 0.00042s amarok: BEGIN: virtual bool Meta::AudioCdAlbum::isCompilation() const amarok: END__: virtual bool Meta::AudioCdAlbum::isCompilation() const - Took 8.8e-05s amarok: I'm about to do Amarok::vfatPath( result ), this is result: "Speaker Speaker" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "Speaker Speaker" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "Speaker Speaker" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "Speaker Speaker" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "Statues/Shadows" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "Call It Off" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "" amarok: END__: void AudioCdCollectionLocation::onFormatSelected(int) - Took 0.07s amarok: BEGIN: virtual bool Meta::AudioCdAlbum::isCompilation() const amarok: END__: virtual bool Meta::AudioCdAlbum::isCompilation() const - Took 9.7e-05s amarok: I'm about to do Amarok::vfatPath( result ), this is result: "Speaker Speaker" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "Speaker Speaker" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "Speaker Speaker" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "Speaker Speaker" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "Statues/Shadows" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "Call It Off" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "" amarok: I'm about to do Amarok::vfatPath( result ), this is result: "" amarok: BEGIN: virtual void AudioCdCollectionLocation::getKIOCopyableUrls(const Meta::TrackList&) amarok: BEGIN: bool SqlCollectionLocation::startNextJob() amarok: copying from KUrl("audiocd:/Ogg Vorbis/ - 010 - Statues/Shadows.ogg") to KUrl("file:///home/valorie/Music/S/Speaker Speaker/Call It Off/10 - Statues-Shadows.ogg") amarok: BEGIN: void ProgressBar::setDescription(const QString&) amarok: END__: void ProgressBar::setDescription(const QString&) - Took 9.3e-05s amarok: BEGIN: void CompoundProgressBar::addProgressBar(ProgressBar*, QObject*) amarok: BEGIN: void ProgressBar::setDescription(const QString&) amarok: END__: void ProgressBar::setDescription(const QString&) - Took 4.7e-05s amarok: END__: void CompoundProgressBar::addProgressBar(ProgressBar*, QObject*) - Took 0.00053s amarok: END__: bool SqlCollectionLocation::startNextJob() - Took 0.0016s amarok: END__: virtual void AudioCdCollectionLocation::getKIOCopyableUrls(const Meta::TrackList&) - Took 0.0018s amarok: BEGIN: virtual OrganizeCollectionDialog::~OrganizeCollectionDialog() amarok: END__: virtual OrganizeCollectionDialog::~OrganizeCollectionDialog() - Took 0.00011s X Error: BadWindow (invalid Window parameter) 3 Major opcode: 20 (X_GetProperty) Resource id: 0x522014c amarok: [WARNING!] An error occurred when copying a file: "The file or folder /Ogg Vorbis/ - 010 - Statues/Shadows.ogg does not exist." amarok: BEGIN: bool SqlCollectionLocation::startNextJob() amarok: END__: bool SqlCollectionLocation::startNextJob() - Took 0.00018s amarok: Database temporary table setup did not complete due to no directories needing to be processed. amarok: BEGIN: void CompoundProgressBar::childBarComplete(ProgressBar*) amarok: BEGIN: void ProgressBar::setDescription(const QString&) amarok: END__: void ProgressBar::setDescription(const QString&) - Took 0.00021s amarok: BEGIN: void StatusBar::hideProgress() amarok: END__: void StatusBar::hideProgress() - Took 0.00087s amarok: END__: void CompoundProgressBar::childBarComplete(ProgressBar*) - Took 0.002s amarok: BEGIN: void ScanManager::startIncrementalScan() amarok: BEGIN: void ScanManager::checkTables(bool) amarok: END__: void ScanManager::checkTables(bool) - Took 0.00025s amarok: BEGIN: QStringList ScanManager::getDirsToScan() amarok: END__: QStringList ScanManager::getDirsToScan() - Took 0.094s amarok: GOING TO SCAN: amarok: (a *lot*) amarok: BEGIN: void ScanManager::writeBatchIncrementalInfoFile() amarok: END__: void ScanManager::writeBatchIncrementalInfoFile() - Took 0.0037s amarok: BEGIN: XmlParseJob::XmlParseJob(ScanManager*, SqlCollection*) amarok: BEGIN: void ProgressBar::setDescription(const QString&) amarok: END__: void ProgressBar::setDescription(const QString&) - Took 9.5e-05s amarok: BEGIN: void CompoundProgressBar::addProgressBar(ProgressBar*, QObject*) amarok: BEGIN: void ProgressBar::setDescription(const QString&) amarok: END__: void ProgressBar::setDescription(const QString&) - Took 8.7e-05s amarok: END__: void CompoundProgressBar::addProgressBar(ProgressBar*, QObject*) - Took 0.00055s amarok: BEGIN: ProgressBar* ProgressBar::setAbortSlot(QObject*, const char*) amarok: Setting abort slot for "Scanning music" amarok: connecting to 1abort() amarok: END__: ProgressBar* ProgressBar::setAbortSlot(QObject*, const char*) - Took 0.00012s amarok: END__: XmlParseJob::XmlParseJob(ScanManager*, SqlCollection*) - Took 0.0016s amarok: BEGIN: SqlCollectionDBusHandler::SqlCollectionDBusHandler(SqlCollection*) amarok: Register object: true amarok: END__: SqlCollectionDBusHandler::SqlCollectionDBusHandler(SqlCollection*) - Took 0.00015s amarok: END__: void ScanManager::startIncrementalScan() - Took 0.11s amarok: BEGIN: virtual void XmlParseJob::run() amarok: Success. Committing result to database. amarok: Database temporary table setup did not complete due to no directories needing to be processed. amarok: END__: virtual void XmlParseJob::run() - Took 0.12s amarok: BEGIN: virtual XmlParseJob::~XmlParseJob() amarok: BEGIN: void CompoundProgressBar::childBarComplete(ProgressBar*) amarok: BEGIN: void ProgressBar::setDescription(const QString&) amarok: END__: void ProgressBar::setDescription(const QString&) - Took 0.00024s amarok: BEGIN: void StatusBar::hideProgress() amarok: END__: void StatusBar::hideProgress() - Took 0.0011s amarok: END__: void CompoundProgressBar::childBarComplete(ProgressBar*) - Took 0.0028s amarok: END__: virtual XmlParseJob::~XmlParseJob() - Took 0.0032s amarok: BEGIN: void ScanManager::slotFinished() amarok: END__: void ScanManager::slotFinished() - Took 0.00016s
AudioCDCollectionLocation does not return a valid path where the track can be copied from: amarok: [WARNING!] An error occurred when copying a file: "The file or folder /Ogg Vorbis/ - 010 - Statues/Shadows.ogg does not exist." Might be a audiocd kioslave bug as well. Anyway, Nikolaj needs to look at it.
*** Bug 228358 has been marked as a duplicate of this bug. ***
(In reply to comment #2) > *** Bug 228358 has been marked as a duplicate of this bug. *** Ok, it seems to be not just when there are slashes in a title, possibly also with whitespaces. In my case the (probably) relevant line from the debugging output was: copying from KUrl("audiocd:/Ogg Vorbis/-03-Sting - Fields Of Gold.ogg") to KUrl("file:///data/musik/S/Sting_-/Ten_Summoners's_Tales/03_Sting_-_Fields_Of_Gold.ogg") It's also probably not an kio bug either, since copying the same virtual file from the audiocd: directory in Dolphin to a plain "normal" filesystem directory worked alright for me.
I just tried myself, and got the following error: amarok: BEGIN: float Meta::MediaDeviceHandler::freeSpace() const amarok: BEGIN: virtual float Meta::UmsHandler::totalCapacity() const amarok: END__: virtual float Meta::UmsHandler::totalCapacity() const - Took 3.3e-05s amarok: totalCapacity: 9.83446e+11 amarok: usedCapacity(): 6.91178e+11 amarok: BEGIN: virtual float Meta::UmsHandler::totalCapacity() const amarok: END__: virtual float Meta::UmsHandler::totalCapacity() const - Took 3.1e-05s amarok: END__: float Meta::MediaDeviceHandler::freeSpace() const - Took 0.00059s amarok: Copying 21 tracks amarok: BEGIN: void Meta::MediaDeviceHandler::copyNextTrackToDevice() amarok: BEGIN: bool Meta::MediaDeviceHandler::privateCopyTrackToDevice(const Meta::TrackPtr&) amarok: [UmsHandler] Mountpoint is: "/MyBook" amarok: [UmsHandler] Url's path is: "/MyBook/Barbara/Concerts Musicorama (disc 1_ Olympia 4 février 69, 1ère partie)/21 - Mon grand frisé.ogg" amarok: [UmsHandler] About to copy from: "/9WjgEr_C2upU_M_gKfJeqVVuRCM-/21" amarok: [UmsHandler] to: KUrl("file:///MyBook/Barbara/Concerts Musicorama (disc 1_ Olympia 4 février 69, 1ère partie)/21 - Mon grand frisé.ogg") amarok: BEGIN: virtual bool Meta::UmsHandler::libCopyTrack(const Meta::TrackPtr&, Meta::MediaDeviceTrackPtr&) amarok: BEGIN: bool Meta::UmsHandler::kioCopyTrack(const KUrl&, const KUrl&) amarok: [UmsHandler] Copying from * KUrl("file:///9WjgEr_C2upU_M_gKfJeqVVuRCM-/21") * to * KUrl("file:///MyBook/Barbara/Concerts Musicorama (disc 1_ Olympia 4 février 69, 1ère partie)/21 - Mon grand frisé.ogg") * amarok: END__: bool Meta::UmsHandler::kioCopyTrack(const KUrl&, const KUrl&) - Took 0.012s amarok: END__: virtual bool Meta::UmsHandler::libCopyTrack(const Meta::TrackPtr&, Meta::MediaDeviceTrackPtr&) - Took 0.012s amarok: END__: bool Meta::MediaDeviceHandler::privateCopyTrackToDevice(const Meta::TrackPtr&) - Took 0.012s amarok: END__: void Meta::MediaDeviceHandler::copyNextTrackToDevice() - Took 0.012s amarok: END__: void Meta::MediaDeviceHandler::copyTrackListToDevice(Meta::TrackList) - Took 0.015s amarok: END__: virtual void MediaDeviceCollectionLocation::copyUrlsToCollection(const QMap<KSharedPtr<Meta::Track>, KUrl>&) - Took 0.015s amarok: END__: virtual void AudioCdCollectionLocation::getKIOCopyableUrls(const Meta::TrackList&) - Took 0.015s amarok: BEGIN: virtual OrganizeCollectionDialog::~OrganizeCollectionDialog() amarok: END__: virtual OrganizeCollectionDialog::~OrganizeCollectionDialog() - Took 6.1e-05s amarok(32353)/kio (KIOJob) KIO::SlaveInterface::dispatch: error 111 "/MyBook/Barbara/Concerts Musicorama (disc 1_ Olympia 4 février 69, 1ère partie)/21 - Mon grand frisé.ogg" amarok(32353)/kio (KIOJob) KIO::SlaveInterface::dispatch: error 111 "/9WjgEr_C2upU_M_gKfJeqVVuRCM-/21" amarok: BEGIN: void Meta::UmsHandler::fileTransferred(KJob*) amarok: [UmsHandler] file transfer failed: "/9WjgEr_C2upU_M_gKfJeqVVuRCM-/21" amarok: END__: void Meta::UmsHandler::fileTransferred(KJob*) - Took 6.5e-05s
*** Bug 211519 has been marked as a duplicate of this bug. ***
*** Bug 226440 has been marked as a duplicate of this bug. ***
*** Bug 228725 has been marked as a duplicate of this bug. ***
Is this still valid with Amarok 2.4.3 or current git?
The problem is the / in the title, as this is a reserved character in some operating systems it will always fail. Try ripping with a command-line tool and rename the file or disable the CDDB information
I'm seeing this problem with amarok 2.5.0 when there's a question mark in the track title. I don't have any CD with a track with a slash in title, but I suspect both problems to have a common source, namely that the track title is not encoded when it is embedded into the URL. amarok: [SqlCollectionLocation] copying from KUrl("audiocd:/Ogg Vorbis/ - 07 - Where Is The Line?.ogg?device=/dev/sr0") to KUrl("file:///home/doener/storage/media/music/Billy Talent/Billy Talent II/07 - Where Is The Line_.ogg") I've posted a patch here: https://git.reviewboard.kde.org/r/103841/
Git commit 67f5c1ae332f6727f91af346a6b5858fe6e5b285 by Matěj Laitl, on behalf of Björn Steinbrink. Committed on 02/02/2012 at 10:37. Pushed by laitl into branch 'master'. Fix failure to rip CD tracks with special characters in their title Certain characters such as ? have a special meaning in URLs so they have to be encoded when used in path component, but the AudioCdCollection fails to do so and just embeds the raw track title into the URL. Thus it is impossible to rip tracks that contain such characters in their title, as the URL passed to the KIO subsystem is invalid. FIXED-IN: 2.6 REVIEW: 103841 M +2 -0 ChangeLog M +8 -5 src/core-impl/collections/audiocd/AudioCdCollection.cpp http://commits.kde.org/amarok/67f5c1ae332f6727f91af346a6b5858fe6e5b285