Commit Graph

186 Commits

Author SHA1 Message Date
Erik de Castro Lopo
552917d9c1 src/share/grabbag/replaygain.c : Fix compiler warnings.
Gcc 4.8 has a new warning about use of un-initialized data. In particular
this new warning can detect if an automatic variable is defined in one function
and then passed to another and used before it is initialized.
2013-07-21 19:58:22 +10:00
Cristian Rodríguez
d42c04260b Add missing config.h includes
All C and C++ files must include config.h

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-06-05 18:50:17 +10:00
Ulrich Klauer
cd4ddabe0f Language fix: "difference licenses"
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-05-27 18:08:57 +10:00
Erik de Castro Lopo
b1982fbc5f Set version to 1.3.0 and update coyprights throughout. 2013-05-26 19:17:53 +10:00
Ulrich Klauer
aa285f3ac1 Use C locale when reading ReplayGain tag
When a locale is in effect that does not use the point as the decimal
mark (e.g., sv_SE or de_DE, which use a comma) and a ReplayGain tag is
read for --apply-replaygain-which-is-not-lossless, the gain value was
misinterpreted (e.g., "-2.29" truncated to "-2"). This is fixed by
resetting the locale to "C" temporarily, based on Josh Coalson's fix
of the dual case (writing ReplayGain tag) in commit cda02d3.

Patch by hhaamu@gmail.com, taken from the Debian patch tracker for
flac 1.2.1-6 (13_replaygain_c_locale.patch).

http://sourceforge.net/p/flac/bugs/380/

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-04-30 09:48:44 +10:00
Janne Hyvärinen
cc9f392166 Metaflac UTF-8 fixes (Windows)
Metaflac can now print all console supported characters from tags on the
screen. It also fixes metaflac to be able to import its own exports back
without non-ascii characters getting mutilated. And --no-utf8-convert
now works properly with import and export commands.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-04-25 08:58:08 +10:00
Janne Hyvärinen
e8ffe523f8 Windows utf8 utime fix.
UTF-8 version of utime was completely broken and file timestamps were
not preserved.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-04-21 17:56:16 +10:00
Erik de Castro Lopo
52fab8ba7e Win utf8 treatment for CreateFile.
Patch from Janne Hyvärinen <cse@sci.fi>.
2013-04-21 17:53:07 +10:00
Erik de Castro Lopo
0b736a5605 Fix compiler warnings related to win utf8 stuff. 2013-04-21 17:24:59 +10:00
Erik de Castro Lopo
d0c219f197 A set of windows utf8 patches fromJanne Hyvärinen <cse@sci.fi>. 2013-04-21 16:50:24 +10:00
Erik de Castro Lopo
d6219e8bb1 src/share/Makefile.am : Rejig building of win_utf8_io/libwin_utf8_io.la.
This should avoid a build error on Mac OSX where it the Mac build
tools refused to build an empty library. Problem reported by
Michael Guntsche <michael.guntsche@it-loops.com>.
2013-04-07 18:08:18 +10:00
Erik de Castro Lopo
b9574fe589 Fix a bunch of compiler warnings (mainly MinGW). 2013-04-07 13:44:45 +10:00
Erik de Castro Lopo
6a9a18ff7a For windows, make UTF-8 mode into a runtime choice.
The smaller patch makes the utf-8 library use ANSI codepage by
default. When frontends call the "get_utf8_argv" function it
changes Unicode conversion codepage from ANSI to UTF-8.

