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: Find & Play (Read 18222 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Find & Play

Reply #25
 I don't play .mp3
playlist viewer likes_playlist also does not draw information instantly.You only need to restart foobar2000.
If the information is in the cache, then of course it will be drawn instantly.
If you use the search for the Youtube Source component, everything works well.
I will look for the reason.
YouTube Music

Re: Find & Play

Reply #26
Well the reason is as given in this post:

Quote
To provide correct metadata for youtube items, Find & Play sends artist\album\track numbers\title etc to foo_youtube since it knows them. This means they can be accurately shown in the playlist. So foo_youtube is operating in metadata override mode. In that mode foo_youtube doesn't get further stuff from youtube like thumbnails or view counts etc until the track is played.
The advantage of doing it that way is that the annoying add locations dialogue doesn't appear.

In contrast, I believe youtube source gets all the info from youtube before loading it into the playlist, and so it's immediately available.

Personally, I've never been bothered about showing things like view count or youtube thumbnails - they're variable in quality.
Artwork can always be immediately provided by using your own sources, e.g. put a fallback artist image at the end of the file>preferences>display>album art>front cover patterns.

I think a solution would require a change in the foo_youtube plug-in so that Find & Play has control over whether or not foo_youtube delays obtaining stuff from youtube until playback is started in metadata override mode. This would need to be OPTIONAL as I like it as it is.

May be something like fb2kx_delay_load could be added to the URL sent to foo_youtube with values of true or false, instead of the current detection mechanism (if 3dyd reads this). Then it could be a user configurable option in Find & Play. But it would result in add locations popups if delay load is off.

Re: Find & Play

Reply #27
It would be nice to have a pattern for extracting the URL of the thumbnail of the clip
It doesn't work out a little:   https://i.ytimg.com/vi/??/maxresdefault.jpeg
YouTube Music

Re: Find & Play

Reply #28
Find&Play crashes on my side when selecting an album it can not find, e.g. search for Rolling Stones leads to album "Rolled Gold +", which seem to be undefined and leads to a crash when selected.

Code: [Select]
this.album is undefined

File: web.js
Line: 2013, Column: 8
Stack trace:
  on_tracks_search_done@web.js:2013:8
  analyse@web.js:1127:18
  onStateChange@web.js:1040:42
  getMbTracks/mb_tracks<@web.js:1941:53
  search@web.js:1093:16
  getMbTracks@web.js:1942:13
  on_mb_releases_search_done@web.js:1963:43
  analyse/<@web.js:990:11
  analyse@web.js:987:13
  onStateChange@web.js:936:42
  getMbReleases/mb_releases<@web.js:1947:65

Re: Find & Play

Reply #29
@SergPuh.68

I have found a solution. It should be fixed for the next version.

@MojoBass

Thanks for the feedback. I had actually spotted that one! So it should be fixed for the next version.

Re: Find & Play

Reply #30
Just wanted to say I've finally had a chance to start playing with this and it's AWESOME!  Thank you so much for your efforts here. I've been just suffering along direct playing tracks, albums, artists, genres and building my own playlists and whatnot for the past years, and recently got re-inspired to try to find a SoftPlaylists replacement/alternative (for local files). I'm looking forward to seeing how this progresses, but it's already fantastic in library mode! It's probably not a very common use case, but I'd personally love the ability to mass tag my files with the Last.fm playcount so I could leverage the metadata more broadly across foobar (e.g., to sort on), use with other components, etc.

 

Re: Find & Play

Reply #31
Incredible work, I came here hoping for a streaming replacement and found one.

Re: Find & Play

Reply #32
I'd love to see a good UI or theme that incorporates this



Re: Find & Play

Reply #35
Same comments about tagging than here:
https://hydrogenaud.io/index.php?topic=112914.msg1010819#msg1010819

Attached alternative files to get a standard popup. Last FM key must be set using the properties panel though.
X

Re: Find & Play

Reply #36
@Taynt3d The install instructions are in the ReadMe which was linked in the download location. I've also put them below.

INSTALLATION
Install as a package as follows.

New install or update:
1) Add a spider monkey panel to foobar2000 if required
2) Close any instances of windows explorer using foobar2000 folders or subfolders
3) Right click the spider monkey panel while pressing the windows key + shift
4) Choose configure panel
5) On the script tab ensure package is selected
6) Open package manager if it doesn't open automatically
7) Import the package

@regor
Thanks for the methodology to check for ShowHtmlDialog support + fallback alternative. It should be in the next version.

Re: Find & Play

Reply #37
Thank you! Got it upgraded and I'm loving having the popularity data right in the files, makes for lots of options for smart playlists, sorting in the UI, etc. Much appreciated!

Re: Find & Play

Reply #38
@WilB: Again outstanding work, thank you very much!!
I very much like the the new possibility to tag last.fm track statistics, which works great for library tracks.
Is it as well intended to be used for YT tracks? I am getting various orders of the tags (playcount/listeners/score) for different tracks.
Thanks again for this great plugin!!

Re: Find & Play

Reply #39
Quote
Again outstanding work

Thanks!

