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
22
3rd Party Plugins - (fb2k) / Re: foo_youtube
Last post by Paaufo -
foo_youtube 3.9.2 is out, fixing the 403 error and adding support for /live/<id>/ URLs.

This component has been working fine, when using yt-dlp_x86.exe (updt. 2024.7.25), before this new foo_youtube release. But, if I I stop using yt-dlp, I still get "403 Forbidden (access denied) | foobar2000: Forbidden (403))".

What am I missing guys? :D

Anyway, thanks to the developer for making this component.

Edit: Never mind, there seems to be some kind of bug, I guess.

What I did before I posted this comment was: Under the "Maintenance" tab I right clicked youtube-dl, unchecked "Prefer youtube-dl..." and then clicked "None". Restarted a few times, but I was getting the 403 error. Went back to "External" (the setting I had been using) to double check that "Prefer youtube-dl..." was unchecked, it was. I selected "None" again, and restarted. But, still got 403.

The solution for me was to select "System", restart, and when the component was unable to find it (I don't have it installed) it finally stopped giving me the 403 error. Now, I have changed it to "None" and it works fine. I've restarted and it keeps working fine.
23
Other Lossy Codecs / Re: lossyWAV 1.4.2 Development (was 1.5.0)
Last post by TF3RDL -
lossyWAV is a DSP - in that the output format is the same as the input format and sample values may change.

If lossyWAV was implemented as a playback chain DSP then it would *have* to be the last in the chain if the preservation of zeroed LSBs was to be guaranteed.

Although I would question the need to insert lossyWAV as a DSP in the playback chain in the first place - why waste the CPU cycles processing the source to a lossy/lossier form while listening when one could simply listen to the unprocessed version?
Yep, it would be a kind of DSP component intended for use within foobar2000's converter (to reduce the filesize of lossless compression codecs in a lossy way, though it only works well if the lossyWAV DSP effect is placed in the last DSP chain), rather than just a playback DSP effect (though it can be used as a mean for previewing what would lossyWAV-processed files sounds like) if implemented as a foobar2000 component

BTW, do anyone have any interests for making lossyWAV as a foobar2000 component (a DSP component intended for use in converter as I said before) happen?
24
3rd Party Plugins - (fb2k) / Re: JScript Panel script discussion/help
Last post by ilovefb2k -
@ilovefb2k

> {deployed} album_art [brute-force search].txt
>      JSP3 Cover Panel (64bit DUI)

> Albumart and Thumbs Isn't the scroll upside down?

This happens when you scroll the panel.
Scrolling over a thumbnail changes the album art.

Hi Air KEN,
Thank you for your feedback, i now see your point.
i did reserve artwork panel's mouse-wheel eventlistener for blurring/transparency background tuning on-the-fly.
Then, i preferred to leave that for window property  cause that configuration should be 1-time setting to not interfere user experience.
I have noted your suggestion.
Regards.
25
Support - (fb2k) / Re: Encounter "bad allocation" error when running ReplayGain scan
Last post by boxerfan88 -
Taking in your feedback, I installed again a fresh instance of foobar (fbtest) and only added the foo_loudness_peakmeter visualization, no DSP whatsoever is active, standard DUI, playback to NULL output.

PID 22908 is the second newly installed instance. The memory footprint grew from 61,980K @ 07/25/2024 18:16:10.11 all the way to 274,152K @ 07/26/2024  8:22:10.16.

This kind of problem is hard to catch by looking at one data point in time in TaskMgr. Need to run the script to log every minute over a period of time and see if there is a pattern of growth. My logger is in the enclosed ZIP.

encl.
27
Vinyl / Re: Which is the best suggested tool to rip Vinyl in LOSSLESS quality
Last post by fooball -
I was thinking of ripping it from Vinyl and later on trying to remaster the recording to have a better sounding experience.
You'll never get a "better sounding experience" from vinyl.  Yes, you can hide the clicks and filter out the hiss and rumble, but ultimately you are limited by the transfer function from the master tape through pre-emphasis to the cutter to the press to the vinyl and then your stylus, cartridge, and de-emphasis.  It's only ever worth it if a CD copy or download is unobtainable.

Do you suggest me to go 24/44 or 16/44? I read somewhere that 24/44 would be better to reduce noise and then convert it to 16/44.
It's not going to make one spit of difference.  Just use whatever the USB sends you.  Any kind of resampling will reduce quality (in theory – although in practice you won't notice).

