ocarina/include/core/tags/artist.h

52 lines
1.0 KiB
C++

/**
* Copyright 2014 (c) Anna Schumaker.
*/
#ifndef OCARINA_CORE_TAGS_ARTIST_H
#define OCARINA_CORE_TAGS_ARTIST_H
#include <core/tags/generic.h>
/**
* The Artist tag is used to store the name of artists added
* to the tag database.
*/
class Artist : public GenericTag {
public:
Artist(); /**< Artist tag constructor. */
/**
* Artist tag constructor
*
* @param name Artist name.
*/
Artist(const std::string &);
};
namespace tags
{
/** Called to read the artist_db from disk. */
void init_artist_db();
/**
* Called to look up an Artist tag by name. If no existing
* tag is found a new one will be created and returned to
* the caller.
*
* @param name The name of the artist.
* @return A matching Artist tag.
*/
Artist *get_artist(const std::string &);
/**
* Called to look up an Artist tag by tag index.
*
* @param index The index of the Artist tag.
* @return A matching Artist tag or NULL.
*/
Artist *get_artist(const unsigned int);
} /* Namespace: tags */
#endif /* OCARINA_CORE_TAGS_ARTIST_H */