IPB

Welcome Guest ( Log In | Register )

foo_playcount_sql, a metadata based playcount
jsheridan
post Mar 10 2009, 12:24
Post #1





Group: Developer
Posts: 196
Joined: 24-December 02
Member No.: 4220



Hi,

I've developed a proof-of-concept playcount plugin that is based on metadata instead of the file location. The plugin tracks unique combinations of artist/album/title items into a SqlServerCe local database.

In order not to interfere with the file based counters, the data is exposed in a different section at the properties window, and %play_count_sql%, %first_played_sql%, %last_played_sql% tags.

In addition, since the plugin tracks metadata, different named files, or duplicate items that have the same artist/album/title combo, will all get the same playcount information. Currently, it will not detect metadata renames, so they will count as different tracks once renamed.

The playcount database is saved at the user's foobar APPData folder in a file named "PlayCount.sdf"

Version 1.5.4 is available here

History:

Version 1.5.4
1. Tried to fix some rare statup bug

Version 1.5.3
1. Fixed some issue with columns_ui

Version 1.5.2
1. Fixed an issue with the keyboard shortcuts

Version 1.5.1
1. Fixed a bug not tracking tracks with only artist/title, but missing album.

Version 1.5.0
1. New 'most played' GUI screen
2. %album artist% support
3. Now remembers GUI window positions
4. Made context menu shortcuts available from keyboard shortcuts

The following libraries must be installed prior of running:
Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
Microsoft SQL Server Compact 3.5 Service Pack 1

Screenshot of the properties window:


This post has been edited by jsheridan: May 10 2009, 19:56


--------------------
You can fool some of the people all of the time, and all of the people some of the time, but you can not fool all of the people all of the time.

- Abraham Lincoln
Go to the top of the page
+Quote Post
 
Start new topic
Replies
jsheridan
post Mar 11 2009, 15:28
Post #2





Group: Developer
Posts: 196
Joined: 24-December 02
Member No.: 4220



@ odyssey
1. Sorry, but Iím not going to rewrite in SQLite
2. As for foo_id, again, i want to keep it simple, and based on Meta data (for now)

@ knuck
1. MySQL Support, maybe in the future.

@ shakey_snake
1. Multiple artists/artists/etc are handled for simplicity case with "Artist1, Artist2", it would be complicated to index the database any other way.

@ carpman
1. If you change the tags, you will get new stats (old ones are not erased), since that won't happen too often like moving the files physically, that won't be such a big issue.
2. The foo_playstat_sql decides when a track is played the same way as the official component does, and i quote: "Notification occurs when at least 60s of the track has been played, or the track has reached its end after at least 1/3 of it has been played through"


--------------------
You can fool some of the people all of the time, and all of the people some of the time, but you can not fool all of the people all of the time.

- Abraham Lincoln
Go to the top of the page
+Quote Post
carpman
post Mar 11 2009, 22:27
Post #3





Group: Developer
Posts: 1307
Joined: 27-June 07
Member No.: 44789



QUOTE (jsheridan @ Mar 11 2009, 15:28) *
2. The foo_playstat_sql decides when a track is played the same way as the official component does, and i quote: "Notification occurs when at least 60s of the track has been played, or the track has reached its end after at least 1/3 of it has been played through"

That's a shame. IMO it's a major weakness of the official play stats component.
If you watch the first 5 mins of a movie, do you consider you've watched it?
Since track lengths vary enormously, why have a fixed approach, surely a % played is better (this was a feature of the foo_playback_custom).

This has been discussed elsewhere, but the best playcount is %total duration played (secs)% / %track_length (secs)%, but then the plugin has to record how long each song is played for and keep a running total.

C.



--------------------
TAK -p4m :: LossyWAV -q 6 | TAK :: Lame 3.98 -V 2
Go to the top of the page
+Quote Post