Also 1 more additional question: when ripping from Vinyl in STEREO, should I expect a difference between L & R channels, or since I am recording from analog to digital both channels should be very similar in terms of frequencies?
I fail to see any relevance to this.
29
General - (fb2k) / Re: Dumb Columns UI Playlist Sorting Question
Last post by anamorphic -
Code: [Select]
($puts(char1,-)$puts(char2,-)$puts(tag,%date%)$puts(spacer1,$strchr($get(tag),$get(char1)))$puts(spacer2,$strrchr($get(tag),$get(char2)))$trim($substr($get(tag),$add($get(spacer1),1),$sub($get(spacer2),1)))
However, since this is isolating the month from a date formatted yyyy-mm-dd, it returns a numerical value.

No need for any of that. Just use $month(%date%) - (see "time and date functions")


Quote
I thought I would write a very long if statement to replace "01" with "January" & "02" with "February" & so on.

And for this you can use $select - this function takes a number, in this case $month, and returns the corresponding value from the string you specify -

Code: [Select]
$select($month(%date%),January,February,March,April,May,June,July,August,September,October,November,December)

^ So if the $month number is 7, it returns "July". Then combine that with the other date functions -

Code: [Select]
[$day_of_month(%date%) $select($month(%date%),January,February,March,April,May,June,July,August,September,October,November,December) $year(%date%)]

^ And it returns a date in the form of "25 July 2024".


Quote
However, the if statement does not work, it appears to always evaluate the above code as true no matter what value I specify. For example, the below is resulting in all the music sorting to January and none to February.
Code: [Select]
$if(($puts(char1,-)$puts(char2,-)$puts(tag,%date%)$puts(spacer1,$strchr($get(tag),$get(char1)))$puts(spacer2,$strrchr($get(tag),$get(char2)))$trim($substr($get(tag),$add($get(spacer1),1),$sub($get(spacer2),1))))=01, January, February)

Not the right syntax. Ignoring all that mish-mash for the moment, $if does not use symbols (=,> etc) for determining if something is equal or any other comparisons, rather it uses other functions. Use $if together with string compare functions like $strstr (partial match) or $strcmp (exact match) or $stricmp (exact match, only not case sensitive). There are also other forms such as $ifequal and $ifgreater that compare numbers.

The string compare stuff returns a true/false, so it goes immediately after $if in the condition part - "$if (condition is true?, then return this, else return that)". So for a quick example -

Code: [Select]
$if($strcmp(%album artist%,Various),true,false)
$if($strstr(%album artist%,Various),true,false)

^ If the %album artist% tag in this case had exactly the letters "Various Artists" (without quotes) and nothing else, the $strcmp would return false (not an exact match), and the $strstr would return true (partial match).

Code: [Select]
$ifequal($month(%date%),7,true,false)

^ If the month equals 7, the true part is returned, otherwise false.


Quote
On a similar note I was messing around with some other if statement sorting patterns in the form of:
Code: [Select]
$if(<field> MISSING, sort this way, sort that way)

You cannot mix "query syntax" (used for library searches) in with "title formatting" (used to display and format tags) - they are two different languages. (Though you can the other way around, use title formatting in query syntax)

Having said that, I think title formatting will usually ignore any extraneous words in the condition part. The field itself returns a true/false if it is tagged or not, so just use -

Code: [Select]
$if(%field%,true,false)

Although whether it works for sorting might depend where exactly you are entering it, and Library Tree (being a javascript that has to parse things over and over) might not support every type of usage.

If you're on 32-bit foobar and want to learn title formatting by seeing exactly what each part of a script is evaluating to, I suggest install Title Formatting Sandbox. Select a track in playlist with tags you want to test, open it in View menu > Title Formatting Sandbox, and enter or paste any scripts there, and you can click on each part of the script to see what it returns from the selected track. Using this you can end up writing some complex stuff and see exactly what is happening at each step.
30
General - (fb2k) / Using command line tool on network drive from run service
Last post by klonuo -
Hi,

I set command for pcutmp3 in run service to split mp3 from cuesheet:

Code: [Select]
cmd /c cd "$directory_path(%path%)" & java -jar c:\Programs\foobar2000\scripts\pcutmp3.jar --cue "$replace(%path%,.mp3,.cue)" "%path%"

This works fine for local drive but not for local network (i.e. //raspberrypi/...)

Does anyone know how to set the command so that it would work on local network?
Currently it just writes splitted files in a folder where foobar is, as cmd does not accept unc paths, and I would prefer not to complicate too much as it is.

Thanks