예제 #1
0
파일: metadata.c 프로젝트: sd-eblana/bawx
const id3_ucs4_t* id3_metadata_getalbumartist(const struct id3_tag* tag, enum id3_field_textencoding* encoding)
{
  id3_ucs4_t const *ucs4 = metadata_getstring(tag, "TPE2", encoding);
  if (ucs4 && *ucs4) return ucs4;
  ucs4 = id3_metadata_getusertext(tag, "ALBUM ARTIST");
  if (ucs4 && *ucs4) return ucs4;
  ucs4 = id3_metadata_getusertext(tag, "ALBUMARTIST");
  if (ucs4 && *ucs4) return ucs4;
  return id3_ucs4_empty;
}
예제 #2
0
파일: metadata.c 프로젝트: AWilco/xbmc
char id3_metadata_getrating(const struct id3_tag* tag)
{
  union id3_field const *field;
  struct id3_frame const *frame;
  int value;

  frame = id3_tag_findframe(tag, "POPM", 0);
  if (frame)
  {
    field = id3_frame_field(frame, 1);
    if (field)
    { // based on mediamonkey's values, simplified down a bit
      // http://www.mediamonkey.com/forum/viewtopic.php?f=7&t=40532
      value = id3_field_getint(field);
      if (value == 1) return '1';   // WMP11 madness
      if (value < 9) return '0';
      if (value < 50) return '1';
      if (value < 114) return '2';
      if (value < 168) return '3';
      if (value < 219) return '4';
      return '5';
    }
  }
  else
  {
    const id3_ucs4_t *ucs4 = id3_metadata_getusertext(tag, "RATING");
    if (ucs4 && *ucs4 > '0' && *ucs4 < '6')
      return (char)*ucs4;
  }

  return  '0';
}
예제 #3
0
파일: metadata.c 프로젝트: sd-eblana/bawx
char id3_metadata_getrating(const struct id3_tag* tag)
{
  union id3_field const *field;
  struct id3_frame const *frame;

  frame = id3_tag_findframe(tag, "POPM", 0);
  if (frame)
  {
    field = id3_frame_field(frame, 1);
    if (field)
    { // media monkey's value
      return (id3_field_getint(field) / 50) + '0';
    }
  }
  else
  {
    const id3_ucs4_t *ucs4 = id3_metadata_getusertext(tag, "RATING");
    if (ucs4 && *ucs4 > '0' && *ucs4 < '6')
      return (char)*ucs4;
  }

  return  '0';
}