PDA

View Full Version : Foobar2000 Flac conversion


unholyone
2006-02-17, 11:32 PM
What .dll file in foobar2000 components makes it possible to convert .SHN to .FLAC files?

Also which .dll file in foobar2000 components makes it possible to do the bit comparison?

Thx,

Five
2006-02-18, 09:47 PM
not sure about the dll's but they must be calling the binaries from the WINNT/SYS32 folder (or close to there depending on which vers. of windows). the one for FLAC is flac.exe

ssamadhi97
2006-02-18, 10:53 PM
not sure about the dll's but they must be calling the binaries from the WINNT/SYS32 folder (or close to there depending on which vers. of windows).
Not really - none of the involved foobar component dlls calls anything except for a couple standard Windows dlls which everyone has anyway (plus foobar's own utf8api.dll / shared.dll).

No external encoder / decoder dlls are called. And as Five said, flac.exe is used for encoding to FLAC.

I listed the necessary dlls in this thread on hydrogenaudio (http://www.hydrogenaudio.org/forums/index.php?showtopic=41561&hl=)

unholyone
2006-02-19, 04:59 PM
That did not answer the issue. Flac.exe is the encoder right. But there is a specific .dll file needed in foobar to call that out to convert a file such as .shn to .flac.

I found out that it is foo_flaccer.dll. Without it you will not be able to choose Flac as the conversion output.

You also need foo_bitcompare.dll in order to do a bit comparison. Without it you will not be able to compare the out of flac to the original shn file to verify that they are bit for bit identical.

ssamadhi97
2006-02-19, 05:21 PM
That did not answer the issue. Flac.exe is the encoder right. But there is a specific .dll file needed in foobar to call that out to convert a file such as .shn to .flac.

I found out that it is foo_flaccer.dll. Without it you will not be able to choose Flac as the conversion output.
The .dll that calls flac.exe would be foo_clienc (which requires appropriate configuration, but iirc it comes with presets for FLAC).

foo_flaccer on the other hand does not rely on flac.exe, instead it contains its own (slightly outdated) version of the flac encoder.


(details, I know :))

unholyone
2006-02-19, 05:45 PM
Well without foo_flaccer.dll foobar will not bring up FLAC as an option for converion in diskwriter's output preset's. Without it you cannot convert a shn file to flac.

ssamadhi97
2006-02-19, 06:42 PM
Of course you can / of course it will, if you take foo_clienc and create a flac encoding preset for it (in Preferences -> Diskwriter).

unholyone
2006-02-19, 07:12 PM
OK SO what would be the prset needed to be created in discwriter to convert shn to flac?

ssamadhi97
2006-02-19, 08:15 PM
Guess screenshots are mostly self-explanatory

If you don't have "Commandline Encoder" option as shown in second pic, you're missing foo_clienc

As for encoder parameters I picked in 3rd picture:
-4 = level of compression, many people seem to like -8 for highest compression but #@<hidden>%& slow encoding; I prefer -4 for best speed / compression tradeoff (compression slightly worse than -5 (default), but much faster)
- = encode from stdin (this way foobar sends data to flac.exe without making a temporary wav file)
-o %d = output to file %d (actual filename will be filled in by foobar when encoding)

unholyone
2006-02-19, 08:37 PM
Thanks that was very helpful. I must also have flac.exe in the components folder as well correct?

unholyone
2006-02-19, 08:50 PM
OK I did the commandline FLAC as you outlined and it did not work this is what I got:

ERROR (foo_clienc) : Encoding failed
ERROR (foo_diskwriter) : Conversion failed.
INFO (foo_shn) : cannot find / read external metadata tag file
INFO (foo_shn) : cannot find / load external seektable file.
INFO (foo_shn) : no seektable loaded. generating seek information on the fly.
INFO (foo_clienc) : CLI encoder: C:\Uber\foobar2000\components\flac.exe
INFO (foo_clienc) : Destination file: file://G:\Tagging Needed\Pink Floyd- 22-05-1989 Livorno, Italy\Disc 1\01 - Traccia 1.flac
INFO (foo_clienc) : Source file: file://G:\Tagging Needed\Pink Floyd- 22-05-1989 Livorno, Italy\Disc 1\01 - Traccia 1.shn
INFO (foo_clienc) : 44100Hz 24bps 2ch
ERROR (foo_clienc) : Encoding failed
ERROR (foo_diskwriter) : Conversion failed.

Five
2006-02-19, 08:54 PM
maybe an update of foo_flaccer.dll is necessary?

ssamadhi97
2006-02-20, 08:55 AM
Five: He's trying the foo_clienc & flac.exe combo now, which is entirely unrelated to foo_flaccer


unholyone: Kind of hard to tell what's going wrong. Knowing the parameters you're using might help (screenshot of your preset, maybe?).

On a general note, make sure that "keep lossless sources at original bit depth" is checked in Diskwriter preferences (as shown on my first screenshot).

Also make sure that your flac.exe is up-to-date (1.1.2 is latest), and that there's enough free space on the target drive.

And you can keep flac.exe wherever you like, you just need to make sure that the correct path is set in the encoder preset.

unholyone
2006-02-20, 11:43 AM
It's set up exactly like your picture. The FLAC.exe is the one that was just installed with FLAC from soundfourge. SO I am assuming it is the newest version.

unholyone
2006-02-20, 12:18 PM
I figured it out.

I had a zero "0" instead of a small o "o" in the Parameters setting.

I has: -5 - -0 %d and it should have been: -5 - -o %d.