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.
Topic: QAAC: discussion, questions, feature requests, etc. (Read 760815 times) previous topic - next topic
0 Members and 5 Guests are viewing this topic.

QAAC: discussion, questions, feature requests, etc.

Reply #525
Since it would appear that I am in the wrong, perhaps somebody could enlighten me as to what the purpose is of extracting the msvcr80.dll and msvcp80.dll files? It it just in case the user doesn't have VC++ 2008 runtimes installed already?

Actually, those are VC++ 2005 runtimes.

QAAC: discussion, questions, feature requests, etc.

Reply #526
I just used Winrar to extract the Apple Application Support .msi from the iTunes installer. It's a separate installer and you don't need to fully install iTunes at all.

You can't install it, the only way is if you use something like CopyTrans Drivers Installer. Or install iTunes then uninstall everything but that one. Did you even try before suggesting? The portable way (using makeportable) is actually easier anyway.



But that's exactly what I did do. It worked and I'm still using it.

QAAC: discussion, questions, feature requests, etc.

Reply #527
Quote
[qaac] release 2.29 (refalac 1.29)

* Fixed regression on 2.28: Tags were not properly copied when --concat was specified on cuesheet input.
* Fixed not to exit with failure requesting output filename when --concat was specified with --peak or --play (in which case "output filename" is nonsense).
* Some minor improvement and code refactoring.

Thanks nu774 

QAAC: discussion, questions, feature requests, etc.

Reply #528
@nu774,
thanks for the latest version of QAAC:
Quote
[qaac] release 2.31 (refalac 1.31)
posted 2 hours ago by nu 774

