Help - Search - Members - Calendar
Full Version: Play Counter
Hydrogenaudio Forums > Hosted Forums > foobar2000 > 3rd Party Plugins - (fb2k)
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
Silverbolt
QUOTE(kl33per @ May 14 2005, 11:11 AM)
Short answer, nope.

Long anwser.

Basically a few of us have decided that all tags should not have underscores (eg. ALBUM ARTIST, the most common two word tag does not have an underscore).  It is quite easy to update your config.

LAST_PLAYED = LAST PLAYED
FIRST_PLAYED = FIRST PLAYED
PLAY_COUNTER = PLAY COUNTER
*

Thanks for picking up development. Now I'm wondering, are there any decided 'standards' which DO have an underscore? If not, then I may as well remove underscores from all my fields (I've got maybe 25). Just want to know before I masstag 3 computers (may as well nuke the foobar configs to reset the tag dropdowns too).
langoustator
I did modify the original foo_playcount so I could use "day of the week" in my formatting strings. I understand the need for standards, but I cannot use the new version because of that. After having read the wiki, i noticed that info can be appended after the standard string, so would it be possible to add it to the plugin?
anza
Now that we're removing underscores from tag names (a good thing imho), we should perhaps ask if Peter would convert all the techical info field names to follow the "new standard".
Canar
QUOTE(anza @ May 14 2005, 02:42 PM)
Now that we're removing underscores from tag names (a good thing imho), we should perhaps ask if Peter would convert all the techical info field names to follow the "new standard".
*



Uninteresting, and he'd likely agree. Tech fields are tech fields. They're supposed to be different. That difference will be beneficial in the long run.
Canar
QUOTE(Silverbolt @ May 14 2005, 01:37 PM)
Thanks for picking up development. Now I'm wondering, are there any decided 'standards' which DO have an underscore? If not, then I may as well remove underscores from all my fields (I've got maybe 25). Just want to know before I masstag 3 computers (may as well nuke the foobar configs to reset the tag dropdowns too).
*



As far as I know, there are no other tags which use underscores. Feel free to masstag.
Sam Stoat
While using foo_dsp_continuator with very short tracks (<20 secs), it lines up the next track before the percentage play count needs to update is played, meaning they are never classed as being played. I don't want to set the percentage for all tracks to nothing, so how about an option to update these short tracks (user definable length?) as soon as they're played?
kl33per
QUOTE(falconfox @ May 15 2005, 05:38 AM)
someone has got to make their mind up on underscores or not. this is getting rediculous.
*


Like I said, I have. The verdict, no underscores.

QUOTE
I did modify the original foo_playcount so I could use "day of the week" in my formatting strings. I understand the need for standards, but I cannot use the new version because of that. After having read the wiki, i noticed that info can be appended after the standard string, so would it be possible to add it to the plugin?

I have this planned for 1.7. How would you suggest it be done. I take it you want foo_playcount to calculate the day of the week.

QUOTE(Sam Stoat @ May 15 2005, 10:38 AM)
While using foo_dsp_continuator with very short tracks (<20 secs), it lines up the next track before the percentage play count needs to update is played, meaning they are never classed as being played.  I don't want to set the percentage for all tracks to nothing, so how about an option to update these short tracks (user definable length?) as soon as they're played?
*


I'll look into it, but that's getting overly complex.
kl33per
Alright an update...

I have almost finished 1.7.

