annotate Makefile.am @ 474:c66080364dff

Most decoders now report total sample play time, now. Technically, this breaks binary compatibility with the 1.0 branch, since it extends the Sound_Sample struct, but most (all?) programs are just passing pointers allocated by SDL_sound around, and might be okay. Source-level compatibility is not broken...yet! :) --ryan. -------- Original Message -------- Subject: SDL_sound patch: Finding total length of time of sound file. Date: Sun, 26 Jan 2003 09:31:17 -0800 (PST) Hi Ryan, I am working with Eric Wing and helping him modify SDL_sound. AS part of our efforts in improving and enhancing SDL_sound, we like to submit this patch. We modified the codecs to find the total time of a sound file. Below is the explanation of the patch. The patch is appended as an attachment to this email. * MOTIVATION: We needed the ability to get the total play time of a sample (And we noticed that we're not the only ones). Since SDL_sound blocks direct access to the specific decoders, there is no way for a user to know this information short of decoding the whole thing. Because of this, we believe this will be a useful addition, even though the accuracy may not be perfect (subject to each decoder) or the information may not always be available. * CONTRIBUTORS: Wesley Leong (modified the majority of the codecs and verified the results) Eric Wing (showed everyone how to do modify codec, modified mikmod) Wang Lam (modified a handful of codecs, researched into specs and int overflow) Ahilan Anantha (modified a few codecs and helped with integer math) * GENERAL ISSUES: We chose the value to be milliseconds as an Sint32. Milliseconds because that's what Sound_Seek takes as a parameter and -1 to allow for instances/codecs where the value could not be determined. We are not sure if this is the final convention you want, so we are willing to work with you on this. We also expect the total_time field to be set on open and never again modified by SDL_sound. Users may access it directly much like the sample buffer and buffer_size. We thought about recomputing the time on DecodeAll, but since users may seek or decode small chunks first, not all the data may be there. So this is better done by the user. This may be good information to document. Currently, all the main codecs are implemented except for QuickTime.
author Ryan C. Gordon <icculus@icculus.org>
date Sat, 08 May 2004 08:19:50 +0000
parents 75819e5c59d4
children c7ab783f05d3 4e85073841fe
rev   line source
72
02bb616ba974 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
1 lib_LTLIBRARIES = libSDL_sound.la
02bb616ba974 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
2
229
fe5251b5624c Changed test dir to playsound, and make playsound part of standard build and
Ryan C. Gordon <icculus@icculus.org>
parents: 201
diff changeset
3 SUBDIRS = decoders . playsound
72
02bb616ba974 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
4
81
c047ae35d5fa From Max Horn: fixes header installation.
Ryan C. Gordon <icculus@icculus.org>
parents: 72
diff changeset
5 libSDL_soundincludedir = $(includedir)/SDL
c047ae35d5fa From Max Horn: fixes header installation.
Ryan C. Gordon <icculus@icculus.org>
parents: 72
diff changeset
6 libSDL_soundinclude_HEADERS = \
c047ae35d5fa From Max Horn: fixes header installation.
Ryan C. Gordon <icculus@icculus.org>
parents: 72
diff changeset
7 SDL_sound.h
72
02bb616ba974 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
8
02bb616ba974 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
9 libSDL_sound_la_SOURCES = \
02bb616ba974 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
10 SDL_sound.c \
81
c047ae35d5fa From Max Horn: fixes header installation.
Ryan C. Gordon <icculus@icculus.org>
parents: 72
diff changeset
11 SDL_sound_internal.h \
465
636796aed4e2 Build/packaging fixes.
Ryan C. Gordon <icculus@icculus.org>
parents: 414
diff changeset
12 alt_audio_convert.c \
636796aed4e2 Build/packaging fixes.
Ryan C. Gordon <icculus@icculus.org>
parents: 414
diff changeset
13 alt_audio_convert.h \
636796aed4e2 Build/packaging fixes.
Ryan C. Gordon <icculus@icculus.org>
parents: 414
diff changeset
14 audio_convert.c \
72
02bb616ba974 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
15 extra_rwops.c \
340
5a72981b8cba Added optional, experimental audio conversion routines by Frank Ranostaj.
Ryan C. Gordon <icculus@icculus.org>
parents: 322
diff changeset
16 extra_rwops.h
72
02bb616ba974 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
17
201
56bc776f0563 Midi support.
Ryan C. Gordon <icculus@icculus.org>
parents: 184
diff changeset
18 if USE_TIMIDITY
56bc776f0563 Midi support.
Ryan C. Gordon <icculus@icculus.org>
parents: 184
diff changeset
19 TIMIDITY_LIB = decoders/timidity/libtimidity.la
56bc776f0563 Midi support.
Ryan C. Gordon <icculus@icculus.org>
parents: 184
diff changeset
20 else
56bc776f0563 Midi support.
Ryan C. Gordon <icculus@icculus.org>
parents: 184
diff changeset
21 TIMIDITY_LIB =
56bc776f0563 Midi support.
Ryan C. Gordon <icculus@icculus.org>
parents: 184
diff changeset
22 endif
56bc776f0563 Midi support.
Ryan C. Gordon <icculus@icculus.org>
parents: 184
diff changeset
23
262
6fe6de401b63 mpglib support.
Ryan C. Gordon <icculus@icculus.org>
parents: 247
diff changeset
24 if USE_MPGLIB
6fe6de401b63 mpglib support.
Ryan C. Gordon <icculus@icculus.org>
parents: 247
diff changeset
25 MPGLIB_LIB = decoders/mpglib/libmpglib.la
6fe6de401b63 mpglib support.
Ryan C. Gordon <icculus@icculus.org>
parents: 247
diff changeset
26 else
6fe6de401b63 mpglib support.
Ryan C. Gordon <icculus@icculus.org>
parents: 247
diff changeset
27 MPGLIB_LIB =
6fe6de401b63 mpglib support.
Ryan C. Gordon <icculus@icculus.org>
parents: 247
diff changeset
28 endif
6fe6de401b63 mpglib support.
Ryan C. Gordon <icculus@icculus.org>
parents: 247
diff changeset
29
72
02bb616ba974 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
30 libSDL_sound_la_LDFLAGS = \
02bb616ba974 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
31 -release $(LT_RELEASE) \
02bb616ba974 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
32 -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
201
56bc776f0563 Midi support.
Ryan C. Gordon <icculus@icculus.org>
parents: 184
diff changeset
33 libSDL_sound_la_LIBADD = \
56bc776f0563 Midi support.
Ryan C. Gordon <icculus@icculus.org>
parents: 184
diff changeset
34 decoders/libdecoders.la \
262
6fe6de401b63 mpglib support.
Ryan C. Gordon <icculus@icculus.org>
parents: 247
diff changeset
35 $(TIMIDITY_LIB) $(MPGLIB_LIB)
134
3ce7ede90d24 added CREDITS to EXTRA_DIST in Makefile.am
fingolfin
parents: 81
diff changeset
36
3ce7ede90d24 added CREDITS to EXTRA_DIST in Makefile.am
fingolfin
parents: 81
diff changeset
37 EXTRA_DIST = \
143
3e60862fbd76 Start of audio converter work.
Ryan C. Gordon <icculus@icculus.org>
parents: 134
diff changeset
38 CREDITS \
184
47cc2de2ae36 Changed reference to "LICENSE" file to "COPYING".
Ryan C. Gordon <icculus@icculus.org>
parents: 143
diff changeset
39 COPYING \
247
654f4f66b757 Added CWProjects.sit to EXTRA_DIST.
Ryan C. Gordon <icculus@icculus.org>
parents: 229
diff changeset
40 CHANGELOG \
322
31cc49d7d0ce MacOS fixes.
Ryan C. Gordon <icculus@icculus.org>
parents: 262
diff changeset
41 CWProject.sit \
355
5dbf2f9cde00 Added docs stuff.
Ryan C. Gordon <icculus@icculus.org>
parents: 340
diff changeset
42 PBProjects.tar.gz \
414
eb7878e07dba Added borland.zip to EXTRA_DIST.
Ryan C. Gordon <icculus@icculus.org>
parents: 355
diff changeset
43 borland.zip \
466
75819e5c59d4 Build system fixes.
Ryan C. Gordon <icculus@icculus.org>
parents: 465
diff changeset
44 Doxyfile \
75819e5c59d4 Build system fixes.
Ryan C. Gordon <icculus@icculus.org>
parents: 465
diff changeset
45 VisualC
355
5dbf2f9cde00 Added docs stuff.
Ryan C. Gordon <icculus@icculus.org>
parents: 340
diff changeset
46
5dbf2f9cde00 Added docs stuff.
Ryan C. Gordon <icculus@icculus.org>
parents: 340
diff changeset
47 dist-hook:
465
636796aed4e2 Build/packaging fixes.
Ryan C. Gordon <icculus@icculus.org>
parents: 414
diff changeset
48 mkdir $(distdir)/docs
636796aed4e2 Build/packaging fixes.
Ryan C. Gordon <icculus@icculus.org>
parents: 414
diff changeset
49 echo "Docs are generated with the program "Doxygen" (http://www.doxygen.org/)," >> $(distdir)/docs/README
636796aed4e2 Build/packaging fixes.
Ryan C. Gordon <icculus@icculus.org>
parents: 414
diff changeset
50 echo " or can be read online at http://icculus.org/SDL_sound/docs/" >> $(distdir)/docs/README
636796aed4e2 Build/packaging fixes.
Ryan C. Gordon <icculus@icculus.org>
parents: 414
diff changeset
51 echo >> $(distdir)/docs/README
636796aed4e2 Build/packaging fixes.
Ryan C. Gordon <icculus@icculus.org>
parents: 414
diff changeset
52 rm -rf `find $(distdir) -name "CVS" -type d`
636796aed4e2 Build/packaging fixes.
Ryan C. Gordon <icculus@icculus.org>
parents: 414
diff changeset
53