Open ghost opened 12 years ago
I agree about this point. It should be fine to get all the metadatas or to extend the current Tag enum to handle all metadatas (as Copyright, F Number, creator, keywords or other...).
Can you add it to the next release ? Thanks.
Yes, the next version will be 2.0 and it will break 1.0 backward compatibility. While I love the Enum-based design for ease of use, the immediate limitations and lack of easy extensibility for users to immediately take advantage of is a big problem.
While I wanted to avoid it, I think I'll have to go with a Class-per-Tag based implementation. The classes will be extremely light weight and simple, but at least they will allow total customization and extensibility for anyone wanting to use the class. Naturally the library will ship with a handful of the most popular Metadata tags already implemented and clear information on how to add more.
A user emailed asking if there was a way to use all this launching infrastructure to get ExifTool's raw no-args output which is a full list of metadata found in an image.
Adding a List getAllMeta() method is a possibility, but a sloppy solution to a shortcoming that the user should be able to extend and solve themself if the base implementation was more flexible.
This also points to the problem of having enum-defined Tags. It makes usage super nice and intuitive, but extension impossible.
Need to think about this more.