Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Tag-standards In Plugins<->formatting (Read 169629 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Tag-standards In Plugins<->formatting

Reply #25
Quote
Maybe it's time for "common users" voicing their opinion on this issue.
[a href="index.php?act=findpost&pid=273593"][{POST_SNAPBACK}][/a]


Poll thread?

[edit]

2005-02-14_18:19:00

?

[/edit]

Tag-standards In Plugins<->formatting

Reply #26
I already asked users for their VA-behaviour in another thread..... so, creating a new one would probably just be a duplicate.

http://www.hydrogenaudio.org/forums/index....c=22183&hl=mark

The timestamp is okay for me. The only question left is:
Do we create a completely new combined date-time tag? Or do we use the existing two tags with a different format?
I am arrogant and I can afford it because I deliver.

Tag-standards In Plugins<->formatting

Reply #27
Quote
The timestamp is okay for me. The only question left is:
Do we create a completely new combined date-time tag? Or do we use the existing two tags with a different format?
[a href="index.php?act=findpost&pid=273598"][{POST_SNAPBACK}][/a]


I'm repeating myself, but I think a new field is the way to go.  If we re-use PLAY_DATE, we'll still be doing all kinds of checks on it to guess its format.  The reliable consistency of a LAST_PLAYED field is very appealing, and while there will still be a lot of PLAY_DATE usage for a while, it will die down (especially if (a) the standard is incorporated into the playcount component and (b) some masstagger scripts for translating various common formats are made available.)

Tag-standards In Plugins<->formatting

Reply #28
Gimme a night to sleep over it - but that of course shouldn't hold back others from voicing their opinion. After all, its not like i'm the final judge - i'm just the threadstarter and one of the formatting-string programmers, nothing more ;-)
I am arrogant and I can afford it because I deliver.

Tag-standards In Plugins<->formatting

Reply #29
Hmmm... coming in pretty late on the discussion here, but I'm with topdownjimmy on the timestamp issue.
IMHO if a user is playing around with the playcount plugin in their scripts then they probably wouldn't have much trouble figuring out a simple way to display a readable date, and the advantage of comparing values without having to parse the string to remove '-' or whatever is there. For example, personally I display the date '15 February 2005' so the raw value would still have to be processed.

With VA albums, mine are all under their own 'Various' folder, so i'm not sure about the standards suggested already... I guess it wouldn't be very hard to change this though.

Tag-standards In Plugins<->formatting

Reply #30
Quote
With VA albums, mine are all under their own 'Various' folder, so i'm not sure about the standards suggested already... I guess it wouldn't be very hard to change this though.
[a href="index.php?act=findpost&pid=273654"][{POST_SNAPBACK}][/a]

maybe it could be one of two or one of three standarts because alot of people have all under their own 'Various' folder and not everyone has various artist in their tag

Tag-standards In Plugins<->formatting

Reply #31
About VA, I agree about %album artist%, I think it's clear and widely adopted. Personally I use this tag, and I also use special folder names for various artists albums, but that's a personal approach and not what should be a 'standard' (the tag).

About playcount tag, maybe a single tag containing everything it's better, but about the format I don't know,as long as it allow sorting, queries in EPG and others that's fine. Personally I think that's always better to have an standard that would work between different plugins and not having to define it yourself, if you decide to go ahead and make an alternative format, it's your choice but you could always revert to something you know that's working in case that somethig don't work with your custom format. BTW, does someone knows what other players use as playcount fields? Or if there's a 'standard' playcount tag/metadata? It'll be wiser to adopt something cross-platform/players if possible 

Tag-standards In Plugins<->formatting

Reply #32
May I point you to the specification for the date and time format in APEv2 tags? Perhaps this can help with the decision. It would also be very easy to extend the playlist generator with two keywords "BEFORE" and "AFTER" to compare values as strings, which would also compare dates in ISO 8601 format correctly. IMO "date AFTER 2001-11-11 AND date BEFORE 2000-02-16" looks nicer and is easier to read than "date GREATER 20011111 AND date LESS 20000216". Additionally, the first variant would even work, if the tag ("date" in this example) contains a time part as well.

Tag-standards In Plugins<->formatting

Reply #33
I was away for a while when writing, and now both foosion and jkwarras has posted the kind of thoughts I hoped for, when suggesting a thread like this. To look to other tag formats and players is a good idea. Comments from people like foosion is also very valuable, so that we have opinons from every group of users.

Whether the name of the date/time tag is changed or not, isn't that important to me, as long as it's well thought through, and easy to tell new users what to do, to make things work. But, having the new one as the default tag in foo_playcount is crucial, I guess. If a user's current format outputs garbage, with a certain formatting, just tell him where to look for an explanation for how things should be done/used. Some masstagger scrips that would reformat common, current formats, could also be provided. But, the way formatting devs extract info from the "new tag", will of course affect how successful the latter is (at least one should avoid the use of $right() ).

I also agree with picmixer regarding the use of %album artist% for VA tagging. Nowadays I use the same approach as him, but earlier I used %various%=yes, because I didn't have any experience with custom tags when I started. I later changed to %album artist% as it's more efficient, and has widespread use. This is one of the reasons I suggested this discussion in the first place, because when you're new to custom tags, you might not have a good reason to choose one format over the other, and hence a guideline like this could be useful. If (new) devs want to make a formatting that as many as possible can use, then following a guideline for the prefered way of doing things, can be useful. No need for everyone to reinvent the wheel.

My goal with this discussion was not to make a string that supports every possible way to mark VA albums and such. Been there, done that, and now I prefere more efficient strings. It's the users that should adopt to widespread "standards", instead of requiring every formatting to support every bizzare tag/naming scheme.
But, the following might be a good compromise: For tagging, I think %album artist% should be the one and only, but one user definable "marker" like 'VA - ', would be nice for people that don't like custom tags. When used with Columns UI, the usage in the formatting itself would be pretty much the same as when using %album artist% alone:

In Global:
Code: [Select]
$puts(va_marker,'VA - ')

various=$if2(%album artist%,$if($strstr(%_path%,$get(va_marker)),'Various Artists'))
The first line would be easy to change to suit a particular user in a "config part".

Artist/album column (when using album mode):
Code: [Select]
$if2(%_various%,%artist%)

Title column:
Code: [Select]
$if(%_various%,%artist%' - ')


If this isn't enough, you could always make the contents of the va_marker conditional in case more than one marker is needed (for a given users special needs). E.g. like this (not the best example, but anyway):
Code: [Select]
$puts(va_marker,$if($strstr(%_path%,'-OST-'),'-OST-','VA - '))


I guess that's enough for now...

Edit: nothing important, just added some "air"...
Edit2: I need some coffee. The code for the "artist/album" column isn't that useful, and you'll probably decide it's contents in the global config, and hence you need $puts() $get() as %_various% can be used there.

Tag-standards In Plugins<->formatting

Reply #34
Quote
May I point you to the specification for the date and time format in APEv2 tags? Perhaps this can help with the decision. It would also be very easy to extend the playlist generator with two keywords "BEFORE" and "AFTER" to compare values as strings, which would also compare dates in ISO 8601 format correctly. IMO "date AFTER 2001-11-11 AND date BEFORE 2000-02-16" looks nicer and is easier to read than "date GREATER 20011111 AND date LESS 20000216". Additionally, the first variant would even work, if the tag ("date" in this example) contains a time part as well.
[a href="index.php?act=findpost&pid=273704"][{POST_SNAPBACK}][/a]


Given that, I don't think there are any reasons left not to adopt the explicit APE standard:
2005-02-15 07:09:00

edit: jkwarras brings up a good point about sorting...how will that work with the above format?

Now...thoughts on field name?

Tag-standards In Plugins<->formatting

Reply #35
Unless some good other existing fieldname does exist, imho your proposed LAST_PLAYED sounds good. Its meaning isn't restricted to date and time, its short(so easy to type in when manually adding tags), its easy to understand. It's just catchy. The only thing interesting to know - since it sounds so obvious - is if any other players do exist which use this tag-name, and what they do write into it. However, if some unknown exotic player does exist which uses it for different purposes, then we can still verify it with a very low amount of code.

So, i'd say unless some high-profile app uses this tag for other purposes, i'd say lets go for it.

- Lyx
I am arrogant and I can afford it because I deliver.

Tag-standards In Plugins<->formatting

Reply #36
Quote
May I point you to the specification for the date and time format in APEv2 tags? Perhaps this can help with the decision. It would also be very easy to extend the playlist generator with two keywords "BEFORE" and "AFTER" to compare values as strings, which would also compare dates in ISO 8601 format correctly. IMO "date AFTER 2001-11-11 AND date BEFORE 2000-02-16" looks nicer and is easier to read than "date GREATER 20011111 AND date LESS 20000216". Additionally, the first variant would even work, if the tag ("date" in this example) contains a time part as well.
[a href="index.php?act=findpost&pid=273704"][{POST_SNAPBACK}][/a]

Ape standard sounds good, but could this BEFORE and AFTER also apply to TAGZ? I guess this would be a feature request for fb2k 0.9

Tag-standards In Plugins<->formatting

Reply #37
Quote
Ape standard sounds good, but could this BEFORE and AFTER also apply to TAGZ? I guess this would be a feature request for fb2k 0.9

I think it shouldn't be BEFORE and AFTER based on date only. Instead, a generic function which compares strings based on alphanumeric _sorting_ would offer much more possibilities.

- Lyx
I am arrogant and I can afford it because I deliver.

Tag-standards In Plugins<->formatting

Reply #38
I actually had planned on adding BEFORE and AFTER for string comparison before this thread came up, and those were the best names I could come up with so far. Incidently - or rather by design of the ISO 8601 standard - string comparison also works for dates written in this format.

Tag-standards In Plugins<->formatting

Reply #39
What about simple sorting?  Will clicking on a column header for %LAST_PLAYED%, in the currently proposed format (APE standard) sort correctly?

It occurs to me that those of use who use %ADDED% will probably also want to convert that field to the new standard, but it escapes me now who wrote that %ADDED% component...

Tag-standards In Plugins<->formatting

Reply #40
Quote
It occurs to me that those of use who use %ADDED% will probably also want to convert that field to the new standard, but it escapes me now who wrote that %ADDED% component...
[{POST_SNAPBACK}][/a]

It was wizard:
[a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=29050&hl=foo_filedate]http://www.hydrogenaudio.org/forums/index....hl=foo_filedate[/url]

Tag-standards In Plugins<->formatting

Reply #41
Quote
What about simple sorting? Will clicking on a column header for %LAST_PLAYED%, in the currently proposed format (APE standard) sort correctly?


Yes, it does. Even if it wouldn't then you could still create a custom-sort string.
I am arrogant and I can afford it because I deliver.

Tag-standards In Plugins<->formatting

Reply #42
Quote
Quote
What about simple sorting? Will clicking on a column header for %LAST_PLAYED%, in the currently proposed format (APE standard) sort correctly?


Yes, it does. Even if it wouldn't then you could still create a custom-sort string.
[a href="index.php?act=findpost&pid=273798"][{POST_SNAPBACK}][/a]


True, but there's been so much talk of making things easy for "regular" users I thought it was worth considering.  Guess it's irrelevant though.

LAST_PLAYED = 2005-02-15 11:17:00

Tag-standards In Plugins<->formatting

Reply #43
Quote
What about simple sorting?  Will clicking on a column header for %LAST_PLAYED%, in the currently proposed format (APE standard) sort correctly?[a href="index.php?act=findpost&pid=273780"][{POST_SNAPBACK}][/a]
Yes.

Tag-standards In Plugins<->formatting

Reply #44
FWIW, I'm currently using PLAY_TIMESTAMP = 2005-02-15T11:17:00. The format of the timestamp is as per ISO 8601. The only difference between this and the link foosion provided is the use of the T instead of a space to separate the date and time. I mentioned this not to add confusion to the issue, but since this is still in the discussion phase, I was wondering if the official ISO 8601 format be adopted instead?

As for the name of the tag itself, I am using PLAY_TIMESTAMP because I wanted metadata related to the playback to be have a common initial identifier (I am using PLAY_COUNTER) and PLAY_LAST_PLAYED just sounds wierd .

While on this subject of tag names, I am curious as to why ALBUM ARTIST is being used by the majority of foobar2000 users as opposed to ALBUM_ARTIST OR ALBUMARTIST? I've noticed that most other tag names either omit separators altogether or use underscores to separate words (TRACKNUMBER, PLAY_COUNTER, etc.).

Tag-standards In Plugins<->formatting

Reply #45
Quote
FWIW, I'm currently using PLAY_TIMESTAMP = 2005-02-15T11:17:00. The format of the timestamp is as per ISO 8601. The only difference between this and the link foosion provided is the use of the T instead of a space to separate the date and time. I mentioned this not to add confusion to the issue, but since this is still in the discussion phase, I was wondering if the official ISO 8601 format be adopted instead?

The only difference I see is that foosion's link is to a tag standard, while yours is to the actual ISO standard.  I'd rather be congruent with APE usage than with official ISO usage.
Quote
As for the name of the tag itself, I am using PLAY_TIMESTAMP because I wanted metadata related to the playback to be have a common initial identifier (I am using PLAY_COUNTER) and PLAY_LAST_PLAYED just sounds wierd .

Makes sense.  Maybe PLAY_STAMP for economy and because it's not just time.
edit: or PLAY_LAST ?
Quote
While on this subject of tag names, I am curious as to why ALBUM ARTIST is being used by the majority of foobar2000 users as opposed to ALBUM_ARTIST OR ALBUMARTIST?[a href="index.php?act=findpost&pid=273903"][{POST_SNAPBACK}][/a]

Stigma. 

Tag-standards In Plugins<->formatting

Reply #46
LAST_PLAYED gets my vote for being catchy and easy to recognize. It's the kind of "name" which gets adopted.

edit: i don't think this tag has to fit into the playcount tag-scheme..... it may be usefull for other plugins as well in the future. So, i'd say its a generic tag.
I am arrogant and I can afford it because I deliver.

Tag-standards In Plugins<->formatting

Reply #47
Personnally i prefer to have VA identified by the directory structure, like :
Normal albums dir : Artist - Date - Album
VA albums dir : Album - Date

So i use
$if($strcmp($strstr($directory(%_path%,1),%artist%),1),xxxx,yyyyy)

to distinguish.

Easier than retagging IMHO

Tag-standards In Plugins<->formatting

Reply #48
Quote
Personnally i prefer to have VA identified by the directory structure, like :
Normal albums dir : Artist - Date - Album
VA albums dir : Album - Date

So i use
$if($strcmp($strstr($directory(%_path%,1),%artist%),1),xxxx,yyyyy)

to distinguish.

Easier than retagging IMHO
[a href="index.php?act=findpost&pid=273931"][{POST_SNAPBACK}][/a]


But impossible to reliably detect in a formatting-string which is meant for general usage.
For example, i already support all kinds of weird methods in "Navigator" to detect VAs - but i would never support your proposal because it would result in all kinds of false-alarms with the majority of people.
I am arrogant and I can afford it because I deliver.

Tag-standards In Plugins<->formatting

Reply #49
Quote
LAST_PLAYED gets my vote for being catchy and easy to recognize. It's the kind of "name" which gets adopted.

edit: i don't think this tag has to fit into the playcount tag-scheme..... it may be usefull for other plugins as well in the future. So, i'd say its a generic tag.
[a href="index.php?act=findpost&pid=273920"][{POST_SNAPBACK}][/a]


I sympathise with the desire to make similar all tags that get updated with each play.  But I do like the sound of LAST_PLAYED too.  I'm torn.  Color me indifferent.  :/