Having looked through multiple projects over the years, it's clear that Lofty's API either isn't the best documented or the easiest to understand. Some patterns keep showing up, namely:
Many projects could use take_strings instead of repeatedly cloning, since most don't write tags back to files.
Additionally, many projects could benefit from not having to iterate TagItems and check the ItemValue. get_strings exists for that purpose.
Finally, I have seen some projects that don't know about ItemKey. That makes it appear as though Lofty is only capable of providing the items accessible through Accessor. (!!!)
Many will iterate all pictures to find the one they want. That isn't necessary.
I consider this an issue with the docs, not with the projects. I believe there are other things I have found in the past, but this is what I could think of for now.
Having looked through multiple projects over the years, it's clear that Lofty's API either isn't the best documented or the easiest to understand. Some patterns keep showing up, namely:
Tag::take_strings
,Tag::get_strings
}take_strings
instead of repeatedly cloning, since most don't write tags back to files.TagItem
s and check theItemValue
.get_strings
exists for that purpose.ItemKey
. That makes it appear as though Lofty is only capable of providing the items accessible throughAccessor
. (!!!)Tag::get_picture_type
I consider this an issue with the docs, not with the projects. I believe there are other things I have found in the past, but this is what I could think of for now.