Just 1note: qaac.exe (32bit) still claims to be v2.30... (couldn't test 64bit)

.sundance.

QAAC: discussion, questions, feature requests, etc.

Reply #529
Just 1note: qaac.exe (32bit) still claims to be v2.30... (couldn't test 64bit)

64-bit version of qaac doesn't exist and yes, confirm that 2.31 shows 2.30.

QAAC: discussion, questions, feature requests, etc.

Reply #530
Sorry, uploaded now.

QAAC: discussion, questions, feature requests, etc.

Reply #531
No one posted but:

Code: [Select]
[qaac] release 2.32 (refalac 1.32)
posted Dec 22, 2013, 5:28 PM by nu 774

- Fixed: --tag apID and --tag akID were written in the long tag format.


nu774, does refalac use ONLY msvcr120.dll and msvcp120.dll (used with foobar2000)? Does it need any of the other files (libgcc_s_sjlj-1.dll, libsoxconvolver.dll, libsoxr.dll)?

Thanks

QAAC: discussion, questions, feature requests, etc.

Reply #532
nu774, does refalac use ONLY msvcr120.dll and msvcp120.dll (used with foobar2000)?

You can use dependency walker to figure this out on your own.

QAAC: discussion, questions, feature requests, etc.

Reply #533
Thanks for the software, tested and didn't see any of the last three DLLs. I didn't ask because of the dependency thing though, I asked for features that refalac may need from these DLLs. Don't know if I explained well enough.

In a simpler way:

Open refalac? Yes, it need the first two DLLs (dependencies)

Downsample, upsample? Maybe it needs these other three DLLs but they are not dependencies (or they are called dependencies even in this case?)

Really tired right now sorry.

edit:
I think I just answered myself, of course it does, that's how it downsamples and upsamples. Also that's why there are 64-bit versions of these files, qaac doesn't have a 64-bit version. Now that I figured out I am a genius I'm gonna go to sleep a little bit, goodnight.

QAAC: discussion, questions, feature requests, etc.

Reply #534
nu774, does refalac use ONLY msvcr120.dll and msvcp120.dll (used with foobar2000)? Does it need any of the other files (libgcc_s_sjlj-1.dll, libsoxconvolver.dll, libsoxr.dll)?

1. You need msvc*120.dll to run refalac.
2. You don't need others in order just to run refalac, but some options (--rate, --lowpass, --matrix-*) don't work without them.
3. You can see if these DLLs are loaded with refalac --check.

Technically, msvc*120.dll is implicitly linked to refalac. When you invoke refalac, OS's loader/linker will do the job of loading and linking of dependent DLLs. When implicit dependency is not satisfied (due to missing DLL or something), the attempt will fail and OS will show up an error dialog. In other words, the executable doesn't even start up. You can easily track down these implicit dependency by Dependency Walker.

On the other hand, libsox*.dll is explicitly linked. In this case, OS does nothing automatically for them. Instead, they are loaded by refalac on runtime. This kind of linkage is usually used by plugin system (for example, fb2k will load every plugin DLL this way, so it can run without them).
You cannot see this kind of dependency by Dependency Walker by default (you have to "profile" the process).
Finally, 32bit libsoxr.dll is implicitly dependent on libgcc_s_sjlj-1.dll. So attempt to load libsoxr.dll should fail without it.

QAAC: discussion, questions, feature requests, etc.

Reply #535
BTW main reason for using SoX related things through DLL is due to license of SoX. SoX is LGPL, but qaac cannot be. Although it's not clear if a static linking to a LGPLed library forces the same license on the derivative work, module separation seemed simpler and safer to me.

QAAC: discussion, questions, feature requests, etc.

Reply #536
Thanks nu774, your replies are always thorough.




QAAC: discussion, questions, feature requests, etc.

Reply #540
I thought, you, being the author, can choose the license.


You can, but you need to choose a license whose terms you can abide by. I think that qaac could be LGPL, because the main purpose of the LGPL is to allow free software and freeware to coexist by keeping the open and closed parts of the software separate, such as by using DLLs. Since qaac loads all of Apple's proprietary software through external DLLs, qaac should be compatible with the LGPL.

Using the GPL would be impossible, because all aspects of a program must be open source to use the GPL, and Apple's proprietary code isn't. The only way nu774 would get in trouble with the LGPL is if qaac incorporated Apple's code directly, but nu774 already avoids doing that in order to keep Apple from taking legal action against him.

The normal LGPL model allows developers of proprietary software to include LGPL software by keeping the open components as separate DLLs, so that users can clearly tell which elements of the program are open and which are closed. The qaac model is the reverse of this (the open components are the program, while the closed components are loaded from separate DLLs), but I don't see why that would make any difference, since the line between the open and closed components remains.

I could be wrong, though, as I'm not a lawyer, either. As such, nu774's cautious approach is the safest one to take, at least until someone with legal expertise can advise him.

QAAC: discussion, questions, feature requests, etc.

Reply #541
Well, my choice was not based on well studied thought, and probably some of them have been actually unnecessary.
As for dependency on Apple library, seeing that ffmpeg (LGPL) requires "non-free" configuration to enable some of encoders such as libfaac, I just thought it's better to avoid LGPL. That's all.

QAAC: discussion, questions, feature requests, etc.

Reply #542
nu774, I wanted to test these two libraries with refalac but I get an error.

The command I'm trying is "refalac (or refalac64) -r 32000 (or -r 96000) file.wav" and I get "ERROR: ALAC: Not supported format".

Why?

QAAC: discussion, questions, feature requests, etc.

Reply #543
The command I'm trying is "refalac (or refalac64) -r 32000 (or -r 96000) file.wav" and I get "ERROR: ALAC: Not supported format".

The error message is indeed odd and is not quite helpful, but you can see what's going on if you turn on --verbose.
Due to sample rate conversion, sample format is converted to 32bit float which is not supported by ALAC. You have to add "-b16" or something.

QAAC: discussion, questions, feature requests, etc.

Reply #544
Hi
I'm interested what's the factual difference of .m4b format from .m4a and if I can use QAAC to tonvert to this format (if there's need for special software, what software is that). I'm sure that m4b stands for audiobooks so probably there's need for something extra like internal chaptering (tho m4a does contain by default chapter for song too).

QAAC: discussion, questions, feature requests, etc.

Reply #545
Hi
I'm interested what's the factual difference of .m4b format from .m4a and if I can use QAAC to tonvert to this format (if there's need for special software, what software is that). I'm sure that m4b stands for audiobooks so probably there's need for something extra like internal chaptering (tho m4a does contain by default chapter for song too).


AAC is the actual audio format, mp4 is an container. Changing it to m4a, m4b or m4r does not change the fact that it is a mp4.
http://en.wikipedia.org/wiki/MPEG-4_Part_14#.MP4_versus_.M4A

QAAC: discussion, questions, feature requests, etc.

Reply #546
AAC is the actual audio format, mp4 is an container. Changing it to m4a, m4b or m4r does not change the fact that it is a mp4.

Good, both AAC is what I know.  But I'd rather like to know what's the difference between m4b and m4a formats and if QAAC is able to generate full-featured m4b format too (or whether I need different software for this). As for chaptering I think this is possible by merging more files into one multitrack with more internal chpters.

QAAC: discussion, questions, feature requests, etc.

Reply #547
The M4B format is just MP4 with chapters, such as for audio books. There is a --chapter switch in qaac to load chapters from a file, but I have never used it.

QAAC: discussion, questions, feature requests, etc.

Reply #548
The M4B format is just MP4 with chapters, such as for audio books. There is a --chapter switch in qaac to load chapters from a file, but I have never used it.

So everything I need is to use external chapters file and change the output extension to .m4b?

QAAC: discussion, questions, feature requests, etc.

Reply #549
You need the .m4b extension for iTunes (and maybe other software) to recognize it as an MPEG-4 Part 14 container with chapters. The container format is the same regardless of the extension; they're just conventions.

I.e., you can have a .m4a file with chapters or a .m4b file without, but the software you're using might not recognize them as such.