foo_playlist_revive, Revive the dead items in playlist |
![]() ![]() |
foo_playlist_revive, Revive the dead items in playlist |
Aug 8 2009, 11:03
Post
#1
|
|
|
Group: Members Posts: 10 Joined: 7-March 07 Member No.: 41258 |
foo_playlist_revive makes the dead items in the playlist alive again by replacing them with the matching ones in media library.
A handy util for those who often move or rename their media files/folders. For foobar2000 v0.9.5.2 and upper. Use main menu -> Edit -> Revive Dead Items to do the job. Make sure the newly moved tracks have already been scanned into the media library or reviving will fail. If the playlist is too long or the media library is too large, foobar2k may be unresponsive for several minute since this plug-in runs in the fb2k main thread. v0.2: http://159.226.40.194/~Gu/fb/foo_playlist_revive_v0.2.rar Changelog: * Add progress bar. * Fix crash caused by illegal file path. Moderation: Rehosted here, due to broken link
foo_playlist_revive.zip ( 71.89K )
Number of downloads: 2395This post has been edited by shakey_snake: Mar 26 2010, 22:59 |
|
|
|
Aug 8 2009, 11:40
Post
#2
|
|
|
Group: Members Posts: 1051 Joined: 4-January 09 Member No.: 65169 |
foo_playlist_revive makes the dead items in the playlist alive again by replacing them with the matching ones in media library. A handy util for those who often move or rename their media files/folders. Make sure the newly moved tracks have already been scanned into the media library or reviving will fail. Am I wrong? Till yet I thought starting foobar2000 would let it remove tracks from its playlists automatically if they are not longer found in its media library? Or does your component block this automatic removal? Sorry for this question, I am a little bit confused. |
|
|
|
Aug 8 2009, 12:17
Post
#3
|
|
|
Group: Validating Posts: 2424 Joined: 21-May 08 Member No.: 53675 |
Can you extend your component to cover also this: (find media library items from text files based on some title formatting criterion like: %artist% - %title%)
|
|
|
|
Aug 8 2009, 12:18
Post
#4
|
|
![]() Group: Members Posts: 361 Joined: 2-September 06 From: Berlin, Germany Member No.: 34723 |
@robertina
foober2000 does that on autoplaylists, but surely not on static playlists This post has been edited by callisto: Aug 8 2009, 12:19 -------------------- fb2k on OSX: flac q8 > rockboxed Sansa e280v1: Vorbis q5.0
|
|
|
|
Aug 8 2009, 14:24
Post
#5
|
|
|
Group: Members Posts: 10 Joined: 7-March 07 Member No.: 41258 |
Yes, this plugin is for static playlists. It's useless on autoplaylists.
Can you extend your component to cover also this: (find media library items from text files based on some title formatting criterion like: %artist% - %title%) I am afraid this function is beyond the scope of my plugin... |
|
|
|
Aug 9 2009, 14:29
Post
#6
|
|
![]() Group: Members Posts: 1686 Joined: 28-May 06 From: Düsseldorf Member No.: 31251 |
Two issues:
If scanned playlist contains an entry added by foo_random then foobar will crash always. Dead items wich are not revivable will be highlighted - but old selection before scanning will be kept -------------------- german support forum: www.foobar-users.de / user: qwert73
|
|
|
|
Aug 9 2009, 19:36
Post
#7
|
|
![]() Group: Members Posts: 680 Joined: 11-July 03 From: Brno, Czech Rep. Member No.: 7705 |
Amazing, I always wanted something like this. Thank you.
-------------------- info about my tag guesser script for foo_lua (preview version available):
http://www.hydrogenaudio.org/index.php?showtopic=16987 |
|
|
|
Aug 11 2009, 03:36
Post
#8
|
|
|
Group: Members Posts: 10 Joined: 7-March 07 Member No.: 41258 |
Two issues: If scanned playlist contains an entry added by foo_random then foobar will crash always. Dead items wich are not revivable will be highlighted - but old selection before scanning will be kept updated and bug fixed. Thanks for reporting bugs v0.2: http://159.226.40.194/~Gu/fb/foo_playlist_revive_v0.2.rar Changelog: * Add progress bar. * Fix crash caused by illegal file path. PS. i would like to update this into my original post but can't find the edit button. Is there a time limit for post edit? |
|
|
|
Aug 11 2009, 11:23
Post
#9
|
|
![]() Group: FB2K Moderator Posts: 2359 Joined: 30-November 07 Member No.: 49158 |
PS. i would like to update this into my original post but can't find the edit button. Is there a time limit for post edit? See the pinned topic in the Site Related Discussion forum.
-------------------- Full-quoting makes you scroll past the same junk over and over.
|
|
|
|
Aug 14 2009, 03:30
Post
#10
|
|
|
Group: Members Posts: 1051 Joined: 4-January 09 Member No.: 65169 |
hakase,
I need your help again to understand the handling of foo_playlist_revive correctly: 1. I have a playlist with nine hundred entries in it. If I perform a search for dead items with foobar's native function (Edit / Remove Dead Items) I see a progress bar and the search needs a few seconds. I assume your component in the first instance looks for missing items in the playlist as well and then searches for them in the media library. But if I select all tracks and choose Edit / Revive Dead Items all tracks get unselected immediately, no progress bar pops up and it seems nothing to happen. Is foo_playlist_revive's check for dead items so much faster than foobar's own function or am I doing something wrong? 2. Your component generates a new entry in Preferences / Advanced: "Playlist Revive: Compare track title in reviving". Would your component find items even in the case that the files are dead because they have been renamed if I untick this option? Sorry for my questions, I admit that sometimes I am thinking a little bit complicated, but I am very interesting in using your plugin. |
|
|
|
Aug 14 2009, 10:03
Post
#11
|
|
|
Group: Members Posts: 10 Joined: 7-March 07 Member No.: 41258 |
1. I have a playlist with nine hundred entries in it. If I perform a search for dead items with foobar's native function (Edit / Remove Dead Items) I see a progress bar and the search needs a few seconds. I assume your component in the first instance looks for missing items in the playlist as well and then searches for them in the media library. But if I select all tracks and choose Edit / Revive Dead Items all tracks get unselected immediately, no progress bar pops up and it seems nothing to happen. Is foo_playlist_revive's check for dead items so much faster than foobar's own function or am I doing something wrong? Yes I just notice it is faster than the fb2k's native one. My plugin uses filesystem::g_exists() method to check the dead items. It's fast and seems work well. Maybe fb2k's Remove Dead Item function uses a more delicate algorithm to determine a dead item, though I don't known in what aspect it works better than filesystem::g_exists(). 2. Your component generates a new entry in Preferences / Advanced: "Playlist Revive: Compare track title in reviving". Would your component find items even in the case that the files are dead because they have been renamed if I untick this option? This option became meaningless as I modified the matching algorithm in v0.2. Please just ignore it :-) Basically the mathcing is based on file size and track length. A matching title field is a positive factor but not determinative. This post has been edited by hakase: Aug 14 2009, 10:28 |
|
|
|
Aug 28 2009, 20:07
Post
#12
|
|
|
Group: Members Posts: 1051 Joined: 4-January 09 Member No.: 65169 |
hakase,
your plugin is very helpfully for me, thank you again for it. One thing I am missing is the listing of revived items in foobar's console. What do you think about this proposal? Robertina. |
|
|
|
Sep 18 2009, 03:31
Post
#13
|
|
|
Group: Members Posts: 10 Joined: 7-March 07 Member No.: 41258 |
|
|
|
|
Jan 23 2010, 16:54
Post
#14
|
|
|
Group: Members Posts: 6 Joined: 29-December 09 Member No.: 76464 |
I am not sure whether that info is helpful to user. I'll consider it. I'm rather sure it is. I was about to download your plugin just because I've needed it a few times, and will be needing it again and again... but I didn't download. Because I will wait until I need it, sincerely hoping this feature will be there. But just highlighting them seems to me like a rather unpleasant status report... The more control the better. A report when done, that seems obvious to me. I think it should state which items worked and weren't touched, which items were changed, last but not least any items that were broken but couldn't be found. If it could also show all new filepaths, that would be great. That way I could check that there hasn't been any mixing up of similar songs. -------------------- How short a signature am I allowed to have?
|
|
|
|
Jan 25 2010, 19:47
Post
#15
|
|
|
Group: Members Posts: 21 Joined: 19-October 09 Member No.: 74145 |
Hi,
Your component rocks, thank you so much !! I have entires albums and generally I only listen to 2 to 3 tracks in each of them However it is not perfect to me, I would need two things, second being optional, let me tell you about these suggestions : 1) I have several tracks that have the same name, yeah I know it's stupid but it's just that it's not the same version, it's cut or unmixed or whatever but it's the same name... And your component cannot load two tracks that have the same name. Would it be possible to have the component compare byte to byte the two versions of the same-nammed songs ? It seems difficult I know, I wish I could help... Anyways thanks for your consideration. And 2) - optional - I'd like your component to automatically revive all playlists not just one and automatically when something's dead Thanks again, Thib This post has been edited by ThibWay: Jan 25 2010, 19:48 |
|
|
|
Jan 25 2010, 20:33
Post
#16
|
|
|
Group: Members Posts: 41 Joined: 9-January 10 Member No.: 76876 |
Awesome component, that's all I have to say.
|
|
|
|
Feb 19 2010, 23:31
Post
#17
|
|
|
Group: Members Posts: 23 Joined: 18-March 07 Member No.: 41592 |
I can't thank you enough for this plug-in.
What with my obsessive habit of tidying and sorting my library, and adding newly loaded MP3's into Foobar's playlists too soon, prior to allocating them to a their most appropriate folder. I never got to work with Foobar's file management tools fluently, I'd like it to be more drag-drop. So Playlist Revive is, to me, a totally essential and valuable plug-in. This post has been edited by TimUK: Feb 20 2010, 00:07 |
|
|
|
Feb 20 2010, 14:13
Post
#18
|
|
![]() Group: Members Posts: 154 Joined: 2-April 06 From: Germany Member No.: 29078 |
What critera does this component use to match items? Does it consider only the filenames? It would be good to optionally use some additional criteria like filesize and date. I think such things are stored in the playlist.
|
|
|
|
Feb 22 2010, 21:41
Post
#19
|
|
|
Group: Members Posts: 23 Joined: 18-March 07 Member No.: 41592 |
What critera does this component use to match items? Does it consider only the filenames? It would be good to optionally use some additional criteria like filesize and date. I think such things are stored in the playlist. I've no idea, but it seems to work and is adequately fast enough. I had given some thought to coding such a utility myself and in my case I planned to generate a CRC32 from the MP3 audio frames data portion of the file. There are quite likely better methods of securing a unique identifier. I didn't get any further as I could not resolve how I would consistently handle the plethora of other audio formats: MPC, WAV, FLAC, APE et al, without giving myself a mamoth coding job! However, I was trying to find a method that would create a unique track identifier which would resist both filename and tag changes. |
|
|
|
Mar 29 2010, 08:38
Post
#20
|
|
|
Group: Members Posts: 1 Joined: 2-May 09 Member No.: 69455 |
Thanks for the plugin. I think it would be useful to add an option to ignore file format. For example, if the old playlist contains mp3 files but you have since replaced them with FLAC files, it would still update the playlist entries.
|
|
|
|
May 2 2010, 01:28
Post
#21
|
|
|
Group: Members Posts: 4 Joined: 22-September 05 Member No.: 24626 |
Thanks for the irreplaceable plugin. I've many static playlists that have been built over the years and just about died when I changed the location of my music to accommodate a filesystem expansion and none of the files could be found or rediscovered by foobar natively. One part I find lacking, however, is preserving the original file's database info for the one in the new location. When I revive my playlists I lose the playcount (foo_playcount), last played date, and rating (foo_quicktag) for all mp3's. I understand that the decision to do this is by design, although it would be seamless if it could just include this info in the new entry. Oddly, I'm not seeing that with my flac files, although I'm having a different problem with those - when I go to update the rating for a revived flac I get an error saying that the tag in the file must be updated, yet there is no actual tag in the file and when I click yes to this it fails to make the change at all.
To give a brief overview of my setup - my music collection is effectively a library; when content is added to it, the files should never be changed or rewritten to. Each song/directory has an sfv and I'll periodically scan all sfv's in the library to verify its integrity. I've had data corruption in the past, and this has in turn lead to failed conversions and playbacks (mostly while using Traktor resulting in an application crash) when I least expect it. I have no need to sync a track's rating between Foobar2000 and Traktor or players (although the ability for Traktor to work with foobar's database would be seriously impressive). Suffice to say, I'm happy to use foobar's database to keep all the details, like the number of times played, the time it was last played, and what the rating is I've given it separate from the file's own tag, and this has worked well for me over the past 6 years, even after migrating from foobar 0.8.3 to 1.0. Given that I'd like to keep my playlists updated with the new locations to my files when they change, and also retain the database tags I've given to them, can this ability be added to the componen? Here's what I'm looking for: 1) If item needs to be revived, copy all database attributes from the orginal file, locate the new file, then add the stored attributes to the new database entry. 2) Do the same thing for flac, cue, and mp3 files. Currently the new entry is clean for mp3 (and this is by design, I understand), but something is broken when reviving flac's, and/or flac's called from a cue. |
|
|
|
Jul 30 2010, 19:55
Post
#22
|
|
|
Group: Members Posts: 915 Joined: 22-October 01 From: the Netherlands Member No.: 335 |
.. When I revive my playlists I lose the playcount (foo_playcount), last played date, and rating (foo_quicktag) for all mp3's. With the Playcount v3.0 for foobar2000 1.1.0 (or up) this will no longer happen. -------------------- In theory, there is no difference between theory and practice.
|
|
|
|
Sep 21 2010, 11:30
Post
#23
|
|
|
Group: Members Posts: 3 Joined: 13-September 10 Member No.: 83821 |
Thanks so much! Worked like a charm!
|
|
|
|
Oct 26 2010, 16:33
Post
#24
|
|
|
Group: Members Posts: 246 Joined: 4-January 07 Member No.: 39305 |
Any progress on title formatting features which 2E7AH suggested in post #3 ?
|
|
|
|
Mar 12 2011, 23:42
Post
#25
|
|
|
Group: Members Posts: 2 Joined: 12-March 11 Member No.: 88953 |
Hello,
This is almost exactly what I need, but I am wondering if you can add one more function: to revive multiple playlists at once. Thanks. |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 20th June 2013 - 08:55 |