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
2
Support - (fb2k) / Re: Foobar2000 v2.* playback sound quality lower than v1.X
Last post by Globares -
You don't need a microphone to record the output of your DAC. Just plug cable from the output to input and record.
Though it will be a mostly useless exercise as player can't add jitter. A player can only keep the audio interface's buffers filled, the audio interface is responsible for timing the signal and actually making it audible. If the player fails to keep buffers filled you don't need a specialist to notice it. It will cause very audible glitching.
That’s possible, of course. I agree that it would be a useless exercise since the analog-to-digital converter would be the built-in one, i.e. low quality and working in a noisy motherboard environment. Maybe this setup would be good enough to measure jitter provided a special signal, e.g. short beeps every second. I may try this next week; however higher probability of success would be provided by some kind of sound device emulator running on another PC connected via USB to the player’s PC and logging the input packets. Does anyone know such software?
Is there any chance for 64-bit build of Foobar2000 v1.X? 
4
General - (fb2k) / Re: foo_unpack [feature support *.rar, *.zip archives protected password]
Last post by Case -
I somewhat doubt a mod contacted you about the meaning of the word "May". It's forbidden to spam the forum or bump topics.

I would assume the interest to add password protected archive support is very low. The archive reader is a convenience feature so small easily compressible files can be kept in archive and still be easily playable. Some formats have even standardized being used that way. It doesn't try to replace a full blown file archiver.

If you have acquired password protected archives with audio data in them, do yourself a favor and extract them with a tool of your choice and play the extracted versions.

If it is you trying to hide or protect secret audio behind a password protected archive there have to be better ways for that. Encrypt your harddrive and password protect your user account. Create a VHDX virtual drive and password protect it with BitLocker. Universal solutions that work with all software without any code added.
5
3rd Party Plugins - (fb2k) / Re: foo_midi (foobar2000 v2.0)
Last post by JexuGarrido -
There's a problem in Secret Sauce. When i play some midis, they cuts in the beginning, and just sounds pianos, with weak pitch bends, and the map resets to SC-8820 (even if i have the flavor in GS SC-55), most of them sounds fine if i set the flavor in GM, GM2 and XG, but the problem is in GS and Default, however, some of them, aren't fix with any flavor. I leave you one of the midis that Secret Sauce plays wrongly, try it.

And i have a question, there will be Nuked SC-55 support in the future, like Super Munt?
6
MP3 - General / Re: 320 MP3 VBR to CBR
Last post by Case -
It is possible. MP3packer can inflate the smaller frames with nonsensical padding and turn a VBR file to larger CBR file retaining the old audio data as is. But it seems to fail to write a valid LAME tag/Xing header so gapless info disappears.
7
General - (fb2k) / Re: Running Foobar in Linux
Last post by dpc666 -
For convenience I've compiled a list of compatibility fixes.

The wineprefix should be created with the WINEARCH=win32 environment variable, since winetricks has better support for 32 bit.

I installed the following verbs with winetricks:

Code: [Select]
lucida
gdiplus
winhttp
wininet
wsh57
mdac28
msxml6

This allows me to use foo_httpcontrol, foo_sqlite and foo_spider_monkey_panel.

foo_httpcontrol seems to require msxml6 to start a server but Internet Explorer and vcrun were unnecessary.

gdiplus and lucida were required for running @regor's Playlist Manager on foo_spider_monkey_panel.

Furthermore, I modified the following registry entries to add compatibility for foo_run:

Code: [Select]
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment]
"PATHEXT"=".com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;."
"PATH"="%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\system32\wbem;%SystemRoot%\system32\WindowsPowershell\v1.0;Z:\usr\bin"

Linux commands must be prefixed with cmd /c.

My Wine version is 9.6-1. My Foobar2000 version is 2.1.4
10
3rd Party Plugins - (fb2k) / Re: JScript Panel
Last post by marc2k3 -
I couldn't be bothered with modifying the main script so here's a quick hack that goes straight in the panel. It's for Playcount 2003 only with no options to switch.

Code: [Select]
// ==PREPROCESSOR==
// @name "Rating 2003"
// @author "marc2003"
// @import "%fb2k_component_path%helpers.txt"
// @import "%fb2k_component_path%samples\js\lodash.min.js"
// @import "%fb2k_component_path%samples\js\common.js"
// @import "%fb2k_component_path%samples\js\panel.js"
// @import "%fb2k_component_path%samples\js\rating.js"
// ==/PREPROCESSOR==

var panel = new _panel({ custom_background : true });
var rating = new _rating(0, 0, 24, RGB(255, 128, 0)); // x, y, height, colour
rating.properties.mode.value = 2;

rating.get_max = function () {
var max = 5; // foo_playcount_2003 max supported value is 10
this.w = this.h * max;
return max;
}

rating.get_rating = function () {
return panel.tf('$if2(%2003_rating%,0)');
}

rating.set_rating = function () {
var handles = fb.CreateHandleList(panel.metadb);
handles.RunContextCommand('Playcount 2003/Rating/' + (this.hrating == this.rating ? 'Clear' : 'Set rating to ' + this.hrating));
handles.Dispose();
}

panel.item_focus_change();

function on_colours_changed() {
panel.colours_changed();
window.Repaint();
}

function on_item_focus_change() {
if (panel.selection.value == 0 && fb.IsPlaying) return;
panel.item_focus_change();
}

function on_metadb_changed() {
rating.metadb_changed();
}

function on_mouse_lbtn_up(x, y) {
rating.lbtn_up(x, y);
}

function on_mouse_leave() {
rating.leave();
}

function on_mouse_move(x, y) {
rating.move(x, y);
}

function on_paint(gr) {
panel.paint(gr);
rating.paint(gr);
}

function on_playback_new_track() {
panel.item_focus_change();
}

function on_playback_stop(reason) {
if (reason != 2) {
panel.item_focus_change();
}
}

function on_playlist_switch() {
on_item_focus_change();
}

function on_size() {
panel.size();
}

It uses a default max value of 5 but can be edited to 10 inside the get_max function.