I've added the ability to write custom information after the standardised timestamping. (eg. 2005-06-07 08:02:03 CUSTOM INFO GOES HERE). At the moment, this can be any date information used in the previous versions ($D,%Y,etc.), it can be the new %W which adds a single digit integer (0-6) representing the day of the week (starting at sunday for 0), and plaintext. I'm also going to try and add the TAGZ to it, so you can include other tagging info (eg. %album%) if you wanted to (although I'm not sure why you would).

I've also half implemented Sam's suggestion, and will have it finished before the next release (hopefully later today).
topdownjimmy
I have two reactions.

Thank you thank you thank you for FINALLY implementing FIRST(_)PLAYED. I'd been waiting so long for that, and am looking forward to more long-overdue adjustments to play_counter in the near future.

But CRIPES is this standardization thing frustrating. There was a solid week's worth of conversation invested in establishing the underscores as the standard, and now we're all being forced to change because of one person.

Something very important that I must also mention: in the wiki there are masstagger scripts used to convert different play_counter formats to the now-defunct underscore standard. I've seen a few new scripts posted on this thread, so will those authors please upload them to the wiki in place of the outdated ones?

I'm not upset so much about whether there are spaces or underscores, but about having to worry about details like this when some well-established standard is capriciously changed by a frantic night of coding. That strikes me as stubborn and inconsiderate.

Please spare me the "SUIT YOURSELF AND STICK TO THE OBSOLETE STANDARD AND SEE IF I CARE" retort.
anza
QUOTE(Canar @ May 15 2005, 01:29 AM)
QUOTE(anza @ May 14 2005, 02:42 PM)
Now that we're removing underscores from tag names (a good thing imho), we should perhaps ask if Peter would convert all the techical info field names to follow the "new standard".
*



Uninteresting, and he'd likely agree. Tech fields are tech fields. They're supposed to be different. That difference will be beneficial in the long run.
*


I was actually being a bit sarcastic (which, unfortunately, isn't always so easy to note when communicating via the Internet). It was just an idea spawned by all this talk about consistency. IMHO it isn't consistent to have spaces in metadata fields but not in tech fields, but I do see some reason in having it that way and I support the current way.

One thing for kl33per: If you add the ability to use a SQL database in your version of the plugin, I hope you then allow to use underscores in the field names, as they're treated as tech fields. If you don't do that (or don't even make a SQL version), a number of us will stick with the old versions (which seems to be considered stupid).
kl33per
If I make an SQL version, it will use underscores, as they are considered tech fields as you stated.
Birk
Can you add the ability to add own tags, like with quicktag but which are updated like %last played%?
That would be very great, because everybody would use your standard and could use his own, too.
And TAGZ would be the best, because then i could have a history in every track or tings like intelligent rating ... smile.gif
(or let new untagged tracks automaticly get a tracknumber from playlist_number)
Yes, it would be very, very great !

and i think we should use the weekday as standard after the date (yyyy-mm-dd hh:mm:ss w)
kl33per
QUOTE(topdownjimmy @ May 15 2005, 07:45 PM)
I have two reactions.

Thank you thank you thank you for FINALLY implementing FIRST(_)PLAYED.  I'd been waiting so long for that, and am looking forward to more long-overdue adjustments to play_counter in the near future.

But CRIPES is this standardization thing frustrating.  There was a solid week's worth of conversation invested in establishing the underscores as the standard, and now we're all being forced to change because of one person.

Something very important that I must also mention: in the wiki there are masstagger scripts used to convert different play_counter formats to the now-defunct underscore standard.  I've seen a few new scripts posted on this thread, so will those authors please upload them to the wiki in place of the outdated ones?

I'm not upset so much about whether there are spaces or underscores, but about having to worry about details like this when some well-established standard is capriciously changed by a frantic night of coding.  That strikes me as stubborn and inconsiderate. 

Please spare me the "SUIT YOURSELF AND STICK TO THE OBSOLETE STANDARD AND SEE IF I CARE" retort.
*



The only reason foo_playcount became standardised as using tags with spaces is because Canar changed the wiki to reflect this, and I read it from the wiki, and not the original post. So either the wiki is correct, or the original forum post is correct. Because ALBUM ARTIST doesn't have an underscore, and I'm an advocate of using spaces, I've made foo_playcounter use spaces. I'm am sorry if this annoys anyone, but Canar changed the wiki, I changed the plugin, and I'm not really that interested in changing it back. BTW, I would hardly call it a frantic night of coding. There were just a lot of releases in a short time period. At one point, foo_playlist_tree had a new build every day.

As to the masstagger scripts on the wiki, they have now been updated.
kl33per
QUOTE(Birk @ May 15 2005, 08:22 PM)
Can you add the ability to add own tags, like with quicktag but which are updated like %last played%?
That would be very great, because everybody would use your standard and could use his own, too.
And TAGZ would be the best, because then i could have a history in every track or tings like intelligent rating ...  smile.gif
(or let new untagged tracks automaticly get a tracknumber from playlist_number)
Yes, it would be very, very great !

and i think we should use the weekday as standard after the date (yyyy-mm-dd hh:mm:ss w)
*


Note, the only tags that foo_playcount will now write are PLAY COUNTER, FIRST PLAYED, and LAST PLAYED. It can not write other tags like TRACKNUMBER. What your talking about is the job of another plugin.
kl33per
foo_playcount 1.7.0 (Source & Binray Included)

Version 1.7.0 (May 15 2005)

1) Where to start... Another UI update to the preferences to incorporate the new features

2) Now able to append information to the end of both the FIRST PLAYED and LAST PLAYED tags.
You can use either plain text, or the Timestamp Format Specifiers listed under "Help"
on the preferences page. There is a single space between the standardised timestamp
and any appended data.

3) Added new Timestamp Format Specifier %W. This adds a single digit integer representing
the day ofthe week starting from Sunday (integers are 0-6).

