File indexing completed on 2024-03-24 04:57:12
0001 /* 0002 SPDX-FileCopyrightText: 2005 Shaheed Haque <srhaque@iee.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "genres.h" 0008 0009 #include "kcddbi18n.h" 0010 0011 class KCDDB::Genres::Private 0012 { 0013 public: 0014 QStringList cddb; 0015 QStringList i18n; 0016 }; 0017 0018 KCDDB::Genres::Genres() 0019 : d(new Private) 0020 { 0021 // The Genre is completely arbitrary. But we follow kaudiocreator's cue 0022 // and make life easy for people. 0023 // 0024 // To cope with preexisting records which don't match an entry, we will 0025 // add one later if needed. 0026 d->cddb << QLatin1String( "Unknown" ) << QLatin1String( "A Cappella" ) << QLatin1String( "Acid Jazz" ) << 0027 QLatin1String( "Acid Punk" ) << QLatin1String( "Acid" ) << QLatin1String( "Acoustic" ) << QLatin1String( "Alternative" ) << 0028 QLatin1String( "Alt. Rock" ) << QLatin1String( "Ambient" ) << QLatin1String( "Anime" ) << QLatin1String( "Avantgarde" ) << 0029 QLatin1String( "Ballad" ) << QLatin1String( "Bass" ) << QLatin1String( "Beat" ) << QLatin1String( "Bebop" ) << 0030 QLatin1String( "Big Band" ) << QLatin1String( "Black Metal" ) << QLatin1String( "Bluegrass" ) << QLatin1String( "Blues" ) << 0031 QLatin1String( "Booty Bass" ) << QLatin1String( "BritPop" ) << QLatin1String( "Cabaret" ) << QLatin1String( "Celtic" ) << 0032 QLatin1String( "Chamber Music" ) << QLatin1String( "Chanson" ) << QLatin1String( "Chorus" ) << QLatin1String( "Christian Gangsta Rap" ) << 0033 QLatin1String( "Christian Rap" ) << QLatin1String( "Christian Rock" ) << QLatin1String( "Classical" ) << QLatin1String( "Classic Rock" ) << 0034 QLatin1String( "Club-house" ) << QLatin1String( "Club" ) << QLatin1String( "Comedy" ) << QLatin1String( "Contemporary Christian" ) << 0035 QLatin1String( "Country" ) << QLatin1String( "Crossover" ) << QLatin1String( "Cult" ) << QLatin1String( "Dance Hall" ) << 0036 QLatin1String( "Dance" ) << QLatin1String( "Darkwave" ) << QLatin1String( "Death Metal" ) << QLatin1String( "Disco" ) << 0037 QLatin1String( "Dream" ) << QLatin1String( "Drum & Bass" ) << QLatin1String( "Drum Solo" ) << QLatin1String( "Duet" ) << 0038 QLatin1String( "Easy Listening" ) << QLatin1String( "Electronic" ) << QLatin1String( "Ethnic" ) << QLatin1String( "Eurodance" ) << 0039 QLatin1String( "Euro-House" ) << QLatin1String( "Euro-Techno" ) << QLatin1String( "Fast-Fusion" ) << QLatin1String( "Folklore" ) << 0040 QLatin1String( "Folk/Rock" ) << QLatin1String( "Folk" ) << QLatin1String( "Freestyle" ) << QLatin1String( "Funk" ) << 0041 QLatin1String( "Fusion" ) << QLatin1String( "Game" ) << QLatin1String( "Gangsta Rap" ) << QLatin1String( "Goa" ) << 0042 QLatin1String( "Gospel" ) << QLatin1String( "Gothic Rock" ) << QLatin1String( "Gothic" ) << QLatin1String( "Grunge" ) << 0043 QLatin1String( "Hardcore" ) << QLatin1String( "Hard Rock" ) << QLatin1String( "Heavy Metal" ) << QLatin1String( "Hip-Hop" ) << 0044 QLatin1String( "House" ) << QLatin1String( "Humor" ) << QLatin1String( "Indie" ) << QLatin1String( "Industrial" ) << 0045 QLatin1String( "Instrumental Pop" ) << QLatin1String( "Instrumental Rock" ) << QLatin1String( "Instrumental" ) << QLatin1String( "Jazz+Funk" ) << 0046 QLatin1String( "Jazz" ) << QLatin1String( "JPop" ) << QLatin1String( "Jungle" ) << QLatin1String( "Latin" ) << QLatin1String( "Lo-Fi" ) << 0047 QLatin1String( "Meditative" ) << QLatin1String( "Merengue" ) << QLatin1String( "Metal" ) << QLatin1String( "Musical" ) << 0048 QLatin1String( "National Folk" ) << QLatin1String( "Native American" ) << QLatin1String( "Negerpunk" ) << QLatin1String( "New Age" ) << 0049 QLatin1String( "New Wave" ) << QLatin1String( "Noise" ) << QLatin1String( "Oldies" ) << QLatin1String( "Opera" ) << 0050 QLatin1String( "Other" ) << QLatin1String( "Polka" ) << QLatin1String( "Polsk Punk" ) << QLatin1String( "Pop-Funk" ) << 0051 QLatin1String( "Pop/Funk" ) << QLatin1String( "Pop" ) << QLatin1String( "Porn Groove" ) << QLatin1String( "Power Ballad" ) << 0052 QLatin1String( "Pranks" ) << QLatin1String( "Primus" ) << QLatin1String( "Progressive Rock" ) << QLatin1String( "Psychedelic Rock" ) << 0053 QLatin1String( "Psychedelic" )<< QLatin1String( "Punk Rock" ) << QLatin1String( "Punk" ) << QLatin1String( "R&B" ) << 0054 QLatin1String( "Rap" ) << QLatin1String( "Rave" ) << QLatin1String( "Reggae" ) << QLatin1String( "Retro" ) << 0055 QLatin1String( "Revival" ) << QLatin1String( "Rhythmic Soul" ) << QLatin1String( "Rock & Roll" ) << QLatin1String( "Rock" ) << 0056 QLatin1String( "Salsa" ) << QLatin1String( "Samba" ) << QLatin1String( "Satire" ) << QLatin1String( "Showtunes" ) << 0057 QLatin1String( "Ska" ) << QLatin1String( "Slow Jam" ) << QLatin1String( "Slow Rock" ) << QLatin1String( "Sonata" ) << 0058 QLatin1String( "Soul" ) << QLatin1String( "Sound Clip" ) << QLatin1String( "Soundtrack" ) << QLatin1String( "Southern Rock" ) << 0059 QLatin1String( "Space" ) << QLatin1String( "Speech" ) << QLatin1String( "Swing" ) << QLatin1String( "Symphonic Rock" ) << 0060 QLatin1String( "Symphony" ) << QLatin1String( "Synthpop" ) << QLatin1String( "Tango" ) << QLatin1String( "Techno-Industrial" ) << 0061 QLatin1String( "Techno" ) << QLatin1String( "Terror" ) << QLatin1String( "Thrash Metal" ) << QLatin1String( "Top 40" ) << 0062 QLatin1String( "Trailer" ) << QLatin1String( "Trance" ) << QLatin1String( "Tribal" ) << QLatin1String( "Trip-Hop" ) << 0063 QLatin1String( "Vocal" ); 0064 d->i18n << i18n("Unknown") << i18n("A Cappella") << i18n("Acid Jazz") << 0065 i18n("Acid Punk") << i18n("Acid") << i18n("Acoustic") << i18n("Alternative") << 0066 i18n("Alt. Rock") << i18n("Ambient") << i18n("Anime") << i18n("Avantgarde") << 0067 i18n("Ballad") << i18n("Bass") << i18n("Beat") << i18n("Bebop") << 0068 i18n("Big Band") << i18n("Black Metal") << i18n("Bluegrass") << i18n("Blues") << 0069 i18n("Booty Bass") << i18n("BritPop") << i18n("Cabaret") << i18n("Celtic") << 0070 i18n("Chamber Music") << i18n("Chanson") << i18n("Chorus") << i18n("Christian Gangsta Rap") << 0071 i18n("Christian Rap") << i18n("Christian Rock") << i18n("Classical") << i18n("Classic Rock") << 0072 i18n("Club-house") << i18n("Club") << i18n("Comedy") << i18n("Contemporary Christian") << 0073 i18nc("music genre", "Country") << i18n("Crossover") << i18n("Cult") << i18n("Dance Hall") << 0074 i18n("Dance") << i18n("Darkwave") << i18n("Death Metal") << i18n("Disco") << 0075 i18n("Dream") << i18n("Drum & Bass") << i18n("Drum Solo") << i18n("Duet") << 0076 i18n("Easy Listening") << i18n("Electronic") << i18n("Ethnic") << i18n("Eurodance") << 0077 i18n("Euro-House") << i18n("Euro-Techno") << i18n("Fast-Fusion") << i18n("Folklore") << 0078 i18n("Folk/Rock") << i18n("Folk") << i18n("Freestyle") << i18n("Funk") << 0079 i18n("Fusion") << i18n("Game") << i18n("Gangsta Rap") << i18n("Goa") << 0080 i18n("Gospel") << i18n("Gothic Rock") << i18n("Gothic") << i18n("Grunge") << 0081 i18n("Hardcore") << i18n("Hard Rock") << i18n("Heavy Metal") << i18n("Hip-Hop") << 0082 i18n("House") << i18n("Humor") << i18n("Indie") << i18n("Industrial") << 0083 i18n("Instrumental Pop") << i18n("Instrumental Rock") << i18n("Instrumental") << i18n("Jazz+Funk") << 0084 i18n("Jazz") << i18n("JPop") << i18n("Jungle") << i18n("Latin") << i18n("Lo-Fi") << 0085 i18n("Meditative") << i18n("Merengue") << i18n("Metal") << i18n("Musical") << 0086 i18n("National Folk") << i18n("Native American") << i18n("Negerpunk") << i18n("New Age") << 0087 i18n("New Wave") << i18n("Noise") << i18n("Oldies") << i18n("Opera") << 0088 i18n("Other") << i18n("Polka") << i18n("Polsk Punk") << i18n("Pop-Funk") << 0089 i18n("Pop/Funk") << i18n("Pop") << i18n("Porn Groove") << i18n("Power Ballad") << 0090 i18n("Pranks") << i18n("Primus") << i18n("Progressive Rock") << i18n("Psychedelic Rock") << 0091 i18n("Psychedelic") << i18n("Punk Rock") << i18n("Punk") << i18n("R&B") << 0092 i18n("Rap") << i18n("Rave") << i18n("Reggae") << i18n("Retro") << 0093 i18n("Revival") << i18n("Rhythmic Soul") << i18n("Rock & Roll") << i18n("Rock") << 0094 i18n("Salsa") << i18n("Samba") << i18n("Satire") << i18n("Showtunes") << 0095 i18n("Ska") << i18n("Slow Jam") << i18n("Slow Rock") << i18n("Sonata") << 0096 i18n("Soul") << i18n("Sound Clip") << i18n("Soundtrack") << i18n("Southern Rock") << 0097 i18n("Space") << i18n("Speech") << i18n("Swing") << i18n("Symphonic Rock") << 0098 i18n("Symphony") << i18n("Synthpop") << i18n("Tango") << i18n("Techno-Industrial") << 0099 i18n("Techno") << i18n("Terror") << i18n("Thrash Metal") << i18n("Top 40") << 0100 i18n("Trailer") << i18n("Trance") << i18n("Tribal") << i18n("Trip-Hop") << 0101 i18n("Vocal"); 0102 } 0103 0104 KCDDB::Genres::~Genres() 0105 { 0106 delete d; 0107 } 0108 0109 KCDDB::Genres::Genres(const Genres& other) 0110 :d(new Private) 0111 { 0112 *d = *other.d; 0113 } 0114 0115 KCDDB::Genres& KCDDB::Genres::operator=(const Genres& other) 0116 { 0117 *d = *other.d; 0118 return *this; 0119 } 0120 0121 const QStringList &KCDDB::Genres::cddbList() const 0122 { 0123 return d->cddb; 0124 } 0125 0126 const QStringList &KCDDB::Genres::i18nList() const 0127 { 0128 return d->i18n; 0129 } 0130 0131 const QString KCDDB::Genres::cddb2i18n(const QString &genre) const 0132 { 0133 QString userDefinedGenre = genre.trimmed(); 0134 int index = d->cddb.indexOf(userDefinedGenre); 0135 if (index != -1) 0136 { 0137 return d->i18n[index]; 0138 } 0139 else 0140 { 0141 return userDefinedGenre; 0142 } 0143 } 0144 0145 const QString KCDDB::Genres::i18n2cddb(const QString &genre) const 0146 { 0147 QString userDefinedGenre = genre.trimmed(); 0148 int index = d->i18n.indexOf(userDefinedGenre); 0149 if (index != -1) 0150 { 0151 return d->cddb[index]; 0152 } 0153 else 0154 { 0155 return userDefinedGenre; 0156 } 0157 }