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
MP3 - General / Re: Resurrecting/Preserving the Helix MP3 encoder
Last post by Wombat -
Also not working here "An error occurred while writing to file (The encoder has terminated prematurely with code -1073741515 (0xC0000135); please re-check parameters"
Btw. did you just set the flag -flto? I could do one with gcc.

Edit:  Did one with gcc flto. Roughly the same speed here as without.
2
3rd Party Plugins - (fb2k) / Re: foo_vis_spectrum_analyzer
Last post by Defender -
@pqyt

First of all thank you for this excellent tool. I can (almost) get rid of 18 instances of PeakMeter Spectrum by substituting them with 6 instances of yours.
 
Since peakmeter is working perfectly in 100% windows scaling, I moved on to testing this plugins behavior with different windows scaling and encountered problems in all scaling (except 200% and 300%). Happens both in horizontal and vertical peakmeters. The rest of this message will only address the vertical peakmeter (without axe legends).

See the attached jpg's that also displays some debug information. I also included the code I use to determine the panel width for the number of channels and windows scaling.

The following text looks quite complicated but is more easy if you look at the jpg.
Based on how your plugin behaves/displays I guess you are calculating barwidth (vertical peakmeter) by first determining the total gauge gap by first multiplying the (unscaled) configuration value gauge gap times the number of channels (bars) to be displayed minus 1. Then I guess you scale this total gauge gap, subtract that value from the panelwidth and divide the result by the number of channels to find barwidth per bar. By scaling a calculated unscaled total gauge gap this value will be to high (except winth 200% and 300%), and subsequently your barwidth/barheight will be lower than I intended.
When you display bars, you apply single gauge gaps between channels leading to pixels that are left over and are distributed to the left of leftmost bar and to the right of rightmost bar.

In the attached jpg I included my scaled total gauge gap is 14 and I'm pretty sure you use 15.75 either truncated to 15 or rounded up to 16. Which leads to the behavior I described above.

Code: [Select]
// UNSCALED
$ifgreater($get(channels),7, $puts(px.h_bar, 13), // 13 max to display Above logo with Top plugin disabled
$ifgreater($get(channels),5, $puts(px.h_bar, 13), // 13 max to display Above logo with Top plugin enabled
$ifgreater($get(channels),4, $puts(px.h_bar, 14), // 15 max to display Above logo with Top plugin enabled
$ifgreater($get(channels),3, $puts(px.h_bar, 16), // 20 max to display Above logo with Top plugin enabled
$ifgreater($get(channels),2, $puts(px.h_bar, 21), // 27 max to display Above logo with Top plugin enabled
$ifgreater($get(channels),1, $puts(px.h_bar, 21), // 41 max to display Above logo with Top plugin enabled
$puts(px.h_bar, 32) // 83 max to display Above logo with Top plugin enabled
))))))

$puts(mx.w_bar,         6) // Unscaled - Single bar width - Desired unscaled bar width for PeakMeter vertical

$puts(wh_gauge_s,       1) // Unscaled - Single gauge gap - Desired unscaled gauge gap
$puts(wh_gauge_t,       $mul($sub($get(channels),1),$get(wh_gauge_s))) // Unscaled - Total  gauge gap

$puts(px.h_std,         $add($get(wh_gauge_t), $mul($get(px.h_bar),$get(channels)))) // Unscaled - Panel width  needed - PeakMeter vertical
$puts(mx.w_std,         $add($get(wh_gauge_t), $mul($get(mx.w_bar),$get(channels)))) // Unscaled - Panel width  needed - PeakMeter horizontal


// SCALED
$puts(wh_gauge_s,       $muldiv($get(wh_gauge_s),%scale%,100)) // Scaled - Single gauge gap - truncated
$puts(wh_gauge_t,       $mul($sub($get(channels),1),$get(wh_gauge_s))) // - Total  gauge gap - calculation based on truncated scaled single gauge gap / NOT BASED BY SCALING UNSCALED TOTAL GAUGE GAP

$puts(px.h_bar,         $muldiv($get(px.h_bar),%scale%,100)) // Scaled - Single bar height - truncated - PeakMeter horizontal
$puts(mx.w_bar,         $muldiv($get(mx.w_bar),%scale%,100)) // Scaled - Single bar width - truncated - PeakMeter vertical

