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: FlacSquisher 1.2.0 released (Read 11209 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

FlacSquisher 1.2.0 released

FlacSquisher is a GUI utility for Windows that encodes your collection of FLAC files using either LAME or OggEnc, maintaining the directory structure from the FLAC collection. Already-encoded files are ignored, so after ripping a new CD that's the only one that will be encoded. I just released 1.2.0, with some new features that HA users might enjoy.

New features:
  • Full support for Linux using Mono
  • Support for ReplayGain tags, including the "--gain" tag in LAME 3.100


http://sourceforge.net/projects/flacsquisher/

If you have any feedback, please let me know!

FlacSquisher 1.2.0 released

Reply #1
Here are a few things, to start:

You have no way of updating a transcoded file when the original FLAC is updated, short of first manually deleting the target file. You might want to copy the original timestamp (modified time) to the transcoded file (or offer an option to do so) and then give the user an option to update the library, not only fill in what is missing.

You could also offer an option to force the target files to be overwritten.

It's not clear how the encoder command line option interacts with the encoder options. For example, with LAME, if you designate -V2, then what does all the stuff on the options page do?

Why would you need both an 'extensions to ignore' and 'extensions to copy' option? Specifying either one should be exclusive of the other. I would also like the option to only designate specific files copied, specifically cover.jpg, rather have all artwork copied to a folder that I'd use only on my portable player.

Most people will be using such a tool for the creation of a library for use on portable players. Since these players may have different tagging requirements, I would want better control of tagging. Specifically:

For Mp3 files, a full user definable table giving the ability to define how each FLAC field is translated to a specific ID3v2 frame.

The ability to drop FLAC fields when translating. Many portables don't support nearly the range of tagging fields that full-featured playback programs do, and it's usually better to drop unused fields rather than copy them to fields that the portable will ignore or possibly even hang up on.

FlacSquisher 1.2.0 released

Reply #2
And a bug: The encoder command line options are lost when you switch encoders. No reason to assume that someone will always use the same encoder.

FlacSquisher 1.2.0 released

Reply #3
The Encoder Options window doesn't currently get set by the command-line options; it's only the other way around. For instance, if you change the target to Bitrate, the slider is at 192 by default, so it will generate the command line "--abr 192".

Having both "Extensions to ignore" and "Extensions to copy" was a feature specifically requested by another user. I actually implemented it to see if the string ends with the string specified, rather than purely checking for extensions, and the copy list overrides the ignore list. Because of this, you can copy "cover.jpg" while ignoring "jpg", and it will work the way you want. I know that's not clear just from the interface, but hopefully that means it's useful to you.

In the meantime before I get around to implementing the full tagging feature you requested, can you tell me if there's a specific tag you'd like to carry over? So far I've just implemented tags that LAME officially supports; the only TXXX tag I've put in is ReplayGain, and that's not enabled by default.

Most of your suggestions are definitely feasible though, and I'll work on implementing them! It'll take time, but I've been running low on new features I could think to add. Thanks!

FlacSquisher 1.2.0 released

Reply #4
Please pardon my questions of ignorance, but as I'm a casual user and this is the first time I've heard of this software, please bear with me.

(1) Are you saying that I could run my entire FLAC collection through this tool to generate MP3s via LAME, in the same folder structure?
(2) Does the version of LAME matter?  I prefer to use halb27's 3.100m variant, with the switches -V0 -cvbr 3 -Y --lowpass -1.  Some of those are switches not available in the latest release, 3.99.5.
(3) Are all tags automatically transferred from the APE-type stored in a FLAC container to ID3v2 compatible ones, including album art and lyrics?
(4) Is there any way to also have the software run MP3Packer after LAME has completed?  How about MP3Gain?  (Halb27's variant runs MP3Packer automatically, but the standard version doesn't.  It might be a good addition.)
(5) Is there any way to also copy JPG/PNG files that are stored in the source FLAC directories to the destination MP3 directories?

Thanks in advance!

FlacSquisher 1.2.0 released

Reply #5
Having played with it a bit, I'll take stab at answering...

(1) Are you saying that I could run my entire FLAC collection through this tool to generate MP3s via LAME, in the same folder structure?


Yes, but beware of the limitations that I mention above and others. You could mirror a FLAC library or new content, but only if starting fresh. It couldn't really be used easily to maintain a mirror in either Mp3 or Ogg. First, it won't update any changed files. Second, it won't remove orphaned directories or files. For example, if you were to change the name of a FLAC file from "05 Cats Cradle.flac" to "05 Cat's Cradle.flac", you'll end up with two track #5s in the target folder.

Quote
(2) Does the version of LAME matter?  I prefer to use halb27's 3.100m variant, with the switches -V0 -cvbr 3 -Y --lowpass -1.  Some of those are switches not available in the latest release, 3.99.5.


I would have thought that should be doable through the command line encoder options, but from the author's reply above, I'm not sure what those options are for.

Quote
(3) Are all tags automatically transferred from the APE-type stored in a FLAC container to ID3v2 compatible ones, including album art and lyrics?


Not sure about that.

Quote
(4) Is there any way to also have the software run MP3Packer after LAME has completed?  How about MP3Gain?  (Halb27's variant runs MP3Packer automatically, but the standard version doesn't.  It might be a good addition.)


Doesn't look like it.

Quote
(5) Is there any way to also copy JPG/PNG files that are stored in the source FLAC directories to the destination MP3 directories?


Yes, it can do that.

FlacSquisher 1.2.0 released

Reply #6
The Encoder Options window doesn't currently get set by the command-line options; it's only the other way around. For instance, if you change the target to Bitrate, the slider is at 192 by default, so it will generate the command line "--abr 192".


Ok, I think I see how it works now. This is a pretty bad way to implement this in the user interface, IMO, as it makes adding additional command line options difficult and easily wiped out by changing anything in the Encoding Options page. And doesn't allow a user to keep separate options for Mp3 and Ogg, as I mentioned previously.

Quote
Having both "Extensions to ignore" and "Extensions to copy" was a feature specifically requested by another user.


So do you mean that your utility will actually try to transcode all files found, including .jpg, .cue, .pdf, etc., unless their extensions are listed under "File extensions to ignore"? That's completely backwards... How many possible extensions would anyone ever use for their FLAC files? After .fla and .flac, I can't think of many. If you need an option for this, you should have an option for which extensions to _include_ when transcoding.

Quote
I actually implemented it to see if the string ends with the string specified, rather than purely checking for extensions, and the copy list overrides the ignore list. Because of this, you can copy "cover.jpg" while ignoring "jpg", and it will work the way you want. I know that's not clear just from the interface, but hopefully that means it's useful to you.


The two options should be independent of one another. One being for file extensions to _transcode_ and one for files to _copy_. Consider changing the latter to a file list and then permit wildcards. Users could then enter something like "cover.jpg,*.log" in this list.

Quote
In the meantime before I get around to implementing the full tagging feature you requested, can you tell me if there's a specific tag you'd like to carry over? So far I've just implemented tags that LAME officially supports; the only TXXX tag I've put in is ReplayGain, and that's not enabled by default.


Without knowing what you consider "officially supported", I couldn't say. I believe LAME 3.99 and later will allow you to tag any four-character frame on the command line. At a minimum, I would consider having an option to create a TXXX tag from any 'uniffocial' ID3v2.3 frame. More important to my use, however, would be the ability to drop specific FLAC fields.

FlacSquisher 1.2.0 released

Reply #7
JJZolx already answered #1 pretty well. As for the other questions:

(2) Does the version of LAME matter?  I prefer to use halb27's 3.100m variant, with the switches -V0 -cvbr 3 -Y --lowpass -1.  Some of those are switches not available in the latest release, 3.99.5.


By default I include the Rarewares version of Lame bundled with the libsndfile DLL -- this version allows calling Lame directly on Flac files. If you use a different version, check the "Using non-standard copy of Lame" box in the Options window, so that FlacSquisher knows to decode the Flac file separately. However, currently there's a bug in that Lame release that doesn't throw an error if a non-audio file is passed in, so at the moment FlacSquisher decodes separately anyway, but after that bug is fixed I'll go back to the old method.

Quote
(3) Are all tags automatically transferred from the APE-type stored in a FLAC container to ID3v2 compatible ones, including album art and lyrics?


The most common tags (title, album, artist, album artist, date, track, disc, genre) are transferred over by default, along with embedded album art (limited to 128KB due to Lame's restriction), and ReplayGain tags are transferred if the appropriate option is selected. So far I've been adding tags individually -- JJZolx had a few suggestions for letting the user pick what tags they want. In the meantime, if there are any specific tags you think should be supported by default, that would likely be easy to implement.

The exception is lyrics -- so far there doesn't seem to be a set standard for lyrics in Vorbis comments like there is for ID3. MediaMonkey uses a "lyrics" tag, while OCRemix uses the Comment field. I may add the comment field sometime, but it is slightly harder because it can span multiple lines unlike the fields I've implemented so far.

Quote
(4) Is there any way to also have the software run MP3Packer after LAME has completed?  How about MP3Gain?  (Halb27's variant runs MP3Packer automatically, but the standard version doesn't.  It might be a good addition.)


Yeah, I might be able to add support for MP3Packer later on; would use of Halb's Lame build be good enough though? As for MP3Gain, with Lame 3.100, FlacSquisher 1.2.0 can change the volume, so you don't need to use MP3Gain as far as I can tell.

Quote
(5) Is there any way to also copy JPG/PNG files that are stored in the source FLAC directories to the destination MP3 directories?


Yeah; open the Options window and you should see jpg and png under the file extensions copied by default.