Posts in this topic
- jsheridan   foo_playcount_sql   Mar 10 2009, 12:24
- - bubi jackson   Very nice idea. I have some questions. 1. Will ...   Mar 10 2009, 13:43
- - Jack Schmaltz   Thats great, thank you very much. as above though,...   Mar 10 2009, 14:06
- - mpioner   maybe you will use FooID, Song fingerprinting, tha...   Mar 10 2009, 14:39
|- - odyssey   QUOTE (mpioner @ Mar 10 2009, 14:39) mayb...   Mar 10 2009, 22:08
- - jsheridan   1. Importing file based statistics (from official ...   Mar 10 2009, 14:55
|- - bubi jackson   QUOTE (jsheridan @ Mar 10 2009, 14:55) 1....   Mar 10 2009, 15:20
- - Galleon   Hello, do this plugin works with foobar 0.9.6.3 an...   Mar 10 2009, 15:09
|- - jsheridan   QUOTE (Galleon @ Mar 10 2009, 06:09) Hell...   Mar 10 2009, 15:10
- - Galleon   Yes, All libraries installed. CODEIllegal operatio...   Mar 10 2009, 15:21
- - lwiczek   1. An option to import playback / rating data from...   Mar 10 2009, 21:40
- - odyssey   Why do you rely on a full blown SQL database? Ther...   Mar 10 2009, 22:13
- - jsheridan   @odyssey : SQL because, it will allow me to easily...   Mar 10 2009, 23:10
|- - bubi jackson   QUOTE (jsheridan @ Mar 10 2009, 23:10) @b...   Mar 10 2009, 23:17
|- - odyssey   QUOTE (jsheridan @ Mar 10 2009, 23:10) @o...   Mar 10 2009, 23:26
- - knuck   Nice. How hard would it be to get it to work with ...   Mar 11 2009, 00:35
- - shakey_snake   So how are multiple artists handled, displayed?   Mar 11 2009, 01:25
- - carpman   Glad there's a new playcount component, hopefu...   Mar 11 2009, 05:26
- - lwiczek   QUOTE Import is coming, since it’s easy to i...   Mar 11 2009, 09:11
- - jsheridan   Version 1.1 posted, should solve the crash describ...   Mar 11 2009, 15:14
|- - Galleon   QUOTE (jsheridan @ Mar 11 2009, 19:14) Ve...   Mar 11 2009, 18:00
|- - jsheridan   If you are using foobar2000 in portable mode, then...   Mar 11 2009, 18:03
|- - jsheridan   Just make sure you have the DLL dated 11/03/2009 1...   Mar 11 2009, 20:21
|- - Galleon   QUOTE (jsheridan @ Mar 12 2009, 00:21) Ju...   Mar 12 2009, 03:36
|- - jsheridan   I've posted version 1.1.2 this version should ...   Mar 12 2009, 10:16
- - jsheridan   @ odyssey 1. Sorry, but Iím not going to rewrite i...   Mar 11 2009, 15:28
|- - odyssey   QUOTE (jsheridan @ Mar 11 2009, 15:28) 1....   Mar 11 2009, 19:07
||- - jsheridan   QUOTE (odyssey @ Mar 11 2009, 10:07) So, ...   Mar 11 2009, 21:01
||- - odyssey   QUOTE (jsheridan @ Mar 11 2009, 21:01) QU...   Mar 11 2009, 21:27
||- - jsheridan   QUOTE (odyssey @ Mar 11 2009, 13:27) I co...   Mar 11 2009, 21:52
||- - odyssey   QUOTE (jsheridan @ Mar 11 2009, 21:52) QU...   Mar 12 2009, 10:04
||- - Nemphael   QUOTE (jsheridan @ Mar 11 2009, 21:52) Ob...   Mar 12 2009, 11:36
||- - jsheridan   IMHO you reduced the hard problem of string matchi...   Mar 12 2009, 12:09
|||- - odyssey   QUOTE (jsheridan @ Mar 12 2009, 12:09) If...   Mar 12 2009, 12:18
||- - foosion   QUOTE (Nemphael @ Mar 12 2009, 11:36) If ...   Mar 12 2009, 23:09
|- - carpman   QUOTE (jsheridan @ Mar 11 2009, 15:28) 2....   Mar 11 2009, 22:27
- - Galleon   I'm using - Playback statistics SQL 1.1.1.0 (f...   Mar 11 2009, 18:15
- - jsheridan   version 1.2.1 posted, now imports the official fil...   Mar 12 2009, 21:52
- - Jack Schmaltz   i was waiting for the import update, installed it ...   Mar 12 2009, 23:22
|- - jsheridan   i feel that added_date is more related to file bas...   Mar 12 2009, 23:30
- - TuNk77   Thank you very much for this component I just ins...   Mar 13 2009, 00:24
|- - jsheridan   From looking at the log, i can't see something...   Mar 13 2009, 00:36
- - Galleon   Plugin works fine, tnanks Jsheridan ! But how ...   Mar 13 2009, 05:03
|- - jsheridan   You can't do it directly, but there is a worka...   Mar 13 2009, 10:03
- - TuNk77   The crash happened one once, I haven't removed...   Mar 14 2009, 00:59
- - jsheridan   version 1.3 posted   Mar 14 2009, 14:41
- - pIv   I install version 1.3. 1. Speed of import playbac...   Mar 15 2009, 15:02
|- - jsheridan   1. Well, its a one time process, which runs alot o...   Mar 15 2009, 15:15
- - Onkel Andy   Thanks for the cool work.. Now, the thing would be...   Mar 16 2009, 10:30
|- - odyssey   QUOTE (Onkel Andy @ Mar 16 2009, 10:30) T...   Mar 16 2009, 10:37
|- - Onkel Andy   QUOTE (odyssey @ Mar 16 2009, 03:37) QUOT...   Mar 18 2009, 14:47
- - jsheridan   Version 1.4 posted. Main addition is ratings supp...   Mar 17 2009, 12:22
- - tedgo   Very nice It adds a long awaited Rating (Album) i...   Mar 17 2009, 13:52
- - eradumvelhinho   I have a question. SInce I installed this componen...   Mar 17 2009, 14:03
|- - jsheridan   Do you have autoplaylists, or large playlists that...   Mar 17 2009, 14:18
|- - eradumvelhinho   QUOTE (jsheridan @ Mar 17 2009, 07:18) Do...   Mar 17 2009, 14:32
- - novembre   Just a cosmetic thing: can the statistic have a be...   Mar 17 2009, 14:56
- - jsheridan   version 1.4.1 posted better startup times, plus a...   Mar 17 2009, 15:51
- - eradumvelhinho   Since you introduced the ratings and the component...   Mar 17 2009, 17:05
|- - jsheridan   @ eradumvelhinho: I guess its because of the auto...   Mar 17 2009, 17:50
|- - eradumvelhinho   QUOTE (jsheridan @ Mar 17 2009, 10:50) @ ...   Mar 17 2009, 22:12
|- - jsheridan   Please try version 1.4.2 and tell me if you notice...   Mar 17 2009, 23:39
- - novembre   That's quick! Thank you!   Mar 17 2009, 17:10
- - acmodeu   Now everything seems to work fine. I've misrea...   Mar 17 2009, 18:56
- - jsheridan   Artist and album statistics are not yet available ...   Mar 17 2009, 19:25
- - eradumvelhinho   I installed 1.4.2 and I did not notice any improve...   Mar 18 2009, 01:27
- - TuNk77   My startup time with the v1.4.2 is 0:01.877492, ha...   Mar 18 2009, 01:54
- - Galleon   I have a question. How can I use new tags in the p...   Mar 18 2009, 08:03
- - jsheridan   @TuNk77, eradumvelhinho Please retest with versio...   Mar 18 2009, 09:02
|- - eradumvelhinho   QUOTE (jsheridan @ Mar 18 2009, 03:02) @T...   Mar 18 2009, 14:27
- - TuNk77   Just tested with v1.4.3 and Startup time is 0:01.8...   Mar 18 2009, 13:03
- - pIv   With official playcount plugin I assing rating to ...   Mar 18 2009, 13:15
- - jsheridan   @ eradumvelhinho Well, that is indeed slow, but i...   Mar 18 2009, 16:11
- - boombaard   Will this component create different entries for d...   Mar 19 2009, 12:39
|- - jsheridan   This component only uses the %artist% %album% and ...   Mar 19 2009, 15:08
- - pIv   I find next bug. On first start foobar2000 with f...   Mar 19 2009, 13:35
|- - jsheridan   Sorry, but i didn't seem to understand the pro...   Mar 19 2009, 15:50
- - pIv   All files in my media library have play_count and ...   Mar 19 2009, 16:17
|- - jsheridan   Interesting, can you detect a pattern with the fil...   Mar 19 2009, 16:36
- - mitchmalibu   Great plugin, the best one back end wise (always h...   Mar 19 2009, 16:39
- - pIv   jsheridan I deleted all the files from the librar...   Mar 19 2009, 18:04
|- - jsheridan   Just a thought, do those files have proper artist ...   Mar 19 2009, 18:30
- - pIv   QUOTE Just a thought, do those files have proper a...   Mar 19 2009, 18:49
|- - jsheridan   Please try to see what happends when you try to pl...   Mar 19 2009, 19:05
- - pIv   I repeat my experinet This picture - screen after ...   Mar 19 2009, 20:17
|- - jsheridan   I've watched the screen shot you posted, and i...   Mar 19 2009, 21:05
- - shakey_snake   Suggestion for the Library-> Playback Statistic...   Mar 20 2009, 01:54
- - pIv   QUOTE (jsheridan @ Mar 19 2009, 12:05) I...   Mar 20 2009, 03:59
- - TuNk77   I have a question, would it be possible to hard co...   Mar 23 2009, 01:18
- - grounder   A second attempt. Please add tag %added%, and of...   Mar 23 2009, 14:32
|- - shakey_snake   QUOTE (grounder @ Mar 23 2009, 09:32) Ple...   Mar 23 2009, 17:41
- - tedgo   Is it somehow possible to remove "dead entrie...   Mar 25 2009, 11:29
- - jsheridan   @tedgo ATM, itís only possible to do that by edit...   Mar 25 2009, 12:07
|- - pIv   QUOTE (jsheridan @ Mar 25 2009, 03:07) @ ...   Mar 25 2009, 16:39
|- - TuNk77   QUOTE @ TuNk77 I just copied the official playcou...   Mar 26 2009, 01:50
- - jsheridan   Version 1.50 posted, changes includes: 1. New ...   Mar 28 2009, 17:01
- - novembre   Upgraded succesfully! Thanks for the new GUI...   Mar 28 2009, 17:49
- - grimes   Thanks! Small correction: In Most Played Item...   Mar 28 2009, 18:12
- - novembre   QUOTE (grimes @ Mar 28 2009, 18:12) Small...   Mar 28 2009, 18:41
2 Pages V   1 2 >


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 20th April 2014 - 02:40