After studying what you just typed, I realize that it looks like you were intending to provide a mechanism to specify the delimiter between multiple values for artists. That is a fairly useful approach, although it definitely creates a little more work for me, as currently the values are cached with the comma delimiter in place, so I would have to split and rejoin them if something other than a comma is specified. As a side note, the first part should be %ARTISTS:, as the field is plural. I think I'm going to modify the syntax to this:
%ARTISTS: - ${VALUE}%
This makes it a little easier to parse and I have fewer keyword values I have to look for by using ${VALUE} as the place to insert the field value. Anything inside the braces but after VALUE is used as the delimiter between multiple values. If just ${VALUE} is specified, the default delimiter will be used, which is a comma followed by a space. A more complex example with a conditional field could then be:
%ARTISTS: - ${VALUE}|${COMPOSERS: - ${VALUE}}%
This would show artists if defined, otherwise composers are shown, If composers is not defined either, then nothing would be shown. Using ${ followed by either VALUE or another field makes it a little easier to identify the end of the statement.
I like your approach, but I still think it's more complicated than what most users would want to deal with. Most would probably be confused by it, especially those that do not have a strong tech background. I think I will support both approaches - the simple approach that tries to automatically eliminate delimiters with empty fields as well as the more powerful syntax that provides more control.
%ARTISTS: - ${VALUE}%
This makes it a little easier to parse and I have fewer keyword values I have to look for by using ${VALUE} as the place to insert the field value. Anything inside the braces but after VALUE is used as the delimiter between multiple values. If just ${VALUE} is specified, the default delimiter will be used, which is a comma followed by a space. A more complex example with a conditional field could then be:
%ARTISTS: - ${VALUE}|${COMPOSERS: - ${VALUE}}%
This would show artists if defined, otherwise composers are shown, If composers is not defined either, then nothing would be shown. Using ${ followed by either VALUE or another field makes it a little easier to identify the end of the statement.
I like your approach, but I still think it's more complicated than what most users would want to deal with. Most would probably be confused by it, especially those that do not have a strong tech background. I think I will support both approaches - the simple approach that tries to automatically eliminate delimiters with empty fields as well as the more powerful syntax that provides more control.