4) Added ability to immediately update the tags on a particular song if it is under a
certain length. Length is set to 0 by default, which is ignored. Length is in seconds.
Lance Uppercut
QUOTE(kl33per @ May 15 2005, 05:58 AM)
foo_playcount 1.7.0 (Source & Binray Included)

Version 1.7.0 (May 15 2005)

1) Where to start... Another UI update to the preferences to incorporate the new features

2) Now able to append information to the end of both the FIRST PLAYED and LAST PLAYED tags.
You can use either plain text, or the Timestamp Format Specifiers listed under "Help"
on the preferences page.  There is a single space between the standardised timestamp
and any appended data.

3) Added new Timestamp Format Specifier %W.  This adds a single digit integer representing
the day ofthe week starting from Sunday (integers are 0-6).

4) Added ability to immediately update the tags on a particular song if it is under a
certain length.  Length is set to 0 by default, which is ignored.  Length is in seconds.
*




I don't care what anyone says, underscore, spaces, who cares and too bad. kl33per rocks hard for putting so much work into this plugin, which I believe is almost perfect (I would love database support, but tagging files is fine with me).

Thanks again
kl33per
Thanks Lance smile.gif
Lance Uppercut
Could you make the day of the week start at 1. The $select function for formating doesn't work with zero.

Thanks

-edit I guess I could always use $add 1
kl33per
I can do that. In the next update.

Edit:
foo_playcount 1.7.1 (Source & Binary Included)

Version 1.7.1 (May 15 2005)

1) Changed the %W specifier to now use 1-7 starting at Sunday, due to foobar's $select function not working with 0.
langoustator
QUOTE(kl33per @ May 15 2005, 12:58 PM)

2) Now able to append information to the end of both the FIRST PLAYED and LAST PLAYED tags.
You can use either plain text, or the Timestamp Format Specifiers listed under "Help"
on the preferences page.  There is a single space between the standardised timestamp
and any appended data.

3) Added new Timestamp Format Specifier %W.  This adds a single digit integer representing
the day ofthe week starting from Sunday (integers are 0-6).



Thank you
Canar
QUOTE(topdownjimmy @ May 15 2005, 01:45 AM)
But CRIPES is this standardization thing frustrating.  There was a solid week's worth of conversation invested in establishing the underscores as the standard, and now we're all being forced to change because of one person.

