1
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.
2
Lossless / Other Codecs / Re: Monkey's Audio 11.00 (MULTI-THREADED ENCODING / DECODING)
Last post by MonkeysAudio -I think I'll release tomorrow before leaving for the weekend unless anybody finds another problem.
Cheers

3
CD Hardware/Software / Re: Figuring out an DISC's offset ?
Last post by Feilakas -DataCDs have much better error checking than audio CDs, there is a C2 detection hole so to speak, it was decided to reduce the error detection to fit 74 minutes on a CD.
Did not know that.
Learn something new everyday

4
3rd Party Plugins - (fb2k) / Re: JSplitter (splitter + SMP x64 alternative)
Last post by regor -Quote
Meaning that these visualizations (e.g. spectrum analyzer using short chunk of full data pulled from ffprobe within milliseconds length) aren't affected by DSPs and it wouldn't work on internet radioYes, that's a limitation with that approach. But some people (me for ex.) could not care less about radio or DSPs, since I want the original data of my tracks (and radio data has zero interest).
Quote
But don't writing new foobar2000 visualization components (which BTW is probably written in C++) is harder to make than WebAudio API visualizations that either use AudioWorklet or doesn't use AnalyserNode's built-in FFT at all (as either two can be easily ported to ones that doesn't use Web Audio API but still has an API to pull raw PCM data from currently-playing audio)?
Neither I agree, nor disagree. Just saying there are so many options right now that it made no sense -for me- to code what has been already coded elsewhere. C++ should also offer better performance.
Anyway I would also appreciate audio data being available on this component, for sure.
5
CD Hardware/Software / Re: Figuring out an DISC's offset ?
Last post by spoon -6
3rd Party Plugins - (fb2k) / Re: JSplitter (splitter + SMP x64 alternative)
Last post by TF3RDL -Can it be done? Obviously, yes. As long as the files are analyzed first.Meaning that these visualizations (e.g. spectrum analyzer using short chunk of full data pulled from ffprobe within milliseconds length) aren't affected by DSPs and it wouldn't work on internet radio
Also, the way this method gets the audio data sounds like AudioSurf to me, isn't it?
Has it been done?But don't writing new foobar2000 visualization components (which BTW is probably written in C++) is harder to make than WebAudio API visualizations that either use AudioWorklet or doesn't use AnalyserNode's built-in FFT at all (as either two can be easily ported to ones that doesn't use Web Audio API but still has an API to pull raw PCM data from currently-playing audio)?
There is at least one spectral script sample (I think it uses SOX) and my waveform script which may be used to display RMS levels, RMS peaks, or peak levels either as waveform or simple VU meter.
Anyway I don't see any point on doing anything more than that, since there are C++ components suitable for that. (and for sure I have zero interest on implementing your ideas)
BTW, does @LUR have any interests to implement an API function to allow JS panels to get waveform data from foobar2000 for realtime audio analysis purposes not covered by any native foobar2000 visualization components?
Web View component would also be a great host for further experiments.Any JS-enabling components that has an API to pull audio data (just the raw waveform data is enough since we can implement basically anything like spectrum analyzers, LUFS meters from waveform data alone) from fb2k should work
7
3rd Party Plugins - (fb2k) / Re: JSplitter (splitter + SMP x64 alternative)
Last post by regor -You can check if a panel is visible with:
https://theqwertiest.github.io/foo_spider_monkey_panel/assets/generated_files/docs/html/window.html#.IsVisible
How to implement that on an actual script, obviously varies a lot. There is no callback to check when the panel visibility changes, so you either use an interval on the background or some clever trick.
As an example, for my timeline script which displays charts... I could add a check for window.IsVisible, so whenever it's false, there is no processing. Then at on_paint callback, I could check if there is data already calculated, otherwise calculate it. That would account to what happens when the panel was initially hidden and I open it at a later point, there would be no data but I force it at that point. Obviously that implies a performance penalty when switching visibility, but you gain performance when it's hidden. (library tree for ex is always being processed on the background even if not used)
Code: [Select]
const myData = [];
function calcData() {
myData.length = 0;
myData.push('this is data')
.... // data code
}
function on_item_focus_change() {
if (window.IsVisible) {
calcData();
} else {
myData.length = 0;
}
}
function on_paint() {
if (!myData.length) {calcData()}
.... // Paint code
}
8
CD Hardware/Software / Re: Figuring out an DISC's offset ?
Last post by Feilakas -Interesting tool, it archives subchannel too?Indeed it does: https://github.com/superg/redumper
Quote
Subchannel data is stored uncorrected RAW (multiplexed). Both TOC based and Subchannel Q based splits are supported, subchannel Q is corrected in memory and never stored on disk.
If you're feeling super paranoid you can even retain the "raw" dump file "scram" which contains 99% of the disc's information (the rest being stored in MUCH smaller files which is always a good idea to preserve).
Normally, the scram file is used as the base for "splitting" the image files (bins & cue).
However, it is a command-line tool so I use it together with "MPF", a front-end tool, designed for archiving optical-based games but works for audio-cds just fine.
9
3rd Party Plugins - (fb2k) / Re: JSplitter (splitter + SMP x64 alternative)
Last post by mjm716 -If a panel is not visible, is it still processing?
If so, what is the best way to keep non-active panels from doing so?
10