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: Feature proposal: -list option (Read 8924 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Feature proposal: -list option

Although WavPack is not an orthodox archiver of files, I have thought of using WavPack through a more generic file or archive manager as a frontend. A good example of this would be Total Commander and its MultiArc plugin. I have made some attempts to deploy WavPack using Total Commander (an example of this can be seen here).

TC and MultiArc are quite comfy when it comes to opening or creating any kind of archives. At least MultiArc has been coded keeping in mind the usual archivers, which have at least the add, list and extract commands. It was already possible to use the "Add" command in MultiArc. But the system is designed so that it would be very cumbersome (if not practicable) to use two different exe files for packing and unpacking. Secondly, in order to properly (conventionally) unpack a wv in MultiArc, there should be a command for listing, even if the archive just contains one file.

Therefore, I have two proposals for future (or feature requests):

(1) Provide a one (joint) exe file combining both wavpack and wvunpack (just as an option besides the separate files).

and/or

(2) Implement a -list (or similar) option without actual unpacking, displaying to the console the original file name, the original file size, and the original file's date and time with clear markers for external archive managers to start and end processing (and with the output produced so that the field patterns like name start point would be definite for automatic recognition). An example would be something like this:

C:\>wavpack -list wavpackedfile.wv

would produce e.g.:

WAVPACK  Hybrid Lossless Audio Compressor and Decompressor
Win32 Version 5.00.0
Copyright © 1998 - 2008 Conifer Software.  All Rights Reserved.
=============================================
File name: wavfile.wav
Original size: 99999999 bytes
Original date: 2008-11-27
Original time: 20:20
=============================================

This could actually be combined with the present -s and -ss options of wvunpack.

In that way, the use of wavpack could be simplified even more, and wavpack could become more popular.

Feature proposal: -list option

Reply #1
Quote
Implement a -list (or similar) option without actual unpacking, displaying to the console the original file name, the original file size, and the original file's date and time


Wavpack isn't a file archiver. So (afaik) it just doesn't store original file name, size, date and time (although it is possible for wvunpack to deduce size of WAV file).

Consider you compress BMP files to PNG. It is lossless, but PNG file doesn't contain neither original filename, nor original date/time. Nobody cares about it.

Feature proposal: -list option

Reply #2
Wavpack isn't a file archiver. So (afaik) it just doesn't store original file name, size, date and time (although it is possible for wvunpack to deduce size of WAV file).

Consider you compress BMP files to PNG. It is lossless, but PNG file doesn't contain neither original filename, nor original date/time. Nobody cares about it.


Well, mine was just a proposal, to enable more different ways of using wavpack. You are right in saying that wavpack is not a file archiver but that does not make my proposal pointless.

wvunpack -ss option shows, inter alia, the percentage of packed size. I would tend to think that there must be some basis for showing the percentage, and that basis must be the original unpacked size (or, the hypothetical future size when unpacked, but as we are talking about lossless packing, these sizes should be the same, so it actually does not matter). Moreover, even just a -list option with clear start and end and extractable file name would make wavpack fully compatible with MultiArc even if no "original" size or date is displayed.

Feature proposal: -list option

Reply #3
A single executable for packing and unpacking is on David's to-do list, not a priority right now though.

WinZip uses WV for comression of WAV's and ha a command line add-on, have you tried configuring that into TC?
WavPack 5.6.0 -b384hx6cmv / qaac64 2.80 -V 100

Feature proposal: -list option

Reply #4
WinZip uses WV for comression of WAV's and ha a command line add-on, have you tried configuring that into TC?


That's interesting to know but I don't have WinZip on my system as I have seen no need to buy it.

Feature proposal: -list option

Reply #5
As lvqcl says, the original file name, date, and time are not stored in the WavPack file. In the WinZip case, these elements are stored in the regular zip toc.

However, it might be possible to place these in special fields of an APEv2 tag. For example, you could add the to the WavPack command line:

Code: [Select]
-w “arc_filename=wavfile.wav” -w “arc_date=2008-11-27” ... etc.


The APE tag would be completely ignored by wvunpack when unpacking, but when the -ss option was used in wvunpack all of those fields would display.

That might just be crazy enough to work! 

 

Feature proposal: -list option

Reply #6
Thanks, Bryant, for the clarification!

I was more thinking of a universal way to use wavpack unpacking through the MultiArc system, not just only a way to store the name and date/time of my wav files: the APE tag solution would mean that MultiArc would work if the name and date/time have been stored in the file but will not work if they have not been stored.

As the format is already fixed, there is probably no option to make this work universally in MultiArc with any wv file.

However, as wvunpack -ss shows me the compression ratio in percents, I think it could as well show me the original size (that should be more or less in correlation with the packed size percentage) and the name (with the *.wav extension) that would be used when I unpack the file with wvunpack (as wvunpack will change the extension to *.wav anyway). The date/time could be omitted. That way, the listing option would have just something to rely on in MultiArc. For example:

C:\>wavpack -list wavpackedfile.wv

...

WAVPACK Hybrid Lossless Audio Compressor and Decompressor
Win32 Version 5.00.0
Copyright © 1998 - 2008 Conifer Software. All Rights Reserved.
=============================================
File name for unpacking: wavfile.wav [the name of wv, just the extension changed]
Original size: n bytes [calculated on the basis of the compression % now displayed]
=============================================

Nonetheless, all this will only have any meaning for using MultiArc when wvpack and wvunpack are in one and the same executable, which, as I read, is already on the to-do list.