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: Improving foo_playcount for 0.9 (Read 179563 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Improving foo_playcount for 0.9

Reply #50
The updating works for me, but I don't know how to read the tags. In trackinfo panel I had this string:

Code: [Select]
$puts(last_played_year,$substr(%__last_played%,1,4))
$puts(last_played_month,$substr(%__last_played%,6,7))
$puts(last_played_day,$substr(%__last_played%,9,10))
$puts(last_played_hour,$substr(%__last_played%,12,13))
$puts(last_played_min,$substr(%__last_played%,15,16))
$puts(last_played_sec,$substr(%__last_played%,18,19))


But now this doesen't work. What should I put there instead of %__last_played%?

Thanks


Improving foo_playcount for 0.9

Reply #52
hm.. it doesn't seem to work here either.. i'm one of the people who prefer a central stats repository in stead of stats in every file, but even when i don't put ;*.ape in the DB only Mask thing, and i disable 'skip tracks not in DB', and set the 'immediately update files shorter than' to 100000s it still doesn't write anything to the files, or the DB.. so i'm guessing something is wrong

not sure what else to include here as info, i removed peter's playcount plugin, restarted fb, deleted settings there before installing this plugin, the options seem to be set correctly, but it still doesn't really do anything.

please help

Improving foo_playcount for 0.9

Reply #53
i downloaded the playcount plugin today and it doesnt seem to work for me
whenever it tries to update the tag in the db (db only mask: *.*; skip tracks not in db) i get a popup box that says:

Could not write info (Access denied) to:
"C:\path\filename.mp3"

annoyingly i get this dialogue every few miliseconds after the track reached 50% until i pause it

Improving foo_playcount for 0.9

Reply #54
i downloaded the playcount plugin today and it doesnt seem to work for me
whenever it tries to update the tag in the db (db only mask: *.*; skip tracks not in db) i get a popup box that says:

Could not write info (Access denied) to:
"C:\path\filename.mp3"

annoyingly i get this dialogue every few miliseconds after the track reached 50% until i pause it


i suspect *.* doesn't actually work for some reason.. maybe try '*.wav;*.flac;*.mp3;*.mpc;*.ogg;*.ape' in stead? (or whatever codec you use, fill the extension in there?

 

Improving foo_playcount for 0.9

Reply #55
Okay, the previous version had some annoying bugs.
I've uploaded a new version, same location:

http://stephan.kochen.nl/proj/foobar2000.html#playcount

It shouldn't show any errors at all when it fails to write now. But I've added an option to the preferences to enable them just in case.
I've also fixed the bug where it wasn't updating and resume after restart works properly now.

Improving foo_playcount for 0.9

Reply #56
Okay, the previous version had some annoying bugs.
I've uploaded a new version, same location:

http://stephan.kochen.nl/proj/foobar2000.html#playcount

It shouldn't show any errors at all when it fails to write now. But I've added an option to the preferences to enable them just in case.
I've also fixed the bug where it wasn't updating and resume after restart works properly now.

Works perfectly for me. Big thanks to G-lite again.

You rock man.

Improving foo_playcount for 0.9

Reply #57
Okay, the previous version had some annoying bugs.
I've uploaded a new version, same location:

http://stephan.kochen.nl/proj/foobar2000.html#playcount

It shouldn't show any errors at all when it fails to write now. But I've added an option to the preferences to enable them just in case.
I've also fixed the bug where it wasn't updating and resume after restart works properly now.


hm, it indeed works now, but it pops up the 'updating file tags' every time it writes something to a file.. and it outright refuses to store the tags in the DB.. it saves to the file regardless of the settings in 'db only mask'

Improving foo_playcount for 0.9

Reply #58
hm, it indeed works now, but it pops up the 'updating file tags' every time it writes something to a file.. and it outright refuses to store the tags in the DB.. it saves to the file regardless of the settings in 'db only mask'

I might be wrong, but the 'db only mask' s goal is only to decide whether to update the tags of the files that are stored in the Db only or not.

If you play a file which is not in your Db, it will not modify its tag.

Again, I might have misunderstood..

Improving foo_playcount for 0.9

Reply #59
Testers might want to be carefull when testing this and backup their foobar install before testing. I just copied this dll over the "official" one and I couldn't get it to work dispite my settings. When I went back to the "official" dll that playcount doesn't seem to work now. I'm a little too frustrated to research any further.

grr. foobar is so so awsome and so FUBAR! on just the basics. grr. just grr.

BTW tks G-light for all your help on porting these many plugins. I'm sure you'll figure it out in time.

Improving foo_playcount for 0.9

Reply #60
If I'm not mistaken, we now have two components with the same name...

What I'm hoping for, is that the version made by Peter(?), will support writing to (custom) tags in some future version.
What for? I can understand the desire to use a different *storage method*, but i cannot see, why someone would want to use tagnames which are non-compliant with the agreed upon scheme. This would bring us back to the old days of play_date, play_time, etc. mess which pretty much made it totally useless regarding interoperability with public FCSs and Plugins.

I'd instead propose the opposite:
abandon the "official" (which disregards the agreed upon scheme) plugin completely. Peter stated multiple times, that he mostly only did it for testing purposes - so, it was never meant as a "serious" plugin with longterm support. So, i'd propose to drop the official plugin completely, and add support for other storage-methods to the "real" (non-official) playcount_plugin.
I see now that my post was a bit unclear. What I had in mind when I wrote that, was just the ability to add other tags, and in particular JULIAN_DATE. That particular tag isn't strictly necessary, as it can be computed from e.g. the "standard compliant" tag. It's just for efficiency (in formatting strings) and convenience. In essence a question about storage vs. processing.

On the other hand, I do believe in both custom tag names and formats. Back when I proposed an agreement on tag "standards" to be used in formatting strings, it was never my intension to force them on people by hardcoding, and hence reduce flexibility. While we enjoy making formatting strings, either for ourselves and/or for sharing, others might not care about formatting at all, but needs custom tags for other purposes. What I did have in mind however, was being able to tell people that these formatting strings comply with some agreed upon tag formats. If you want to use something else, feel free to modify it to suit your needs, but don't expect the "official" formatting to add support for it. That was all, really. And don't forget, that if they change their mind, a conversion is easily done with masstagger as long as the stored information is the same.

This is in line with what I think is great about foobar2000, namely that a lot of settings can be modified to suit your taste and needs.

An example:
Lets say a some hardware device or application uses a slightly different format, and that you would like have access to these tags in foobar and vise versa. Maybe as a part of a home entertainment system. It's not very likely that either one would change a hardcoded format over night, if ever. The ability to make this change yourself is, IMHO, worth a lot, and comparable to what you can achieve with formatting strings. In this regard, foobar2000 comes out on top because of it's adaptability that enables it to communicate with "lesser" products.

Last but not least, I don't like the idea that every application should protect its users from themselves. iTunes is an example of a player that is great for the majority. It's easy to use and reasonably difficult to mess up. But do we really need every other application to close in on this gap and aim for a similar user base?

Make no mistake, I respect you for the work you have done and still do around here. It's just that I don't like the idea of where this might be heading.

Improving foo_playcount for 0.9

Reply #61
Testers might want to be carefull when testing this and backup their foobar install before testing. I just copied this dll over the "official" one and I couldn't get it to work dispite my settings. When I went back to the "official" dll that playcount doesn't seem to work now. I'm a little too frustrated to research any further.
I don't know why G-Lite's foo_playcount would not work for you, but when you switched to it from the official one and back, that wiped out the statistics previously collected by the official foo_playcount. The reason is that it stores these statistics in the configuration file, but the other foo_playcount did not "claim" this data when you first started foobar2000 with it, so it was lost when the configuration was saved back to disk.

The short version is that configuration data will be lost, if a component is replaced by a different one with the same name. Note that this does not usually apply to installing a newer version of a given component.

Improving foo_playcount for 0.9

Reply #62
I had no idea there was already a foo_playcount component. I would've given it a different name if I did. I'll probably rename it just in case.

Improving foo_playcount for 0.9

Reply #63
What I had in mind when I wrote that, was just the ability to add other tags, and in particular JULIAN_DATE. That particular tag isn't strictly necessary, as it can be computed from e.g. the "standard compliant" tag. It's just for efficiency (in formatting strings) and convenience. In essence a question about storage vs. processing.


take a closer look at the agreed upon scheme. It allows to *append* any kind of custom info. Thus, it is valid to *append* julian date to FIRST_PLAYED and LAST_PLAYED - and yes, the non-official plugin (which actually should be the official plugin) has the append-functionality builtin. When we designed the scheme, we left that door open for exactly such scenarios.

As for customizability - i dont buy it, because of all those people who cry "make it customizable!" only rarely someone can bring up a scenario where something actually useful can be done, which cannot be done the other way. They make up all kinds of exotic fictional scenarios which never actually happen. Thus, it seems they want customizability just for the sake of customizability..... and need an excuse for it. Such kinds of arguments, are no arguments to me. They act like "believers" by selectively ignoring the pro's and then making up totally unprobably fictional scenarios from another world, but not the real-world. Its like "freedom!!!", "Okay, what are you gonna do with it?", "Uh, i dunno.... *comes up with some weird out-of-this-world idea*..... because of this! So, freedom!"


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

Improving foo_playcount for 0.9

Reply #64
After struggling some time with this plugin I got it to write the tags, but actually I would rather prefer the database way.
But whatever I do I can't get it (the database way) to work. I actually did "Reset all" on foobar (=delete foobar.cfg?) as I also had the original foo_playcount component and thought that it's settings might be interfering. And yes, I did add my music files to the Media Library before trying to get it to work.

Improving foo_playcount for 0.9

Reply #65
After struggling some time with this plugin I got it to write the tags, but actually I would rather prefer the database way.
But whatever I do I can't get it to work. I actually did "Reset all" on foobar (=delete foobar.cfg?) as I also had the original foo_playcount component and thought that it's settings might be interfering. And yes, I did add my music files to the Media Library before trying to get it to work.


So does it work or does it not work or..? I don't understand your post.

Improving foo_playcount for 0.9

Reply #66
After struggling some time with this plugin I got it to write the tags, but actually I would rather prefer the database way.
But whatever I do I can't get it to work. I actually did "Reset all" on foobar (=delete foobar.cfg?) as I also had the original foo_playcount component and thought that it's settings might be interfering. And yes, I did add my music files to the Media Library before trying to get it to work.
Just out of curiosity, if you don't want the information written to your files what additional use has the updated component for you compared to the standard one?

Improving foo_playcount for 0.9

Reply #67
Just out of curiosity, if you don't want the information written to your files what additional use has the updated component for you compared to the standard one?

Nothing really, just wanted to inform G-Lite.

Improving foo_playcount for 0.9

Reply #68

After struggling some time with this plugin I got it to write the tags, but actually I would rather prefer the database way.
But whatever I do I can't get it to work. I actually did "Reset all" on foobar (=delete foobar.cfg?) as I also had the original foo_playcount component and thought that it's settings might be interfering. And yes, I did add my music files to the Media Library before trying to get it to work.
Just out of curiosity, if you don't want the information written to your files what additional use has the updated component for you compared to the standard one?


first_played support?

Improving foo_playcount for 0.9

Reply #69
first_played support?

and PLAY_COUNTER instead of PLAY_COUNT(which AFAIK no public FCSs support)
I am arrogant and I can afford it because I deliver.

Improving foo_playcount for 0.9

Reply #70
I found a bug...

When a file is locked, foo_playcounter will try to update the file ad nauseam.. (this happened while I was uploading a song I was listening to, in an email;  it got past 60% (my updatepoint), and popped up like.. 9 messages before I pressed pause.. all of them in different consoles..)

Improving foo_playcount for 0.9

Reply #71
Quote
' date='Apr 14 2006, 07:07 AM' post='382247']
I found a bug...

When a file is locked, foo_playcounter will try to update the file ad nauseam.. (this happened while I was uploading a song I was listening to, in an email;  it got past 60% (my updatepoint), and popped up like.. 9 messages before I pressed pause.. all of them in different consoles..)

It should try to write every second, but that's the reason why error messages are normally off: so it'll silently fail. I frequently play music on network shares I don't have write access to, and it wouldn't be pretty if I had to click away an error every song I play.

If you're getting an error with the option to show error disabled, then that's probably a bug. But I'm not sure I can surpress any more errors than I'm doing already.

Improving foo_playcount for 0.9

Reply #72
thanks a million for making this work with 0.9.  one request though -- the last version of foo_playcount optionally created multiple play_stamp tags each time a track was played.  any chance of implementing this?

Improving foo_playcount for 0.9

Reply #73
-The tags from the new play_count component don't work in query format
They do, you just have to reference them as titleformat fields (like %play_count%) instead of direct tag names (since they are not real tags).

Example: This results in all tracks that have been played 10 times or more:
Code: [Select]
%play_count% GREATER 9




Are you sure about this? I tried in a masstagger script and in an autoplaylist and it didn't work (I get a ? char instead of the number of times a track is played).
I reported here the masstagger problem.