1 /*************************************************************************** 2 copyright : (C) 2002 - 2008 by Scott Wheeler 3 email : [email protected] 4 ***************************************************************************/ 5 6 /*************************************************************************** 7 * This library is free software; you can redistribute it and/or modify * 8 * it under the terms of the GNU Lesser General Public License version * 9 * 2.1 as published by the Free Software Foundation. * 10 * * 11 * This library is distributed in the hope that it will be useful, but * 12 * WITHOUT ANY WARRANTY; without even the implied warranty of * 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 14 * Lesser General Public License for more details. * 15 * * 16 * You should have received a copy of the GNU Lesser General Public * 17 * License along with this library; if not, write to the Free Software * 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 19 * 02110-1301 USA * 20 * * 21 * Alternatively, this file is available under the Mozilla Public * 22 * License Version 1.1. You may obtain a copy of the License at * 23 * http://www.mozilla.org/MPL/ * 24 ***************************************************************************/ 25 26 #ifndef TAGLIB_ID3V1GENRE_H 27 #define TAGLIB_ID3V1GENRE_H 28 29 #include "tmap.h" 30 #include "tstringlist.h" 31 #include "taglib_export.h" 32 33 namespace TagLib { 34 namespace ID3v1 { 35 36 typedef Map<String, int> GenreMap; 37 38 /*! 39 * Returns the list of canonical ID3v1 genre names in the order that they 40 * are listed in the standard. 41 */ 42 StringList TAGLIB_EXPORT genreList(); 43 44 /*! 45 * A "reverse mapping" that goes from the canonical ID3v1 genre name to the 46 * respective genre number. genreMap()["Rock"] == 47 */ 48 GenreMap TAGLIB_EXPORT genreMap(); 49 50 /*! 51 * Returns the name of the genre at \a index in the ID3v1 genre list. If 52 * \a index is out of range -- less than zero or greater than 191 -- a null 53 * string will be returned. 54 */ 55 String TAGLIB_EXPORT genre(int index); 56 57 /*! 58 * Returns the genre index for the (case sensitive) genre \a name. If the 59 * genre is not in the list 255 (which signifies an unknown genre in ID3v1) 60 * will be returned. 61 */ 62 int TAGLIB_EXPORT genreIndex(const String &name); 63 } 64 } 65 66 #endif 67