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.
Recent Posts
1
Support - (fb2k) / Re: Foobar does not report the LAME version in some MP3 files
Last post by DJ Graco -
sample1.mp3 was encoded in commandline with:
Code: [Select]
-b 320 "path\to\sample1.wav"
The file from which I cut sample2 comes from this website.
https://promodj.com/denis-first-vladlen-reznikov/remixes/6422087/Deepend_feat_Graham_Candy_Waiting_For_The_Summer_Denis_First_Radio_Remix

However, I could encode such a file from a wav using, for example, GoldWave. This is just one example, as there are more programs that encode files this way. A file encoded with GoldWave does not report the LAME version in foobar2000, MediaInfo says the LAME version is 3.99.5.
I attached  two files, one is the source WAV for sample1, two is an unmodified file encoded with GoldWave.
5
3rd Party Plugins - (fb2k) / Re: JScript Panel
Last post by marc2k3 -
Yeah, I put more restrictions in. While it's nice to have a dozen or 2 images on rotation, I think getting in to the hundreds is silly and way beyond what this was ever meant for. Edit the script yourself if you want to change it.

https://github.com/jscript-panel/component/blob/8fb1bdde45a742de574db6fc132b8686f3334559/samples/js/thumbs.js#L140-L150

Just be warned that this can exhaust all memory and cause fb2k to crash. I mean proper crashes, not script errors.
6
3rd Party Plugins - (fb2k) / Re: JScript Panel
Last post by michi777 -
Oh right, I assume it's the windows API for creating images that is crapping out. There's nothing I can do about it.

If this C++ fails, you get null returned.

Code: [Select]
IJSImage* ImageHelpers::create(uint32_t width, uint32_t height)
{
wil::com_ptr_t<IWICBitmap> bitmap;
if FAILED(g_imaging_factory->CreateBitmap(width, height, GUID_WICPixelFormat32bppPBGRA, WICBitmapCacheOnDemand, &bitmap)) return nullptr;
return new ComObject<JSImage>(bitmap);
}

edit: this is the failure message...

Code: [Select]
Arithmetic result exceeded 32 bits.   (0x80070216)

I can probably improve behaviour by making it reduce the number of images used automatically but again this means all content will not be displayed. But it's better to have a valid thumbnail strip than nothing.

Thumbs,before,when 'thumbs.size.limit' was 67108864 (64MB), it showed up to 219 images, and when I set it to 134217728 (128MB), it showed more.

Now, even with 75px,134217728(128MB), it is down to 110 images.

Number of pictures does not change even if the folder to be displayed is changed, so it may be that the number of pictures is limited by the number of pictures rather than the size ?

JScript Panel 3 Version 3.4.4
9
3rd Party Plugins - (fb2k) / Re: [fb2k v2] Random Pools (foo_random_pools)
Last post by Azuriye -
Maybe, but you probably go better in general with creating temporary tables with subresults in the batch part as it is becoming quite complex.

It seems alot harder after spending weeks, Currently I'm just sucking it up and shuffling based on Lowest Play Count and Least Recently Played which was already figured but coming to the point.

It took awhile to come up with this SQL query but the gist of it is that if it's possible to know what's being played in playlist and comparing it to media library that should help in spacing out how far apart the same circle should occur every time when the Random Pool is called (currently shuffles random pools after each track).
I feel like maybe another temp table is needed just because we are going to reshuffle order by spacing circles alone

Code: [Select]
-- Create temporary table tmpMediaLibraryFLPC
DROP TABLE IF EXISTS tmpMediaLibraryFLPC;
CREATE TEMPORARY TABLE tmpMediaLibraryFLPC AS
SELECT
    path,
    subsong,
    codec,
    [album artist] AS media_library_circle,
    [%jsp3_loved%],
CAST(COALESCE(NULLIF([%jsp3_playcount%], ''), 0) AS INTEGER) AS [%jsp3_playcount%],
COALESCE(DATETIME(NULLIF([%jsp3_last_played%], '')), '1970-01-01 00:00:00') AS [%jsp3_last_played%],
ROW_NUMBER() OVER (ORDER BY [%jsp3_playcount%]) AS custom_unique_identifier_media_library -- Create a custom unique identifier for MediaLibrary
FROM MediaLibrary
WHERE (codec <> 'TAGS' AND [%jsp3_loved%]) AND [%jsp3_last_played%] < datetime('now', '-300 minutes', 'localtime')
ORDER BY [%jsp3_playcount%];

-- Create temporary table tmpPlaylistFLPC
DROP TABLE IF EXISTS tmpPlaylistFLPC;
CREATE TEMPORARY TABLE tmpPlaylistFLPC AS
SELECT
    [album artist] AS playlist_circle,
    ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS custom_unique_identifier_playlist -- Create a custom unique identifier for Playlist
FROM Playlist;

-- Common Table Expression (CTE)
WITH CTE AS (
    SELECT
        m.path,
        m.subsong,
        m.media_library_circle,
        p.playlist_circle
    FROM tmpMediaLibraryFLPC m
    JOIN tmpPlaylistFLPC p ON m.custom_unique_identifier_media_library = p.custom_unique_identifier_playlist
)
-- Select path, subsong, media_library_circle, and playlist_circle from the CTE
SELECT path, subsong, media_library_circle, playlist_circle
FROM CTE
LIMIT 10;
10
General - (fb2k) / Re: Foobar2000 Wrapped
Last post by paregistrase -
@regor

I think I found the problem.

Like I said before I reset the statistics and last.fm play.count and did a new report, that, beside the date offset, showed a more accurate data. I sippossed it takes the data from last.fm or listenbrainz, because in local there were nothing

well, after that I imported the last.fm scrobbles and make a new report.

In this one the tracks have double listens and the 20 jun have another time 21 hours, the total of minutes also almost double the initial.

In local db the playcount are correct, but the report said double, or almost double


Edit: the backup of the internal statistics is not imported yet, so the problem in the transition to v2 is discarded