File indexing completed on 2024-04-28 04:54:34

0001 /*
0002     SPDX-FileCopyrightText: 2005 Richard Lärkäng <nouseforaname@home.se>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef MUSICBRAINZLOOKUP_H
0008 #define MUSICBRAINZLOOKUP_H
0009 
0010 #include "../lookup.h"
0011 #include "../cdinfo.h"
0012 #include "../kcddb.h"
0013 #include "../config.h"
0014 
0015 namespace MusicBrainz5
0016 {
0017   class CArtistCredit;
0018 }
0019 
0020 namespace KCDDB
0021 {
0022   class MusicBrainzLookup : public Lookup
0023   {
0024     Q_OBJECT
0025 
0026     public:
0027 
0028       MusicBrainzLookup();
0029       virtual ~MusicBrainzLookup();
0030 
0031       // FIXME Only freedb lookup needs the first two arguments (host/port)
0032       Result lookup( const QString &, uint, const TrackOffsetList & ) override;
0033 
0034       static CDInfoList cacheFiles(const TrackOffsetList &, const Config& );
0035 
0036     private:
0037 
0038       static QString calculateDiscId(const TrackOffsetList & );
0039       static QString artistFromCreditList(MusicBrainz5::CArtistCredit * );
0040   } ;
0041 }
0042 
0043 #endif // MUSICBRAINZ_H
0044 // vim:tabstop=2:shiftwidth=2:expandtab:cinoptions=(s,U1,m1