31 SessionMetadata::SessionMetadata ()
34 map.insert (
Property (
"comment",
""));
35 map.insert (
Property (
"copyright",
""));
40 map.insert (
Property (
"grouping",
""));
42 map.insert (
Property (
"subtitle",
""));
45 map.insert (
Property (
"artist",
""));
46 map.insert (
Property (
"album_artist",
""));
47 map.insert (
Property (
"lyricist",
""));
48 map.insert (
Property (
"composer",
""));
49 map.insert (
Property (
"conductor",
""));
50 map.insert (
Property (
"remixer",
""));
51 map.insert (
Property (
"arranger",
""));
52 map.insert (
Property (
"engineer",
""));
53 map.insert (
Property (
"producer",
""));
54 map.insert (
Property (
"dj_mixer",
""));
59 map.insert (
Property (
"instructor",
""));
60 map.insert (
Property (
"course",
""));
64 map.insert (
Property (
"compilation",
""));
65 map.insert (
Property (
"disc_subtitle",
""));
66 map.insert (
Property (
"disc_number",
""));
67 map.insert (
Property (
"total_discs",
""));
68 map.insert (
Property (
"track_number",
""));
69 map.insert (
Property (
"total_tracks",
""));
80 map.insert (
Property (
"barcode",
""));
91 user_map.insert (
Property (
"user_name",
""));
92 user_map.insert (
Property (
"user_email",
""));
93 user_map.insert (
Property (
"user_web",
""));
94 user_map.insert (
Property (
"user_organization",
""));
95 user_map.insert (
Property (
"user_country",
""));
98 SessionMetadata::~SessionMetadata ()
104 SessionMetadata::get_xml (
const string &
name)
121 PropertyMap::const_iterator it = map.find (name);
122 if (it == map.end()) {
123 it = user_map.find (name);
124 if (it == user_map.end()) {
126 std::cerr <<
"Programming error in SessionMetadata::get_value (" << name <<
")" << std::endl;
135 SessionMetadata::get_uint_value (
const string &
name)
const
141 SessionMetadata::set_value (
const string &
name,
const string & value)
143 PropertyMap::iterator it = map.find (name);
144 if (it == map.end()) {
145 it = user_map.find (name);
146 if (it == user_map.end()) {
148 std::cerr <<
"Programming error in SessionMetadata::set_value (" << name <<
")" << std::endl;
157 SessionMetadata::set_value (
const string & name, uint32_t value)
159 std::ostringstream oss;
161 if (oss.str().compare(
"0")) {
162 set_value (name, oss.str());
164 set_value (name,
"");
170 SessionMetadata::get_state ()
175 for (PropertyMap::const_iterator it = map.begin(); it != map.end(); ++it) {
176 if ((prop = get_xml (it->first))) {
185 SessionMetadata::set_state (
const XMLNode & state,
int )
202 set_value (name, value);
210 SessionMetadata::get_user_state ()
215 for (PropertyMap::const_iterator it = user_map.begin(); it != user_map.end(); ++it) {
216 if ((prop = get_xml (it->first))) {
226 SessionMetadata::comment ()
const
232 SessionMetadata::copyright ()
const
238 SessionMetadata::isrc ()
const
244 SessionMetadata::year ()
const
246 return get_uint_value(
"year");
250 SessionMetadata::grouping ()
const
256 SessionMetadata::barcode ()
const
262 SessionMetadata::title ()
const
268 SessionMetadata::subtitle ()
const
274 SessionMetadata::artist ()
const
280 SessionMetadata::album_artist ()
const
286 SessionMetadata::lyricist ()
const
292 SessionMetadata::composer ()
const
298 SessionMetadata::conductor ()
const
304 SessionMetadata::remixer ()
const
310 SessionMetadata::arranger ()
const
316 SessionMetadata::engineer ()
const
322 SessionMetadata::producer ()
const
328 SessionMetadata::dj_mixer ()
const
334 SessionMetadata::mixer ()
const
340 SessionMetadata::album ()
const
346 SessionMetadata::compilation ()
const
352 SessionMetadata::disc_subtitle ()
const
358 SessionMetadata::disc_number ()
const
360 return get_uint_value(
"disc_number");
364 SessionMetadata::total_discs ()
const
366 return get_uint_value(
"total_discs");
370 SessionMetadata::track_number ()
const
372 return get_uint_value(
"track_number");
376 SessionMetadata::total_tracks ()
const
378 return get_uint_value(
"total_tracks");
382 SessionMetadata::genre ()
const
388 SessionMetadata::instructor ()
const
394 SessionMetadata::course ()
const
401 SessionMetadata::user_name ()
const
407 SessionMetadata::user_email ()
const
413 SessionMetadata::user_web ()
const
419 SessionMetadata::organization ()
const
425 SessionMetadata::country ()
const
434 SessionMetadata::set_comment (
const string & v)
436 set_value (
"comment", v);
440 SessionMetadata::set_copyright (
const string & v)
442 set_value (
"copyright", v);
446 SessionMetadata::set_isrc (
const string & v)
448 set_value (
"isrc", v);
452 SessionMetadata::set_year (uint32_t v)
454 set_value (
"year", v);
458 SessionMetadata::set_grouping (
const string & v)
460 set_value (
"grouping", v);
464 SessionMetadata::set_barcode (
const string & v)
466 set_value (
"barcode", v);
470 SessionMetadata::set_title (
const string & v)
472 set_value (
"title", v);
476 SessionMetadata::set_subtitle (
const string & v)
478 set_value (
"subtitle", v);
482 SessionMetadata::set_artist (
const string & v)
484 set_value (
"artist", v);
488 SessionMetadata::set_album_artist (
const string & v)
490 set_value (
"album_artist", v);
494 SessionMetadata::set_lyricist (
const string & v)
496 set_value (
"lyricist", v);
500 SessionMetadata::set_composer (
const string & v)
502 set_value (
"composer", v);
506 SessionMetadata::set_conductor (
const string & v)
508 set_value (
"conductor", v);
512 SessionMetadata::set_remixer (
const string & v)
514 set_value (
"remixer", v);
518 SessionMetadata::set_arranger (
const string & v)
520 set_value (
"arranger", v);
524 SessionMetadata::set_engineer (
const string & v)
526 set_value (
"engineer", v);
530 SessionMetadata::set_producer (
const string & v)
532 set_value (
"producer", v);
536 SessionMetadata::set_dj_mixer (
const string & v)
538 set_value (
"dj_mixer", v);
542 SessionMetadata::set_mixer (
const string & v)
544 set_value (
"mixer", v);
548 SessionMetadata::set_album (
const string & v)
550 set_value (
"album", v);
554 SessionMetadata::set_compilation (
const string & v)
556 set_value (
"compilation", v);
560 SessionMetadata::set_disc_subtitle (
const string & v)
562 set_value (
"disc_subtitle", v);
566 SessionMetadata::set_disc_number (uint32_t v)
568 set_value (
"disc_number", v);
572 SessionMetadata::set_total_discs (uint32_t v)
574 set_value (
"total_discs", v);
578 SessionMetadata::set_track_number (uint32_t v)
580 set_value (
"track_number", v);
584 SessionMetadata::set_total_tracks (uint32_t v)
586 set_value (
"total_tracks", v);
590 SessionMetadata::set_genre (
const string & v)
592 set_value (
"genre", v);
596 SessionMetadata::set_instructor (
const string & v)
598 set_value (
"instructor", v);
602 SessionMetadata::set_course (
const string & v)
604 set_value (
"course", v);
608 SessionMetadata::set_user_name (
const string & v)
610 set_value (
"user_name", v);
614 SessionMetadata::set_user_email (
const string & v)
616 set_value (
"user_email", v);
620 SessionMetadata::set_user_web (
const string & v)
622 set_value (
"user_web", v);
626 SessionMetadata::set_organization (
const string & v)
628 set_value (
"user_organization", v);
631 SessionMetadata::set_country (
const string & v)
633 set_value (
"user_country", v);
int atoi(const string &s)
const std::string & content() const
const std::string & name() const
XMLNode * add_child_copy(const XMLNode &)
const XMLNodeList & children(const std::string &str=std::string()) const
std::list< XMLNode * > XMLNodeList
void add_child_nocopy(XMLNode &)
static LilvNode * get_value(LilvWorld *world, const LilvNode *subject, const LilvNode *predicate)
XMLNodeList::const_iterator XMLNodeConstIterator