Something very important that I must also mention: in the wiki there are masstagger scripts used to convert different play_counter formats to the now-defunct underscore standard.  I've seen a few new scripts posted on this thread, so will those authors please upload them to the wiki in place of the outdated ones?

I'm not upset so much about whether there are spaces or underscores, but about having to worry about details like this when some well-established standard is capriciously changed by a frantic night of coding.  That strikes me as stubborn and inconsiderate.
*



First of all, this "standard" was hardly well-established in the first place.

Second of all, switching formats is difficult as making one pass using the masstagger, so any complaints about how much work it causes are completely baseless.

Third, the new format is logically superior, which is generally one of the guiding principles of foobar2000. If we're going to be revisionistic with our philosophies (as is the foobar2000 standard), it is better to change things as soon as they come up.

I'm aware that people spent a lot of time discussing the LAST_PLAYED thing, but I had yet to get a single comment that logically explained why underscores were preferable to spaces. That is why I acted. We might as well get this stuff sorted out before 0.9 hits.

It's really, really, really, really irrelevant anyways. It's just another field that can easily be modified using the masstagger. Stop making a mountain out of a mole hill and shut up unless you're helping solve an extant problem.
kl33per
foo_playcount 1.7.2 (Source & Binary Included)

Version 1.7.2 (May 15 2005)

1) By popular demand, I have added the option to write the NON-STANDARD tags PLAY_COUNTER, LAST_PLAYED, and FIRST_PLAYED. These tags are NON-STANDARD and WILL be removed from future versions once the " " versions of the tags become more common. Use these tags at your own risk. New users should use the default settings.

As a side note, I am very annoyed that I've had to release this version. It is honestly not that hard to change to " " versions of the tags. I will not keep these options in foo_playcount forever and it WILL be removed in the future.

Edit 1: I built this version and wrote this post before I saw Canar's post above. For the record, I completely agree with him. This build is only for you royal pains that require your tags to have underscores.

Edit 2: And for the record, custom field names will not return. You have spaces, or underscores, and only until the next version, where I will remove the underscores option.

Edit 3: Effectively immediately there is also no support from me for this version. There will be no bug fixes for this version of the plugin. It is a one off release. The next build will be based off of the previous 1.7.1 build.
kl33per
Meanwhile, I'd like some feature requests for the next major revision. Just throw them my way.

Current Feature Requests
---------------------------------
1) Add status bar section that totals PLAY COUNTER for all selected files
2) Add external database support

I'm not even sure if adding feature 1 is possible, but I will look into it (does anybody know any plugin that adds a field to the statusbar?). I looked at kode54's external database version, but I can't even get it to build let alone understand the code inside. Until foobar natively supports database only info, my version of the plugin will write tags to the file.

@ kode54, you're quite welcome to take my source and build an updated version of your component.