The order of tags changing with YT tracks seems to be a foo_youtube issue & so outside my control. I can confirm that Find & Play sends the correct tag order to the SMP UpdateFileInfoFromJSON(), but after that the tag seems to get sorted so the order changes.

I think foo_youtube has a custom implementation to write the tags to the playlist. I could also reproduce the issue by:
1) Open properties for a YT track
2) Add a new tag: TESTTAG
3) Paste in: b;a
4) Convert to a multivalue tag by choosing split values on ;
5) On pressing apply or ok; tag changes to wrong order: a; b

mp3 files were tagged correctly.

If the issue is important to you, you could raise it with @3dyd

I'm glad it's all working well with library tracks.

Re: Find & Play

Reply #40
@WilB: thanks for your effort to dig into that! I will post a note at the foo_youtube thread.

Re: Find & Play

Reply #41
New Version: Find & Play v1.1.1

Added checks for ShowHtmlDialog support with fallback to an alternative (where possible) (thx regor).

Re: Find & Play

Reply #42
Enjoying the latest versions of all your wonderful work, WilB. 8)

Just a thought, now that your scripts live on GitHub, I wonder if you might add a DISCUSSION section to the readme of each script that link back to these HA topics. Over on Reddit I often point folks to your scripts, but now there is no link to circle round to here for support, etc...

Re: Find & Play

Reply #43
Quote
Enjoying the latest versions of all your wonderful work

Thanks.

I've added the links.

Re: Find & Play

Reply #44
FYI that I'm using this display/sort script to make sorting the stats columns sort in numerical order:

$replace($meta(Track Statistics Last.fm,1[playcount]),',',)

I barely know what I'm doing, but it seemed like Foobar was treating as a string when sorting, and the commas (possibly returned from Last.FM?) were also causing some trouble. This solved it for me when sorting on the new stats columns and using them in random pools, etc.

Re: Find & Play

Reply #45
See also the "Show Playlist, AutoDj, Find & Tagger Help" on the playlists tab. There is an example at the end

Re: Find & Play

Reply #46
Btw, just noted accents may split results in multiple items (I suppose the error comes from Last.fm):
Salió el Sol / Salio el Sol

X

You could sanitize titles before displaying (not sure if the title case also counts here), and merge counts when there are duplicates (or average?).

And just had this crash when clicking on one of the songs:
Quote
20:44:17] foo_spider_monkey_panel:
Error: Spider Monkey Panel v1.6.1 (Find & Play v1.1.1 by WilB)
Index is out of bounds

File: web.js
Line: 1985, Column: 7
Stack trace:
  runAddLoc/</<@web.js:1985:7

Re: Find & Play

Reply #47
The list should be the same as the last.fm top tracks list. If manipulated that won't be the case. Currently the track list reflects what's on the last.fm web-site, e.g. with your example, they display Salio El Sol and Salió el Sol separately.

There's a whole bunch of reasons why the same item appears in the list more than once: accents is just one of them. Some cases could be cleaned up, but not all. Having the variances increases the likelihood of a library match without involving partial matching.

The index out of bounds error should be fixed in the next version.

Re: Find & Play

Reply #48
Quote
Having the variances increases the likelihood of a library match without involving partial matching.
While that point is true, note it also provides wrong statistics. If an item is matched to a variant rated low on popularity, then the track would not have the "real" rating tag.

I would suggest you to not "merge" all last.fm results, but try to match the track to the greater popularity track first by converting it to ASCII.
Code: [Select]
function _asciify(value) { // Mimics $ascii() Title Format function
return (isStringWeak(value) ? value : String(value)).normalize('NFD').replace(/[\u0300-\u036f]/g, '').replace(/\u0142/g, 'l');
}

So in any case it would be matched if there is a variant equal to it. But if there is a variant with more popularity, then it would match that one first on the list (while not merging items on the list as you wish).

Library: á.flac
Last fm :
- a - 2000 listens <- Match this if possible first
...
- á - 50 listens <- Currently matches this




Now have a quick question, is there some way to ban live tracks or prefer non-live tracks when creating a playlist? For ex. I click on "Find tracks on library...\ACDC" and it matches the most popular tracks on my library, but many times live versions are used (I tag my files with a "live" tag value on GENRE).

Can not open the config panel u know (html) but not sure what to edit on properties (?)

Re: Find & Play

Reply #49
Matching accents

Currently, partial matching can be enabled on search tab or properties:
Library: Include Partial Matches
This will enable a fuzzy match that should catch most cases. But it won't work for short words.

I'll add a better way to the next version.

Exclude live tracks in library

There are two filters

1) Global library filter on search tab or properties:
Library Filter All Uses, e.g. try: NOT Genre IS Live
Library Filter All Uses Use: set to true to enable

2) There is a SKIP tracks filter that should apply when Find is used in OWN data mode. It's on playlists tab or properties:
Library Filter Auto DJ, e.g. try: Genre IS Live
Library Filter Auto DJ Use: set to true to enable

It won't do anything if last.fm data is used to pick tracks. Contrary to its historical panel property name, it should work for both auto DJ and find tracks in library modes.