$puts(px.h_std,         $add($get(wh_gauge_t), $mul($get(px.h_bar),$get(channels)))) // Scaled - Panel width  needed - PeakMeter vertical - calculation based on truncated scaled single bar height / NOT BASED BY SCALING UNSCALED TOTAL BAR HEIGHT
$puts(mx.w_std,         $add($get(wh_gauge_t), $mul($get(mx.w_bar),$get(channels)))) // Scaled - Panel height needed - PeakMeter horizontal - calculation based on truncated scaled single bar width / NOT BASED BY SCALING UNSCALED TOTAL BAR WIDTH

In my opinion calculation should be as follows:
1) Scale the single gauge gap and store the result truncated in an integer.
2) Calculate total gauge gap by multiplying the value of 1) times the number of (channels minus 1)
3) Deduct from the panel width the value of 2) and width needed for 1/2 axe legends
4) Divide the value of 3) by the number of channels and store the result truncated in an integer (barwidth per bar)
5) ... continued with total leftover pixels and distribution to the left & right of the panel

I think the issue lies in 1) and 2). In my code it is the two lines under // SCALED.

Please investigate ...
6
General - (fb2k) / Re: [Suggestions / Wishlists] for future updates
Last post by regor -
- Undo action for statistics rating. Ctrl+z only reverts playlist changes, but nothing more. A simple menu entry at Playback statistics submenu would do.
Spoiler (click to show/hide)

- Settings to switch tag caching for specific tags, or at least skip non needed tags.
Spoiler (click to show/hide)
7
MP3 - General / Re: Resurrecting/Preserving the Helix MP3 encoder
Last post by KevinB52379 -
EDIT:  OK I found a compile of Helix MP3 encoder on my external hard drive , the zip file is called helix_mp3enc_r11_x64.zip and the exe is called hmp3enc.exe.
I tried this version (I know it's one of the original Helix versions) but I was curious to see hwo this 64 bit version worked.

I did the test from my SSD and got 1300x to 1800x.

So what is different between Case's build, this old version and all newer compiles?

I believe I got that version of Helix from Rarewares or ReallyRareWares.

OK I tried copying my FLACS to the internal SSD and tried converting with foobar2000 from there.

I still average about 220x to 300x using your slow compile 64 bit version of Helix. 

Same speeds I got when converting from external hard drive...so I don't think USB is the issue.

I think i have the same problem, my cpu is zen2 4650g(6c12t), i got around 280~300x under command line @ single thread with autodidact's clang build or rarewares' gcc build, I also compiled helix myself with clang plus linktime optimization, my version got around 480x. maybe that's the key.
here's the binary, you can try it.


Thanks for contributing your compile.  I tried it, but for some reason it isn't creating mp3s on my end.  I kept the settings the same as I used previously for successful encodes, but literally just replaced the hmp3.exe file.

Also when using it with foobar, the system did hang again, and I saw the conversion dialog, but the "pause" and "abort" buttons never showed up and the file progress never continued.  What I mean is the progress bar was moving, but it was still showing that it was converting the first file still.  Weird.

Thanks for trying!
8
Support - (fb2k) / Re: Foobar 2.1.4 Crash
Last post by marc2k3 -
3rd parties are not supposed to distribute portable packages. It against the terms of the license*.

Also, the official installers have had portable mode since forever.

*Plenty of half wits on this forum also do it. And they're usally stupid enough to bundle their entire folder totallng hundreds of megabytes when the required files are probably 10-20MB max. :/
10
Support - (fb2k) / Re: Playlists Get Zero'd Out After a Library Search
Last post by yimyamflimflam -
Are you claiming just using search overwrites playlists? Are you certain you don't hit enter after typing, that would send the results to selected playlist.
Note that if you overwrite a playlist by accident, you can hit Ctrl+Z to undo the damage. One doesn't need to manually save FPL files because of fear of misclicks.
The ellipsis (...) button at the end of input field allows you to send the files to a new playlist or to a new autoplaylist. If you have a habit of hitting enter accidentally, you can try if enabling 'Library viewer selection' playlist at Preferences -> Media Library makes the search work in a way you like.

Great to know! Have been using fb2k for a decade, albeit at a skill level amounting to nothing more than basic playback and tinkering with a component here and there (hell, I even forgot until just now, that I created this account back in 2020 when I tried register an account with my same address, lol). Gotta say I love how well foobar accommodates Ctrl-Z reliant doofuses like myself (lookin' at you, MS Excel...).