Edit 1: Unless I'm missing something obvious, number 1 is not possible. If someone knows how to do this, let me know.
kjoonlee
Since custom fields are not returning, some users will be locked out of using the new weekday function.
kl33per
Why? You can still append data to the standardised tags. You just can't pick any name you want for them. The names are set in stone as of the very next version.
kjoonlee
People who want custom field names will have to use a version of %W that doesn't work cleanly with $select().
mixcherry
It seems that version 1.7.2 (I don't know about earlier versions) doesn't transfer my old data (PLAY_COUNTER) to new format (PLAY COUNTER). It deletes the old data and writes the new tag (PLAY COUNTER) with value set to 1.

I don't know if there is any connection, but I have 'Block tag update operations' turned ON (under Database settings). And 'DB Only Mask' set to '*.*'
kl33per
You're not making any sense?

No verision that has support for %W has been released with custom field name support. It has never existed.
kjoonlee
In which case, it's even worse. People like me who want custom field names can't even use %W.
kl33per
QUOTE(mixcherry @ May 16 2005, 01:11 AM)
It seems that version 1.7.2 (I don't know about earlier versions) doesn't transfer my old data (PLAY_COUNTER) to new format (PLAY COUNTER). It deletes the old data and writes the new tag (PLAY COUNTER) with value set to 1.

I don't know if there is any connection, but I have 'Block tag update operations' turned ON (under Database settings). And 'DB Only Mask' set to '*.*'
*


Sorry, that's by design. I had to do that to add on the option to write the old PLAY_COUNTER as well. If you want to convert all the songs in your playlist to the new PLAY COUNTER format (and LAST PLAYED/FIRST PLAYED as well), use the Masstagger script included in the RAR archive.
kl33per
QUOTE(kjoonlee @ May 16 2005, 01:13 AM)
In which case, it's even worse. People like me who want custom field names can't even use %W.
*


That's correct. Tough luck I'm afraid.

Either use the new tags, or don't use %W.
mixcherry
QUOTE(kl33per @ May 15 2005, 05:13 PM)
QUOTE(mixcherry @ May 16 2005, 01:11 AM)
It seems that version 1.7.2 (I don't know about earlier versions) doesn't transfer my old data (PLAY_COUNTER) to new format (PLAY COUNTER). It deletes the old data and writes the new tag (PLAY COUNTER) with value set to 1.

I don't know if there is any connection, but I have 'Block tag update operations' turned ON (under Database settings). And 'DB Only Mask' set to '*.*'
*


Sorry, that's by design. I had to do that to add on the option to write the old PLAY_COUNTER as well. If you want to convert all the songs in your playlist to the new PLAY COUNTER format (and LAST PLAYED/FIRST PLAYED as well), use the Masstagger script included in the RAR archive.
*


Ok, I understand that smile.gif There is (very small) bug in Masstagger script - it deletes existing PLAY COUNTER tags (only if there is no PLAY_COUNTER). I think you should change Actions from:
CODE
Copy 'PLAY_COUNTER' to 'PLAY COUNTER'

to:
CODE
Format "PLAY COUNTER" using "$if3(%play_counter%,%play counter%)"

I think that solves the problem.
kl33per
That's a huge problem, will fix immediately. Thanks.

Edit 1: Fixed, also applied to the other two fields. Thanks for pointing that out.

Edit 2: Fix doesn't work properly. I suggest everyone avoides using the script until I fix it.

Edit 3: I think it's impossible to fix. I have restored the original version of the script. Ideally, you need to run the script before using the new tags.

Edit 4: My brain needs a holiday, argh... laugh.gif
kl33per
foo_playcount 1.7.3 (Source & Binary Included)

Version 1.7.3 (May 15 2005)

1) After much outcry from various parties, it has been decided by the majority that we will use PLAY_COUNTER, FIRST_PLAYED and LAST_PLAYED (i.e. tags with underscores). I apologize to anyone I've inconvenienced in the few short days my version of the plugin has been available. I promise this is the last tag change for the forseeable future. All PLAY COUNTER tags automatically get carried over to PLAY_COUNTER tags.
topdownjimmy
QUOTE(kl33per @ May 15 2005, 12:12 PM)
foo_playcount 1.7.3 (Source & Binary Included)

Version 1.7.3 (May 15 2005)

1) After much outcry from various parties, it has been decided by the majority that we will use PLAY_COUNTER, FIRST_PLAYED and LAST_PLAYED (i.e. tags with underscores).  I apologize to anyone I've inconvienced in the few short days my version of the plugin has been available.  I promise this is the last tag change for the forseeable future.  All PLAY COUNTER tags automatically get carried over to PLAY_COUNTER tags.
*


Thank you.

It's not that we were ungrateful, but I think we should take standards seriously, even if we do suffer a sprained wrist or two from reaching over to the underscore key.

Welp, time to go re-masstag my files and make sure the wiki is consistent! Canar was right, changing standards on a whim is effortless!
jkwarras
First of all Thanks to kl33per fort his plugin smile.gif

I'll second the request of the sql version, but as I see you have some problems into getting it done, I know that fermion did use the sql version of kode54 foo_playcount to make a foo_quicktag sql version, maybe he can help you with this. Links are:

- homepage component: http://users.tkk.fi/~tahlberg/foo/
- forum discussion: http://www.hydrogenaudio.org/forums/index....opic=31803&st=0
Frank Bicking
QUOTE
it has been decided by the majority

Which majority? huh.gif wacko.gif
kl33per
What I really need to do is talk to kode54. Hopefully he can give me some advice.

If you read this thread kode54, are you interested in taking my version and adding database support. If not, I would be willing to try, but alas I cannot build your version. It seems to be dependency hell smile.gif. What libraries do i need, where do I get them, and where do I put them?
kl33per
QUOTE(Frank_Bicking @ May 16 2005, 03:27 AM)
QUOTE
it has been decided by the majority

Which majority? huh.gif wacko.gif
*


Not really a mojority so much as it had already been decided that underscores were to be used and Canar and I wen't off on a wild tagent.
Lyx
kl33per:
Thanks for your implementation. To not cause you any hassle, may i ask if there are any traffic concerns with the webspace where you uploaded your build? I'm asking because i would like to put a direct-link to your build in the HOW-TO of the next release of my formatting(yes, i do plan to implement full playback-stats like plays/day).

- Lyx
kl33per
I will check if there is some kind of limit. It's my home ISP's free webspace, but it's stable so I will read the TOS.

Edit: There shouldn't be any problem, feel free to direct link it.
Lyx
QUOTE(kl33per @ May 15 2005, 07:34 PM)
I will check if there is some kind of limit.  It's my home ISP's free webspace, but it's stable so I will read the TOS.
*



To give you an estimation: asume up to 500 downloads per month if i put a direct link in the how-to (but it will probably be less. Its a "worst-case"-guess)
kl33per
QUOTE(Lyx @ May 16 2005, 03:36 AM)
QUOTE(kl33per @ May 15 2005, 07:34 PM)
I will check if there is some kind of limit.  It's my home ISP's free webspace, but it's stable so I will read the TOS.
*



To give you an estimation: asume up to 500 downloads per month if i put a direct link in the how-to (but it will probably be less. Its a "worst-case"-guess)
*


That's only 15mb of traffic a month. I assume this will probably be fine. If it's not, they'll just send me an email, and I'll find somewhere else to host it. I don't forsee it being a problem.

Edit: @ below, thanks smile.gif.
Lyx
BTW: very clean and "sectionized" prefs UI. Nice job.
kl33per
Alright, I'm looking into a new feature that would store the user name of the person who last played that song. It would have to be in a seperate tag. I propose it be LAST_PLAYED_BY.

Is this a feature people would be interested in?
topdownjimmy
I've always thought it would be convenient to have the option of adding a PLAY_STAMP field which has multiple values, one for every time the track is played. This way the whole history of a track can be seen.
kl33per
That would create tagging hell thought. Can you imagine 1000 PLAY_STAMP fields.
topdownjimmy
QUOTE(kl33per @ May 15 2005, 12:54 PM)
That would create tagging hell thought.  Can you imagine 1000 PLAY_STAMP fields.
*


Of course it would be optional, and my library is so big that since I started using play_count at the beginning of this year, very few of my songs are at over 10 plays. But you're right, that might become problematic in the future. I thought it would be interesting to generate playlists like "what I was listening to on the week of February 12-19."
kl33per
It is interesting, and I may consider implementing it.

Anyone for the last played by username idea?
topdownjimmy
QUOTE(kl33per @ May 15 2005, 01:18 PM)
Anyone for the last played by username idea?
*


Why not add %U, which will append the username to the end of LAST_PLAYED?
CODE
$right(%last_played%,21,$len(%last_played%))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.