Patch from Janne Hyvärinen <cse@sci.fi>.
2013-04-07 13:11:19 +10:00
Erik de Castro Lopo
ae7eda1815 Rename all parameters and locals from 'index' to 'indx'. 2013-04-05 20:21:22 +11:00
Erik de Castro Lopo
f44c353e59 Two small patches for utf8 I/O.
Thanks to LRN <lrn1986@gmail.com>.
2013-04-02 06:27:12 +11:00
Erik de Castro Lopo
0cd2e9ed69 Purge FLAC__STRINGS_IN_UTF8 from VC project files. 2013-04-01 20:01:37 +11:00
Erik de Castro Lopo
2199d08692 Enable utf8 I/O stuff when compiling with MinGW. 2013-04-01 19:57:13 +11:00
Erik de Castro Lopo
b3c3e2ac4f Use recursive automake in src/share/ part of tree.
This will make it easier to incorporate the win_utf8_io stuff.
2013-04-01 19:46:12 +11:00
Erik de Castro Lopo
7dc5e3a8ff Rename _flac_stat to flac_stat_s. 2013-03-29 21:25:59 +11:00
Erik de Castro Lopo
608e246f52 Rename all 'utf8_io' -> 'win_utf8_io'. 2013-03-29 21:25:59 +11:00
Erik de Castro Lopo
5705b4d7b2 Huge Windows utf8 I/O patch.
Patch from Janne Hyvärinen <cse@sci.fi>.
2013-03-29 21:25:59 +11:00
Erik de Castro Lopo
2d6354ff2a Replace broken str* functions with safe versions. 2013-03-19 20:23:44 +11:00
Erik de Castro Lopo
74aac94cda Windows flac_snprintf tweaks.
Patch from Janne Hyvärinen <cse@sci.fi>.
2013-03-17 22:06:11 +11:00
Erik de Castro Lopo
3c84f9e86b Use new function flac_snprintf() where ever appropriate.
This replaces un-safe usage of sprintf() and Micorsoft's _snprintf()
with something sane.
2013-03-17 21:00:07 +11:00
Erik de Castro Lopo
06af237c70 Add file src/share/grabbag/snprintf.c to grabbag library.
Define function flac_snprintf() which has ISO C99 snprintf() behavior
even when compiling with Microsoft Visual Studio, by wrapping the
MSVS snprintf_s() function.
2013-03-17 20:52:04 +11:00
Erik de Castro Lopo
f25b2602dc Fix a couple of Windows 2Gig file size issues.
Patch submitted by Janne Hyvärinen <cse@sci.fi>.
2013-03-14 18:22:37 +11:00
Erik de Castro Lopo
300d17c56f MS VS : Add alloc.c to the grabbag static build.
Patch from Janne Hyvärinen <cse@sci.fi>.
2013-03-12 19:15:04 +11:00
Erik de Castro Lopo
168c258aa3 Purge old un-maintained MSVC 6 project files. 2013-03-10 11:17:20 +11:00
Erik de Castro Lopo
f67928dec4 Fix VC project files to use /objs/ directory instead of /obj/ directory. 2013-01-02 22:49:55 +11:00
Erik de Castro Lopo
85d5c53803 Fix all Makefile.lite to use /objs/ directory instead of /obj/ directory. 2013-01-02 22:49:37 +11:00
Hendricks266
96d081c1c9 Fix building with MSYS and MinGW(-w64); Improve Makefile.lite build system
This is a patch to allow building of the project using MSYS, MinGW, and MinGW-w64 with the following invocation:

make -f Makefile.lite libFLAC libFLAC++ flac metaflac test_libs_common test_libFLAC test_libFLAC++ test_grabbag test_seeking test_streams utils examples

This patch addresses eight points:
1. `uname -p` in MSYS returns "unknown" so we must use `gcc -dumpmachine` to gain information about the target, 32-bit or 64-bit.
2. MinGW-w64 does not ship with a working iconv.h, so we must disable it under this specific compiler.
3. The code requires <inttypes.h> in a handful of C files, but config.mk did not contain -DHAVE_INTTYPES_H, which under the full build process (I assume) is added by autoconf.
4. The compiler complained when lround() in lpc.c was static, so it is no longer static.
5. Additional scattered linking directives (and reordering) (particularly FLAC, grabbag, and replaygain_analysis) were necessary to build some of the components.
6. The Makefile.lite build system benefited from some cleanup, particularly by rigorously defining all entries, factoring redundancy, and establishing dependencies. (Some typos were fixed too.)
7. Shared objects on Windows use .dll, not .so. (Added *.dll, *.dylib, and *.exe to .gitignore.)
8. To allow more freedom using Makefile.lite without configure, I added the variables USE_OGG and USE_ICONV which can toggle these two components in the build process.
ex: make -f Makefile.lite examples USE_OGG=0 USE_ICONV=0

These improvements make use of some use-time Makefile variable expansion.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-01-02 21:35:47 +11:00
Max Horn
66c0a581d2 autogen.sh: replace this by a simple call to autoreconf
The autoreconf tool is provided by autoconf to do what custom
autogen.sh scripts in many projects used to do. Only it is more
robust and widely tested. It has been available for several years,
too. No reason to rely on custom code for this.

