The flac front-end utility should have its own version number, on a separate schedule from the flac library. I can see that we'd be able to add features to the utility quite extensively without ever changing the file format or the library. I realize that the utility has historically shared the library version number, but I see a strong case to separate them from each other to free up development possibilities. Apart from fixing some issues with newer compilers, the library is the same code. It should probably remain 1.2.1 or advance to 1.2.2 if there are actually any significant code changes. If we can agree on separating the library and utility version numbers, then I think we'll have a much better chance of agreeing on version numbers. Not to mention the fact that embedded devices without a command line or any other kind of utility won't needlessly see version number changes when the format remains the same. On that note, I suppose this means we might want to mark FLAC files with the version of the utility that created them, since the format version number won't indicate that going forward - perhaps an application block would be appropriate. Brian Willoughby Sound Consulting On Jan 17, 2013, at 09:27, Ralph Giles wrote:> On 13-01-16 11:10 PM, Erik de Castro Lopo wrote: >> My understanding is that the recent changes for 7 and 8 channels was >> a documentation change only. > > I think we should also change the flac front-end utility to construct > and interpret the WAVE channel mask for 7 and 8 channel files. No one > has written that patch yet. > > FWIW I generally agree with Erik that 1.3.x is justified by the long > period without a point release. Adding a channel mapping for 7 and 8 > channel files is a small spec addition, and doesn't have a serious > effect on deployed implementations.
On 13-01-17 7:26 PM, Brian Willoughby wrote:> The flac front-end utility should have its own version number, on a > separate schedule from the flac library. I can see that we'd be able > to add features to the utility quite extensively without ever > changing the file format or the library.It's not necessary to tie the format revision to the software version number. Formats having their own version numbers is also a very common convention. What's important is compatibility (or not) in behaviour. In any case, it's up to Erik. -r
Brian Willoughby wrote:> The flac front-end utility should have its own version number, on a > separate schedule from the flac library. I can see that we'd be able > to add features to the utility quite extensively without ever > changing the file format or the library. I realize that the utility > has historically shared the library version number, but I see a > strong case to separate them from each other to free up development > possibilities.My main interest in FLAC is the library. I actually don't use the flac front-end utility myself apart from its use in the test suite.> Apart from fixing some issues with newer compilers, the library is > the same code. It should probably remain 1.2.1 or advance to 1.2.2 if > there are actually any significant code changes.The code should definitely *not* stay at 1.2.1. IMO, any code change at all, even just whitespace is worthy of its own version number. If the md5sum of the source code tarball is different it warrants an updated version number.> If we can agree on separating the library and utility version > numbers, then I think we'll have a much better chance of agreeing on > version numbers.Its use in the test suite means it can't be extracted from the FLAC library sources without replicating its capabilities which would just be silly.> Not to mention the fact that embedded devices > without a command line or any other kind of utility won't needlessly > see version number changes when the format remains the same.Not even bug fixes?> On that > note, I suppose this means we might want to mark FLAC files with the > version of the utility that created them, since the format version > number won't indicate that going forward - perhaps an application > block would be appropriate.Sorry, but I actually think you have this completely around the wrong way. FLAC files can be created without the flac command line utility. That suggests that FLAC files should be marked with the *library* version that was used to create them. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/
On Jan 21, 2013, at 22:57, Erik de Castro Lopo wrote:> IMO, any code change at all, even just whitespace is worthy of its > own version number. If the md5sum of the source code tarball is > different it warrants an updated version number.Why would you release a new version of FLAC if the binary did not change (on a given platform)? I realize that whitespace is an extreme example, but in that case you don't really need a new version. The source code is only consumed by the developers. The version control system should handle "versions" of the source code. For example, Subversion would assign a new repository version number every time someone checks in a source code change. That is enough. There's no need to revise the release version with every developer's key press. It seems to me that you have to change more than source whitespace before a public release is warranted. A public release of substantial changes (not whitespace) would require at least a 0.0.1 increment in version number.>> If we can agree on separating the library and utility version >> numbers, then I think we'll have a much better chance of agreeing on >> version numbers. > > Its use in the test suite means it can't be extracted from the > FLAC library sources without replicating its capabilities which > would just be silly.It would be silly to replicate the command line utility, but you don't have to replicate it to change its version number, or to allow the version to digress from the format library version.>> Not to mention the fact that embedded devices >> without a command line or any other kind of utility won't needlessly >> see version number changes when the format remains the same. > > Not even bug fixes?What bugs? I'm not aware of any bugs. A centralized list of bugs would be great. I'm sure there is one and I just haven't looked at it in a while. Is the old bug database still active? Is there a bug search template or report showing the serious bugs that need fixing?>> On that >> note, I suppose this means we might want to mark FLAC files with the >> version of the utility that created them, since the format version >> number won't indicate that going forward - perhaps an application >> block would be appropriate. > > Sorry, but I actually think you have this completely around the wrong > way. FLAC files can be created without the flac command line utility. > That suggests that FLAC files should be marked with the *library* > version that was used to create them.The last suggestion on my part was a nod to the folks who want to define the channel mappings in a way that can be detected by players when looking at a specific media file. The FLAC format (library) does not need to be modified for this, because FLAC merely holds independent channels without any care about their order or position or labeling. But the command line utility might transcode channel mappings from other formats like WAVE or AIFF. In that case, having the command- line utility version number might help define the channel mapping. Then again, it would be better to define metadata specifically for the purpose of channel mappings rather than encoding the command-line version number into the stream. I'll just take this particular suggestion off the table, because there are better ways to provide the features desired. To clarify, I was not suggesting that the FLAC format version should be replaced by the command-line utility version - that would certainly be a bad idea, as you point out. I should have specified that I meant adding a secondary version number somewhere in the stream (meta blocks) to indicate any assumption about data that isn't part of individual channels. Brian