Skip to main content

Topic: New FLAC encoder (Read 289097 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • MedO
  • [*][*][*][*]
New FLAC encoder
Reply #225
Flake r100 mingw-build
Same location as last time.

Building was quite smooth, but I didn't use the makefile (don't know if I even could, I'm quite new to this). I just started CodeBlocks, added all needed files for the library to a project, set the compiler paths so it could find bswap.h and added an empty config.h. Setting up the project for flake was almost the same.

There was only one warning when building:
flake\wav.c:473: warning: enumeration value 'WAV_SAMPLE_FMT_UNKNOWN' not handled in switch

That was already present with the gcc 3 I used before (can't remember the exact version)
  • Last Edit: 03 October, 2006, 05:16:11 AM by MedO

  • Synthetic Soul
  • [*][*][*][*][*]
  • Global Moderator
New FLAC encoder
Reply #226
I haven't been able to compile using MinGW since rev 48.  If I run ./configure I get:

/bin/cat: /tmp/flake-conf-10500-6548-17128.c: No such file or directory
gcc is unable to create an executable file.

It still works with cygwin.

I don't need to compile, but I thought it worth pointing out, as it seems relevant at the moment.
I'm on a horse.

  • kurtnoise
  • [*][*][*][*]
New FLAC encoder
Reply #227
no problem here with mingw compile...Maybe you need to update mingw-runtime.

  • Synthetic Soul
  • [*][*][*][*][*]
  • Global Moderator
New FLAC encoder
Reply #228
It was only just over a week ago that it did work.  If I choose "Update" MinGW only allows me to install new apps, and not update current apps.  I've no idea where or how to update.

As I say, no big deal, I was just curious why the change.
I'm on a horse.

  • kjoonlee
  • [*][*][*][*][*]
New FLAC encoder
Reply #229
Does flake use autotools? If yes, would a ./autogen.sh generate new ./configure* files?

  • Synthetic Soul
  • [*][*][*][*][*]
  • Global Moderator
New FLAC encoder
Reply #230
I just downloaded Rev. 19 of configure and that works fine. Rev. 50 (the next version) does not.

Code: [Select]
$ gcc -v
Reading specs from c:/mingw/bin/../lib/gcc/mingw32/3.4.2/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.2 (mingw-special)
I'm on a horse.

New FLAC encoder
Reply #231
Flake r100 mingw-build
Same location as last time.

Building was quite smooth, but I didn't use the makefile (don't know if I even could, I'm quite new to this). I just started CodeBlocks, added all needed files for the library to a project, set the compiler paths so it could find bswap.h and added an empty config.h. Setting up the project for flake was almost the same.

There was only one warning when building:
flake\wav.c:473: warning: enumeration value 'WAV_SAMPLE_FMT_UNKNOWN' not handled in switch

That was already present with the gcc 3 I used before (can't remember the exact version)

Hmm.  Are you not using ./configure + make because it doesn't work?  If you have msys installed that's all that you should need to do.

I haven't been able to compile using MinGW since rev 48.  If I run ./configure I get:

/bin/cat: /tmp/flake-conf-10500-6548-17128.c: No such file or directory
gcc is unable to create an executable file.

It still works with cygwin.

I don't need to compile, but I thought it worth pointing out, as it seems relevant at the moment.

That is odd.  Can you compile/run a simple hello world program with your MinGW version?
edit: looks like I was too slow. I'm glad it works for you now.

Does flake use autotools? If yes, would a ./autogen.sh generate new ./configure* files?

No, I did not use autotools for Flake, nor do it ever intend to.  I may decide to use some other build system, but it won't be autotools.  make distclean + ./configure + make is all that should be necessary under MinGW.

-Justin
  • Last Edit: 03 October, 2006, 09:31:52 AM by Justin Ruggles

  • Synthetic Soul
  • [*][*][*][*][*]
  • Global Moderator
New FLAC encoder
Reply #232
edit: looks like I was too slow. I'm glad it works for you now.
Well, rev.19 of configure does, but none since, and that's not really much use is it?

I dunno.  I don't really care!  I just thought it may be of interest.  It seems to me that something changed in version 50 that breaks configure with my versions (work and home) of MinGW (installed using MinGW 5.0.3  and MSYS 1.0.11).  I would assume that this would be the same for others, but if not then, please, forget it.  I've been expecting someone else to point this out, but as MedO was releasing versions I thought it was worth piping up.

If it's not an issue for anyone else then please don't pursue it.
I'm on a horse.

New FLAC encoder
Reply #233
I just downloaded Rev. 19 of configure and that works fine. Rev. 50 (the next version) does not.

Could you post or PM me the config.err you get using rev50?  This would help me narrow-down which change caused the issue.  That was quite a big change from r19 to r50.  In retrospect, I probably should have broken it up into smaller commits.

The fact that it doesn't work does concern me, and it may be a simple fix.  If I can't figure it out from your config.err output then I'll maybe give up on it.

edit: typo. and I was too slow again...added response to last post.
  • Last Edit: 03 October, 2006, 09:50:56 AM by Justin Ruggles

  • Synthetic Soul
  • [*][*][*][*][*]
  • Global Moderator
New FLAC encoder
Reply #234
Certainly.  [ Specified attachment is not available ]
I'm on a horse.

  • MedO
  • [*][*][*][*]
New FLAC encoder
Reply #235
Hmm.  Are you not using ./configure + make because it doesn't work?  If you have msys installed that's all that you should need to do.


I didn't install msys, no. I have never used it yet. I know ./configure -scripts from building Linux apps, but I never wrote one or used one under Windows. Hmm, if I have no problems compiling Flake without running ./configure first, does CodeBlocks do the necessary stuff that ./configure normally does?

As I said, I'm quite new to this.

  • Synthetic Soul
  • [*][*][*][*][*]
  • Global Moderator
New FLAC encoder
Reply #236
I received an email this afternoon (I found it when I got home) from a new user here called Mitch 1 2.  He is waiting for his five day suspension to end before posting, but sent me this:

Quote
I had the same problem. Get this:
http://optusnet.dl.sourceforge.net/sourcef...napshot.tar.bz2
and put the binaries in your msys\1.0\bin directory.

His suggestion worked; I have successfully compiled rev. 101.

So, I assume it was to do with bash not being available?
I'm on a horse.

  • kurtnoise
  • [*][*][*][*]
New FLAC encoder
Reply #237
most probably an older version...bourne shell 2.4 doesn't work anymore with some apps.

New FLAC encoder
Reply #238

Hmm.  Are you not using ./configure + make because it doesn't work?  If you have msys installed that's all that you should need to do.


I didn't install msys, no. I have never used it yet. I know ./configure -scripts from building Linux apps, but I never wrote one or used one under Windows. Hmm, if I have no problems compiling Flake without running ./configure first, does CodeBlocks do the necessary stuff that ./configure normally does?

As I said, I'm quite new to this.

For building binaries only, in Windows, with gcc/mingw...yes CodeBlocks probably does all that is necessary.  For building a static library or building on other platforms, the configure script is useful because it tries to automatically detect information that is needed to compile and install.  It can also detect system features so it can use compiler flags which will generate faster binaries.  But, if you already know gcc well enough, you can just set the compiler flags yourself.

-Justin

New FLAC encoder
Reply #239
Current SVN version now supports multiple input files.  So you can encode a whole directory of wav files with 1 command.  It's as simple as running something such as:
flake -8 *.wav
or
flake -12 file1.wav file2.wav file7.wav

This has not been tested in Windows, so I hope it works okay.

Now...no new features until the next release...for real this time.  I'll work on documentation and testing (and my ac3 encoder) while I give Flake a little resting time for bugs to show themselves.  The docs will take a bit of work, but at least it will be a nice change of pace.

Thanks,
-Justin

  • Mangix
  • [*][*][*][*][*]
New FLAC encoder
Reply #240
you have #include <inttypes.h> at wav.h . just though i should point that out. just tried building it again with VC++ 2005 and it blew up on syntax errors. i'll try to rebuild it in the future with VC++ 2005 when i get interested in doing that again.

New FLAC encoder
Reply #241
you have #include <inttypes.h> at wav.h  . just though i should point that out. just tried building it again with VC++ 2005 and it blew up on syntax errors. i'll try to rebuild it in the future with VC++ 2005 when i get interested in doing that again.

Thanks. fixed.

  • xmixahlx
  • [*][*][*][*][*]
New FLAC encoder
Reply #242
svn r104 at RareWares/Debian now

  • Synthetic Soul
  • [*][*][*][*][*]
  • Global Moderator
New FLAC encoder
Reply #243
Windows x86 compiles using current SVN (rev 104): cygwin version | mingw version
I'm on a horse.

  • sundance
  • [*][*][*]
New FLAC encoder
Reply #244
Just a minor thing:
There's a discrepancy concerning the command line syntax. When you invoke flake w/o parameters, it says:
Code: [Select]
Flake: FLAC audio encoder
© 2006  Justin Ruggles

usage: flake [options] <input.wav> [output.flac]

But when you add -h it's this:
Code: [Select]
Flake: FLAC audio encoder
© 2006  Justin Ruggles

usage: flake [options] <input.wav> [-o output.flac]
options:
       [-h]         Print out list of commandline options
       [-p #]       Padding bytes to put in header (default: 4096)
.
.
.

Guess '-o output.flac' is the one that's correct.
And still no version/revision number to display... 

.sundance.
  • Last Edit: 05 October, 2006, 11:05:02 AM by sundance

  • Wombat
  • [*][*][*][*][*]
New FLAC encoder
Reply #245
Ah, oh. I see a problem. Does -12 take that much processing power or isn´t it 100% compatible to flac 1.1.2 decoding anymore?
My Squeezebox can´t play flake -12 on all titles. It stutters around. Flake -5 for example is fine.

Edit:
The compile Garf offered a while back works flawlessly on the Squeezebox and has higher compression already as standard 1.1.2.
  • Last Edit: 05 October, 2006, 11:53:43 AM by Wombat
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

  • Synthetic Soul
  • [*][*][*][*][*]
  • Global Moderator
New FLAC encoder
Reply #246
The compile Garf offered a while back works flawlessly on the Squeezebox and has higher compression already as standard 1.1.2.
That has more similarities with the upcoming FLAC 1.1.3, or FLAC 1.1.2_CVS from this thread.
I'm on a horse.

  • guruboolez
  • [*][*][*][*][*]
  • Members (Donating)
New FLAC encoder
Reply #247
Ah, oh. I see a problem. Does -12 take that much processing power or isn´t it 100% compatible to flac 1.1.2 decoding anymore?
My Squeezebox can´t play flake -12 on all titles. It stutters around. Flake -5 for example is fine.

After Bukem's positive report, your one is the first negative one and is precisely what I feared.
My own decoding tests done with foobar2000 and my old Duron revealed that -11 and -12 are considerably slower than all other modes and than official/Garf's encoder. From memory, it's ~x48 for flake high profile and a bit more than x60 for all other settings/encoders.
As a consequence I expected from some devices with few 'power' headroom to have troubles decoding -q11/12 encodings.
Could you also try with -q10 and -q11? I guess that the first one should be problem free and the latter to sutter as well as -q12.
  • Last Edit: 05 October, 2006, 12:10:04 PM by guruboolez

  • Wombat
  • [*][*][*][*][*]
New FLAC encoder
Reply #248
The compile Garf offered a while back works flawlessly on the Squeezebox and has higher compression already as standard 1.1.2.
That has more similarities with the upcoming FLAC 1.1.3, or FLAC 1.1.2_CVS from this thread.

Thanks. So flake behaves different. As i read over the thread it was like the new ideas of 1.1.3 were in flake already and nothing more.

@Guru
i´ll do
  • Last Edit: 05 October, 2006, 12:11:56 PM by Wombat
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

  • Wombat
  • [*][*][*][*][*]
New FLAC encoder
Reply #249
After Bukem's positive report, your one is the first negative one and is precisely what I feared.
My own decoding tests done with foobar2000 and my old Duron revealed that -11 and -12 are considerably slower than all other modes and than official/Garf's encoder. From memory, it's ~x48 for flake high profile and a bit more than x60 for all other settings/encoders.
As a consequence I expected from some devices with few 'power' headroom to have troubles decoding -q11/12 encodings.
Could you also try with -q10 and -q11? I guess that the first one should be problem free and the latter to sutter as well as -q12.

Exactly how you predicted. -10 still is playable. From -11 on it stutters.
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!