Signed-off-by: Max Horn <max@quendi.de>
2012-12-13 08:12:14 +11:00
Miroslav Lichvar
6a1f59b58f Update FSF address. 2012-12-06 06:17:26 +11:00
Cristian Rodríguez
7e62afe9fa Remove local_strtoull, windows has equivalent function _strtoui64 2012-04-18 21:59:11 +10:00
Cristian Rodríguez
9b7cb22f84 Update and improve autotools build
- INCLUDES is deprecated, and CPPFLAGS is an user-defined
  variable, use the proper AM_CPPFLAGS instead

- Remove FLAC__INLINE definition, providing proper
  replacement for MSVC compilers.

- Detect if we have C99 's lround and provide a replacement
  for windows...
2012-04-08 09:03:03 +10:00
Erik de Castro Lopo
6c2040dc90 Remove casting of return value from *alloc() functions. 2012-04-04 21:29:25 +10:00
Erik de Castro Lopo
b48909780b Fix a couple 'inlining failed' warning messages. 2012-02-26 20:00:36 +11:00
Erik de Castro Lopo
d273fceece Fix a couple of sign-compare warnings. 2012-02-26 19:08:41 +11:00
Earl Chew
0554a4aee6 Support 56kHz to 19.2kHz gain analysis (Patch v4)
This implementation uses decimation to generate an estimate of the
required ReplayGain adjustment for tracks sampled at high rates.

This approach avoids having to generate filters with commensurately more taps,
and also the subsequent effect on performance as these additional
taps are evaluated for high sample rate tracks.

Filter table entries with coefficients that are unchanged are
marked /* ORIGINAL */.

The remaining entries are new and have coefficient values obtained
from src/utils/loudness/loudness.sci. See:

        http://lists.xiph.org/pipermail/flac-dev/2012-February/003220.html

Because these filter coefficients can be generated from a known source,
they are preferred to the FooBar2000 coefficients whose provenance is
unknown.

Signed-off-by: Earl Chew <earl_chew@yahoo.com>
2012-02-26 12:19:56 +11:00
Erik de Castro Lopo
dac99fa20b Patch from Dave Yeo to remove more CPP hackery.
Dave's comments:
This commit will break OS/2's EMX 0.9d library (GCC 2.8.1) which has been
been replaced by klibc. Considering the age of EMX and lack of testing
and that klibc contains so many improvements I think this is exceptable.
2012-02-08 21:07:08 +11:00
Erik de Castro Lopo
59afe36f71 Add file include/share/compat.h and start moving CPP hackery into it. 2012-02-04 16:13:37 +11:00
Erik de Castro Lopo
19050f74ea Cuesheet patch from Earl Chew.
When reading the INDEX from the cue sheet, the format MM:SS:FF format
is disallowed if the sample frequency is not a multiple of 75 because
the index would only be approximate. However, 00:00:00 is _exact_
because it denotes the start of the track, so allow it as a special
case.
2012-02-04 13:01:02 +11:00
Erik de Castro Lopo
d5bb4be5b4 Patch from David Yeo to conditionally include <inttypes.h>. 2012-02-04 11:06:12 +11:00
Erik de Castro Lopo
9c2290ade5 Fix more printf formatting issues and remove un-necessary casts. 2012-02-01 21:46:35 +11:00
Erik de Castro Lopo
ce8a75134c Fix a bunch of printf format warnings. 2012-02-01 20:34:04 +11:00
Erik de Castro Lopo
8bbbf56403 Fix compiler warnings. 2012-02-01 19:58:09 +11:00
Felipe Contreras
6c8d740c1a Coverity fixes
Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-08-25 23:28:06 -07:00
Josh Coalson
dea0f5a044 add 2009 copyright 2009-01-07 07:31:28 +00:00
Josh Coalson
c9ed238c3d Allow MM:SS:FF and MM:SS.SS time formats in non-CD-DA cuesheets (SF#1947353, SF#2182432: https://sourceforge.net/tracker2/?func=detail&aid=1947353&group_id=13478&atid=363478 https://sourceforge.net/tracker2/index.php?func=detail&aid=2182432&group_id=13478&atid=113478) 2009-01-07 07:03:17 +00:00
Josh Coalson
0915a551eb Fixes for Sun Studio/Forte; us AC_C_INLINE to detect inline keyword for compiler; eliminate floating point calcs in RG analysis array size calculations (SF#1701960: https://sourceforge.net/tracker2/?func=detail&aid=1701960&group_id=13478&atid=313478) 2009-01-03 02:13:17 +00:00