--===============0677442041== Content-Type: multipart/alternative; boundary="===============6702552856587719694==" --===============6702552856587719694== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable > On None, Sergey Ivanov wrote: > > Looks works for me. > = > Leo Franchi wrote: > Doesn't compile when KDE4_BUILD_TESTS is enabled: > = > = > [ 54%] Building CXX object tests/core-impl/collections/proxycollectio= n/CMakeFiles/testproxycollectionmeta.dir/TestProxyCollectionMeta.o > /home/leo/kde/src/amarok/tests/core-impl/collections/proxycollection/= TestProxyCollectionMeta.cpp: In member function =E2=80=98void TestProxyColl= ectionMeta::testEditableCapabilityOnMultipleTracks()=E2=80=99: = = = > /home/leo/kde/src/amarok/tests/core-impl/collections/proxycollection/= TestProxyCollectionMeta.cpp:463:51: error: cannot allocate an object of abs= tract type =E2=80=98MyEditCapability=E2=80=99 > /home/leo/kde/src/amarok/tests/core-impl/collections/proxycollection/= TestProxyCollectionMeta.cpp:433:1: note: because the following virtual fu= nctions are pure within =E2=80=98MyEditCapability=E2=80=99: > /home/leo/kde/src/amarok/src/core/capabilities/EditCapability.h:57:26= : note: virtual void Capabilities::EditCapability::setUid(const QString&= , const QString&) > /home/leo/kde/src/amarok/tests/core-impl/collections/proxycollection/= TestProxyCollectionMeta.cpp:464:51: error: cannot allocate an object of abs= tract type =E2=80=98MyEditCapability=E2=80=99 > /home/leo/kde/src/amarok/tests/core-impl/collections/proxycollection/= TestProxyCollectionMeta.cpp:433:1: note: since type =E2=80=98MyEditCapabi= lity=E2=80=99 has pure virtual functions > make[2]: *** [tests/core-impl/collections/proxycollection/CMakeFiles/= testproxycollectionmeta.dir/TestProxyCollectionMeta.o] Error 1 > make[1]: *** [tests/core-impl/collections/proxycollection/CMakeFiles/= testproxycollectionmeta.dir/all] Error 2 > > = > Leo Franchi wrote: > I have some doubts about the mass tagging UI. When I first open the M= usicBrainz tagger with multiple files selected, I see this: > = > http://imagebin.ca/view/e25y1kwP.html' > = > I can select files in the left pane, and that populates the fields be= low. It's not clear if the "Start Searching..." button operates on the curr= ently selected track, or all the tracks. I learned it operates on all the t= racks, but I didn't know until I tried it. The text should clarify this. Th= en I see this: > = > http://imagebin.ca/view/iKtHSXE.html' > = > Now I am just confused. What happened to the tracks on the left? What= are the entries on the right? None of them are track names, they are actua= lly album names. It's not good to h ave the left listview be tracks and the= right listview be albums without any sort of help for the user to figure t= hat out. Anyway, as a new user i'm curious as to what these entries are, so= I expand one or two: > = > http://imagebin.ca/view/jrUBpR3K.html' > = > And so I am extrapolating here, it seems like it is picking albums an= d bolding the names of tracks in the album that matches one of the tracks I= had on the left---but has now disappeared. What are all the non-bold track= names for? They are not related to the original tracks in the left hand pa= ne. I can't have an overview of what this dialog is actually going to do. > = > I'm not sure at this point if "Save" operates on the currently select= ed tracks, or if it saves all the tracks (what tracks? the ones that are bo= ld? all of them? it is confusing). = > = > Also, I am unable to use the MusicDNS finder. No matter what, it neve= r find anything. Here is my debug output: > = > = > amarok: BEGIN: MusicDNSFinder::MusicDNSFinder(const Meta::Track= List&, QObject*, const QString&, int, const QString&, const QString&, const= QString&) = > amarok: [MusicDNSFinder] Initiating MusicDNS search: = > amarok: [MusicDNSFinder] Host: "ofa.musicdn= s.org" = > amarok: [MusicDNSFinder] Port: 80 = > amarok: [MusicDNSFinder] Path Prefix: "/ofa/1" = > amarok: [MusicDNSFinder] Client ID: "0c6019606b1= d8a54d0985e448f3603ca" = > amarok: [MusicDNSFinder] Client version: "2.3-GIT" = > amarok: BEGIN: MusicDNSAudioDecoder::MusicDNSAudioDecoder(con= st Meta::TrackList&, int) = > amarok: END__: MusicDNSAudioDecoder::MusicDNSAudioDecoder(con= st Meta::TrackList&, int) - Took 0.085s = > amarok: END__: MusicDNSFinder::MusicDNSFinder(const Meta::Track= List&, QObject*, const QString&, int, const QString&, const QString&, const= QString&) - Took 0.086s = > amarok: END__: void MusicBrainzTagger::searchDone() - DELAY Took = (quite long) 10s = > amarok: END__: void MusicBrainzFinder::sendNewRequest() - DELAY Too= k (quite long) 10s = > amarok: BEGIN: void MusicDNSFinder::decodingDone(ThreadWeaver::Job*= ) = > amarok: END__: void MusicDNSFinder::decodingDone(ThreadWeaver::Job*= ) - Took 0.00011s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: [MusicDNSFinder] There is no any queued requests. Stoppin= g timer. = > amarok: BEGIN: void MusicBrainzTagger::mdnsSearchDone() = > amarok: END__: void MusicBrainzTagger::mdnsSearchDone() - Took 6.= 9e-05s = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00026= s = > amarok: BEGIN: void MusicBrainzFinder::sendNewRequest() = > amarok: [MusicBrainzFinder] There is no any queued requests. Stop= ping timer. = > amarok: BEGIN: void MusicBrainzTagger::searchDone() = > amarok: END__: void MusicBrainzTagger::searchDone() - Took 8.5e-0= 5s = > amarok: END__: void MusicBrainzFinder::sendNewRequest() - Took 0.00= 029s = > = > am I doing something wrong? > = > Sergey Ivanov wrote: > This UI made to be like on Picard (original musicbrainz tagger). On a= left side we have tracks to search, on a right side - search result. When = a track found we move it from left side to the right one. On the right tabl= e complete album's track list is shown. Albums, that contains a track has a= bold text, the same to tracks - all tracks in a album linked to real track= s has a bold text. BTW all tracks are drag-able. So if don't wanna save sea= rch result for some tracks, you can drop this tracks to left panel. = > Could you send one of this track on 123kash@gmail.com, i didn't have = such troubles with my "test samples". > = > Leo Franchi wrote: > Sorry for the delay. Work has been keeping me busy. > = > I've never used Picard, so that's why I was confused. But I think thi= s points to a valid criticism---the use of Picard is not necessary to the u= se of Amarok. Users should not be expected to be familiar with the user int= erface of another program to feel comfortable with Amarok's user interface.= For example, I had no idea i could drag tracks---there are no visual indic= ators that dragging is possible, nor do I know what dragging would do exact= ly (why is dragging right->left "choosing not to save results"?). My point = with this is that I think we need a better explanation than "it is how Pica= rd does it"---we want Amarok to be as intuitive and user-friendly as possib= le, regardless of how good or bad other programs are :) I think a few thing= s at least need to be done: > = > 1) Workflow clarified---what is the user supposed to do? What buttons= do what, and how is the user informed of that? > 2) Text to explain to the user what to do. Tooltips to explain what b= uttons do > = > Re: files: > = > What sort of files are supposed to 'work'? I tried some popular bands= (the beatles, the who, queen, led zeppelin) that they definitely should ha= ve in their records, but got 0 results. I can send you some if you want, or= come find me on irc (nick lfranchi, #amarok on Freenode) > = > Sergey Ivanov wrote: > All known by musicdns.org, but It could be some problems due to misse= d check in CMakeLists, so MusicDNS decomressor/fingerprint-generator should= not been compiled at all. Now It fixed, so could you try one more time? > = > Leo Franchi wrote: > Maybe the new ffmpeg stuff doesn't support flac? > = > [flac @ 0x4cb4380] invalid coding type > [flac @ 0x4cb4380] decode_frame() failed = > = > Tried also with an MP3 (AC/DC Back in Black, very very common file) a= nd it just seems to loop with a network request: > = > amarok: BEGIN: void MusicBrainzTagger::searchDone() = > amarok(18683)/kdeui (KNotification) KNotificationManager::close: 23598 > amarok: BEGIN: MusicDNSFinder::MusicDNSFinder(const Meta::TrackLi= st&, QObject*, const QString&, int, const QString&, const QString&, const Q= String&) = > amarok: [MusicDNSFinder] Initiating MusicDNS search: = > amarok: [MusicDNSFinder] Host: "ofa.musicdns.org" = > amarok: [MusicDNSFinder] Port: 80 = > amarok: [MusicDNSFinder] Path Prefix: "/ofa/1" = > amarok: [MusicDNSFinder] Client ID: "0c6019606b1d8a54d09= 85e448f3603ca" = > amarok: [MusicDNSFinder] Client version: "2.4-GIT" = > amarok: END__: MusicDNSFinder::MusicDNSFinder(const Meta::TrackLi= st&, QObject*, const QString&, int, const QString&, const QString&, const Q= String&) - Took 0.00054s = > amarok: END__: void MusicBrainzTagger::searchDone() - Took 0.95s = > amarok: END__: void MusicBrainzFinder::sendNewRequest() - Took 0.95s = > [mp3 @ 0x42d7c90] max_analyze_duration reached > [mp3 @ 0x42d7c90] Estimating duration from bitrate, this may be inacc= urate = = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = = = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00013s = > amarok: BEGIN: void MusicDNSFinder::trackDecoded(Meta::TrackPtr, QStr= ing) = > amarok: END__: void MusicDNSFinder::trackDecoded(Meta::TrackPtr, QStr= ing) - Took 0.00027s = > amarok: BEGIN: void MusicDNSFinder::decodingDone(ThreadWeaver::Job*) = > amarok: END__: void MusicDNSFinder::decodingDone(ThreadWeaver::Job*) = - Took 0.00014s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok(18683)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::Simp= leJob(0x48b5170) > amarok: [MusicDNSFinder] Request sent: "http://ofa.musicdns.org:80= /ofa/1/track/?gnr=3D&art=3D&rmd=3D0&cid=3D0c6019606b1d8a54d0985e448f3603ca&= alb=3D&fmt=3D&brt=3D128&cvr=3D2.4-GIT&fpt=3DAQ1DLwI4DDxJF9sTSBS/D+UT6xEzDyQ= QTgqkFHUSZg+hCpsPhgsgDbcaJBWSEl4TzhFNC5MJHAb8BdYFXAR/BE4DrwPrA0sDMANiAucClQ= KS7/m6bdptYZz/SAuOAcD+HwF+Afb/e/zz/rD65fhOAMj/Vf/H/br+7vm0/BH+y/9D/1kAAP/7A= JwBkQKOAnACBwGNAMYBJgGvAb0BdQGmAaMNCzRJII0sIv2C/dX1dv6N9Lr2hPbS8iD5SOkK9cv5= 0fsW8wD27u+jxSXbg9p23+zjtu6M9Vj46/pw/Aj81/4E/jH+J/01/ZX9vv5K/wH+lf1zCLsTkRN= e7crrTcyBBLbbcfGJ6ynwa/bbwLIKl+mP9d76/gURCURBgwfrF7YBE/zY/1L9wwBgAGEAYABpAM= MBBADVARIARQBm//UAUgACJ4FATqeHERT2swTnDKn9XfB2/A8D+/W3BxQIGeQaCXoC7PfR+8MA0= xnIBwoHPf1JARoAMQB+/9MCCgKbArACBgL1AioBtgIXAgEBngIsAZnzcfKfIKMCt/bN+wkvfPKX= 8TDmSf686sQCnTFw38cD8fnD7Mn2ZADjO9rlqwGE13DiyvNf9bX7Xvwi/jr+ZgA2/4b//wFp/97= /kP9g/sf/ugss/R8RBgZBAA8ERf/g+rTplNpk8NwE3gRhFRj2KO4x6ILWtshtyArxVis/CLQkkx= dFDvMFvgNKA8oDcQIZAXD/9gBHAN0AsQIAALsArwDKIDdBRQ=3D=3D&ttl=3D&tnm=3D&lkt=3D= &dur=3D254000&yrr=3D" = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00059s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00011s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.9e-05s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00013s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00011s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.6e-05s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.8e-05s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9e-05s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.6e-05s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.7e-05s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.9e-05s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00013s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00011s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.9e-05s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00014s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00011s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00012s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00012s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00013s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.5e-05s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = > amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = > amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = > Trouble with flac fixed. There is no any loops with request, sendNewRequest runs once a second by ti= mer. That (sendNewRequest() spam) happened due to some network lag, 'cos th= ere was no reply from server, or error report, and if you follow the link f= rom log, you'll find track PUID in XML wrap. Now timer stops when there is = no more requests to send. - Sergey ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/100000/#review4 ----------------------------------------------------------- On 2010-09-25 21:03:14, Sergey Ivanov wrote: > = > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/100000/ > ----------------------------------------------------------- > = > (Updated 2010-09-25 21:03:14) > = > = > Review request for amarok. > = > = > Summary > ------- > = > MusicBrainz and MusicDNS services support implementation. > There are three independent parts: > 1. MusicBrainzFinder class - used to make requests to MusicBrainz server = and process replies. All relies process in separate threads by MusicBrainzX= mlParser class. For a search uses guessed from a file name track informatio= n. No external dependences required. > 2. MusicDNSFinder class - used for the same purpose as MusicBrainzFinder,= but i communicate with musicdns server and receives track's PUID as a repl= y. Replies ether process in separate threads by MusicDNSXmlParser class. Fi= ngerprints generated by libofa (the only external dependence in entire patc= h). For track decompressing (MusicDNSAudioDecoder class) used xine engine (= I'm not sure is It a good choice, but amarok based on phonon media-engine, = that uses xine. So we don't deed to pull any other dependences). Received P= UIDs sends to MusicBrainzFinder class, for a search routine. > 3. View. All classes used for store (MusicBrainzTagsModel, MusicBrainzTra= ckListModel) and display (MusicBrainzTagsModelDelegate) purposes. > = > = > Diffs > ----- > = > CMakeLists.txt 191b02e = > cmake/modules/FindFFmpeg.cmake PRE-CREATION = > cmake/modules/FindLibOFA.cmake PRE-CREATION = > config-amarok.h.cmake 981b7b7 = > src/CMakeLists.txt 42614ff = > src/core-impl/capabilities/timecode/TimecodeEditCapability.h 6e15303 = > src/core-impl/capabilities/timecode/TimecodeEditCapability.cpp 8205d45 = > src/core-impl/collections/mediadevicecollection/MediaDeviceMeta.h e35b5= 7f = > src/core-impl/collections/mediadevicecollection/MediaDeviceMeta.cpp 9be= 62d9 = > src/core-impl/collections/proxycollection/ProxyCollectionMeta.cpp 8bdbf= 75 = > src/core-impl/collections/sqlcollection/CapabilityDelegateImpl.cpp b5cb= 083 = > src/core-impl/collections/sqlcollection/SqlMeta.h ee3ec21 = > src/core-impl/collections/sqlcollection/SqlMeta.cpp 2da0333 = > src/core-impl/meta/file/File.h 6d4d395 = > src/core-impl/meta/file/File.cpp 30cd2ff = > src/core-impl/meta/file/TagLibUtils.cpp 15b64a4 = > src/core-impl/meta/proxy/MetaProxy.h 2ef3805 = > src/core-impl/meta/proxy/MetaProxy.cpp 341e076 = > src/core/capabilities/EditCapability.h 79344bd = > src/dialogs/MusicBrainzTagger.h PRE-CREATION = > src/dialogs/MusicBrainzTagger.cpp PRE-CREATION = > src/dialogs/MusicBrainzTagger.ui PRE-CREATION = > src/dialogs/TagDialog.h 50cd801 = > src/dialogs/TagDialog.cpp 26d4eb8 = > src/dialogs/TagDialogBase.ui 9974d0b = > src/musicbrainz/DecodedAudioData.h PRE-CREATION = > src/musicbrainz/DecodedAudioData.cpp PRE-CREATION = > src/musicbrainz/MusicBrainzFinder.h PRE-CREATION = > src/musicbrainz/MusicBrainzFinder.cpp PRE-CREATION = > src/musicbrainz/MusicBrainzMetaClasses.h PRE-CREATION = > src/musicbrainz/MusicBrainzMetaClasses.cpp PRE-CREATION = > src/musicbrainz/MusicBrainzTagsModel.h PRE-CREATION = > src/musicbrainz/MusicBrainzTagsModel.cpp PRE-CREATION = > src/musicbrainz/MusicBrainzTagsModelDelegate.h PRE-CREATION = > src/musicbrainz/MusicBrainzTagsModelDelegate.cpp PRE-CREATION = > src/musicbrainz/MusicBrainzTrackListModel.h PRE-CREATION = > src/musicbrainz/MusicBrainzTrackListModel.cpp PRE-CREATION = > src/musicbrainz/MusicBrainzXmlParser.h PRE-CREATION = > src/musicbrainz/MusicBrainzXmlParser.cpp PRE-CREATION = > src/musicbrainz/MusicDNSAudioDecoder.h PRE-CREATION = > src/musicbrainz/MusicDNSAudioDecoder.cpp PRE-CREATION = > src/musicbrainz/MusicDNSFinder.h PRE-CREATION = > src/musicbrainz/MusicDNSFinder.cpp PRE-CREATION = > src/musicbrainz/MusicDNSXmlParser.h PRE-CREATION = > src/musicbrainz/MusicDNSXmlParser.cpp PRE-CREATION = > tests/core-impl/collections/proxycollection/TestProxyCollectionMeta.cpp= 55d1914 = > = > Diff: http://git.reviewboard.kde.org/r/100000/diff > = > = > Testing > ------- > = > = > Thanks, > = > Sergey > = > --===============6702552856587719694== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://git.revie= wboard.kde.org/r/100000/ |
On , Sergey Ivanov wrote:
Looks wor= ks for me.On September 22nd, 2010, 2:27 a.m., Leo Franchi wrote:
Doesn'= ;t compile when KDE4_BUILD_TESTS is enabled: [ 54%] Building CXX object tests/core-impl/collections/proxycollection/CMak= eFiles/testproxycollectionmeta.dir/TestProxyCollectionMeta.o /home/leo/kde/src/amarok/tests/core-impl/collections/proxycollection/TestPr= oxyCollectionMeta.cpp: In member function =E2=80=98void TestProxyCollection= Meta::testEditableCapabilityOnMultipleTracks()=E2=80=99: = = = /home/leo/kde/src/amarok/tests/core-impl/collections/proxycollection/TestPr= oxyCollectionMeta.cpp:463:51: error: cannot allocate an object of abstract = type =E2=80=98MyEditCapability=E2=80=99 /home/leo/kde/src/amarok/tests/core-impl/collections/proxycollection/TestPr= oxyCollectionMeta.cpp:433:1: note: because the following virtual function= s are pure within =E2=80=98MyEditCapability=E2=80=99: /home/leo/kde/src/amarok/src/core/capabilities/EditCapability.h:57:26: note= : virtual void Capabilities::EditCapability::setUid(const QString&, = const QString&) /home/leo/kde/src/amarok/tests/core-impl/collections/proxycollection/TestPr= oxyCollectionMeta.cpp:464:51: error: cannot allocate an object of abstract = type =E2=80=98MyEditCapability=E2=80=99 /home/leo/kde/src/amarok/tests/core-impl/collections/proxycollection/TestPr= oxyCollectionMeta.cpp:433:1: note: since type =E2=80=98MyEditCapability= =E2=80=99 has pure virtual functions make[2]: *** [tests/core-impl/collections/proxycollection/CMakeFiles/testpr= oxycollectionmeta.dir/TestProxyCollectionMeta.o] Error 1 make[1]: *** [tests/core-impl/collections/proxycollection/CMakeFiles/testpr= oxycollectionmeta.dir/all] Error 2On September 22nd, 2010, 2:44 a.m., Leo Franchi wrote:
I have so= me doubts about the mass tagging UI. When I first open the MusicBrainz tagg= er with multiple files selected, I see this: http://imagebin.ca/view/e25y1kwP.html' I can select files in the left pane, and that populates the fields below. I= t's not clear if the "Start Searching..." button operates on = the currently selected track, or all the tracks. I learned it operates on a= ll the tracks, but I didn't know until I tried it. The text should clar= ify this. Then I see this: http://imagebin.ca/view/iKtHSXE.html' Now I am just confused. What happened to the tracks on the left? What are t= he entries on the right? None of them are track names, they are actually al= bum names. It's not good to h ave the left listview be tracks and the r= ight listview be albums without any sort of help for the user to figure tha= t out. Anyway, as a new user i'm curious as to what these entries are, = so I expand one or two: http://imagebin.ca/view/jrUBpR3K.html' And so I am extrapolating here, it seems like it is picking albums and bold= ing the names of tracks in the album that matches one of the tracks I had o= n the left---but has now disappeared. What are all the non-bold track names= for? They are not related to the original tracks in the left hand pane. I = can't have an overview of what this dialog is actually going to do. I'm not sure at this point if "Save" operates on the currentl= y selected tracks, or if it saves all the tracks (what tracks? the ones tha= t are bold? all of them? it is confusing). = Also, I am unable to use the MusicDNS finder. No matter what, it never find= anything. Here is my debug output: amarok: BEGIN: MusicDNSFinder::MusicDNSFinder(const Meta::TrackList&a= mp;, QObject*, const QString&, int, const QString&, const QString&a= mp;, const QString&) = amarok: [MusicDNSFinder] Initiating MusicDNS search: = amarok: [MusicDNSFinder] Host: "ofa.musicdns= .org" = amarok: [MusicDNSFinder] Port: 80 = amarok: [MusicDNSFinder] Path Prefix: "/ofa/1" = amarok: [MusicDNSFinder] Client ID: "0c6019606b1d= 8a54d0985e448f3603ca" = amarok: [MusicDNSFinder] Client version: "2.3-GIT"= ; = amarok: BEGIN: MusicDNSAudioDecoder::MusicDNSAudioDecoder(const Met= a::TrackList&, int) = amarok: END__: MusicDNSAudioDecoder::MusicDNSAudioDecoder(const Met= a::TrackList&, int) - Took 0.085s = amarok: END__: MusicDNSFinder::MusicDNSFinder(const Meta::TrackList&a= mp;, QObject*, const QString&, int, const QString&, const QString&a= mp;, const QString&) - Took 0.086s = amarok: END__: void MusicBrainzTagger::searchDone() - DELAY Took (quite= long) 10s = amarok: END__: void MusicBrainzFinder::sendNewRequest() - DELAY Took (qui= te long) 10s = amarok: BEGIN: void MusicDNSFinder::decodingDone(ThreadWeaver::Job*) = amarok: END__: void MusicDNSFinder::decodingDone(ThreadWeaver::Job*) - To= ok 0.00011s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: [MusicDNSFinder] There is no any queued requests. Stopping time= r. = amarok: BEGIN: void MusicBrainzTagger::mdnsSearchDone() = amarok: END__: void MusicBrainzTagger::mdnsSearchDone() - Took 6.9e-05s = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00026s = amarok: BEGIN: void MusicBrainzFinder::sendNewRequest() = amarok: [MusicBrainzFinder] There is no any queued requests. Stopping t= imer. = amarok: BEGIN: void MusicBrainzTagger::searchDone() = amarok: END__: void MusicBrainzTagger::searchDone() - Took 8.5e-05s = amarok: END__: void MusicBrainzFinder::sendNewRequest() - Took 0.00029s = am I doing something wrong?On September 22nd, 2010, 9:30 a.m., Sergey Ivanov wrote:
This UI m= ade to be like on Picard (original musicbrainz tagger). On a left side we h= ave tracks to search, on a right side - search result. When a track found w= e move it from left side to the right one. On the right table complete albu= m's track list is shown. Albums, that contains a track has a bold text,= the same to tracks - all tracks in a album linked to real tracks has a bol= d text. BTW all tracks are drag-able. So if don't wanna save search res= ult for some tracks, you can drop this tracks to left panel. = Could you send one of this track on 123kash@gmail.com, i didn't have su= ch troubles with my "test samples".On September 24th, 2010, 1:11 a.m., Leo Franchi wrote:
Sorry for= the delay. Work has been keeping me busy. I've never used Picard, so that's why I was confused. But I think t= his points to a valid criticism---the use of Picard is not necessary to the= use of Amarok. Users should not be expected to be familiar with the user i= nterface of another program to feel comfortable with Amarok's user inte= rface. For example, I had no idea i could drag tracks---there are no visual= indicators that dragging is possible, nor do I know what dragging would do= exactly (why is dragging right->left "choosing not to save results= "?). My point with this is that I think we need a better explanation t= han "it is how Picard does it"---we want Amarok to be as intuitiv= e and user-friendly as possible, regardless of how good or bad other progra= ms are :) I think a few things at least need to be done: 1) Workflow clarified---what is the user supposed to do? What buttons do wh= at, and how is the user informed of that? 2) Text to explain to the user what to do. Tooltips to explain what buttons= do Re: files: What sort of files are supposed to 'work'? I tried some popular ban= ds (the beatles, the who, queen, led zeppelin) that they definitely should = have in their records, but got 0 results. I can send you some if you want, = or come find me on irc (nick lfranchi, #amarok on Freenode)On September 24th, 2010, 1:05 p.m., Sergey Ivanov wrote:
All known= by musicdns.org, but It could be some problems due to missed check in CMak= eLists, so MusicDNS decomressor/fingerprint-generator should not been compi= led at all. Now It fixed, so could you try one more time?On September 25th, 2010, 2:58 p.m., Leo Franchi wrote:
Maybe the= new ffmpeg stuff doesn't support flac? [flac @ 0x4cb4380] invalid coding type [flac @ 0x4cb4380] decode_frame() failed = Tried also with an MP3 (AC/DC Back in Black, very very common file) and it = just seems to loop with a network request: amarok: BEGIN: void MusicBrainzTagger::searchDone() = amarok(18683)/kdeui (KNotification) KNotificationManager::close: 23598 amarok: BEGIN: MusicDNSFinder::MusicDNSFinder(const Meta::TrackList&= ;, QObject*, const QString&, int, const QString&, const QString&= ;, const QString&) = amarok: [MusicDNSFinder] Initiating MusicDNS search: = amarok: [MusicDNSFinder] Host: "ofa.musicdns.org&quo= t; = amarok: [MusicDNSFinder] Port: 80 = amarok: [MusicDNSFinder] Path Prefix: "/ofa/1" = amarok: [MusicDNSFinder] Client ID: "0c6019606b1d8a54d098= 5e448f3603ca" = amarok: [MusicDNSFinder] Client version: "2.4-GIT" = amarok: END__: MusicDNSFinder::MusicDNSFinder(const Meta::TrackList&= ;, QObject*, const QString&, int, const QString&, const QString&= ;, const QString&) - Took 0.00054s = amarok: END__: void MusicBrainzTagger::searchDone() - Took 0.95s = amarok: END__: void MusicBrainzFinder::sendNewRequest() - Took 0.95s = [mp3 @ 0x42d7c90] max_analyze_duration reached [mp3 @ 0x42d7c90] Estimating duration from bitrate, this may be inaccurate = = = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = = = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00013s = amarok: BEGIN: void MusicDNSFinder::trackDecoded(Meta::TrackPtr, QString) = amarok: END__: void MusicDNSFinder::trackDecoded(Meta::TrackPtr, QString) -= Took 0.00027s = amarok: BEGIN: void MusicDNSFinder::decodingDone(ThreadWeaver::Job*) = amarok: END__: void MusicDNSFinder::decodingDone(ThreadWeaver::Job*) - Took= 0.00014s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok(18683)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(= 0x48b5170) amarok: [MusicDNSFinder] Request sent: "http://ofa.musicdns.org:80/= ofa/1/track/?gnr=3D&art=3D&rmd=3D0&cid=3D0c6019606b1d8a54d0985e= 448f3603ca&alb=3D&fmt=3D&brt=3D128&cvr=3D2.4-GIT&fpt=3D= AQ1DLwI4DDxJF9sTSBS/D+UT6xEzDyQQTgqkFHUSZg+hCpsPhgsgDbcaJBWSEl4TzhFNC5MJHAb= 8BdYFXAR/BE4DrwPrA0sDMANiAucClQKS7/m6bdptYZz/SAuOAcD+HwF+Afb/e/zz/rD65fhOAM= j/Vf/H/br+7vm0/BH+y/9D/1kAAP/7AJwBkQKOAnACBwGNAMYBJgGvAb0BdQGmAaMNCzRJII0sI= v2C/dX1dv6N9Lr2hPbS8iD5SOkK9cv50fsW8wD27u+jxSXbg9p23+zjtu6M9Vj46/pw/Aj81/4E= /jH+J/01/ZX9vv5K/wH+lf1zCLsTkRNe7crrTcyBBLbbcfGJ6ynwa/bbwLIKl+mP9d76/gURCUR= BgwfrF7YBE/zY/1L9wwBgAGEAYABpAMMBBADVARIARQBm//UAUgACJ4FATqeHERT2swTnDKn9Xf= B2/A8D+/W3BxQIGeQaCXoC7PfR+8MA0xnIBwoHPf1JARoAMQB+/9MCCgKbArACBgL1AioBtgIXA= gEBngIsAZnzcfKfIKMCt/bN+wkvfPKX8TDmSf686sQCnTFw38cD8fnD7Mn2ZADjO9rlqwGE13Di= yvNf9bX7Xvwi/jr+ZgA2/4b//wFp/97/kP9g/sf/ugss/R8RBgZBAA8ERf/g+rTplNpk8NwE3gR= hFRj2KO4x6ILWtshtyArxVis/CLQkkxdFDvMFvgNKA8oDcQIZAXD/9gBHAN0AsQIAALsArwDKID= dBRQ=3D=3D&ttl=3D&tnm=3D&lkt=3D&dur=3D254000&yrr=3D&quo= t; = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00059s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00011s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.9e-05s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00013s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00011s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.6e-05s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.8e-05s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9e-05s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.6e-05s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.7e-05s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.9e-05s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00013s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00011s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.9e-05s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00014s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00011s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00012s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00012s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.00013s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 9.5e-05s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s = amarok: BEGIN: void MusicDNSFinder::sendNewRequest() = amarok: END__: void MusicDNSFinder::sendNewRequest() - Took 0.0001s =
Trouble wit= h flac fixed. There is no any loops with request, sendNewRequest runs once a second by ti= mer. That (sendNewRequest() spam) happened due to some network lag, 'co= s there was no reply from server, or error report, and if you follow the li= nk from log, you'll find track PUID in XML wrap. Now timer stops when t= here is no more requests to send.
- Sergey
On September 25th, 2010, 9:03 p.m., Sergey Ivanov wrote:
Review request for amarok.
By Sergey Ivanov.
Updated 2010-09-25 21:03:14 Descripti= on
Diffs=
|