Commit 594de930 authored by Scott Wheeler's avatar Scott Wheeler

Fixed a couple of bugs with the new genre implementation and made

TaggerWidget::genreBox work with it.

svn path=/trunk/kdemultimedia/juk/; revision=141938
parent a0b44463
<genreList name="id3v1"> <genreList name="id3v1">
<genre id3v1="123">A Capella</genre>
<genre id3v1="34">Acid</genre>
<genre id3v1="74">Acid Jazz</genre>
<genre id3v1="73">Acid Punk</genre>
<genre id3v1="99">Acoustic</genre>
<genre id3v1="40">Alt. Rock</genre>
<genre id3v1="20">Alternative</genre>
<genre id3v1="26">Ambient</genre>
<genre id3v1="145">Anime</genre>
<genre id3v1="90">Avantgarde</genre>
<genre id3v1="116">Ballad</genre>
<genre id3v1="41">Bass</genre>
<genre id3v1="135">Beat</genre>
<genre id3v1="85">Bebob</genre>
<genre id3v1="96">Big Band</genre>
<genre id3v1="138">Black Metal</genre>
<genre id3v1="89">Bluegrass</genre>
<genre id3v1="0">Blues</genre> <genre id3v1="0">Blues</genre>
<genre id3v1="107">Booty Bass</genre>
<genre id3v1="132">BritPop</genre>
<genre id3v1="65">Cabaret</genre>
<genre id3v1="88">Celtic</genre>
<genre id3v1="104">Chamber Music</genre>
<genre id3v1="102">Chanson</genre>
<genre id3v1="97">Chorus</genre>
<genre id3v1="136">Christian Gangsta Rap</genre>
<genre id3v1="61">Christian Rap</genre>
<genre id3v1="141">Christian Rock</genre>
<genre id3v1="1">Classic Rock</genre> <genre id3v1="1">Classic Rock</genre>
<genre id3v1="32">Classical</genre>
<genre id3v1="112">Club</genre>
<genre id3v1="128">Club-House</genre>
<genre id3v1="57">Comedy</genre>
<genre id3v1="140">Contemporary Christian</genre>
<genre id3v1="2">Country</genre> <genre id3v1="2">Country</genre>
<genre id3v1="139">Crossover</genre>
<genre id3v1="58">Cult</genre>
<genre id3v1="3">Dance</genre> <genre id3v1="3">Dance</genre>
<genre id3v1="125">Dance Hall</genre>
<genre id3v1="50">Darkwave</genre>
<genre id3v1="22">Death Metal</genre>
<genre id3v1="4">Disco </genre> <genre id3v1="4">Disco </genre>
<genre id3v1="55">Dream</genre>
<genre id3v1="127">Drum &amp; Bass</genre>
<genre id3v1="122">Drum Solo</genre>
<genre id3v1="120">Duet</genre>
<genre id3v1="98">Easy Listening</genre>
<genre id3v1="52">Electronic</genre>
<genre id3v1="48">Ethnic</genre>
<genre id3v1="124">Euro-House</genre>
<genre id3v1="25">Euro-Techno</genre>
<genre id3v1="54">Eurodance</genre>
<genre id3v1="80">Folk</genre>
<genre id3v1="81">Folk/Rock</genre>
<genre id3v1="115">Folklore</genre>
<genre id3v1="119">Freestyle</genre>
<genre id3v1="5">Funk</genre> <genre id3v1="5">Funk</genre>
<genre id3v1="84">Fusion</genre>
<genre id3v1="36">Game</genre>
<genre id3v1="59">Gangsta</genre>
<genre id3v1="126">Goa</genre>
<genre id3v1="38">Gospel</genre>
<genre id3v1="49">Gothic</genre>
<genre id3v1="91">Gothic Rock</genre>
<genre id3v1="6">Grunge</genre> <genre id3v1="6">Grunge</genre>
<genre id3v1="79">Hard Rock</genre>
<genre id3v1="129">Hardcore</genre>
<genre id3v1="137">Heavy Metal</genre>
<genre id3v1="7">Hip-Hop</genre> <genre id3v1="7">Hip-Hop</genre>
<genre id3v1="35">House</genre>
<genre id3v1="100">Humour</genre>
<genre id3v1="131">Indie</genre>
<genre id3v1="19">Industrial</genre>
<genre id3v1="46">Instrum. Pop</genre>
<genre id3v1="47">Instrum. Rock</genre>
<genre id3v1="33">Instrumental</genre>
<genre id3v1="8">Jazz</genre> <genre id3v1="8">Jazz</genre>
<genre id3v1="29">Jazz+Funk</genre>
<genre id3v1="146">Jpop</genre>
<genre id3v1="63">Jungle</genre>
<genre id3v1="86">Latin</genre>
<genre id3v1="71">Lo-Fi</genre>
<genre id3v1="45">Meditative</genre>
<genre id3v1="142">Merengue</genre>
<genre id3v1="9">Metal</genre> <genre id3v1="9">Metal</genre>
<genre id3v1="77">Musical</genre>
<genre id3v1="82">National Folk</genre>
<genre id3v1="64">Native American</genre>
<genre id3v1="133">Negerpunk</genre>
<genre id3v1="10">New Age</genre> <genre id3v1="10">New Age</genre>
<genre id3v1="66">New Wave</genre>
<genre id3v1="39">Noise</genre>
<genre id3v1="11">Oldies</genre> <genre id3v1="11">Oldies</genre>
<genre id3v1="103">Opera</genre>
<genre id3v1="12">Other</genre> <genre id3v1="12">Other</genre>
<genre id3v1="75">Polka</genre>
<genre id3v1="134">Polsk Punk</genre>
<genre id3v1="13">Pop</genre> <genre id3v1="13">Pop</genre>
<genre id3v1="53">Pop-Folk</genre>
<genre id3v1="62">Pop/Funk</genre>
<genre id3v1="109">Porn Groove</genre>
<genre id3v1="117">Power Ballad</genre>
<genre id3v1="23">Pranks</genre>
<genre id3v1="108">Primus</genre>
<genre id3v1="92">Progress. Rock</genre>
<genre id3v1="93">Psychadel. Rock</genre>
<genre id3v1="67">Psychadelic</genre>
<genre id3v1="43">Punk</genre>
<genre id3v1="121">Punk Rock</genre>
<genre id3v1="14">R&amp;B</genre> <genre id3v1="14">R&amp;B</genre>
<genre id3v1="15">Rap</genre> <genre id3v1="15">Rap</genre>
<genre id3v1="68">Rave</genre>
<genre id3v1="16">Reggae</genre> <genre id3v1="16">Reggae</genre>
<genre id3v1="76">Retro</genre>
<genre id3v1="87">Revival</genre>
<genre id3v1="118">Rhythmic Soul</genre>
<genre id3v1="17">Rock</genre> <genre id3v1="17">Rock</genre>
<genre id3v1="18">Techno</genre> <genre id3v1="78">Rock &amp; Roll</genre>
<genre id3v1="19">Industrial</genre> <genre id3v1="143">Salsa</genre>
<genre id3v1="20">Alternative</genre> <genre id3v1="114">Samba</genre>
<genre id3v1="110">Satire</genre>
<genre id3v1="69">Showtunes</genre>
<genre id3v1="21">Ska</genre> <genre id3v1="21">Ska</genre>
<genre id3v1="22">Death Metal</genre> <genre id3v1="111">Slow Jam</genre>
<genre id3v1="23">Pranks</genre> <genre id3v1="95">Slow Rock</genre>
<genre id3v1="24">Soundtrack</genre> <genre id3v1="105">Sonata</genre>
<genre id3v1="25">Euro-Techno</genre>
<genre id3v1="26">Ambient</genre>
<genre id3v1="27">Trip-Hop</genre>
<genre id3v1="28">Vocal</genre>
<genre id3v1="29">Jazz+Funk</genre>
<genre id3v1="30">Fusion</genre>
<genre id3v1="31">Trance</genre>
<genre id3v1="32">Classical</genre>
<genre id3v1="33">Instrumental</genre>
<genre id3v1="34">Acid</genre>
<genre id3v1="35">House</genre>
<genre id3v1="36">Game</genre>
<genre id3v1="37">Sound Clip</genre>
<genre id3v1="38">Gospel</genre>
<genre id3v1="39">Noise</genre>
<genre id3v1="40">Alt. Rock</genre>
<genre id3v1="41">Bass</genre>
<genre id3v1="42">Soul</genre> <genre id3v1="42">Soul</genre>
<genre id3v1="43">Punk</genre> <genre id3v1="37">Sound Clip</genre>
<genre id3v1="44">Space</genre> <genre id3v1="24">Soundtrack</genre>
<genre id3v1="45">Meditative</genre>
<genre id3v1="46">Instrum. Pop</genre>
<genre id3v1="47">Instrum. Rock</genre>
<genre id3v1="48">Ethnic</genre>
<genre id3v1="49">Gothic</genre>
<genre id3v1="50">Darkwave</genre>
<genre id3v1="51">Techno-Indust.</genre>
<genre id3v1="52">Electronic</genre>
<genre id3v1="53">Pop-Folk</genre>
<genre id3v1="54">Eurodance</genre>
<genre id3v1="55">Dream</genre>
<genre id3v1="56">Southern Rock</genre> <genre id3v1="56">Southern Rock</genre>
<genre id3v1="57">Comedy</genre> <genre id3v1="44">Space</genre>
<genre id3v1="58">Cult</genre> <genre id3v1="101">Speech</genre>
<genre id3v1="59">Gangsta</genre>
<genre id3v1="60">Top 40</genre>
<genre id3v1="61">Christian Rap</genre>
<genre id3v1="62">Pop/Funk</genre>
<genre id3v1="63">Jungle</genre>
<genre id3v1="64">Native American</genre>
<genre id3v1="65">Cabaret</genre>
<genre id3v1="66">New Wave</genre>
<genre id3v1="67">Psychadelic</genre>
<genre id3v1="68">Rave</genre>
<genre id3v1="69">Showtunes</genre>
<genre id3v1="70">Trailer</genre>
<genre id3v1="71">Lo-Fi</genre>
<genre id3v1="72">Tribal</genre>
<genre id3v1="73">Acid Punk</genre>
<genre id3v1="74">Acid Jazz</genre>
<genre id3v1="75">Polka</genre>
<genre id3v1="76">Retro</genre>
<genre id3v1="77">Musical</genre>
<genre id3v1="78">Rock &amp; Roll</genre>
<genre id3v1="79">Hard Rock</genre>
<genre id3v1="80">Folk</genre>
<genre id3v1="81">Folk/Rock</genre>
<genre id3v1="82">National Folk</genre>
<genre id3v1="83">Swing</genre> <genre id3v1="83">Swing</genre>
<genre id3v1="84">Fusion</genre>
<genre id3v1="85">Bebob</genre>
<genre id3v1="86">Latin</genre>
<genre id3v1="87">Revival</genre>
<genre id3v1="88">Celtic</genre>
<genre id3v1="89">Bluegrass</genre>
<genre id3v1="90">Avantgarde</genre>
<genre id3v1="91">Gothic Rock</genre>
<genre id3v1="92">Progress. Rock</genre>
<genre id3v1="93">Psychadel. Rock</genre>
<genre id3v1="94">Symphonic Rock</genre> <genre id3v1="94">Symphonic Rock</genre>
<genre id3v1="95">Slow Rock</genre>
<genre id3v1="96">Big Band</genre>
<genre id3v1="97">Chorus</genre>
<genre id3v1="98">Easy Listening</genre>
<genre id3v1="99">Acoustic</genre>
<genre id3v1="100">Humour</genre>
<genre id3v1="101">Speech</genre>
<genre id3v1="102">Chanson</genre>
<genre id3v1="103">Opera</genre>
<genre id3v1="104">Chamber Music</genre>
<genre id3v1="105">Sonata</genre>
<genre id3v1="106">Symphony</genre> <genre id3v1="106">Symphony</genre>
<genre id3v1="107">Booty Bass</genre> <genre id3v1="147">Synthpop</genre>
<genre id3v1="108">Primus</genre>
<genre id3v1="109">Porn Groove</genre>
<genre id3v1="110">Satire</genre>
<genre id3v1="111">Slow Jam</genre>
<genre id3v1="112">Club</genre>
<genre id3v1="113">Tango</genre> <genre id3v1="113">Tango</genre>
<genre id3v1="114">Samba</genre> <genre id3v1="18">Techno</genre>
<genre id3v1="115">Folklore</genre> <genre id3v1="51">Techno-Indust.</genre>
<genre id3v1="116">Ballad</genre>
<genre id3v1="117">Power Ballad</genre>
<genre id3v1="118">Rhythmic Soul</genre>
<genre id3v1="119">Freestyle</genre>
<genre id3v1="120">Duet</genre>
<genre id3v1="121">Punk Rock</genre>
<genre id3v1="122">Drum Solo</genre>
<genre id3v1="123">A Capella</genre>
<genre id3v1="124">Euro-House</genre>
<genre id3v1="125">Dance Hall</genre>
<genre id3v1="126">Goa</genre>
<genre id3v1="127">Drum &amp; Bass</genre>
<genre id3v1="128">Club-House</genre>
<genre id3v1="129">Hardcore</genre>
<genre id3v1="130">Terror</genre> <genre id3v1="130">Terror</genre>
<genre id3v1="131">Indie</genre>
<genre id3v1="132">BritPop</genre>
<genre id3v1="133">Negerpunk</genre>
<genre id3v1="134">Polsk Punk</genre>
<genre id3v1="135">Beat</genre>
<genre id3v1="136">Christian Gangsta Rap</genre>
<genre id3v1="137">Heavy Metal</genre>
<genre id3v1="138">Black Metal</genre>
<genre id3v1="139">Crossover</genre>
<genre id3v1="140">Contemporary Christian</genre>
<genre id3v1="141">Christian Rock</genre>
<genre id3v1="142">Merengue</genre>
<genre id3v1="143">Salsa</genre>
<genre id3v1="144">Thrash Metal</genre> <genre id3v1="144">Thrash Metal</genre>
<genre id3v1="145">Anime</genre> <genre id3v1="60">Top 40</genre>
<genre id3v1="146">Jpop</genre> <genre id3v1="70">Trailer</genre>
<genre id3v1="147">Synthpop</genre> <genre id3v1="31">Trance</genre>
<genre id3v1="72">Tribal</genre>
<genre id3v1="27">Trip-Hop</genre>
<genre id3v1="28">Vocal</genre>
</genreList> </genreList>
...@@ -68,12 +68,14 @@ void GenreList::initializeIndex() ...@@ -68,12 +68,14 @@ void GenreList::initializeIndex()
{ {
kdDebug() << "initializeIndex()" << endl; kdDebug() << "initializeIndex()" << endl;
index.clear(); index.clear();
index.resize(count()); kdDebug() << "Cleared size: " << index.size() << endl;
index.resize(count() + 1);
for(GenreList::Iterator it = begin(); it != end(); ++it) { for(GenreList::Iterator it = begin(); it != end(); ++it) {
if((*it).getId3v1() >= 0 && (*it).getId3v1() <= int(index.size())) { if((*it).getId3v1() >= 0 && (*it).getId3v1() <= int(index.size())) {
// kdDebug() << "initializeIndex() - " << (*it).getId3v1() << " - " // kdDebug() << "initializeIndex() - " << (*it).getId3v1() << " - "
// << index.size() << " - " << count() << " - " << (*it) << endl; // << index.size() << " - " << count() << " - " << (*it) << endl;
index[(*it).getId3v1()] = QString(*it); index[(*it).getId3v1()] = QString(*it);
// kdDebug() << "id3v1 #" << (*it).getId3v1() << ", Size: " << index.size() << endl;
} }
} }
} }
...@@ -29,17 +29,17 @@ ...@@ -29,17 +29,17 @@
// if it is, well, all hell will break loose and you'll get a strange segfault. // if it is, well, all hell will break loose and you'll get a strange segfault.
// public // public
GenreList GenreListList::id3v1List() GenreList *GenreListList::id3v1List()
{ {
if(!id3v1Loaded) { if(!id3v1Loaded) {
id3v1.load(locate("data", "juk/id3v1.genreml")); id3v1->load(locate("data", "juk/id3v1.genreml"));
id3v1Loaded = true; id3v1Loaded = true;
} }
return(id3v1); return(id3v1);
} }
// private // private
GenreList GenreListList::id3v1(true); GenreList *GenreListList::id3v1 = new GenreList(true);
bool GenreListList::id3v1Loaded = false; bool GenreListList::id3v1Loaded = false;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
......
...@@ -28,10 +28,10 @@ public: ...@@ -28,10 +28,10 @@ public:
GenreListList(); GenreListList();
~GenreListList(); ~GenreListList();
static GenreList id3v1List(); static GenreList *id3v1List();
private: private:
static GenreList id3v1; static GenreList *id3v1;
static bool id3v1Loaded; static bool id3v1Loaded;
}; };
......
...@@ -71,7 +71,7 @@ Tag::Tag(QString file) ...@@ -71,7 +71,7 @@ Tag::Tag(QString file)
/////////////////////////////////////////////////////// ///////////////////////////////////////////////////////
if(genre == "(" + QString::number(genreNumber) + ")" || genre == QString::null) if(genre == "(" + QString::number(genreNumber) + ")" || genre == QString::null)
genre = GenreListList::id3v1List().name(genreNumber); genre = GenreListList::id3v1List()->name(genreNumber);
/////////////////////////////////////////////////////// ///////////////////////////////////////////////////////
// convert the year to a string // convert the year to a string
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#include <qlabel.h> #include <qlabel.h>
#include "taggerwidget.h" #include "taggerwidget.h"
//#include "genre.h" #include "genrelistlist.h"
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// public members // public members
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
TaggerWidget::TaggerWidget(QWidget *parent) : QWidget(parent) TaggerWidget::TaggerWidget(QWidget *parent) : QWidget(parent)
{ {
setupLayout(); setupLayout();
readConfig();
} }
TaggerWidget::~TaggerWidget() {} TaggerWidget::~TaggerWidget() {}
...@@ -131,12 +132,6 @@ void TaggerWidget::setupLayout() ...@@ -131,12 +132,6 @@ void TaggerWidget::setupLayout()
genreBox = new KComboBox(false, bottem, "genreBox"); genreBox = new KComboBox(false, bottem, "genreBox");
// add values to the genre box
genreBox->insertItem(QString::null);
// for(int i = 0; i <= Genre::getGenreCount(); i++)
// genreBox->insertItem(Genre::getGenreName(i));
leftColumnLayout->addWidget(genreBox); leftColumnLayout->addWidget(genreBox);
// this fills the space at the bottem of the left column // this fills the space at the bottem of the left column
...@@ -188,6 +183,18 @@ void TaggerWidget::setupLayout() ...@@ -188,6 +183,18 @@ void TaggerWidget::setupLayout()
} }
} }
void TaggerWidget::readConfig()
{
genreList = GenreListList::id3v1List(); // this should later be read from a config file
if(genreList && genreBox) {
genreBox->clear();
// add values to the genre box
genreBox->insertItem(QString::null);
for(GenreList::Iterator it = genreList->begin(); it != genreList->end(); ++it)
genreBox->insertItem((*it));
}
}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// private slots // private slots
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include "filelist.h" #include "filelist.h"
#include "filelistitem.h" #include "filelistitem.h"
#include "genrelist.h"
class TaggerWidget : public QWidget class TaggerWidget : public QWidget
{ {
...@@ -41,6 +42,7 @@ public: ...@@ -41,6 +42,7 @@ public:
private: private:
void setupLayout(); void setupLayout();
void readConfig();
// main visual objects // main visual objects
FileList *taggerList; FileList *taggerList;
...@@ -56,6 +58,8 @@ private: ...@@ -56,6 +58,8 @@ private:
KLineEdit *bitrateBox; KLineEdit *bitrateBox;
KEdit *commentBox; KEdit *commentBox;
GenreList *genreList;
private slots: private slots:
void updateBoxes(FileListItem *item); void updateBoxes(FileListItem *item);
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment