diff --git a/Frameworks/TagLib/Files/AUTHORS b/Frameworks/TagLib/Files/AUTHORS index 463ed20f3..8872bd80e 100644 --- a/Frameworks/TagLib/Files/AUTHORS +++ b/Frameworks/TagLib/Files/AUTHORS @@ -6,3 +6,6 @@ Allan Sandfeld Jensen FLAC metadata implementation Teemu Tervo Numerous bug reports and fixes + +Please send all patches and questions to taglib-devel@kde.org rather than to +individual developers! diff --git a/Frameworks/TagLib/Files/ChangeLog b/Frameworks/TagLib/Files/ChangeLog deleted file mode 100644 index e69de29bb..000000000 diff --git a/Frameworks/TagLib/Files/Makefile.am b/Frameworks/TagLib/Files/Makefile.am deleted file mode 100644 index 1c1f9be51..000000000 --- a/Frameworks/TagLib/Files/Makefile.am +++ /dev/null @@ -1,29 +0,0 @@ -SUBDIRS = taglib bindings tests - -EXTRA_DIST = admin AUTHORS COPYING ChangeLog INSTALL README TODO taglib.lsm - -AUTOMAKE_OPTIONS = foreign - -$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs - cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ; - -$(top_srcdir)/subdirs: - cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs - -$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in - @cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4 - -MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files - -package-messages: - $(MAKE) -f admin/Makefile.common package-messages - -dist-hook: - cd $(top_distdir) && perl admin/am_edit -padmin - cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs - -examples: examples-all - -examples-all: - cd examples ; \ - $(MAKE) all diff --git a/Frameworks/TagLib/Files/Makefile.cvs b/Frameworks/TagLib/Files/Makefile.cvs deleted file mode 100644 index ac8066e05..000000000 --- a/Frameworks/TagLib/Files/Makefile.cvs +++ /dev/null @@ -1,14 +0,0 @@ -all: - @echo "This Makefile is only for the CVS repository" - @echo "This will be deleted before making the distribution" - @echo "" - @if test ! -d admin; then \ - echo "Please recheckout this module!" ;\ - echo "for cvs: use checkout once and after that update again" ;\ - echo "for cvsup: checkout kde-common from cvsup and" ;\ - echo " link kde-common/admin to ./admin" ;\ - exit 1 ;\ - fi - $(MAKE) -f admin/Makefile.common cvs - -.SILENT: diff --git a/Frameworks/TagLib/Files/Makefile.in b/Frameworks/TagLib/Files/Makefile.in deleted file mode 100644 index 7801b37b1..000000000 --- a/Frameworks/TagLib/Files/Makefile.in +++ /dev/null @@ -1,643 +0,0 @@ -# Makefile.in generated by automake 1.7.6 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 3 $ -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONF_FILES = @CONF_FILES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDE_PLUGIN = @KDE_PLUGIN@ -KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ -KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ -KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ -KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -NOOPT_CFLAGS = @NOOPT_CFLAGS@ -NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ -NOREPO = @NOREPO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPO = @REPO@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -USE_EXCEPTIONS = @USE_EXCEPTIONS@ -USE_RTTI = @USE_RTTI@ -VERSION = @VERSION@ -WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -all_includes = @all_includes@ -all_libraries = @all_libraries@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -link_zlib_FALSE = @link_zlib_FALSE@ -link_zlib_TRUE = @link_zlib_TRUE@ -localstatedir = @localstatedir@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -SUBDIRS = taglib bindings tests - -EXTRA_DIST = admin AUTHORS COPYING ChangeLog INSTALL README TODO taglib.lsm - -AUTOMAKE_OPTIONS = foreign - -MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \ - Makefile.in TODO acinclude.m4 aclocal.m4 admin/ChangeLog \ - admin/compile admin/config.guess admin/config.sub admin/depcomp \ - admin/install-sh admin/ltmain.sh admin/missing \ - admin/mkinstalldirs admin/ylwrap config.h.in configure \ - configure.in -DIST_SUBDIRS = $(SUBDIRS) -#>- all: config.h -#>+ 1 -all: docs-am config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: - -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --foreign Makefile -#>+ 3 - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile - cd $(top_srcdir) && perl admin/am_edit Makefile.in -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) - -$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck -$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) - cd $(srcdir) && $(AUTOCONF) - -$(ACLOCAL_M4): configure.in acinclude.m4 - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) - -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) stamp-h1; \ - else :; fi - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h - -$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOHEADER) - touch $(srcdir)/config.h.in - -distclean-hdr: - -rm -f config.h stamp-h1 - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - else \ - include_option=--include; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -#>+ 4 -KDE_DIST=configure.files configure.in.in Makefile.cvs subdirs - -DISTFILES= $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) - - -top_distdir = . -distdir = $(PACKAGE)-$(VERSION) - -am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } - -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print - -distdir: $(DISTFILES) - $(am__remove_distdir) - mkdir $(distdir) - $(mkinstalldirs) $(distdir)/admin $(distdir)/taglib - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) -dist-gzip: distdir - $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist dist-all: distdir - $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - $(am__remove_distdir) - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ - && rm -f $(distdir).tar.gz \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck - $(am__remove_distdir) - @echo "$(distdir).tar.gz is ready for distribution" | \ - sed 'h;s/./=/g;p;x;p;x' -distuninstallcheck: - @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile config.h -installdirs: installdirs-recursive -installdirs-am: - -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -#>- clean: clean-recursive -#>+ 1 -clean: kde-rpo-clean clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) -distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive dist dist-all dist-gzip distcheck distclean \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-recursive distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am dvi-recursive info info-am \ - info-recursive install install-am install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \ - tags-recursive uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive - - -$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs - cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ; - -$(top_srcdir)/subdirs: - cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs - -$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in - @cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4 - -package-messages: - $(MAKE) -f admin/Makefile.common package-messages - -dist-hook: - cd $(top_distdir) && perl admin/am_edit -padmin - cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs - -examples: examples-all - -examples-all: - cd examples ; \ - $(MAKE) all -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -#>+ 2 -docs-am: - -#>+ 6 -force-reedit: - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile - cd $(top_srcdir) && perl admin/am_edit Makefile.in - - -#>+ 2 -final: - $(MAKE) all-am -#>+ 2 -final-install: - $(MAKE) install-am -#>+ 2 -no-final: - $(MAKE) all-am -#>+ 2 -no-final-install: - $(MAKE) install-am -#>+ 3 -cvs-clean: - $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo diff --git a/Frameworks/TagLib/Files/README b/Frameworks/TagLib/Files/README deleted file mode 100644 index 8b1378917..000000000 --- a/Frameworks/TagLib/Files/README +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Frameworks/TagLib/Files/TODO b/Frameworks/TagLib/Files/TODO deleted file mode 100644 index e69de29bb..000000000 diff --git a/Frameworks/TagLib/Files/bindings/c/tag_c.cpp b/Frameworks/TagLib/Files/bindings/c/tag_c.cpp index f13348167..394e88c6f 100644 --- a/Frameworks/TagLib/Files/bindings/c/tag_c.cpp +++ b/Frameworks/TagLib/Files/bindings/c/tag_c.cpp @@ -26,18 +26,18 @@ #include #include #include +#include #include #include - -namespace TagLib -{ - static List strings; - static bool unicodeStrings = true; - static bool stringManagementEnabled = true; -} +#include +#include using namespace TagLib; +static List strings; +static bool unicodeStrings = true; +static bool stringManagementEnabled = true; + void taglib_set_strings_unicode(BOOL unicode) { unicodeStrings = bool(unicode); @@ -68,6 +68,8 @@ TagLib_File *taglib_file_new_type(const char *filename, TagLib_File_Type type) return reinterpret_cast(new FLAC::File(filename)); case TagLib_File_MPC: return reinterpret_cast(new MPC::File(filename)); + case TagLib_File_OggFlac: + return reinterpret_cast(new Ogg::FLAC::File(filename)); } return 0; @@ -204,7 +206,7 @@ void taglib_tag_free_strings() return; for(List::Iterator it = strings.begin(); it != strings.end(); ++it) - delete [] *it; + free(*it); strings.clear(); } @@ -235,3 +237,26 @@ int taglib_audioproperties_channels(const TagLib_AudioProperties *audioPropertie const AudioProperties *p = reinterpret_cast(audioProperties); return p->channels(); } + +void taglib_id3v2_set_default_text_encoding(TagLib_ID3v2_Encoding encoding) +{ + String::Type type = String::Latin1; + + switch(encoding) + { + case TagLib_ID3v2_Latin1: + type = String::Latin1; + break; + case TagLib_ID3v2_UTF16: + type = String::UTF16; + break; + case TagLib_ID3v2_UTF16BE: + type = String::UTF16BE; + break; + case TagLib_ID3v2_UTF8: + type = String::UTF8; + break; + } + + ID3v2::FrameFactory::instance()->setDefaultTextEncoding(type); +} diff --git a/Frameworks/TagLib/Files/bindings/c/tag_c.h b/Frameworks/TagLib/Files/bindings/c/tag_c.h index ea042489c..2c6a17084 100644 --- a/Frameworks/TagLib/Files/bindings/c/tag_c.h +++ b/Frameworks/TagLib/Files/bindings/c/tag_c.h @@ -44,7 +44,7 @@ extern "C" { /* * These are used for type provide some type safety to the C API (as opposed to - * using void *, but pointers to them are simply cast to the coresponding C++ + * using void *, but pointers to them are simply cast to the corresponding C++ * types in the implementation. */ @@ -75,7 +75,8 @@ typedef enum { TagLib_File_MPEG, TagLib_File_OggVorbis, TagLib_File_FLAC, - TagLib_File_MPC + TagLib_File_MPC, + TagLib_File_OggFlac } TagLib_File_Type; /*! @@ -217,14 +218,14 @@ void taglib_tag_set_track(TagLib_Tag *tag, unsigned int track); /*! * Frees all of the strings that have been created by the tag. */ -void taglib_tag_free_strings(); +void taglib_tag_free_strings(void); /****************************************************************************** * Audio Properties API ******************************************************************************/ /*! - * Returns the lenght of the file in seconds. + * Returns the length of the file in seconds. */ int taglib_audioproperties_length(const TagLib_AudioProperties *audioProperties); @@ -243,6 +244,23 @@ int taglib_audioproperties_samplerate(const TagLib_AudioProperties *audioPropert */ int taglib_audioproperties_channels(const TagLib_AudioProperties *audioProperties); +/******************************************************************************* + * Special convenience ID3v2 functions + *******************************************************************************/ + +typedef enum { + TagLib_ID3v2_Latin1, + TagLib_ID3v2_UTF16, + TagLib_ID3v2_UTF16BE, + TagLib_ID3v2_UTF8 +} TagLib_ID3v2_Encoding; + +/*! + * This sets the default encoding for ID3v2 frames that are written to tags. + */ + +void taglib_id3v2_set_default_text_encoding(TagLib_ID3v2_Encoding encoding); + #ifdef __cplusplus } #endif diff --git a/Frameworks/TagLib/Files/taglib/ape/Makefile.am b/Frameworks/TagLib/Files/taglib/ape/Makefile.am deleted file mode 100644 index 6d0635a7f..000000000 --- a/Frameworks/TagLib/Files/taglib/ape/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - $(all_includes) - -noinst_LTLIBRARIES = libape.la - -libape_la_SOURCES = apetag.cpp apefooter.cpp apeitem.cpp - -taglib_include_HEADERS = apetag.h apefooter.h apeitem.h -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libape_la_SOURCES) $(taglib_include_HEADERS) diff --git a/Frameworks/TagLib/Files/taglib/ape/Makefile.in b/Frameworks/TagLib/Files/taglib/ape/Makefile.in deleted file mode 100644 index acc1357d6..000000000 --- a/Frameworks/TagLib/Files/taglib/ape/Makefile.in +++ /dev/null @@ -1,553 +0,0 @@ -# Makefile.in generated by automake 1.7.6 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 3 $ -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONF_FILES = @CONF_FILES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDE_PLUGIN = @KDE_PLUGIN@ -KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ -KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ -KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ -KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -NOOPT_CFLAGS = @NOOPT_CFLAGS@ -NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ -NOREPO = @NOREPO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPO = @REPO@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -USE_EXCEPTIONS = @USE_EXCEPTIONS@ -USE_RTTI = @USE_RTTI@ -VERSION = @VERSION@ -WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -all_includes = @all_includes@ -all_libraries = @all_libraries@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -link_zlib_FALSE = @link_zlib_FALSE@ -link_zlib_TRUE = @link_zlib_TRUE@ -localstatedir = @localstatedir@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - $(all_includes) - - -noinst_LTLIBRARIES = libape.la - -libape_la_SOURCES = apetag.cpp apefooter.cpp apeitem.cpp - -taglib_include_HEADERS = apetag.h apefooter.h apeitem.h -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libape_la_SOURCES) $(taglib_include_HEADERS) -subdir = taglib/ape -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) - -libape_la_LDFLAGS = -libape_la_LIBADD = -am_libape_la_OBJECTS = apetag.lo apefooter.lo apeitem.lo -#>- libape_la_OBJECTS = $(am_libape_la_OBJECTS) -#>+ 4 -libape_la_final_OBJECTS = libape_la.all_cpp.lo -libape_la_nofinal_OBJECTS = apetag.lo apefooter.lo apeitem.lo -@KDE_USE_FINAL_FALSE@libape_la_OBJECTS = $(libape_la_nofinal_OBJECTS) -@KDE_USE_FINAL_TRUE@libape_la_OBJECTS = $(libape_la_final_OBJECTS) - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/admin/depcomp -am__depfiles_maybe = depfiles -#>- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/apefooter.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/apeitem.Plo ./$(DEPDIR)/apetag.Plo -#>+ 5 -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@DEP_FILES = $(DEPDIR)/libape_la.all_cpp.P ./$(DEPDIR)/apefooter.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/apeitem.Plo ./$(DEPDIR)/apetag.Plo -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@DEP_FILES = ./$(DEPDIR)/apefooter.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/apeitem.Plo ./$(DEPDIR)/apetag.Plo - -#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 2 -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -#>- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ -#>- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -#>- $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 3 -LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -CXXLD = $(CXX) -#>- CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -#>- $(AM_LDFLAGS) $(LDFLAGS) -o $@ -#>+ 2 -CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(libape_la_SOURCES) -HEADERS = $(taglib_include_HEADERS) - -DIST_COMMON = $(taglib_include_HEADERS) Makefile.am Makefile.in -SOURCES = $(libape_la_SOURCES) - -#>- all: all-am -#>+ 1 -all: docs-am all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu taglib/ape/Makefile -#>+ 3 - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/ape/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/ape/Makefile.in -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" = "$$p" && dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libape.la: $(libape_la_OBJECTS) $(libape_la_DEPENDENCIES) - $(CXXLINK) $(libape_la_LDFLAGS) $(libape_la_OBJECTS) $(libape_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/apefooter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/apeitem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/apetag.Plo@am__quote@ - -distclean-depend: - -rm -rf ./$(DEPDIR) - -.cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -.cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` - -.cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -taglib_includeHEADERS_INSTALL = $(INSTALL_HEADER) -install-taglib_includeHEADERS: $(taglib_include_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f"; \ - $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -uninstall-taglib_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(taglib_includedir)/$$f"; \ - rm -f $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -#>+ 4 -KDE_DIST=ape-tag-format.txt - -DISTFILES= $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) - - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -#>- clean: clean-am -#>+ 1 -clean: kde-rpo-clean clean-am - -#>- clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ -#>- mostlyclean-am -#>+ 2 -clean-am: clean-final clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: install-taglib_includeHEADERS - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-taglib_includeHEADERS - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES ctags distclean \ - distclean-compile distclean-depend distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am info \ - info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip install-taglib_includeHEADERS \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-taglib_includeHEADERS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -#>+ 2 -docs-am: - -#>+ 6 -force-reedit: - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/ape/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/ape/Makefile.in - - -#>+ 11 -libape_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/apetag.cpp $(srcdir)/apefooter.cpp $(srcdir)/apeitem.cpp - @echo 'creating libape_la.all_cpp.cpp ...'; \ - rm -f libape_la.all_cpp.files libape_la.all_cpp.final; \ - echo "#define KDE_USE_FINAL 1" >> libape_la.all_cpp.final; \ - for file in apetag.cpp apefooter.cpp apeitem.cpp ; do \ - echo "#include \"$$file\"" >> libape_la.all_cpp.files; \ - test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> libape_la.all_cpp.final; \ - done; \ - cat libape_la.all_cpp.final libape_la.all_cpp.files > libape_la.all_cpp.cpp; \ - rm -f libape_la.all_cpp.final libape_la.all_cpp.files - -#>+ 3 -clean-final: - -rm -f libape_la.all_cpp.cpp - -#>+ 2 -final: - $(MAKE) libape_la_OBJECTS="$(libape_la_final_OBJECTS)" all-am -#>+ 2 -final-install: - $(MAKE) libape_la_OBJECTS="$(libape_la_final_OBJECTS)" install-am -#>+ 2 -no-final: - $(MAKE) libape_la_OBJECTS="$(libape_la_nofinal_OBJECTS)" all-am -#>+ 2 -no-final-install: - $(MAKE) libape_la_OBJECTS="$(libape_la_nofinal_OBJECTS)" install-am -#>+ 3 -cvs-clean: - $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo diff --git a/Frameworks/TagLib/Files/taglib/ape/apefooter.h b/Frameworks/TagLib/Files/taglib/ape/apefooter.h index b3359d13f..e6555d423 100644 --- a/Frameworks/TagLib/Files/taglib/ape/apefooter.h +++ b/Frameworks/TagLib/Files/taglib/ape/apefooter.h @@ -22,7 +22,7 @@ #ifndef TAGLIB_APEFOOTER_H #define TAGLIB_APEFOOTER_H -#include +#include "tbytevector.h" namespace TagLib { diff --git a/Frameworks/TagLib/Files/taglib/ape/apeitem.cpp b/Frameworks/TagLib/Files/taglib/ape/apeitem.cpp index a211220b4..e45761acf 100644 --- a/Frameworks/TagLib/Files/taglib/ape/apeitem.cpp +++ b/Frameworks/TagLib/Files/taglib/ape/apeitem.cpp @@ -20,6 +20,7 @@ ***************************************************************************/ #include +#include #include "apeitem.h" @@ -62,6 +63,11 @@ APE::Item::Item(const Item &item) d = new ItemPrivate(*item.d); } +APE::Item::~Item() +{ + delete d; +} + Item &APE::Item::operator=(const Item &item) { delete d; @@ -96,9 +102,37 @@ String APE::Item::key() const ByteVector APE::Item::value() const { + // This seems incorrect as it won't be actually rendering the value to keep it + // up to date. + return d->value; } +void APE::Item::setKey(const String &key) +{ + d->key = key; +} + +void APE::Item::setValue(const String &value) +{ + d->text = value; +} + +void APE::Item::setValues(const StringList &value) +{ + d->text = value; +} + +void APE::Item::appendValue(const String &value) +{ + d->text.append(value); +} + +void APE::Item::appendValues(const StringList &values) +{ + d->text.append(values); +} + int APE::Item::size() const { return 8 + d->key.size() + 1 + d->value.size(); @@ -111,7 +145,7 @@ StringList APE::Item::toStringList() const String APE::Item::toString() const { - return d->text.front(); + return isEmpty() ? String::null : d->text.front(); } bool APE::Item::isEmpty() const @@ -121,7 +155,7 @@ bool APE::Item::isEmpty() const case 1: if(d->text.isEmpty()) return true; - if(d->text.size() == 1 && d->text.front() == "") + if(d->text.size() == 1 && d->text.front().isEmpty()) return true; return false; case 2: diff --git a/Frameworks/TagLib/Files/taglib/ape/apeitem.h b/Frameworks/TagLib/Files/taglib/ape/apeitem.h index f0a1d16ab..b0b695d5c 100644 --- a/Frameworks/TagLib/Files/taglib/ape/apeitem.h +++ b/Frameworks/TagLib/Files/taglib/ape/apeitem.h @@ -22,9 +22,9 @@ #ifndef TAGLIB_APEITEM_H #define TAGLIB_APEITEM_H -#include -#include -#include +#include "tbytevector.h" +#include "tstring.h" +#include "tstringlist.h" namespace TagLib { @@ -69,6 +69,11 @@ namespace TagLib { */ Item(const Item &item); + /*! + * Destroys the item. + */ + virtual ~Item(); + /*! * Copies the contents of \a item into this item. */ @@ -81,9 +86,47 @@ namespace TagLib { /*! * Returns the binary value. + * + * \deprecated This will be removed in the next binary incompatible version + * as it is not kept in sync with the things that are set using setValue() + * and friends. */ ByteVector value() const; + /*! + * Sets the key for the item to \a key. + */ + void setKey(const String &key); + + /*! + * Sets the value of the item to \a value and clears any previous contents. + * + * \see toString() + */ + void setValue(const String &value); + + /*! + * Sets the value of the item to the list of values in \a value and clears + * any previous contents. + * + * \see toStringList() + */ + void setValues(const StringList &values); + + /*! + * Appends \a value to create (or extend) the current list of values. + * + * \see toString() + */ + void appendValue(const String &value); + + /*! + * Appends \a values to extend the current list of values. + * + * \see toStringList() + */ + void appendValues(const StringList &values); + /*! * Returns the size of the full item. */ diff --git a/Frameworks/TagLib/Files/taglib/ape/apetag.cpp b/Frameworks/TagLib/Files/taglib/ape/apetag.cpp index 3fecad8ba..58ca1389e 100644 --- a/Frameworks/TagLib/Files/taglib/ape/apetag.cpp +++ b/Frameworks/TagLib/Files/taglib/ape/apetag.cpp @@ -186,7 +186,7 @@ void APE::Tag::addValue(const String &key, const String &value, bool replace) removeItem(key); if(!value.isEmpty()) { if(d->itemListMap.contains(key) || !replace) - d->itemListMap[key.upper()].toStringList().append(value); + d->itemListMap[key.upper()].appendValue(value); else setItem(key, Item(key, value)); } diff --git a/Frameworks/TagLib/Files/taglib/ape/apetag.h b/Frameworks/TagLib/Files/taglib/ape/apetag.h index b06f1e254..20282bf52 100644 --- a/Frameworks/TagLib/Files/taglib/ape/apetag.h +++ b/Frameworks/TagLib/Files/taglib/ape/apetag.h @@ -22,10 +22,10 @@ #ifndef TAGLIB_APETAG_H #define TAGLIB_APETAG_H -#include -#include -#include -#include +#include "tag.h" +#include "tbytevector.h" +#include "tmap.h" +#include "tstring.h" #include "apeitem.h" diff --git a/Frameworks/TagLib/Files/taglib/audioproperties.h b/Frameworks/TagLib/Files/taglib/audioproperties.h index 4584b8693..23c696179 100644 --- a/Frameworks/TagLib/Files/taglib/audioproperties.h +++ b/Frameworks/TagLib/Files/taglib/audioproperties.h @@ -59,7 +59,7 @@ namespace TagLib { virtual ~AudioProperties(); /*! - * Returns the lenght of the file in seconds. + * Returns the length of the file in seconds. */ virtual int length() const = 0; diff --git a/Frameworks/TagLib/Files/taglib/configure.in.bot b/Frameworks/TagLib/Files/taglib/configure.in.bot deleted file mode 100644 index b3e513c0d..000000000 --- a/Frameworks/TagLib/Files/taglib/configure.in.bot +++ /dev/null @@ -1,8 +0,0 @@ -if test "x$have_zlib" = "xfalse"; then - echo "**************************************************" - echo "*" - echo "* You don't seem to have libz / zlib.h installed." - echo "* Compressed frames have been disabled." - echo "*" - echo "**************************************************" -fi diff --git a/Frameworks/TagLib/Files/taglib/configure.in.in b/Frameworks/TagLib/Files/taglib/configure.in.in deleted file mode 100644 index 9d678d6df..000000000 --- a/Frameworks/TagLib/Files/taglib/configure.in.in +++ /dev/null @@ -1,18 +0,0 @@ -#AM_INIT_AUTOMAKE(taglib,1.0) -dnl don't remove the below -dnl AC_OUTPUT(taglib/taglib-config) - -AC_DEFUN([AC_HAVE_ZLIB], -[ - AC_DEFINE(HAVE_ZLIB, 1, [have zlib]) - have_zlib=true -]) - -AC_DEFUN([AC_NO_ZLIB], -[ - AC_DEFINE(HAVE_ZLIB, 0, [have zlib]) - have_zlib=false -]) - -AC_CHECK_HEADER(zlib.h, AC_HAVE_ZLIB, AC_NO_ZLIB) -AM_CONDITIONAL(link_zlib, test x$have_zlib = xtrue) diff --git a/Frameworks/TagLib/Files/taglib/fileref.cpp b/Frameworks/TagLib/Files/taglib/fileref.cpp index 2da2e71ff..2aaaa2408 100644 --- a/Frameworks/TagLib/Files/taglib/fileref.cpp +++ b/Frameworks/TagLib/Files/taglib/fileref.cpp @@ -39,8 +39,11 @@ public: } File *file; + static List fileTypeResolvers; }; +List FileRef::FileRefPrivate::fileTypeResolvers; + //////////////////////////////////////////////////////////////////////////////// // public members //////////////////////////////////////////////////////////////////////////////// @@ -92,6 +95,24 @@ bool FileRef::save() return d->file->save(); } +const FileRef::FileTypeResolver *FileRef::addFileTypeResolver(const FileRef::FileTypeResolver *resolver) // static +{ + FileRefPrivate::fileTypeResolvers.prepend(resolver); + return resolver; +} + +StringList FileRef::defaultFileExtensions() +{ + StringList l; + + l.append("ogg"); + l.append("flac"); + l.append("mp3"); + l.append("mpc"); + + return l; +} + bool FileRef::isNull() const { return !d->file || !d->file->isValid(); @@ -124,10 +145,23 @@ bool FileRef::operator!=(const FileRef &ref) const File *FileRef::create(const char *fileName, bool readAudioProperties, AudioProperties::ReadStyle audioPropertiesStyle) // static { + + List::ConstIterator it = FileRefPrivate::fileTypeResolvers.begin(); + + for(; it != FileRefPrivate::fileTypeResolvers.end(); ++it) { + File *file = (*it)->createFile(fileName, readAudioProperties, audioPropertiesStyle); + if(file) + return file; + } + // Ok, this is really dumb for now, but it works for testing. String s = fileName; + // If this list is updated, the method defaultFileExtensions() should also be + // updated. However at some point that list should be created at the same time + // that a default file type resolver is created. + if(s.size() > 4) { if(s.substr(s.size() - 4, 4).upper() == ".OGG") return new Vorbis::File(fileName, readAudioProperties, audioPropertiesStyle); @@ -137,7 +171,7 @@ File *FileRef::create(const char *fileName, bool readAudioProperties, return new FLAC::File(fileName, readAudioProperties, audioPropertiesStyle); if(s.substr(s.size() - 4, 4).upper() == ".MPC") return new MPC::File(fileName, readAudioProperties, audioPropertiesStyle); - } + } return 0; } diff --git a/Frameworks/TagLib/Files/taglib/fileref.h b/Frameworks/TagLib/Files/taglib/fileref.h index ffa7864fc..74f3ac7cf 100644 --- a/Frameworks/TagLib/Files/taglib/fileref.h +++ b/Frameworks/TagLib/Files/taglib/fileref.h @@ -22,6 +22,8 @@ #ifndef TAGLIB_FILEREF_H #define TAGLIB_FILEREF_H +#include + #include "audioproperties.h" namespace TagLib { @@ -43,32 +45,67 @@ namespace TagLib { * across file types. * * Also note that it is probably a good idea to plug this into your mime - * type system rather than using the constructor that accepts a file name. + * type system rather than using the constructor that accepts a file name using + * the FileTypeResolver. * - * For example in KDE this could be done with: - * - * \code - * - * TagLib::FileRef createFileRef( const QString &fileName ) - * { - * KMimeType::Ptr result = KMimeType::findByPath( fileName, 0, true ); - * - * if( result->name() == "audio/x-mp3" ) - * return FileRef( new MPEG::File( QFile::encodeName( fileName ).data() ) ); - * - * if( result->name() == "application/ogg" ) - * return FileRef( new Vorbis::File( QFile::encodeName( fileName ).data() ) ); - * - * return FileRef( 0 ); - * } - * - * \endcode + * \see FileTypeResolver + * \see addFileTypeResolver() */ class FileRef { public: + + //! A class for pluggable file type resolution. + /*! + * This class is used to add extend TagLib's very basic file name based file + * type resolution. + * + * This can be accomplished with: + * + * \code + * + * class MyFileTypeResolver : FileTypeResolver + * { + * TagLib::File *createFile(const char *fileName, bool, AudioProperties::ReadStyle) + * { + * if(someCheckForAnMP3File(fileName)) + * return new TagLib::MPEG::File(fileName); + * return 0; + * } + * } + * + * FileRef::addFileTypeResolver(new MyFileTypeResolver); + * + * \endcode + * + * Naturally a less contrived example would be slightly more complex. This + * can be used to plug in mime-type detection systems or to add new file types + * to TagLib. + */ + + class FileTypeResolver + { + public: + /*! + * This method must be overridden to provide an additional file type + * resolver. If the resolver is able to determine the file type it should + * return a valid File object; if not it should return 0. + * + * \note The created file is then owned by the FileRef and should not be + * deleted. Deletion will happen automatically when the FileRef passes + * out of scope. + */ + virtual File *createFile(const char *fileName, + bool readAudioProperties = true, + AudioProperties::ReadStyle + audioPropertiesStyle = AudioProperties::Average) const = 0; + }; + + /*! + * Creates a null FileRef. + */ FileRef(); /*! @@ -139,6 +176,38 @@ namespace TagLib { */ bool save(); + /*! + * Adds a FileTypeResolver to the list of those used by TagLib. Each + * additional FileTypeResolver is added to the front of a list of resolvers + * that are tried. If the FileTypeResolver returns zero the next resolver + * is tried. + * + * Returns a pointer to the added resolver (the same one that's passed in -- + * this is mostly so that static inialializers have something to use for + * assignment). + * + * \see FileTypeResolver + */ + static const FileTypeResolver *addFileTypeResolver(const FileTypeResolver *resolver); + + /*! + * As is mentioned elsewhere in this class's documentation, the default file + * type resolution code provided by TagLib only works by comparing file + * extensions. + * + * This method returns the list of file extensions that are used by default. + * + * The extensions are all returned in lowercase, though the comparison used + * by TagLib for resolution is case-insensitive. + * + * \note This does not account for any additional file type resolvers that + * are plugged in. Also note that this is not intended to replace a propper + * mime-type resolution system, but is just here for reference. + * + * \see FileTypeResolver + */ + static StringList defaultFileExtensions(); + /*! * Returns true if the file (and as such other pointers) are null. */ @@ -168,11 +237,14 @@ namespace TagLib { * * \note You generally shouldn't use this method, but instead the constructor * directly. + * + * \deprecated */ static File *create(const char *fileName, bool readAudioProperties = true, AudioProperties::ReadStyle audioPropertiesStyle = AudioProperties::Average); + private: class FileRefPrivate; FileRefPrivate *d; diff --git a/Frameworks/TagLib/Files/taglib/flac/Makefile.am b/Frameworks/TagLib/Files/taglib/flac/Makefile.am deleted file mode 100644 index 40caf2ea9..000000000 --- a/Frameworks/TagLib/Files/taglib/flac/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/ogg \ - -I$(top_srcdir)/taglib/mpeg/id3v2 \ - -I$(top_srcdir)/taglib/mpeg/id3v1 \ - $(all_includes) - -noinst_LTLIBRARIES = libflac.la - -libflac_la_SOURCES = flacfile.cpp flacproperties.cpp - -taglib_include_HEADERS = flacfile.h flacproperties.h -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libflac_la_SOURCES) $(taglib_include_HEADERS) diff --git a/Frameworks/TagLib/Files/taglib/flac/Makefile.in b/Frameworks/TagLib/Files/taglib/flac/Makefile.in deleted file mode 100644 index 6a56a311f..000000000 --- a/Frameworks/TagLib/Files/taglib/flac/Makefile.in +++ /dev/null @@ -1,555 +0,0 @@ -# Makefile.in generated by automake 1.7.6 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 3 $ -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONF_FILES = @CONF_FILES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDE_PLUGIN = @KDE_PLUGIN@ -KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ -KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ -KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ -KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -NOOPT_CFLAGS = @NOOPT_CFLAGS@ -NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ -NOREPO = @NOREPO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPO = @REPO@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -USE_EXCEPTIONS = @USE_EXCEPTIONS@ -USE_RTTI = @USE_RTTI@ -VERSION = @VERSION@ -WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -all_includes = @all_includes@ -all_libraries = @all_libraries@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -link_zlib_FALSE = @link_zlib_FALSE@ -link_zlib_TRUE = @link_zlib_TRUE@ -localstatedir = @localstatedir@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/ogg \ - -I$(top_srcdir)/taglib/mpeg/id3v2 \ - -I$(top_srcdir)/taglib/mpeg/id3v1 \ - $(all_includes) - - -noinst_LTLIBRARIES = libflac.la - -libflac_la_SOURCES = flacfile.cpp flacproperties.cpp - -taglib_include_HEADERS = flacfile.h flacproperties.h -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libflac_la_SOURCES) $(taglib_include_HEADERS) -subdir = taglib/flac -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) - -libflac_la_LDFLAGS = -libflac_la_LIBADD = -am_libflac_la_OBJECTS = flacfile.lo flacproperties.lo -#>- libflac_la_OBJECTS = $(am_libflac_la_OBJECTS) -#>+ 4 -libflac_la_final_OBJECTS = libflac_la.all_cpp.lo -libflac_la_nofinal_OBJECTS = flacfile.lo flacproperties.lo -@KDE_USE_FINAL_FALSE@libflac_la_OBJECTS = $(libflac_la_nofinal_OBJECTS) -@KDE_USE_FINAL_TRUE@libflac_la_OBJECTS = $(libflac_la_final_OBJECTS) - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/admin/depcomp -am__depfiles_maybe = depfiles -#>- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/flacfile.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/flacproperties.Plo -#>+ 5 -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@DEP_FILES = $(DEPDIR)/libflac_la.all_cpp.P ./$(DEPDIR)/flacfile.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/flacproperties.Plo -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@DEP_FILES = ./$(DEPDIR)/flacfile.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/flacproperties.Plo - -#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 2 -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -#>- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ -#>- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -#>- $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 3 -LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -CXXLD = $(CXX) -#>- CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -#>- $(AM_LDFLAGS) $(LDFLAGS) -o $@ -#>+ 2 -CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(libflac_la_SOURCES) -HEADERS = $(taglib_include_HEADERS) - -DIST_COMMON = $(taglib_include_HEADERS) Makefile.am Makefile.in -SOURCES = $(libflac_la_SOURCES) - -#>- all: all-am -#>+ 1 -all: docs-am all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu taglib/flac/Makefile -#>+ 3 - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/flac/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/flac/Makefile.in -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" = "$$p" && dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libflac.la: $(libflac_la_OBJECTS) $(libflac_la_DEPENDENCIES) - $(CXXLINK) $(libflac_la_LDFLAGS) $(libflac_la_OBJECTS) $(libflac_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flacfile.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flacproperties.Plo@am__quote@ - -distclean-depend: - -rm -rf ./$(DEPDIR) - -.cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -.cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` - -.cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -taglib_includeHEADERS_INSTALL = $(INSTALL_HEADER) -install-taglib_includeHEADERS: $(taglib_include_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f"; \ - $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -uninstall-taglib_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(taglib_includedir)/$$f"; \ - rm -f $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -#>+ 4 -KDE_DIST=flactag.h - -DISTFILES= $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) - - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -#>- clean: clean-am -#>+ 1 -clean: kde-rpo-clean clean-am - -#>- clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ -#>- mostlyclean-am -#>+ 2 -clean-am: clean-final clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: install-taglib_includeHEADERS - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-taglib_includeHEADERS - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES ctags distclean \ - distclean-compile distclean-depend distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am info \ - info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip install-taglib_includeHEADERS \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-taglib_includeHEADERS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -#>+ 2 -docs-am: - -#>+ 6 -force-reedit: - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/flac/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/flac/Makefile.in - - -#>+ 11 -libflac_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/flacfile.cpp $(srcdir)/flacproperties.cpp - @echo 'creating libflac_la.all_cpp.cpp ...'; \ - rm -f libflac_la.all_cpp.files libflac_la.all_cpp.final; \ - echo "#define KDE_USE_FINAL 1" >> libflac_la.all_cpp.final; \ - for file in flacfile.cpp flacproperties.cpp ; do \ - echo "#include \"$$file\"" >> libflac_la.all_cpp.files; \ - test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> libflac_la.all_cpp.final; \ - done; \ - cat libflac_la.all_cpp.final libflac_la.all_cpp.files > libflac_la.all_cpp.cpp; \ - rm -f libflac_la.all_cpp.final libflac_la.all_cpp.files - -#>+ 3 -clean-final: - -rm -f libflac_la.all_cpp.cpp - -#>+ 2 -final: - $(MAKE) libflac_la_OBJECTS="$(libflac_la_final_OBJECTS)" all-am -#>+ 2 -final-install: - $(MAKE) libflac_la_OBJECTS="$(libflac_la_final_OBJECTS)" install-am -#>+ 2 -no-final: - $(MAKE) libflac_la_OBJECTS="$(libflac_la_nofinal_OBJECTS)" all-am -#>+ 2 -no-final-install: - $(MAKE) libflac_la_OBJECTS="$(libflac_la_nofinal_OBJECTS)" install-am -#>+ 3 -cvs-clean: - $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo diff --git a/Frameworks/TagLib/Files/taglib/flac/flacfile.cpp b/Frameworks/TagLib/Files/taglib/flac/flacfile.cpp index a60e02e20..dcaf58ef5 100644 --- a/Frameworks/TagLib/Files/taglib/flac/flacfile.cpp +++ b/Frameworks/TagLib/Files/taglib/flac/flacfile.cpp @@ -34,9 +34,10 @@ using namespace TagLib; namespace TagLib { -namespace FLAC { - enum BLOCK_TYPE { STREAMINFO = 0, PADDING, APPLICATION, SEEKTABLE, VORBISCOMMENT, CUESHEET }; -}} + namespace FLAC { + enum BlockType { StreamInfo = 0, Padding, Application, SeekTable, VorbisComment, CueSheet }; + } +} class FLAC::File::FilePrivate { @@ -49,6 +50,7 @@ public: ID3v1Tag(0), ID3v1Location(-1), comment(0), + tag(0), properties(0), flacStart(0), streamStart(0), @@ -79,9 +81,9 @@ public: FLAC::Tag *tag; Properties *properties; -// Map metaData; ByteVector streamInfoData; ByteVector xiphCommentData; + long flacStart; long streamStart; long streamLength; @@ -146,90 +148,84 @@ bool FLAC::File::save() d->xiphCommentData = d->comment->render(false); - ByteVector v = ByteVector::fromUInt(d->xiphCommentData.size()); + // A Xiph comment portion of the data stream starts with a 4-byte descriptor. + // The first byte indicates the frame type. The last three bytes are used + // to give the length of the data segment. Here we start - // Set the type of the comment to be a Xiph / Vorbis comment - // (See scan() for comments on header-format) - v[0] = 4; - v.append(d->xiphCommentData); + ByteVector data = ByteVector::fromUInt(d->xiphCommentData.size()); + + data[0] = char(VorbisComment); + data.append(d->xiphCommentData); // If file already have comment => find and update it - // if not => insert one + // if not => insert one + // TODO: Search for padding and use that if(d->hasXiphComment) { - long nextPageOffset = d->flacStart; - seek(nextPageOffset); - ByteVector header = readBlock(4); - uint length = header.mid(1, 3).toUInt(); - nextPageOffset += length + 4; + long nextBlockOffset = d->flacStart; + bool isLastBlock = false; - // Search through the remaining metadata + while(!isLastBlock) { + seek(nextBlockOffset); - char blockType = header[0] & 0x7f; - bool lastBlock = header[0] & 0x80; + ByteVector header = readBlock(4); + char blockType = header[0] & 0x7f; + isLastBlock = (header[0] & 0x80) != 0; + uint blockLength = header.mid(1, 3).toUInt(); - while(!lastBlock) { - seek(nextPageOffset); - - header = readBlock(4); - blockType = header[0] & 0x7f; - lastBlock = header[0] & 0x80; - length = header.mid(1, 3).toUInt(); - - // Type is vorbiscomment - if(blockType == 4) { - v[0] = header[0]; - insert(v, nextPageOffset, length + 4); + if(blockType == VorbisComment) { + data[0] = header[0]; + insert(data, nextBlockOffset, blockLength + 4); break; } - nextPageOffset += length + 4; + nextBlockOffset += blockLength + 4; } } else { - long nextPageOffset = d->flacStart; - seek(nextPageOffset); + const long firstBlockOffset = d->flacStart; + seek(firstBlockOffset); ByteVector header = readBlock(4); - // char blockType = header[0] & 0x7f; - bool lastBlock = header[0] & 0x80; - uint length = header.mid(1, 3).toUInt(); + bool isLastBlock = (header[0] & 0x80) != 0; + uint blockLength = header.mid(1, 3).toUInt(); - // If last block was last, make this one last + if(isLastBlock) { - if(lastBlock) { + // If the first block was previously also the last block, then we want to + // mark it as no longer being the first block (the writeBlock() call) and + // then set the data for the block that we're about to write to mark our + // new block as the last block. - // Copy the bottom seven bits into the new value - - ByteVector h(static_cast(header[0] & 0x7F)); - insert(h, nextPageOffset, 1); - - // Set the last bit - v[0] |= 0x80; + seek(firstBlockOffset); + writeBlock(static_cast(header[0] & 0x7F)); + data[0] |= 0x80; } - insert(v, nextPageOffset + length + 4, 0); + insert(data, firstBlockOffset + blockLength + 4, 0); d->hasXiphComment = true; } // Update ID3 tags if(d->ID3v2Tag) { - if(d->hasID3v2) - insert(d->ID3v2Tag->render(), d->ID3v2Location, d->ID3v2OriginalSize); + if(d->hasID3v2) { + if(d->ID3v2Location < d->flacStart) + debug("FLAC::File::save() -- This can't be right -- an ID3v2 tag after the " + "start of the FLAC bytestream? Not writing the ID3v2 tag."); + else + insert(d->ID3v2Tag->render(), d->ID3v2Location, d->ID3v2OriginalSize); + } else insert(d->ID3v2Tag->render(), 0, 0); } if(d->ID3v1Tag) { - if(d->hasID3v1) - seek(-128, End); - else - seek(0, End); + seek(d->ID3v1Tag ? -128 : 0, End); writeBlock(d->ID3v1Tag->render()); } @@ -330,7 +326,6 @@ ByteVector FLAC::File::streamInfoData() { if (isValid()) return d->streamInfoData; -// return d->metaData[STREAMINFO]; else return ByteVector(); } @@ -339,7 +334,6 @@ ByteVector FLAC::File::xiphCommentData() { if (isValid() && d->hasXiphComment) return d->xiphCommentData; -// return d->metaData[VORBISCOMMENT]; else return ByteVector(); } @@ -359,24 +353,23 @@ void FLAC::File::scan() if(!isValid()) return; - long nextPageOffset; - long fileSize = length(); + long nextBlockOffset; - if (d->hasID3v2) - nextPageOffset = find("fLaC", d->ID3v2Location+d->ID3v2OriginalSize); + if(d->hasID3v2) + nextBlockOffset = find("fLaC", d->ID3v2Location + d->ID3v2OriginalSize); else - nextPageOffset = find("fLaC"); + nextBlockOffset = find("fLaC"); - if(nextPageOffset < 0) { + if(nextBlockOffset < 0) { debug("FLAC::File::scan() -- FLAC stream not found"); setValid(false); return; } - nextPageOffset += 4; - d->flacStart = nextPageOffset; + nextBlockOffset += 4; + d->flacStart = nextBlockOffset; - seek(nextPageOffset); + seek(nextBlockOffset); ByteVector header = readBlock(4); @@ -391,48 +384,49 @@ void FLAC::File::scan() // <24> Length of metadata to follow char blockType = header[0] & 0x7f; - bool lastBlock = header[0] & 0x80; + bool isLastBlock = (header[0] & 0x80) != 0; uint length = header.mid(1, 3).toUInt(); // First block should be the stream_info metadata - if(blockType != 0) { + + if(blockType != StreamInfo) { debug("FLAC::File::scan() -- invalid FLAC stream"); setValid(false); return; } + d->streamInfoData = readBlock(length); -// d->metadata.insert(STREAMINFO, readBlock(length)); - nextPageOffset += length + 4; + nextBlockOffset += length + 4; // Search through the remaining metadata - while(!lastBlock) { + while(!isLastBlock) { header = readBlock(4); blockType = header[0] & 0x7f; - lastBlock = header[0] & 0x80; + isLastBlock = (header[0] & 0x80) != 0; length = header.mid(1, 3).toUInt(); - if(blockType == 1) { + if(blockType == Padding) { // debug("FLAC::File::scan() -- Padding found"); } // Found the vorbis-comment - else if(blockType == 4) { + else if(blockType == VorbisComment) { d->xiphCommentData = readBlock(length); -// d->metadata.insert(VORBISCOMMENT, readBlock(length)); d->hasXiphComment = true; } - nextPageOffset += length + 4; - if (nextPageOffset >= fileSize) { + nextBlockOffset += length + 4; + + if(nextBlockOffset >= File::length()) { debug("FLAC::File::scan() -- FLAC stream corrupted"); setValid(false); return; } - seek(nextPageOffset); + seek(nextBlockOffset); } // End of metadata, now comes the datastream - d->streamStart = nextPageOffset; + d->streamStart = nextBlockOffset; d->streamLength = File::length() - d->streamStart; if (d->hasID3v1) d->streamLength -= 128; diff --git a/Frameworks/TagLib/Files/taglib/flac/flacfile.h b/Frameworks/TagLib/Files/taglib/flac/flacfile.h index 9fef90398..67f20ee7b 100644 --- a/Frameworks/TagLib/Files/taglib/flac/flacfile.h +++ b/Frameworks/TagLib/Files/taglib/flac/flacfile.h @@ -22,7 +22,7 @@ #ifndef TAGLIB_FLACFILE_H #define TAGLIB_FLACFILE_H -#include +#include "tfile.h" #include "flacproperties.h" diff --git a/Frameworks/TagLib/Files/taglib/flac/flacproperties.h b/Frameworks/TagLib/Files/taglib/flac/flacproperties.h index c1d1a4fae..d3ae073b6 100644 --- a/Frameworks/TagLib/Files/taglib/flac/flacproperties.h +++ b/Frameworks/TagLib/Files/taglib/flac/flacproperties.h @@ -22,7 +22,7 @@ #ifndef TAGLIB_FLACPROPERTIES_H #define TAGLIB_FLACPROPERTIES_H -#include +#include "audioproperties.h" namespace TagLib { diff --git a/Frameworks/TagLib/Files/taglib/mpc/Makefile.am b/Frameworks/TagLib/Files/taglib/mpc/Makefile.am deleted file mode 100644 index 4d12cb660..000000000 --- a/Frameworks/TagLib/Files/taglib/mpc/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/ape \ - -I$(top_srcdir)/taglib/mpeg/id3v1 \ - -I$(top_srcdir)/taglib/mpeg/id3v2 \ - $(all_includes) - -noinst_LTLIBRARIES = libmpc.la - -libmpc_la_SOURCES = mpcfile.cpp mpcproperties.cpp - -taglib_include_HEADERS = mpcfile.h mpcproperties.h -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libmpc_la_SOURCES) $(taglib_include_HEADERS) diff --git a/Frameworks/TagLib/Files/taglib/mpc/Makefile.in b/Frameworks/TagLib/Files/taglib/mpc/Makefile.in deleted file mode 100644 index c62a8e7ba..000000000 --- a/Frameworks/TagLib/Files/taglib/mpc/Makefile.in +++ /dev/null @@ -1,555 +0,0 @@ -# Makefile.in generated by automake 1.7.6 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 3 $ -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONF_FILES = @CONF_FILES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDE_PLUGIN = @KDE_PLUGIN@ -KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ -KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ -KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ -KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -NOOPT_CFLAGS = @NOOPT_CFLAGS@ -NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ -NOREPO = @NOREPO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPO = @REPO@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -USE_EXCEPTIONS = @USE_EXCEPTIONS@ -USE_RTTI = @USE_RTTI@ -VERSION = @VERSION@ -WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -all_includes = @all_includes@ -all_libraries = @all_libraries@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -link_zlib_FALSE = @link_zlib_FALSE@ -link_zlib_TRUE = @link_zlib_TRUE@ -localstatedir = @localstatedir@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/ape \ - -I$(top_srcdir)/taglib/mpeg/id3v1 \ - -I$(top_srcdir)/taglib/mpeg/id3v2 \ - $(all_includes) - - -noinst_LTLIBRARIES = libmpc.la - -libmpc_la_SOURCES = mpcfile.cpp mpcproperties.cpp - -taglib_include_HEADERS = mpcfile.h mpcproperties.h -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libmpc_la_SOURCES) $(taglib_include_HEADERS) -subdir = taglib/mpc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) - -libmpc_la_LDFLAGS = -libmpc_la_LIBADD = -am_libmpc_la_OBJECTS = mpcfile.lo mpcproperties.lo -#>- libmpc_la_OBJECTS = $(am_libmpc_la_OBJECTS) -#>+ 4 -libmpc_la_final_OBJECTS = libmpc_la.all_cpp.lo -libmpc_la_nofinal_OBJECTS = mpcfile.lo mpcproperties.lo -@KDE_USE_FINAL_FALSE@libmpc_la_OBJECTS = $(libmpc_la_nofinal_OBJECTS) -@KDE_USE_FINAL_TRUE@libmpc_la_OBJECTS = $(libmpc_la_final_OBJECTS) - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/admin/depcomp -am__depfiles_maybe = depfiles -#>- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/mpcfile.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/mpcproperties.Plo -#>+ 5 -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@DEP_FILES = $(DEPDIR)/libmpc_la.all_cpp.P ./$(DEPDIR)/mpcfile.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/mpcproperties.Plo -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@DEP_FILES = ./$(DEPDIR)/mpcfile.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/mpcproperties.Plo - -#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 2 -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -#>- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ -#>- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -#>- $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 3 -LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -CXXLD = $(CXX) -#>- CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -#>- $(AM_LDFLAGS) $(LDFLAGS) -o $@ -#>+ 2 -CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(libmpc_la_SOURCES) -HEADERS = $(taglib_include_HEADERS) - -DIST_COMMON = $(taglib_include_HEADERS) Makefile.am Makefile.in -SOURCES = $(libmpc_la_SOURCES) - -#>- all: all-am -#>+ 1 -all: docs-am all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu taglib/mpc/Makefile -#>+ 3 - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/mpc/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/mpc/Makefile.in -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" = "$$p" && dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libmpc.la: $(libmpc_la_OBJECTS) $(libmpc_la_DEPENDENCIES) - $(CXXLINK) $(libmpc_la_LDFLAGS) $(libmpc_la_OBJECTS) $(libmpc_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpcfile.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpcproperties.Plo@am__quote@ - -distclean-depend: - -rm -rf ./$(DEPDIR) - -.cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -.cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` - -.cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -taglib_includeHEADERS_INSTALL = $(INSTALL_HEADER) -install-taglib_includeHEADERS: $(taglib_include_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f"; \ - $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -uninstall-taglib_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(taglib_includedir)/$$f"; \ - rm -f $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -#>+ 4 -KDE_DIST=combinedtag.h - -DISTFILES= $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) - - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -#>- clean: clean-am -#>+ 1 -clean: kde-rpo-clean clean-am - -#>- clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ -#>- mostlyclean-am -#>+ 2 -clean-am: clean-final clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: install-taglib_includeHEADERS - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-taglib_includeHEADERS - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES ctags distclean \ - distclean-compile distclean-depend distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am info \ - info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip install-taglib_includeHEADERS \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-taglib_includeHEADERS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -#>+ 2 -docs-am: - -#>+ 6 -force-reedit: - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/mpc/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/mpc/Makefile.in - - -#>+ 11 -libmpc_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/mpcfile.cpp $(srcdir)/mpcproperties.cpp - @echo 'creating libmpc_la.all_cpp.cpp ...'; \ - rm -f libmpc_la.all_cpp.files libmpc_la.all_cpp.final; \ - echo "#define KDE_USE_FINAL 1" >> libmpc_la.all_cpp.final; \ - for file in mpcfile.cpp mpcproperties.cpp ; do \ - echo "#include \"$$file\"" >> libmpc_la.all_cpp.files; \ - test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> libmpc_la.all_cpp.final; \ - done; \ - cat libmpc_la.all_cpp.final libmpc_la.all_cpp.files > libmpc_la.all_cpp.cpp; \ - rm -f libmpc_la.all_cpp.final libmpc_la.all_cpp.files - -#>+ 3 -clean-final: - -rm -f libmpc_la.all_cpp.cpp - -#>+ 2 -final: - $(MAKE) libmpc_la_OBJECTS="$(libmpc_la_final_OBJECTS)" all-am -#>+ 2 -final-install: - $(MAKE) libmpc_la_OBJECTS="$(libmpc_la_final_OBJECTS)" install-am -#>+ 2 -no-final: - $(MAKE) libmpc_la_OBJECTS="$(libmpc_la_nofinal_OBJECTS)" all-am -#>+ 2 -no-final-install: - $(MAKE) libmpc_la_OBJECTS="$(libmpc_la_nofinal_OBJECTS)" install-am -#>+ 3 -cvs-clean: - $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo diff --git a/Frameworks/TagLib/Files/taglib/mpc/mpcfile.cpp b/Frameworks/TagLib/Files/taglib/mpc/mpcfile.cpp index ae77e37b2..a72e55a73 100644 --- a/Frameworks/TagLib/Files/taglib/mpc/mpcfile.cpp +++ b/Frameworks/TagLib/Files/taglib/mpc/mpcfile.cpp @@ -53,7 +53,10 @@ public: ~FilePrivate() { + if (tag != ID3v1Tag && tag != APETag) delete tag; delete ID3v1Tag; + delete APETag; + delete ID3v2Header; delete properties; } @@ -227,7 +230,7 @@ void MPC::File::remove(int tags) if(d->APETag) d->tag = d->APETag; else - d->tag = d->APETag = new APE::Tag(); + d->tag = d->APETag = new APE::Tag; } if(tags & ID3v2) { @@ -242,7 +245,7 @@ void MPC::File::remove(int tags) if(d->ID3v1Tag) d->tag = d->ID3v1Tag; else - d->tag = d->APETag = new APE::Tag(); + d->tag = d->APETag = new APE::Tag; } } @@ -284,7 +287,7 @@ void MPC::File::read(bool readProperties, Properties::ReadStyle /* propertiesSty if(d->hasAPE) d->tag = d->APETag; else - d->tag = d->APETag = new APE::Tag(); + d->tag = d->APETag = new APE::Tag; } } diff --git a/Frameworks/TagLib/Files/taglib/mpc/mpcproperties.cpp b/Frameworks/TagLib/Files/taglib/mpc/mpcproperties.cpp index fb61b244d..2d3f863c5 100644 --- a/Frameworks/TagLib/Files/taglib/mpc/mpcproperties.cpp +++ b/Frameworks/TagLib/Files/taglib/mpc/mpcproperties.cpp @@ -106,7 +106,7 @@ static const unsigned short sftable [4] = { 44100, 48000, 37800, 32000 }; void MPC::Properties::read() { - if(d->data.mid(0, 3) != "MP+") + if(!d->data.startsWith("MP+")) return; d->version = d->data[3] & 15; @@ -116,7 +116,7 @@ void MPC::Properties::read() if(d->version >= 7) { frames = d->data.mid(4, 4).toUInt(false); - std::bitset<32> flags = d->data.mid(8, 4).toUInt(true); + std::bitset<32> flags = d->data.mid(8, 4).toUInt(false); d->sampleRate = sftable[flags[17] * 2 + flags[16]]; d->channels = 2; } diff --git a/Frameworks/TagLib/Files/taglib/mpeg/Makefile.am b/Frameworks/TagLib/Files/taglib/mpeg/Makefile.am deleted file mode 100644 index acc3614ea..000000000 --- a/Frameworks/TagLib/Files/taglib/mpeg/Makefile.am +++ /dev/null @@ -1,19 +0,0 @@ -SUBDIRS = id3v1 id3v2 -INCLUDES = \ - -I$(top_srcdir)/taglib\ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/ape \ - -I$(top_srcdir)/taglib/mpeg/id3v2 -I./id3v2 \ - -I$(top_srcdir)/taglib/mpeg/id3v1 -I./id3v1 \ - $(all_includes) - -noinst_LTLIBRARIES = libmpeg.la - -libmpeg_la_SOURCES = mpegfile.cpp mpegproperties.cpp mpegheader.cpp xingheader.cpp - -taglib_include_HEADERS = mpegfile.h mpegproperties.h mpegheader.h xingheader.h -taglib_includedir = $(includedir)/taglib - -libmpeg_la_LIBADD = ./id3v2/libid3v2.la ./id3v1/libid3v1.la - -EXTRA_DIST = $(libmpeg_la_SOURCES) $(taglib_include_HEADERS) diff --git a/Frameworks/TagLib/Files/taglib/mpeg/Makefile.in b/Frameworks/TagLib/Files/taglib/mpeg/Makefile.in deleted file mode 100644 index 93049f13c..000000000 --- a/Frameworks/TagLib/Files/taglib/mpeg/Makefile.in +++ /dev/null @@ -1,662 +0,0 @@ -# Makefile.in generated by automake 1.7.6 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 3 $ -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONF_FILES = @CONF_FILES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDE_PLUGIN = @KDE_PLUGIN@ -KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ -KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ -KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ -KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -NOOPT_CFLAGS = @NOOPT_CFLAGS@ -NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ -NOREPO = @NOREPO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPO = @REPO@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -USE_EXCEPTIONS = @USE_EXCEPTIONS@ -USE_RTTI = @USE_RTTI@ -VERSION = @VERSION@ -WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -all_includes = @all_includes@ -all_libraries = @all_libraries@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -link_zlib_FALSE = @link_zlib_FALSE@ -link_zlib_TRUE = @link_zlib_TRUE@ -localstatedir = @localstatedir@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -SUBDIRS = id3v1 id3v2 -INCLUDES = \ - -I$(top_srcdir)/taglib\ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/ape \ - -I$(top_srcdir)/taglib/mpeg/id3v2 -I./id3v2 \ - -I$(top_srcdir)/taglib/mpeg/id3v1 -I./id3v1 \ - $(all_includes) - - -noinst_LTLIBRARIES = libmpeg.la - -libmpeg_la_SOURCES = mpegfile.cpp mpegproperties.cpp mpegheader.cpp xingheader.cpp - -taglib_include_HEADERS = mpegfile.h mpegproperties.h mpegheader.h xingheader.h -taglib_includedir = $(includedir)/taglib - -libmpeg_la_LIBADD = ./id3v2/libid3v2.la ./id3v1/libid3v1.la - -EXTRA_DIST = $(libmpeg_la_SOURCES) $(taglib_include_HEADERS) -subdir = taglib/mpeg -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) - -libmpeg_la_LDFLAGS = -libmpeg_la_DEPENDENCIES = ./id3v2/libid3v2.la ./id3v1/libid3v1.la -am_libmpeg_la_OBJECTS = mpegfile.lo mpegproperties.lo mpegheader.lo \ - xingheader.lo -#>- libmpeg_la_OBJECTS = $(am_libmpeg_la_OBJECTS) -#>+ 5 -libmpeg_la_final_OBJECTS = libmpeg_la.all_cpp.lo -libmpeg_la_nofinal_OBJECTS = mpegfile.lo mpegproperties.lo mpegheader.lo \ - xingheader.lo -@KDE_USE_FINAL_FALSE@libmpeg_la_OBJECTS = $(libmpeg_la_nofinal_OBJECTS) -@KDE_USE_FINAL_TRUE@libmpeg_la_OBJECTS = $(libmpeg_la_final_OBJECTS) - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/admin/depcomp -am__depfiles_maybe = depfiles -#>- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/mpegfile.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/mpegheader.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/mpegproperties.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/xingheader.Plo -#>+ 9 -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@DEP_FILES = $(DEPDIR)/libmpeg_la.all_cpp.P ./$(DEPDIR)/mpegfile.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/mpegheader.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/mpegproperties.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/xingheader.Plo -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@DEP_FILES = ./$(DEPDIR)/mpegfile.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/mpegheader.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/mpegproperties.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/xingheader.Plo - -#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 2 -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -#>- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ -#>- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -#>- $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 3 -LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -CXXLD = $(CXX) -#>- CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -#>- $(AM_LDFLAGS) $(LDFLAGS) -o $@ -#>+ 2 -CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(libmpeg_la_SOURCES) -HEADERS = $(taglib_include_HEADERS) - - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(taglib_include_HEADERS) Makefile.am Makefile.in -DIST_SUBDIRS = $(SUBDIRS) -SOURCES = $(libmpeg_la_SOURCES) - -#>- all: all-recursive -#>+ 1 -all: docs-am all-recursive - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu taglib/mpeg/Makefile -#>+ 3 - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/mpeg/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/mpeg/Makefile.in -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" = "$$p" && dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libmpeg.la: $(libmpeg_la_OBJECTS) $(libmpeg_la_DEPENDENCIES) - $(CXXLINK) $(libmpeg_la_LDFLAGS) $(libmpeg_la_OBJECTS) $(libmpeg_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpegfile.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpegheader.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpegproperties.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xingheader.Plo@am__quote@ - -distclean-depend: - -rm -rf ./$(DEPDIR) - -.cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -.cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` - -.cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -taglib_includeHEADERS_INSTALL = $(INSTALL_HEADER) -install-taglib_includeHEADERS: $(taglib_include_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f"; \ - $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -uninstall-taglib_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(taglib_includedir)/$$f"; \ - rm -f $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - else \ - include_option=--include; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: installdirs-recursive -installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -#>- clean: clean-recursive -#>+ 1 -clean: kde-rpo-clean clean-recursive - -#>- clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ -#>- mostlyclean-am -#>+ 2 -clean-am: clean-final clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-recursive - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: install-taglib_includeHEADERS - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am uninstall-taglib_includeHEADERS - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-noinstLTLIBRARIES \ - clean-recursive ctags ctags-recursive distclean \ - distclean-compile distclean-depend distclean-generic \ - distclean-libtool distclean-recursive distclean-tags distdir \ - dvi dvi-am dvi-recursive info info-am info-recursive install \ - install-am install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip install-taglib_includeHEADERS \ - installcheck installcheck-am installdirs installdirs-am \ - installdirs-recursive maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \ - tags-recursive uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive \ - uninstall-taglib_includeHEADERS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -#>+ 2 -docs-am: - -#>+ 6 -force-reedit: - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/mpeg/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/mpeg/Makefile.in - - -#>+ 11 -libmpeg_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/mpegfile.cpp $(srcdir)/mpegproperties.cpp $(srcdir)/mpegheader.cpp $(srcdir)/xingheader.cpp - @echo 'creating libmpeg_la.all_cpp.cpp ...'; \ - rm -f libmpeg_la.all_cpp.files libmpeg_la.all_cpp.final; \ - echo "#define KDE_USE_FINAL 1" >> libmpeg_la.all_cpp.final; \ - for file in mpegfile.cpp mpegproperties.cpp mpegheader.cpp xingheader.cpp ; do \ - echo "#include \"$$file\"" >> libmpeg_la.all_cpp.files; \ - test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> libmpeg_la.all_cpp.final; \ - done; \ - cat libmpeg_la.all_cpp.final libmpeg_la.all_cpp.files > libmpeg_la.all_cpp.cpp; \ - rm -f libmpeg_la.all_cpp.final libmpeg_la.all_cpp.files - -#>+ 3 -clean-final: - -rm -f libmpeg_la.all_cpp.cpp - -#>+ 2 -final: - $(MAKE) libmpeg_la_OBJECTS="$(libmpeg_la_final_OBJECTS)" all-am -#>+ 2 -final-install: - $(MAKE) libmpeg_la_OBJECTS="$(libmpeg_la_final_OBJECTS)" install-am -#>+ 2 -no-final: - $(MAKE) libmpeg_la_OBJECTS="$(libmpeg_la_nofinal_OBJECTS)" all-am -#>+ 2 -no-final-install: - $(MAKE) libmpeg_la_OBJECTS="$(libmpeg_la_nofinal_OBJECTS)" install-am -#>+ 3 -cvs-clean: - $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v1/Makefile.am b/Frameworks/TagLib/Files/taglib/mpeg/id3v1/Makefile.am deleted file mode 100644 index ae0b590a1..000000000 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v1/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/mpeg \ - $(all_includes) - -noinst_LTLIBRARIES = libid3v1.la - -libid3v1_la_SOURCES = id3v1tag.cpp id3v1genres.cpp - -taglib_include_HEADERS = id3v1tag.h id3v1genres.h -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libid3v1_la_SOURCES) $(taglib_include_HEADERS) diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v1/Makefile.in b/Frameworks/TagLib/Files/taglib/mpeg/id3v1/Makefile.in deleted file mode 100644 index 4355d3a26..000000000 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v1/Makefile.in +++ /dev/null @@ -1,548 +0,0 @@ -# Makefile.in generated by automake 1.7.6 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 3 $ -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONF_FILES = @CONF_FILES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDE_PLUGIN = @KDE_PLUGIN@ -KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ -KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ -KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ -KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -NOOPT_CFLAGS = @NOOPT_CFLAGS@ -NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ -NOREPO = @NOREPO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPO = @REPO@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -USE_EXCEPTIONS = @USE_EXCEPTIONS@ -USE_RTTI = @USE_RTTI@ -VERSION = @VERSION@ -WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -all_includes = @all_includes@ -all_libraries = @all_libraries@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -link_zlib_FALSE = @link_zlib_FALSE@ -link_zlib_TRUE = @link_zlib_TRUE@ -localstatedir = @localstatedir@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/mpeg \ - $(all_includes) - - -noinst_LTLIBRARIES = libid3v1.la - -libid3v1_la_SOURCES = id3v1tag.cpp id3v1genres.cpp - -taglib_include_HEADERS = id3v1tag.h id3v1genres.h -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libid3v1_la_SOURCES) $(taglib_include_HEADERS) -subdir = taglib/mpeg/id3v1 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) - -libid3v1_la_LDFLAGS = -libid3v1_la_LIBADD = -am_libid3v1_la_OBJECTS = id3v1tag.lo id3v1genres.lo -#>- libid3v1_la_OBJECTS = $(am_libid3v1_la_OBJECTS) -#>+ 4 -libid3v1_la_final_OBJECTS = libid3v1_la.all_cpp.lo -libid3v1_la_nofinal_OBJECTS = id3v1tag.lo id3v1genres.lo -@KDE_USE_FINAL_FALSE@libid3v1_la_OBJECTS = $(libid3v1_la_nofinal_OBJECTS) -@KDE_USE_FINAL_TRUE@libid3v1_la_OBJECTS = $(libid3v1_la_final_OBJECTS) - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/admin/depcomp -am__depfiles_maybe = depfiles -#>- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/id3v1genres.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/id3v1tag.Plo -#>+ 5 -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@DEP_FILES = $(DEPDIR)/libid3v1_la.all_cpp.P ./$(DEPDIR)/id3v1genres.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v1tag.Plo -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@DEP_FILES = ./$(DEPDIR)/id3v1genres.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v1tag.Plo - -#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 2 -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -#>- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ -#>- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -#>- $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 3 -LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -CXXLD = $(CXX) -#>- CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -#>- $(AM_LDFLAGS) $(LDFLAGS) -o $@ -#>+ 2 -CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(libid3v1_la_SOURCES) -HEADERS = $(taglib_include_HEADERS) - -DIST_COMMON = $(taglib_include_HEADERS) Makefile.am Makefile.in -SOURCES = $(libid3v1_la_SOURCES) - -#>- all: all-am -#>+ 1 -all: docs-am all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu taglib/mpeg/id3v1/Makefile -#>+ 3 - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/mpeg/id3v1/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/mpeg/id3v1/Makefile.in -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" = "$$p" && dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libid3v1.la: $(libid3v1_la_OBJECTS) $(libid3v1_la_DEPENDENCIES) - $(CXXLINK) $(libid3v1_la_LDFLAGS) $(libid3v1_la_OBJECTS) $(libid3v1_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id3v1genres.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id3v1tag.Plo@am__quote@ - -distclean-depend: - -rm -rf ./$(DEPDIR) - -.cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -.cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` - -.cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -taglib_includeHEADERS_INSTALL = $(INSTALL_HEADER) -install-taglib_includeHEADERS: $(taglib_include_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f"; \ - $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -uninstall-taglib_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(taglib_includedir)/$$f"; \ - rm -f $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -#>- clean: clean-am -#>+ 1 -clean: kde-rpo-clean clean-am - -#>- clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ -#>- mostlyclean-am -#>+ 2 -clean-am: clean-final clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: install-taglib_includeHEADERS - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-taglib_includeHEADERS - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES ctags distclean \ - distclean-compile distclean-depend distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am info \ - info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip install-taglib_includeHEADERS \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-taglib_includeHEADERS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -#>+ 2 -docs-am: - -#>+ 6 -force-reedit: - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/mpeg/id3v1/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/mpeg/id3v1/Makefile.in - - -#>+ 11 -libid3v1_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/id3v1tag.cpp $(srcdir)/id3v1genres.cpp - @echo 'creating libid3v1_la.all_cpp.cpp ...'; \ - rm -f libid3v1_la.all_cpp.files libid3v1_la.all_cpp.final; \ - echo "#define KDE_USE_FINAL 1" >> libid3v1_la.all_cpp.final; \ - for file in id3v1tag.cpp id3v1genres.cpp ; do \ - echo "#include \"$$file\"" >> libid3v1_la.all_cpp.files; \ - test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> libid3v1_la.all_cpp.final; \ - done; \ - cat libid3v1_la.all_cpp.final libid3v1_la.all_cpp.files > libid3v1_la.all_cpp.cpp; \ - rm -f libid3v1_la.all_cpp.final libid3v1_la.all_cpp.files - -#>+ 3 -clean-final: - -rm -f libid3v1_la.all_cpp.cpp - -#>+ 2 -final: - $(MAKE) libid3v1_la_OBJECTS="$(libid3v1_la_final_OBJECTS)" all-am -#>+ 2 -final-install: - $(MAKE) libid3v1_la_OBJECTS="$(libid3v1_la_final_OBJECTS)" install-am -#>+ 2 -no-final: - $(MAKE) libid3v1_la_OBJECTS="$(libid3v1_la_nofinal_OBJECTS)" all-am -#>+ 2 -no-final-install: - $(MAKE) libid3v1_la_OBJECTS="$(libid3v1_la_nofinal_OBJECTS)" install-am -#>+ 3 -cvs-clean: - $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1genres.cpp b/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1genres.cpp index 0f4fd4382..fcad4b753 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1genres.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1genres.cpp @@ -151,7 +151,7 @@ namespace TagLib { "Duet", "Punk Rock", "Drum Solo", - "A Capella", + "A Cappella", "Euro-House", "Dance Hall", "Goa", diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1genres.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1genres.h index 97caee8ac..7846c895f 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1genres.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1genres.h @@ -22,8 +22,8 @@ #ifndef TAGLIB_ID3V1GENRE_H #define TAGLIB_ID3V1GENRE_H -#include -#include +#include "tmap.h" +#include "tstringlist.h" namespace TagLib { namespace ID3v1 { diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.cpp b/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.cpp index 2e7233eb2..f6fb501e5 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.cpp @@ -55,7 +55,7 @@ const ID3v1::StringHandler *ID3v1::Tag::TagPrivate::stringHandler = new StringHa String ID3v1::StringHandler::parse(const ByteVector &data) const { - return clean(String(data, String::Latin1)); + return String(data, String::Latin1).stripWhiteSpace(); } ByteVector ID3v1::StringHandler::render(const String &s) const @@ -63,23 +63,6 @@ ByteVector ID3v1::StringHandler::render(const String &s) const return s.data(String::Latin1); } -String ID3v1::StringHandler::clean(const String &s) const -{ - String newString; - int i; - - newString = s; - - i = newString.size() - 1; - while (s[i] == ' ' && i >= 0) - { - newString[i] = '\0'; - i--; - } - - return newString; -} - //////////////////////////////////////////////////////////////////////////////// // public methods //////////////////////////////////////////////////////////////////////////////// @@ -187,7 +170,7 @@ void ID3v1::Tag::setGenre(const String &s) void ID3v1::Tag::setYear(uint i) { - d->year = String::number(i); + d->year = i > 0 ? String::number(i) : String::null; } void ID3v1::Tag::setTrack(uint i) @@ -213,7 +196,7 @@ void ID3v1::Tag::read() ByteVector data = d->file->readBlock(128); // some initial sanity checking - if(data.size() == 128 && data.mid(0, 3) == "TAG") + if(data.size() == 128 && data.startsWith("TAG")) parse(data); else debug("ID3v1 tag is not valid or could not be read at the specified offset."); diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.h index 3c474dcb5..0b238bddf 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.h @@ -22,8 +22,8 @@ #ifndef TAGLIB_ID3V1TAG_H #define TAGLIB_ID3V1TAG_H -#include -#include +#include "tag.h" +#include "tbytevector.h" namespace TagLib { @@ -70,10 +70,6 @@ namespace TagLib { * ISO-8859-1. */ virtual ByteVector render(const String &s) const; - - - //Fixes buggy taggers which do spaces instead of 0s. - String ID3v1::StringHandler::clean(const String &s) const; }; //! The main class in the ID3v1 implementation diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/Makefile.am b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/Makefile.am deleted file mode 100644 index a58c83e95..000000000 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -SUBDIRS = frames -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/mpeg \ - -I$(top_srcdir)/taglib/mpeg/id3v1 \ - $(all_includes) - -noinst_LTLIBRARIES = libid3v2.la - -libid3v2_la_SOURCES = \ - id3v2framefactory.cpp id3v2synchdata.cpp id3v2tag.cpp \ - id3v2header.cpp id3v2frame.cpp id3v2footer.cpp \ - id3v2extendedheader.cpp - -taglib_include_HEADERS = \ - id3v2extendedheader.h id3v2frame.h id3v2header.h \ - id3v2synchdata.h id3v2footer.h id3v2framefactory.h id3v2tag.h - -taglib_includedir = $(includedir)/taglib - -if link_zlib -zlib = -lz -endif - -libid3v2_la_LIBADD = ./frames/libframes.la $(zlib) - -EXTRA_DIST = $(libid3v2_la_SOURCES) $(taglib_include_HEADERS) id3v2.4.0-frames.txt id3v2.4.0-structure.txt diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/Makefile.in b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/Makefile.in deleted file mode 100644 index ce469e13b..000000000 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/Makefile.in +++ /dev/null @@ -1,686 +0,0 @@ -# Makefile.in generated by automake 1.7.6 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 3 $ -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONF_FILES = @CONF_FILES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDE_PLUGIN = @KDE_PLUGIN@ -KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ -KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ -KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ -KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -NOOPT_CFLAGS = @NOOPT_CFLAGS@ -NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ -NOREPO = @NOREPO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPO = @REPO@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -USE_EXCEPTIONS = @USE_EXCEPTIONS@ -USE_RTTI = @USE_RTTI@ -VERSION = @VERSION@ -WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -all_includes = @all_includes@ -all_libraries = @all_libraries@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -link_zlib_FALSE = @link_zlib_FALSE@ -link_zlib_TRUE = @link_zlib_TRUE@ -localstatedir = @localstatedir@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -SUBDIRS = frames -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/mpeg \ - -I$(top_srcdir)/taglib/mpeg/id3v1 \ - $(all_includes) - - -noinst_LTLIBRARIES = libid3v2.la - -libid3v2_la_SOURCES = \ - id3v2framefactory.cpp id3v2synchdata.cpp id3v2tag.cpp \ - id3v2header.cpp id3v2frame.cpp id3v2footer.cpp \ - id3v2extendedheader.cpp - - -taglib_include_HEADERS = \ - id3v2extendedheader.h id3v2frame.h id3v2header.h \ - id3v2synchdata.h id3v2footer.h id3v2framefactory.h id3v2tag.h - - -taglib_includedir = $(includedir)/taglib - -@link_zlib_TRUE@zlib = -lz - -libid3v2_la_LIBADD = ./frames/libframes.la $(zlib) - -EXTRA_DIST = $(libid3v2_la_SOURCES) $(taglib_include_HEADERS) id3v2.4.0-frames.txt id3v2.4.0-structure.txt -subdir = taglib/mpeg/id3v2 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) - -libid3v2_la_LDFLAGS = -@link_zlib_TRUE@libid3v2_la_DEPENDENCIES = ./frames/libframes.la -@link_zlib_FALSE@libid3v2_la_DEPENDENCIES = ./frames/libframes.la -am_libid3v2_la_OBJECTS = id3v2framefactory.lo id3v2synchdata.lo \ - id3v2tag.lo id3v2header.lo id3v2frame.lo id3v2footer.lo \ - id3v2extendedheader.lo -#>- libid3v2_la_OBJECTS = $(am_libid3v2_la_OBJECTS) -#>+ 6 -libid3v2_la_final_OBJECTS = libid3v2_la.all_cpp.lo -libid3v2_la_nofinal_OBJECTS = id3v2framefactory.lo id3v2synchdata.lo \ - id3v2tag.lo id3v2header.lo id3v2frame.lo id3v2footer.lo \ - id3v2extendedheader.lo -@KDE_USE_FINAL_FALSE@libid3v2_la_OBJECTS = $(libid3v2_la_nofinal_OBJECTS) -@KDE_USE_FINAL_TRUE@libid3v2_la_OBJECTS = $(libid3v2_la_final_OBJECTS) - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/admin/depcomp -am__depfiles_maybe = depfiles -#>- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/id3v2extendedheader.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/id3v2footer.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/id3v2frame.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/id3v2framefactory.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/id3v2header.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/id3v2synchdata.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/id3v2tag.Plo -#>+ 15 -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@DEP_FILES = $(DEPDIR)/libid3v2_la.all_cpp.P ./$(DEPDIR)/id3v2extendedheader.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v2footer.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v2frame.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v2framefactory.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v2header.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v2synchdata.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v2tag.Plo -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@DEP_FILES = ./$(DEPDIR)/id3v2extendedheader.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v2footer.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v2frame.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v2framefactory.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v2header.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v2synchdata.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/id3v2tag.Plo - -#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 2 -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -#>- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ -#>- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -#>- $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 3 -LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -CXXLD = $(CXX) -#>- CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -#>- $(AM_LDFLAGS) $(LDFLAGS) -o $@ -#>+ 2 -CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(libid3v2_la_SOURCES) -HEADERS = $(taglib_include_HEADERS) - - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(taglib_include_HEADERS) Makefile.am Makefile.in -DIST_SUBDIRS = $(SUBDIRS) -SOURCES = $(libid3v2_la_SOURCES) - -#>- all: all-recursive -#>+ 1 -all: docs-am all-recursive - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu taglib/mpeg/id3v2/Makefile -#>+ 3 - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/mpeg/id3v2/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/mpeg/id3v2/Makefile.in -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" = "$$p" && dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libid3v2.la: $(libid3v2_la_OBJECTS) $(libid3v2_la_DEPENDENCIES) - $(CXXLINK) $(libid3v2_la_LDFLAGS) $(libid3v2_la_OBJECTS) $(libid3v2_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id3v2extendedheader.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id3v2footer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id3v2frame.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id3v2framefactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id3v2header.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id3v2synchdata.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id3v2tag.Plo@am__quote@ - -distclean-depend: - -rm -rf ./$(DEPDIR) - -.cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -.cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` - -.cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -taglib_includeHEADERS_INSTALL = $(INSTALL_HEADER) -install-taglib_includeHEADERS: $(taglib_include_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f"; \ - $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -uninstall-taglib_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(taglib_includedir)/$$f"; \ - rm -f $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - else \ - include_option=--include; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: installdirs-recursive -installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -#>- clean: clean-recursive -#>+ 1 -clean: kde-rpo-clean clean-recursive - -#>- clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ -#>- mostlyclean-am -#>+ 2 -clean-am: clean-final clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-recursive - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: install-taglib_includeHEADERS - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am uninstall-taglib_includeHEADERS - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-noinstLTLIBRARIES \ - clean-recursive ctags ctags-recursive distclean \ - distclean-compile distclean-depend distclean-generic \ - distclean-libtool distclean-recursive distclean-tags distdir \ - dvi dvi-am dvi-recursive info info-am info-recursive install \ - install-am install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip install-taglib_includeHEADERS \ - installcheck installcheck-am installdirs installdirs-am \ - installdirs-recursive maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \ - tags-recursive uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive \ - uninstall-taglib_includeHEADERS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -#>+ 2 -docs-am: - -#>+ 6 -force-reedit: - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/mpeg/id3v2/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/mpeg/id3v2/Makefile.in - - -#>+ 11 -libid3v2_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/id3v2framefactory.cpp $(srcdir)/id3v2synchdata.cpp $(srcdir)/id3v2tag.cpp $(srcdir)/id3v2header.cpp $(srcdir)/id3v2frame.cpp $(srcdir)/id3v2footer.cpp $(srcdir)/id3v2extendedheader.cpp - @echo 'creating libid3v2_la.all_cpp.cpp ...'; \ - rm -f libid3v2_la.all_cpp.files libid3v2_la.all_cpp.final; \ - echo "#define KDE_USE_FINAL 1" >> libid3v2_la.all_cpp.final; \ - for file in id3v2framefactory.cpp id3v2synchdata.cpp id3v2tag.cpp id3v2header.cpp id3v2frame.cpp id3v2footer.cpp id3v2extendedheader.cpp ; do \ - echo "#include \"$$file\"" >> libid3v2_la.all_cpp.files; \ - test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> libid3v2_la.all_cpp.final; \ - done; \ - cat libid3v2_la.all_cpp.final libid3v2_la.all_cpp.files > libid3v2_la.all_cpp.cpp; \ - rm -f libid3v2_la.all_cpp.final libid3v2_la.all_cpp.files - -#>+ 3 -clean-final: - -rm -f libid3v2_la.all_cpp.cpp - -#>+ 2 -final: - $(MAKE) libid3v2_la_OBJECTS="$(libid3v2_la_final_OBJECTS)" all-am -#>+ 2 -final-install: - $(MAKE) libid3v2_la_OBJECTS="$(libid3v2_la_final_OBJECTS)" install-am -#>+ 2 -no-final: - $(MAKE) libid3v2_la_OBJECTS="$(libid3v2_la_nofinal_OBJECTS)" all-am -#>+ 2 -no-final-install: - $(MAKE) libid3v2_la_OBJECTS="$(libid3v2_la_nofinal_OBJECTS)" install-am -#>+ 3 -cvs-clean: - $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/Makefile.am b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/Makefile.am deleted file mode 100644 index 929485b3b..000000000 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/Makefile.am +++ /dev/null @@ -1,27 +0,0 @@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/mpeg/id3v2 \ - $(all_includes) - -noinst_LTLIBRARIES = libframes.la - -libframes_la_SOURCES = \ - attachedpictureframe.cpp \ - commentsframe.cpp \ - relativevolumeframe.cpp \ - textidentificationframe.cpp \ - uniquefileidentifierframe.cpp \ - unknownframe.cpp - -taglib_include_HEADERS = \ - attachedpictureframe.h \ - commentsframe.h \ - relativevolumeframe.h \ - textidentificationframe.h \ - uniquefileidentifierframe.h \ - unknownframe.h - -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libframes_la_SOURCES) $(taglib_include_HEADERS) diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/Makefile.in b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/Makefile.in deleted file mode 100644 index 9395c4584..000000000 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/Makefile.in +++ /dev/null @@ -1,583 +0,0 @@ -# Makefile.in generated by automake 1.7.6 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 3 $ -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONF_FILES = @CONF_FILES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDE_PLUGIN = @KDE_PLUGIN@ -KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ -KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ -KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ -KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -NOOPT_CFLAGS = @NOOPT_CFLAGS@ -NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ -NOREPO = @NOREPO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPO = @REPO@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -USE_EXCEPTIONS = @USE_EXCEPTIONS@ -USE_RTTI = @USE_RTTI@ -VERSION = @VERSION@ -WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -all_includes = @all_includes@ -all_libraries = @all_libraries@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -link_zlib_FALSE = @link_zlib_FALSE@ -link_zlib_TRUE = @link_zlib_TRUE@ -localstatedir = @localstatedir@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/mpeg/id3v2 \ - $(all_includes) - - -noinst_LTLIBRARIES = libframes.la - -libframes_la_SOURCES = \ - attachedpictureframe.cpp \ - commentsframe.cpp \ - relativevolumeframe.cpp \ - textidentificationframe.cpp \ - uniquefileidentifierframe.cpp \ - unknownframe.cpp - - -taglib_include_HEADERS = \ - attachedpictureframe.h \ - commentsframe.h \ - relativevolumeframe.h \ - textidentificationframe.h \ - uniquefileidentifierframe.h \ - unknownframe.h - - -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libframes_la_SOURCES) $(taglib_include_HEADERS) -subdir = taglib/mpeg/id3v2/frames -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) - -libframes_la_LDFLAGS = -libframes_la_LIBADD = -am_libframes_la_OBJECTS = attachedpictureframe.lo commentsframe.lo \ - relativevolumeframe.lo textidentificationframe.lo \ - uniquefileidentifierframe.lo unknownframe.lo -#>- libframes_la_OBJECTS = $(am_libframes_la_OBJECTS) -#>+ 6 -libframes_la_final_OBJECTS = libframes_la.all_cpp.lo -libframes_la_nofinal_OBJECTS = attachedpictureframe.lo commentsframe.lo \ - relativevolumeframe.lo textidentificationframe.lo \ - uniquefileidentifierframe.lo unknownframe.lo -@KDE_USE_FINAL_FALSE@libframes_la_OBJECTS = $(libframes_la_nofinal_OBJECTS) -@KDE_USE_FINAL_TRUE@libframes_la_OBJECTS = $(libframes_la_final_OBJECTS) - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/admin/depcomp -am__depfiles_maybe = depfiles -#>- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/attachedpictureframe.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/commentsframe.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/relativevolumeframe.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/textidentificationframe.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/uniquefileidentifierframe.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/unknownframe.Plo -#>+ 13 -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@DEP_FILES = $(DEPDIR)/libframes_la.all_cpp.P ./$(DEPDIR)/attachedpictureframe.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/commentsframe.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/relativevolumeframe.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/textidentificationframe.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/uniquefileidentifierframe.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/unknownframe.Plo -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@DEP_FILES = ./$(DEPDIR)/attachedpictureframe.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/commentsframe.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/relativevolumeframe.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/textidentificationframe.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/uniquefileidentifierframe.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/unknownframe.Plo - -#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 2 -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -#>- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ -#>- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -#>- $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 3 -LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -CXXLD = $(CXX) -#>- CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -#>- $(AM_LDFLAGS) $(LDFLAGS) -o $@ -#>+ 2 -CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(libframes_la_SOURCES) -HEADERS = $(taglib_include_HEADERS) - -DIST_COMMON = $(taglib_include_HEADERS) Makefile.am Makefile.in -SOURCES = $(libframes_la_SOURCES) - -#>- all: all-am -#>+ 1 -all: docs-am all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu taglib/mpeg/id3v2/frames/Makefile -#>+ 3 - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/mpeg/id3v2/frames/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/mpeg/id3v2/frames/Makefile.in -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" = "$$p" && dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libframes.la: $(libframes_la_OBJECTS) $(libframes_la_DEPENDENCIES) - $(CXXLINK) $(libframes_la_LDFLAGS) $(libframes_la_OBJECTS) $(libframes_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attachedpictureframe.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commentsframe.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/relativevolumeframe.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/textidentificationframe.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uniquefileidentifierframe.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unknownframe.Plo@am__quote@ - -distclean-depend: - -rm -rf ./$(DEPDIR) - -.cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -.cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` - -.cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -taglib_includeHEADERS_INSTALL = $(INSTALL_HEADER) -install-taglib_includeHEADERS: $(taglib_include_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f"; \ - $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -uninstall-taglib_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(taglib_includedir)/$$f"; \ - rm -f $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -#>- clean: clean-am -#>+ 1 -clean: kde-rpo-clean clean-am - -#>- clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ -#>- mostlyclean-am -#>+ 2 -clean-am: clean-final clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: install-taglib_includeHEADERS - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-taglib_includeHEADERS - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES ctags distclean \ - distclean-compile distclean-depend distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am info \ - info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip install-taglib_includeHEADERS \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-taglib_includeHEADERS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -#>+ 2 -docs-am: - -#>+ 6 -force-reedit: - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/mpeg/id3v2/frames/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/mpeg/id3v2/frames/Makefile.in - - -#>+ 11 -libframes_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/attachedpictureframe.cpp $(srcdir)/commentsframe.cpp $(srcdir)/relativevolumeframe.cpp $(srcdir)/textidentificationframe.cpp $(srcdir)/uniquefileidentifierframe.cpp $(srcdir)/unknownframe.cpp - @echo 'creating libframes_la.all_cpp.cpp ...'; \ - rm -f libframes_la.all_cpp.files libframes_la.all_cpp.final; \ - echo "#define KDE_USE_FINAL 1" >> libframes_la.all_cpp.final; \ - for file in attachedpictureframe.cpp commentsframe.cpp relativevolumeframe.cpp textidentificationframe.cpp uniquefileidentifierframe.cpp unknownframe.cpp ; do \ - echo "#include \"$$file\"" >> libframes_la.all_cpp.files; \ - test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> libframes_la.all_cpp.final; \ - done; \ - cat libframes_la.all_cpp.final libframes_la.all_cpp.files > libframes_la.all_cpp.cpp; \ - rm -f libframes_la.all_cpp.final libframes_la.all_cpp.files - -#>+ 3 -clean-final: - -rm -f libframes_la.all_cpp.cpp - -#>+ 2 -final: - $(MAKE) libframes_la_OBJECTS="$(libframes_la_final_OBJECTS)" all-am -#>+ 2 -final-install: - $(MAKE) libframes_la_OBJECTS="$(libframes_la_final_OBJECTS)" install-am -#>+ 2 -no-final: - $(MAKE) libframes_la_OBJECTS="$(libframes_la_nofinal_OBJECTS)" all-am -#>+ 2 -no-final-install: - $(MAKE) libframes_la_OBJECTS="$(libframes_la_nofinal_OBJECTS)" install-am -#>+ 3 -cvs-clean: - $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/attachedpictureframe.cpp b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/attachedpictureframe.cpp index 5700dfe64..945d7a61a 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/attachedpictureframe.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/attachedpictureframe.cpp @@ -95,6 +95,16 @@ void AttachedPictureFrame::setType(Type t) d->type = t; } +String AttachedPictureFrame::description() const +{ + return d->description; +} + +void AttachedPictureFrame::setDescription(const String &desc) +{ + d->description = desc; +} + ByteVector AttachedPictureFrame::picture() const { return d->data; @@ -122,8 +132,10 @@ void AttachedPictureFrame::parseFields(const ByteVector &data) pos += 1; int offset = data.find(textDelimiter(String::Latin1), pos); + if(offset < pos) return; + d->mimeType = String(data.mid(pos, offset - pos), String::Latin1); pos = offset + 1; @@ -131,8 +143,10 @@ void AttachedPictureFrame::parseFields(const ByteVector &data) pos += 1; offset = data.find(textDelimiter(d->textEncoding), pos); + if(offset < pos) return; + d->description = String(data.mid(pos, offset - pos), d->textEncoding); pos = offset + 1; diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/attachedpictureframe.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/attachedpictureframe.h index 896f00217..2cb2444fd 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/attachedpictureframe.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/attachedpictureframe.h @@ -156,6 +156,26 @@ namespace TagLib { */ void setType(Type t); + /*! + * Returns a text description of the image. + * + * \see setDescription() + * \see textEncoding() + * \see setTextEncoding() + */ + + String description() const; + + /*! + * Sets a textual description of the image to \a desc. + * + * \see description() + * \see textEncoding() + * \see setTextEncoding() + */ + + void setDescription(const String &desc); + /*! * Returns the image data as a ByteVector. * diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/commentsframe.cpp b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/commentsframe.cpp index fcabbbc6c..0b7faaa19 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/commentsframe.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/commentsframe.cpp @@ -20,6 +20,7 @@ ***************************************************************************/ #include +#include #include #include "commentsframe.h" @@ -104,6 +105,22 @@ void CommentsFrame::setTextEncoding(String::Type encoding) d->textEncoding = encoding; } +CommentsFrame *CommentsFrame::findByDescription(const ID3v2::Tag *tag, const String &d) // static +{ + ID3v2::FrameList comments = tag->frameList("COMM"); + + for(ID3v2::FrameList::ConstIterator it = comments.begin(); + it != comments.end(); + ++it) + { + CommentsFrame *frame = dynamic_cast(*it); + if(frame && frame->description() == d) + return frame; + } + + return 0; +} + //////////////////////////////////////////////////////////////////////////////// // protected members //////////////////////////////////////////////////////////////////////////////// @@ -120,7 +137,7 @@ void CommentsFrame::parseFields(const ByteVector &data) int byteAlign = d->textEncoding == String::Latin1 || d->textEncoding == String::UTF8 ? 1 : 2; - ByteVectorList l = ByteVectorList::split(data.mid(4), textDelimiter(d->textEncoding), byteAlign); + ByteVectorList l = ByteVectorList::split(data.mid(4), textDelimiter(d->textEncoding), byteAlign, 2); if(l.size() == 2) { d->description = String(l.front(), d->textEncoding); diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/commentsframe.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/commentsframe.h index 2c8b2c003..9df0cd8ba 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/commentsframe.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/commentsframe.h @@ -131,6 +131,15 @@ namespace TagLib { */ void setTextEncoding(String::Type encoding); + /*! + * Comments each have a unique description. This searches for a comment + * frame with the decription \a d and returns a pointer to it. If no + * frame is found that matches the given description null is returned. + * + * \see description() + */ + static CommentsFrame *findByDescription(const Tag *tag, const String &d); + protected: // Reimplementations. diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/relativevolumeframe.cpp b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/relativevolumeframe.cpp index 171ba91dc..78a34e96e 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/relativevolumeframe.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/relativevolumeframe.cpp @@ -19,26 +19,44 @@ * USA * ***************************************************************************/ +#include +#include + #include "relativevolumeframe.h" using namespace TagLib; using namespace ID3v2; +static inline int bitsToBytes(int i) +{ + return i % 8 == 0 ? i / 8 : (i - i % 8) / 8 + 1; +} + +struct ChannelData +{ + ChannelData() : channelType(RelativeVolumeFrame::Other), volumeAdjustment(0) {} + + RelativeVolumeFrame::ChannelType channelType; + short volumeAdjustment; + RelativeVolumeFrame::PeakVolume peakVolume; +}; + class RelativeVolumeFrame::RelativeVolumeFramePrivate { public: - RelativeVolumeFramePrivate() : channelType(Other), volumeAdjustment(0) {} - String identification; - ChannelType channelType; - short volumeAdjustment; - PeakVolume peakVolume; + Map channels; }; //////////////////////////////////////////////////////////////////////////////// // public members //////////////////////////////////////////////////////////////////////////////// +RelativeVolumeFrame::RelativeVolumeFrame() : Frame("RVA2") +{ + d = new RelativeVolumeFramePrivate; +} + RelativeVolumeFrame::RelativeVolumeFrame(const ByteVector &data) : Frame(data) { d = new RelativeVolumeFramePrivate; @@ -55,44 +73,89 @@ String RelativeVolumeFrame::toString() const return d->identification; } -RelativeVolumeFrame::ChannelType RelativeVolumeFrame::channelType() const +List RelativeVolumeFrame::channels() const { - return d->channelType; + List l; + + Map::ConstIterator it = d->channels.begin(); + for(; it != d->channels.end(); ++it) + l.append((*it).first); + + return l; } -void RelativeVolumeFrame::setChannelType(ChannelType t) +// deprecated + +RelativeVolumeFrame::ChannelType RelativeVolumeFrame::channelType() const { - d->channelType = t; + return MasterVolume; +} + +// deprecated + +void RelativeVolumeFrame::setChannelType(ChannelType) +{ + +} + +short RelativeVolumeFrame::volumeAdjustmentIndex(ChannelType type) const +{ + return d->channels.contains(type) ? d->channels[type].volumeAdjustment : 0; } short RelativeVolumeFrame::volumeAdjustmentIndex() const { - return d->volumeAdjustment; + return volumeAdjustmentIndex(MasterVolume); +} + +void RelativeVolumeFrame::setVolumeAdjustmentIndex(short index, ChannelType type) +{ + d->channels[type].volumeAdjustment = index; } void RelativeVolumeFrame::setVolumeAdjustmentIndex(short index) { - d->volumeAdjustment = index; + setVolumeAdjustmentIndex(index, MasterVolume); +} + +float RelativeVolumeFrame::volumeAdjustment(ChannelType type) const +{ + return d->channels.contains(type) ? float(d->channels[type].volumeAdjustment) / float(512) : 0; } float RelativeVolumeFrame::volumeAdjustment() const { - return float(d->volumeAdjustment) / float(512); + return volumeAdjustment(MasterVolume); +} + +void RelativeVolumeFrame::setVolumeAdjustment(float adjustment, ChannelType type) +{ + d->channels[type].volumeAdjustment = short(adjustment / float(512)); } void RelativeVolumeFrame::setVolumeAdjustment(float adjustment) { - d->volumeAdjustment = short(adjustment / float(512)); + setVolumeAdjustment(adjustment, MasterVolume); +} + +RelativeVolumeFrame::PeakVolume RelativeVolumeFrame::peakVolume(ChannelType type) const +{ + return d->channels.contains(type) ? d->channels[type].peakVolume : PeakVolume(); } RelativeVolumeFrame::PeakVolume RelativeVolumeFrame::peakVolume() const { - return d->peakVolume; + return peakVolume(MasterVolume); +} + +void RelativeVolumeFrame::setPeakVolume(const PeakVolume &peak, ChannelType type) +{ + d->channels[type].peakVolume = peak; } void RelativeVolumeFrame::setPeakVolume(const PeakVolume &peak) { - d->peakVolume = peak; + setPeakVolume(peak, MasterVolume); } //////////////////////////////////////////////////////////////////////////////// @@ -101,16 +164,29 @@ void RelativeVolumeFrame::setPeakVolume(const PeakVolume &peak) void RelativeVolumeFrame::parseFields(const ByteVector &data) { - int pos = data.find(textDelimiter(String::Latin1)); + uint pos = data.find(textDelimiter(String::Latin1)); d->identification = String(data.mid(0, pos), String::Latin1); - d->volumeAdjustment = data.mid(pos, 2).toShort(); - pos += 2; + // Each channel is at least 4 bytes. - d->peakVolume.bitsRepresentingPeak = data[pos]; - pos += 1; + while(pos <= data.size() - 4) { - d->peakVolume.peakVolume = data.mid(pos, d->peakVolume.bitsRepresentingPeak); + + ChannelType type = ChannelType(data[pos]); + pos += 1; + + ChannelData &channel = d->channels[type]; + + channel.volumeAdjustment = data.mid(pos, 2).toShort(); + pos += 2; + + channel.peakVolume.bitsRepresentingPeak = data[pos]; + pos += 1; + + int bytes = bitsToBytes(channel.peakVolume.bitsRepresentingPeak); + channel.peakVolume.peakVolume = data.mid(pos, bytes); + pos += bytes; + } } ByteVector RelativeVolumeFrame::renderFields() const @@ -119,9 +195,18 @@ ByteVector RelativeVolumeFrame::renderFields() const data.append(d->identification.data(String::Latin1)); data.append(textDelimiter(String::Latin1)); - data.append(ByteVector::fromShort(d->volumeAdjustment)); - data.append(char(d->peakVolume.bitsRepresentingPeak)); - data.append(d->peakVolume.peakVolume); + + Map::ConstIterator it = d->channels.begin(); + + for(; it != d->channels.end(); ++it) { + ChannelType type = (*it).first; + const ChannelData &channel = (*it).second; + + data.append(char(type)); + data.append(ByteVector::fromShort(channel.volumeAdjustment)); + data.append(char(channel.peakVolume.bitsRepresentingPeak)); + data.append(channel.peakVolume.peakVolume); + } return data; } diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/relativevolumeframe.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/relativevolumeframe.h index f2d9a9dc3..462f21081 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/relativevolumeframe.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/relativevolumeframe.h @@ -22,6 +22,7 @@ #ifndef TAGLIB_RELATIVEVOLUMEFRAME_H #define TAGLIB_RELATIVEVOLUMEFRAME_H +#include #include namespace TagLib { @@ -32,7 +33,7 @@ namespace TagLib { /*! * This is an implementation of ID3v2 relative volume adjustment. The - * presense of this frame makes it possible to specify an increase in volume + * presence of this frame makes it possible to specify an increase in volume * for an audio file or specific audio tracks in that file. * * Multiple relative volume adjustment frames may be present in the tag @@ -118,38 +119,52 @@ namespace TagLib { virtual String toString() const; /*! - * Returns the channel type that this frame refers to. - * - * \see setChannelType() + * Returns a list of channels with information currently in the frame. + */ + List channels() const; + + /*! + * \deprecated Always returns master volume. */ ChannelType channelType() const; /*! - * Sets the channel type that this frame refers to. - * - * \see channelType() + * \deprecated This method no longer has any effect. */ void setChannelType(ChannelType t); + /* + * There was a terrible API goof here, and while this can't be changed to + * the way it appears below for binary compaibility reasons, let's at + * least pretend that it looks clean. + */ + +#ifdef DOXYGEN + /*! * Returns the relative volume adjustment "index". As indicated by the * ID3v2 standard this is a 16-bit signed integer that reflects the * decibils of adjustment when divided by 512. * + * This defaults to returning the value for the master volume channel if + * available and returns 0 if the specified channel does not exist. + * * \see setVolumeAdjustmentIndex() * \see volumeAjustment() */ - short volumeAdjustmentIndex() const; + short volumeAdjustmentIndex(ChannelType type = MasterVolume) const; /*! * Set the volume adjustment to \a index. As indicated by the ID3v2 * standard this is a 16-bit signed integer that reflects the decibils of * adjustment when divided by 512. * + * By default this sets the value for the master volume. + * * \see volumeAdjustmentIndex() * \see setVolumeAjustment() */ - void setVolumeAdjustmentIndex(short index); + void setVolumeAdjustmentIndex(short index, ChannelType type = MasterVolume); /*! * Returns the relative volume adjustment in decibels. @@ -158,14 +173,19 @@ namespace TagLib { * value the value returned by this method may not be identical to the * value set using setVolumeAdjustment(). * + * This defaults to returning the value for the master volume channel if + * available and returns 0 if the specified channel does not exist. + * * \see setVolumeAdjustment() * \see volumeAdjustmentIndex() */ - float volumeAdjustment() const; + float volumeAdjustment(ChannelType type = MasterVolume) const; /*! * Set the relative volume adjustment in decibels to \a adjustment. * + * By default this sets the value for the master volume. + * * \note Because this is actually stored internally as an "index" to this * value the value set by this method may not be identical to the one * returned by volumeAdjustment(). @@ -173,22 +193,52 @@ namespace TagLib { * \see setVolumeAdjustment() * \see volumeAdjustmentIndex() */ - void setVolumeAdjustment(float adjustment); + void setVolumeAdjustment(float adjustment, ChannelType type = MasterVolume); /*! * Returns the peak volume (represented as a length and a string of bits). * + * This defaults to returning the value for the master volume channel if + * available and returns 0 if the specified channel does not exist. + * * \see setPeakVolume() */ - PeakVolume peakVolume() const; + PeakVolume peakVolume(ChannelType type = MasterVolume) const; /*! * Sets the peak volume to \a peak. * + * By default this sets the value for the master volume. + * * \see peakVolume() */ + void setPeakVolume(const PeakVolume &peak, ChannelType type = MasterVolume); + +#else + + // BIC: Combine each of the following pairs of functions (or maybe just + // rework this junk altogether). + + short volumeAdjustmentIndex(ChannelType type) const; + short volumeAdjustmentIndex() const; + + void setVolumeAdjustmentIndex(short index, ChannelType type); + void setVolumeAdjustmentIndex(short index); + + float volumeAdjustment(ChannelType type) const; + float volumeAdjustment() const; + + void setVolumeAdjustment(float adjustment, ChannelType type); + void setVolumeAdjustment(float adjustment); + + PeakVolume peakVolume(ChannelType type) const; + PeakVolume peakVolume() const; + + void setPeakVolume(const PeakVolume &peak, ChannelType type); void setPeakVolume(const PeakVolume &peak); +#endif + protected: virtual void parseFields(const ByteVector &data); virtual ByteVector renderFields() const; diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/textidentificationframe.cpp b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/textidentificationframe.cpp index ee2137875..3f7c72181 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/textidentificationframe.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/textidentificationframe.cpp @@ -94,6 +94,11 @@ void TextIdentificationFrame::setTextEncoding(String::Type encoding) void TextIdentificationFrame::parseFields(const ByteVector &data) { + // Don't try to parse invalid frames + + if(data.size() < 2) + return; + // read the string data type (the first byte of the field data) d->textEncoding = String::Type(data[0]); @@ -103,7 +108,17 @@ void TextIdentificationFrame::parseFields(const ByteVector &data) int byteAlign = d->textEncoding == String::Latin1 || d->textEncoding == String::UTF8 ? 1 : 2; - ByteVectorList l = ByteVectorList::split(data.mid(1), textDelimiter(d->textEncoding), byteAlign); + // build a small counter to strip nulls off the end of the field + + int dataLength = data.size() - 1; + + while(dataLength > 0 && data[dataLength] == 0) + dataLength--; + + while(dataLength % byteAlign != 0) + dataLength++; + + ByteVectorList l = ByteVectorList::split(data.mid(1, dataLength), textDelimiter(d->textEncoding), byteAlign); d->fieldList.clear(); @@ -120,21 +135,18 @@ ByteVector TextIdentificationFrame::renderFields() const { ByteVector v; - if(d->fieldList.size() > 0) { + v.append(char(d->textEncoding)); - v.append(char(d->textEncoding)); + for(StringList::ConstIterator it = d->fieldList.begin(); it != d->fieldList.end(); it++) { - for(StringList::Iterator it = d->fieldList.begin(); it != d->fieldList.end(); it++) { + // Since the field list is null delimited, if this is not the first + // element in the list, append the appropriate delimiter for this + // encoding. - // Since the field list is null delimited, if this is not the first - // element in the list, append the appropriate delimiter for this - // encoding. + if(it != d->fieldList.begin()) + v.append(textDelimiter(d->textEncoding)); - if(it != d->fieldList.begin()) - v.append(textDelimiter(d->textEncoding)); - - v.append((*it).data(d->textEncoding)); - } + v.append((*it).data(d->textEncoding)); } return v; @@ -168,7 +180,7 @@ UserTextIdentificationFrame::UserTextIdentificationFrame(String::Type encoding) UserTextIdentificationFrame::UserTextIdentificationFrame(const ByteVector &data) : TextIdentificationFrame(data) { - + checkFields(); } String UserTextIdentificationFrame::toString() const @@ -185,14 +197,9 @@ String UserTextIdentificationFrame::description() const StringList UserTextIdentificationFrame::fieldList() const { - StringList l = TextIdentificationFrame::fieldList(); + // TODO: remove this function - if(!l.isEmpty()) { - StringList::Iterator it = l.begin(); - l.erase(it); - } - - return l; + return TextIdentificationFrame::fieldList(); } void UserTextIdentificationFrame::setText(const String &text) @@ -223,7 +230,8 @@ void UserTextIdentificationFrame::setDescription(const String &s) TextIdentificationFrame::setText(l); } -UserTextIdentificationFrame *find(ID3v2::Tag *tag, const String &description) // static +UserTextIdentificationFrame *UserTextIdentificationFrame::find( + ID3v2::Tag *tag, const String &description) // static { FrameList l = tag->frameList("TXXX"); for(FrameList::Iterator it = l.begin(); it != l.end(); ++it) { @@ -241,5 +249,15 @@ UserTextIdentificationFrame *find(ID3v2::Tag *tag, const String &description) // UserTextIdentificationFrame::UserTextIdentificationFrame(const ByteVector &data, Header *h) : TextIdentificationFrame(data, h) { - + checkFields(); +} + +void UserTextIdentificationFrame::checkFields() +{ + int fields = fieldList().size(); + + if(fields == 0) + setDescription(String::null); + if(fields <= 1) + setText(String::null); } diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/textidentificationframe.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/textidentificationframe.h index 00c13851e..051575f4f 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/textidentificationframe.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/textidentificationframe.h @@ -212,7 +212,7 @@ namespace TagLib { /*! * Sets the description of the frame to \a s. \a s must be unique. You can - * check for the presense of another user defined text frame of the same type + * check for the presence of another user defined text frame of the same type * using find() and testing for null. */ void setDescription(const String &s); @@ -232,6 +232,8 @@ namespace TagLib { UserTextIdentificationFrame(const TextIdentificationFrame &); UserTextIdentificationFrame &operator=(const UserTextIdentificationFrame &); + void checkFields(); + class UserTextIdentificationFramePrivate; UserTextIdentificationFramePrivate *d; }; diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.cpp b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.cpp index 0eee906c0..ec8522a3f 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.cpp @@ -52,6 +52,11 @@ UniqueFileIdentifierFrame::UniqueFileIdentifierFrame(const String &owner, const d->identifier = id; } +UniqueFileIdentifierFrame::~UniqueFileIdentifierFrame() +{ + delete d; +} + String UniqueFileIdentifierFrame::owner() const { return d->owner; diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.h index a8bbfe8cb..897089180 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.h @@ -52,6 +52,11 @@ namespace TagLib { */ UniqueFileIdentifierFrame(const String &owner, const ByteVector &id); + /*! + * Destroys the frame. + */ + ~UniqueFileIdentifierFrame(); + /*! * Returns the owner for the frame; essentially this is the key for * determining which identification scheme this key belongs to. This diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2.4.0-frames.txt b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2.4.0-frames.txt index e176b9a71..457acaa25 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2.4.0-frames.txt +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2.4.0-frames.txt @@ -1,4 +1,4 @@ -$Id: id3v2.4.0-frames.txt 3 2005-06-02 18:16:43Z vspader $ +$Id: id3v2.4.0-frames.txt 168944 2002-07-26 20:59:59Z wheeler $ Informal standard M. Nilsson Document: id3v2.4.0-frames.txt 1st November 2000 diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2extendedheader.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2extendedheader.h index 8ca0dff94..a690718fb 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2extendedheader.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2extendedheader.h @@ -22,8 +22,8 @@ #ifndef TAGLIB_ID3V2EXTENDEDHEADER_H #define TAGLIB_ID3V2EXTENDEDHEADER_H -#include -#include +#include "tbytevector.h" +#include "taglib.h" namespace TagLib { diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2footer.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2footer.h index 7a925f32a..ba6235bc0 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2footer.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2footer.h @@ -22,7 +22,7 @@ #ifndef TAGLIB_ID3V2FOOTER_H #define TAGLIB_ID3V2FOOTER_H -#include +#include "tbytevector.h" namespace TagLib { diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2frame.cpp b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2frame.cpp index 0675483ce..1b1d62ece 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2frame.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2frame.cpp @@ -163,12 +163,14 @@ ByteVector Frame::fieldData(const ByteVector &frameData) const uint frameDataLength = size(); if(d->header->compression() || d->header->dataLengthIndicator()) { - frameDataLength = frameData.mid(headerSize, 4).toUInt(); + frameDataLength = SynchData::toUInt(frameData.mid(headerSize, 4)); frameDataOffset += 4; } #if HAVE_ZLIB - if(d->header->compression()) { + if(d->header->compression() && + !d->header->encryption()) + { ByteVector data(frameDataLength); uLongf uLongTmp = frameDataLength; ::uncompress((Bytef *) data.data(), @@ -417,6 +419,11 @@ bool Frame::Header::tagAlterPreservation() const return d->tagAlterPreservation; } +void Frame::Header::setTagAlterPreservation(bool preserve) +{ + d->tagAlterPreservation = preserve; +} + bool Frame::Header::fileAlterPreservation() const { return d->fileAlterPreservation; diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2frame.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2frame.h index 4e12dc210..38cecf589 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2frame.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2frame.h @@ -22,13 +22,14 @@ #ifndef TAGLIB_ID3V2FRAME_H #define TAGLIB_ID3V2FRAME_H -#include -#include +#include "tstring.h" +#include "tbytevector.h" namespace TagLib { namespace ID3v2 { + class Tag; class FrameFactory; //! ID3v2 frame implementation @@ -44,6 +45,7 @@ namespace TagLib { class Frame { + friend class Tag; friend class FrameFactory; public: @@ -182,6 +184,7 @@ namespace TagLib { Frame &operator=(const Frame &); class FramePrivate; + friend class FramePrivate; FramePrivate *d; }; @@ -258,7 +261,7 @@ namespace TagLib { /*! * Returns the size of the frame data portion, as set when setData() was - * called or set explicity via setFrameSize(). + * called or set explicitly via setFrameSize(). */ uint frameSize() const; @@ -294,10 +297,27 @@ namespace TagLib { /*! * Returns true if the flag for tag alter preservation is set. * - * \note This flag is currently ignored internally in TagLib. + * The semantics are a little backwards from what would seem natural + * (setting the preservation flag to throw away the frame), but this + * follows the ID3v2 standard. + * + * \see setTagAlterPreservation() */ bool tagAlterPreservation() const; + /*! + * Sets the flag for preservation of this frame if the tag is set. If + * this is set to true the frame will not be written when the tag is + * saved. + * + * The semantics are a little backwards from what would seem natural + * (setting the preservation flag to throw away the frame), but this + * follows the ID3v2 standard. + * + * \see tagAlterPreservation() + */ + void setTagAlterPreservation(bool discard); + /*! * Returns true if the flag for file alter preservation is set. * @@ -341,7 +361,7 @@ namespace TagLib { bool unsycronisation() const; /*! - * Returns true if the flag for a data lenght indicator is set. + * Returns true if the flag for a data length indicator is set. */ bool dataLengthIndicator() const; diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2framefactory.cpp b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2framefactory.cpp index 3fc976a5c..983e5a484 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2framefactory.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2framefactory.cpp @@ -31,6 +31,7 @@ #include "frames/textidentificationframe.h" #include "frames/uniquefileidentifierframe.h" #include "frames/unknownframe.h" +#include "frames/generalencapsulatedobjectframe.h" using namespace TagLib; using namespace ID3v2; @@ -72,7 +73,10 @@ Frame *FrameFactory::createFrame(const ByteVector &data, uint version) const // A quick sanity check -- make sure that the frameID is 4 uppercase Latin1 // characters. Also make sure that there is data in the frame. - if(!frameID.size() == (version < 3 ? 3 : 4) || header->frameSize() <= 0) { + if(!frameID.size() == (version < 3 ? 3 : 4) || + header->frameSize() <= 0 || + header->frameSize() > data.size()) + { delete header; return 0; } @@ -99,10 +103,14 @@ Frame *FrameFactory::createFrame(const ByteVector &data, uint version) const } if(!updateFrame(header)) { - delete header; - return 0; + header->setTagAlterPreservation(true); + return new UnknownFrame(data, header); } + // updateFrame() might have updated the frame ID. + + frameID = header->frameID(); + // This is where things get necissarily nasty. Here we determine which // Frame subclass (or if none is found simply an Frame) based // on the frame ID. Since there are a lot of possibilities, that means @@ -117,6 +125,10 @@ Frame *FrameFactory::createFrame(const ByteVector &data, uint version) const if(d->useDefaultEncoding) f->setTextEncoding(d->defaultEncoding); + + if(frameID == "TCON") + updateGenre(f); + return f; } @@ -148,6 +160,11 @@ Frame *FrameFactory::createFrame(const ByteVector &data, uint version) const if(frameID == "UFID") return new UniqueFileIdentifierFrame(data, header); + // General Encapsulated Object (frames 4.15) + + if(frameID == "GEOB") + return new GeneralEncapsulatedObjectFrame(data, header); + return new UnknownFrame(data, header); } @@ -266,14 +283,14 @@ bool FrameFactory::updateFrame(Frame::Header *header) const frameID == "RVAD" || frameID == "TIME" || frameID == "TRDA" || - frameID == "TSIZ") + frameID == "TSIZ" || + frameID == "TDAT") { debug("ID3v2.4 no longer supports the frame type " + String(frameID) + ". It will be discarded from the tag."); return false; } - convertFrame("TDAT", "TDRC", header); convertFrame("TORY", "TDOR", header); convertFrame("TYER", "TDRC", header); @@ -307,3 +324,29 @@ void FrameFactory::convertFrame(const char *from, const char *to, header->setFrameID(to); } + +void FrameFactory::updateGenre(TextIdentificationFrame *frame) const +{ + StringList fields; + String s = frame->toString(); + + while(s.startsWith("(")) { + + int closing = s.find(")"); + + if(closing < 0) + break; + + fields.append(s.substr(1, closing - 1)); + + s = s.substr(closing + 1); + } + + if(!s.isEmpty()) + fields.append(s); + + if(fields.isEmpty()) + fields.append(String::null); + + frame->setText(fields); +} diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2framefactory.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2framefactory.h index 4a0d11b4b..81cac97e1 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2framefactory.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2framefactory.h @@ -22,13 +22,15 @@ #ifndef TAGLIB_ID3V2FRAMEFACTORY_H #define TAGLIB_ID3V2FRAMEFACTORY_H -#include +#include "tbytevector.h" #include "id3v2frame.h" namespace TagLib { namespace ID3v2 { + class TextIdentificationFrame; + //! A factory for creating ID3v2 frames /*! @@ -86,6 +88,8 @@ namespace TagLib { * \a encoding. If no value is set the frames with either default to the * encoding type that was parsed and new frames default to Latin1. * + * Valid string types for ID3v2 tags are Latin1, UTF8, UTF16 and UTF16BE. + * * \see defaultTextEncoding() */ void setDefaultTextEncoding(String::Type encoding); @@ -128,6 +132,8 @@ namespace TagLib { void convertFrame(const char *from, const char *to, Frame::Header *header) const; + void updateGenre(TextIdentificationFrame *frame) const; + static FrameFactory *factory; class FrameFactoryPrivate; diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2header.cpp b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2header.cpp index 4ed09e8a5..3e65601b3 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2header.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2header.cpp @@ -35,7 +35,7 @@ using namespace ID3v2; class Header::HeaderPrivate { public: - HeaderPrivate() : majorVersion(0), + HeaderPrivate() : majorVersion(4), revisionNumber(0), unsynchronisation(false), extendedHeader(false), @@ -158,6 +158,12 @@ ByteVector Header::render() const v.append(char(4)); v.append(char(0)); + // Currently we don't actually support writing extended headers or footers, so + // make sure that the flags are set accordingly. + + d->extendedHeader = false; + d->footerPresent = false; + // render and add the flags std::bitset<8> flags; diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2header.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2header.h index 56d2fc8aa..d87998889 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2header.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2header.h @@ -22,7 +22,7 @@ #ifndef TAGLIB_ID3V2HEADER_H #define TAGLIB_ID3V2HEADER_H -#include +#include "tbytevector.h" namespace TagLib { @@ -128,8 +128,8 @@ namespace TagLib { static ByteVector fileIdentifier(); /*! - * Sets the data that will be used as the extended header. 10 bytes, - * starting from \a data will be used. + * Sets the data that will be used as the header. 10 bytes, starting from + * the beginning of \a data are used. */ void setData(const ByteVector &data); diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2synchdata.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2synchdata.h index 80a462f1b..4e2b458ca 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2synchdata.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2synchdata.h @@ -22,8 +22,8 @@ #ifndef TAGLIB_ID3V2SYNCHDATA_H #define TAGLIB_ID3V2SYNCHDATA_H -#include -#include +#include "tbytevector.h" +#include "taglib.h" namespace TagLib { diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2tag.cpp b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2tag.cpp index 00249b81e..333e5f60a 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2tag.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2tag.cpp @@ -124,69 +124,47 @@ String ID3v2::Tag::genre() const // should be separated by " / " instead of " ". For the moment to keep // the behavior the same as released versions it is being left with " ". - if(!d->frameListMap["TCON"].isEmpty() && - dynamic_cast(d->frameListMap["TCON"].front())) + if(d->frameListMap["TCON"].isEmpty() || + !dynamic_cast(d->frameListMap["TCON"].front())) { - Frame *frame = d->frameListMap["TCON"].front(); - - // ID3v2.4 lists genres as the fields in its frames field list. If the field - // is simply a number it can be assumed that it is an ID3v1 genre number. - // Here was assume that if an ID3v1 string is present that it should be - // appended to the genre string. Multiple fields will be appended as the - // string is built. - - if(d->header.majorVersion() == 4) { - TextIdentificationFrame *f = static_cast(frame); - StringList fields = f->fieldList(); - - String genreString; - bool hasNumber = false; - - for(StringList::ConstIterator it = fields.begin(); it != fields.end(); ++it) { - bool isNumber = true; - for(String::ConstIterator charIt = (*it).begin(); - isNumber && charIt != (*it).end(); - ++charIt) - { - isNumber = *charIt >= '0' && *charIt <= '9'; - } - - if(!genreString.isEmpty()) - genreString.append(' '); - - if(isNumber) { - int number = (*it).toInt(); - if(number >= 0 && number <= 255) { - hasNumber = true; - genreString.append(ID3v1::genre(number)); - } - } - else - genreString.append(*it); - } - if(hasNumber) - return genreString; - } - - String s = frame->toString(); - - // ID3v2.3 "content type" can contain a ID3v1 genre number in parenthesis at - // the beginning of the field. If this is all that the field contains, do a - // translation from that number to the name and return that. If there is a - // string folloing the ID3v1 genre number, that is considered to be - // authoritative and we return that instead. Or finally, the field may - // simply be free text, in which case we just return the value. - - int closing = s.find(")"); - if(s.substr(0, 1) == "(" && closing > 0) { - if(closing == int(s.size() - 1)) - return ID3v1::genre(s.substr(1, s.size() - 2).toInt()); - else - return s.substr(closing + 1); - } - return s; + return String::null; } - return String::null; + + // ID3v2.4 lists genres as the fields in its frames field list. If the field + // is simply a number it can be assumed that it is an ID3v1 genre number. + // Here was assume that if an ID3v1 string is present that it should be + // appended to the genre string. Multiple fields will be appended as the + // string is built. + + TextIdentificationFrame *f = static_cast( + d->frameListMap["TCON"].front()); + + StringList fields = f->fieldList(); + + StringList genres; + + for(StringList::Iterator it = fields.begin(); it != fields.end(); ++it) { + + bool isNumber = true; + + for(String::ConstIterator charIt = (*it).begin(); + isNumber && charIt != (*it).end(); + ++charIt) + { + isNumber = *charIt >= '0' && *charIt <= '9'; + } + + if(isNumber) { + int number = (*it).toInt(); + if(number >= 0 && number <= 255) + *it = ID3v1::genre(number); + } + + if(std::find(genres.begin(), genres.end(), *it) == genres.end()) + genres.append(*it); + } + + return genres.toString(); } TagLib::uint ID3v2::Tag::year() const @@ -320,7 +298,7 @@ void ID3v2::Tag::removeFrame(Frame *frame, bool del) // ...and delete as desired if(del) - delete *it; + delete frame; } void ID3v2::Tag::removeFrames(const ByteVector &id) @@ -343,8 +321,10 @@ ByteVector ID3v2::Tag::render() const // Loop through the frames rendering them and adding them to the tagData. - for(FrameList::Iterator it = d->frameList.begin(); it != d->frameList.end(); it++) - tagData.append((*it)->render()); + for(FrameList::Iterator it = d->frameList.begin(); it != d->frameList.end(); it++) { + if(!(*it)->header()->tagAlterPreservation()) + tagData.append((*it)->render()); + } // Compute the amount of padding, and append that to tagData. diff --git a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2tag.h b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2tag.h index 5606c9d9c..8e8411122 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2tag.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/id3v2/id3v2tag.h @@ -22,11 +22,11 @@ #ifndef TAGLIB_ID3V2TAG_H #define TAGLIB_ID3V2TAG_H -#include -#include -#include -#include -#include +#include "tag.h" +#include "tbytevector.h" +#include "tstring.h" +#include "tlist.h" +#include "tmap.h" #include "id3v2framefactory.h" @@ -192,7 +192,7 @@ namespace TagLib { * TagLib::ID3v2::FrameList l = f.ID3v2Tag()->frameListMap()["TBPM"]; * * if(!l.isEmpty()) - * std::cout << l.front().toString() << std::endl; + * std::cout << l.front()->toString() << std::endl; * } * * \endcode diff --git a/Frameworks/TagLib/Files/taglib/mpeg/mpegfile.cpp b/Frameworks/TagLib/Files/taglib/mpeg/mpegfile.cpp index 56c1b4870..9bfa64ece 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/mpegfile.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/mpegfile.cpp @@ -188,6 +188,7 @@ public: ~FilePrivate() { delete ID3v2Tag; delete ID3v1Tag; + delete APETag; delete tag; delete properties; } @@ -263,12 +264,17 @@ bool MPEG::File::save() bool MPEG::File::save(int tags) { - if(tags == NoTags) + return save(tags, true); +} + +bool MPEG::File::save(int tags, bool stripOthers) +{ + if(tags == NoTags && stripOthers) return strip(AllTags); if(!d->ID3v2Tag && !d->ID3v1Tag && !d->APETag) { - if(d->hasID3v1 || d->hasID3v2 || d->hasAPE) + if((d->hasID3v1 || d->hasID3v2 || d->hasAPE) && stripOthers) return strip(AllTags); return true; @@ -299,10 +305,10 @@ bool MPEG::File::save(int tags) insert(d->ID3v2Tag->render(), d->ID3v2Location, d->ID3v2OriginalSize); } - else + else if(stripOthers) success = strip(ID3v2, false) && success; } - else if(d->hasID3v2) + else if(d->hasID3v2 && stripOthers) success = strip(ID3v2) && success; if(ID3v1 & tags) { @@ -311,13 +317,14 @@ bool MPEG::File::save(int tags) seek(offset, End); writeBlock(d->ID3v1Tag->render()); } - else + else if(stripOthers) success = strip(ID3v1) && success; } - else if(d->hasID3v1) + else if(d->hasID3v1 && stripOthers) success = strip(ID3v1, false) && success; // Dont save an APE-tag unless one has been created + if((APE & tags) && d->APETag) { if(d->hasAPE) insert(d->APETag->render(), d->APELocation, d->APEOriginalSize); @@ -338,7 +345,7 @@ bool MPEG::File::save(int tags) } } } - else if(d->hasAPE) + else if(d->hasAPE && stripOthers) success = strip(APE, false) && success; return success; @@ -444,11 +451,11 @@ long MPEG::File::nextFrameOffset(long position) while(buffer.size() > 0) { seek(position); - ByteVector buffer = readBlock(bufferSize()); + buffer = readBlock(bufferSize()); - for(uint i = 0; i < buffer.size(); i++) { + for(uint i = 0; i < buffer.size() - 1; i++) { if(uchar(buffer[i]) == 0xff && secondSynchByte(buffer[i + 1])) - return position + i; + return position + i; } position += bufferSize(); } diff --git a/Frameworks/TagLib/Files/taglib/mpeg/mpegfile.h b/Frameworks/TagLib/Files/taglib/mpeg/mpegfile.h index 431523e08..f8c331478 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/mpegfile.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/mpegfile.h @@ -22,7 +22,7 @@ #ifndef TAGLIB_MPEGFILE_H #define TAGLIB_MPEGFILE_H -#include +#include "tfile.h" #include "mpegproperties.h" @@ -144,6 +144,18 @@ namespace TagLib { */ bool save(int tags); + /*! + * Save the file. This will attempt to save all of the tag types that are + * specified by OR-ing together TagTypes values. The save() method above + * uses AllTags. This returns true if saving was successful. + * + * If \a stripOthers is true this strips all tags not included in the mask, + * but does not modify them in memory, so later calls to save() which make + * use of these tags will remain valid. This also strips empty tags. + */ + // BIC: combine with the above method + bool save(int tags, bool stripOthers); + /*! * Returns a pointer to the ID3v2 tag of the file. * diff --git a/Frameworks/TagLib/Files/taglib/mpeg/mpegheader.cpp b/Frameworks/TagLib/Files/taglib/mpeg/mpegheader.cpp index eb93db451..1d3dda90b 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/mpegheader.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/mpegheader.cpp @@ -233,12 +233,13 @@ void MPEG::Header::parse(const ByteVector &data) // The channel mode is encoded as a 2 bit value at the end of the 3nd byte, // i.e. xxxxxx11 - d->channelMode = ChannelMode(uchar(data[2]) & 0x3); + d->channelMode = ChannelMode((uchar(data[3]) & 0xC0) >> 6); // TODO: Add mode extension for completeness - d->isCopyrighted = flags[0]; - d->isOriginal = flags[1]; + d->isOriginal = flags[2]; + d->isCopyrighted = flags[3]; + d->isPadded = flags[9]; // Calculate the frame length diff --git a/Frameworks/TagLib/Files/taglib/mpeg/mpegproperties.cpp b/Frameworks/TagLib/Files/taglib/mpeg/mpegproperties.cpp index ba245b206..fb816f8d6 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/mpegproperties.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/mpegproperties.cpp @@ -33,21 +33,35 @@ class MPEG::Properties::PropertiesPrivate public: PropertiesPrivate(File *f, ReadStyle s) : file(f), + xingHeader(0), style(s), length(0), bitrate(0), sampleRate(0), - channels(0) {} + channels(0), + layer(0), + version(Header::Version1), + channelMode(Header::Stereo), + protectionEnabled(false), + isCopyrighted(false), + isOriginal(false) {} + + ~PropertiesPrivate() + { + delete xingHeader; + } File *file; + XingHeader *xingHeader; ReadStyle style; int length; int bitrate; int sampleRate; int channels; - Header::Version version; int layer; + Header::Version version; Header::ChannelMode channelMode; + bool protectionEnabled; bool isCopyrighted; bool isOriginal; }; @@ -89,6 +103,11 @@ int MPEG::Properties::channels() const return d->channels; } +const MPEG::XingHeader *MPEG::Properties::xingHeader() const +{ + return d->xingHeader; +} + MPEG::Header::Version MPEG::Properties::version() const { return d->version; @@ -99,6 +118,11 @@ int MPEG::Properties::layer() const return d->layer; } +bool MPEG::Properties::protectionEnabled() const +{ + return d->protectionEnabled; +} + MPEG::Header::ChannelMode MPEG::Properties::channelMode() const { return d->channelMode; @@ -179,34 +203,37 @@ void MPEG::Properties::read() firstHeader.channelMode()); d->file->seek(first + xingHeaderOffset); - XingHeader xingHeader(d->file->readBlock(16)); + d->xingHeader = new XingHeader(d->file->readBlock(16)); // Read the length and the bitrate from the Xing header. - if(xingHeader.isValid() && + if(d->xingHeader->isValid() && firstHeader.sampleRate() > 0 && - xingHeader.totalFrames() > 0) + d->xingHeader->totalFrames() > 0) { static const int blockSize[] = { 0, 384, 1152, 1152 }; - double timePerFrame = blockSize[firstHeader.layer()]; - timePerFrame = firstHeader.sampleRate() > 0 ? timePerFrame / firstHeader.sampleRate() : 0; - d->length = int(timePerFrame * xingHeader.totalFrames()); - d->bitrate = d->length > 0 ? xingHeader.totalSize() * 8 / d->length / 1000 : 0; + double timePerFrame = blockSize[firstHeader.layer()] / firstHeader.sampleRate(); + d->length = int(timePerFrame * d->xingHeader->totalFrames()); + d->bitrate = d->length > 0 ? d->xingHeader->totalSize() * 8 / d->length / 1000 : 0; } + else { + // Since there was no valid Xing header found, we hope that we're in a constant + // bitrate file. - // Since there was no valid Xing header found, we hope that we're in a constant - // bitrate file. + delete d->xingHeader; + d->xingHeader = 0; - // TODO: Make this more robust with audio property detection for VBR without a - // Xing header. + // TODO: Make this more robust with audio property detection for VBR without a + // Xing header. - else if(firstHeader.frameLength() > 0 && firstHeader.bitrate() > 0) { - int frames = (last - first) / firstHeader.frameLength() + 1; + if(firstHeader.frameLength() > 0 && firstHeader.bitrate() > 0) { + int frames = (last - first) / firstHeader.frameLength() + 1; - d->length = int(float(firstHeader.frameLength() * frames) / - float(firstHeader.bitrate() * 125) + 0.5); - d->bitrate = firstHeader.bitrate(); + d->length = int(float(firstHeader.frameLength() * frames) / + float(firstHeader.bitrate() * 125) + 0.5); + d->bitrate = firstHeader.bitrate(); + } } @@ -214,6 +241,7 @@ void MPEG::Properties::read() d->channels = firstHeader.channelMode() == Header::SingleChannel ? 1 : 2; d->version = firstHeader.version(); d->layer = firstHeader.layer(); + d->protectionEnabled = firstHeader.protectionEnabled(); d->channelMode = firstHeader.channelMode(); d->isCopyrighted = firstHeader.isCopyrighted(); d->isOriginal = firstHeader.isOriginal(); diff --git a/Frameworks/TagLib/Files/taglib/mpeg/mpegproperties.h b/Frameworks/TagLib/Files/taglib/mpeg/mpegproperties.h index f50066cc0..3cd9210a5 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/mpegproperties.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/mpegproperties.h @@ -22,7 +22,7 @@ #ifndef TAGLIB_MPEGPROPERTIES_H #define TAGLIB_MPEGPROPERTIES_H -#include +#include "audioproperties.h" #include "mpegheader.h" @@ -31,6 +31,7 @@ namespace TagLib { namespace MPEG { class File; + class XingHeader; //! An implementation of audio property reading for MP3 @@ -60,6 +61,13 @@ namespace TagLib { virtual int sampleRate() const; virtual int channels() const; + /*! + * Returns a pointer to the XingHeader if one exists or null if no + * XingHeader was found. + */ + + const XingHeader *xingHeader() const; + /*! * Returns the MPEG Version of the file. */ diff --git a/Frameworks/TagLib/Files/taglib/mpeg/xingheader.cpp b/Frameworks/TagLib/Files/taglib/mpeg/xingheader.cpp index 5a0936355..23b645ae8 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/xingheader.cpp +++ b/Frameworks/TagLib/Files/taglib/mpeg/xingheader.cpp @@ -88,18 +88,18 @@ void MPEG::XingHeader::parse(const ByteVector &data) { // Check to see if a valid Xing header is available. - if(data.mid(0, 4) != "Xing") + if(!data.startsWith("Xing") && !data.startsWith("Info")) return; // If the XingHeader doesn't contain the number of frames and the total stream // info it's invalid. - if(!(data[7] & 0x02)) { + if(!(data[7] & 0x01)) { debug("MPEG::XingHeader::parse() -- Xing header doesn't contain the total number of frames."); return; } - if(!(data[7] & 0x04)) { + if(!(data[7] & 0x02)) { debug("MPEG::XingHeader::parse() -- Xing header doesn't contain the total stream size."); return; } diff --git a/Frameworks/TagLib/Files/taglib/mpeg/xingheader.h b/Frameworks/TagLib/Files/taglib/mpeg/xingheader.h index 09e4bf91f..00e83918f 100644 --- a/Frameworks/TagLib/Files/taglib/mpeg/xingheader.h +++ b/Frameworks/TagLib/Files/taglib/mpeg/xingheader.h @@ -57,7 +57,7 @@ namespace TagLib { virtual ~XingHeader(); /*! - * Returns true if the data was parsed properly and if there is a vaild + * Returns true if the data was parsed properly and if there is a valid * Xing header present. */ bool isValid() const; @@ -76,6 +76,7 @@ namespace TagLib { * Returns the offset for the start of this Xing header, given the * version and channels of the frame */ + // BIC: rename to offset() static int xingHeaderOffset(TagLib::MPEG::Header::Version v, TagLib::MPEG::Header::ChannelMode c); diff --git a/Frameworks/TagLib/Files/taglib/ogg/Makefile.am b/Frameworks/TagLib/Files/taglib/ogg/Makefile.am deleted file mode 100644 index d80e5e4fe..000000000 --- a/Frameworks/TagLib/Files/taglib/ogg/Makefile.am +++ /dev/null @@ -1,23 +0,0 @@ -SUBDIRS = vorbis flac - -INCLUDES = -I$(top_srcdir)/taglib -I$(top_srcdir)/taglib/toolkit $(all_includes) - -noinst_LTLIBRARIES = libogg.la - -libogg_la_SOURCES = \ - oggfile.cpp \ - oggpage.cpp \ - oggpageheader.cpp \ - xiphcomment.cpp - -taglib_include_HEADERS = \ - oggfile.h \ - oggpage.h \ - oggpageheader.h \ - xiphcomment.h - -taglib_includedir = $(includedir)/taglib - -libogg_la_LIBADD = ./vorbis/libvorbis.la ./flac/liboggflac.la - -EXTRA_DIST = $(libogg_la_SOURCES) $(taglib_include_HEADERS) diff --git a/Frameworks/TagLib/Files/taglib/ogg/Makefile.in b/Frameworks/TagLib/Files/taglib/ogg/Makefile.in deleted file mode 100644 index 7f4b0d422..000000000 --- a/Frameworks/TagLib/Files/taglib/ogg/Makefile.in +++ /dev/null @@ -1,664 +0,0 @@ -# Makefile.in generated by automake 1.7.6 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 3 $ -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONF_FILES = @CONF_FILES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDE_PLUGIN = @KDE_PLUGIN@ -KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ -KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ -KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ -KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -NOOPT_CFLAGS = @NOOPT_CFLAGS@ -NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ -NOREPO = @NOREPO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPO = @REPO@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -USE_EXCEPTIONS = @USE_EXCEPTIONS@ -USE_RTTI = @USE_RTTI@ -VERSION = @VERSION@ -WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -all_includes = @all_includes@ -all_libraries = @all_libraries@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -link_zlib_FALSE = @link_zlib_FALSE@ -link_zlib_TRUE = @link_zlib_TRUE@ -localstatedir = @localstatedir@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -SUBDIRS = vorbis flac - -INCLUDES = -I$(top_srcdir)/taglib -I$(top_srcdir)/taglib/toolkit $(all_includes) - -noinst_LTLIBRARIES = libogg.la - -libogg_la_SOURCES = \ - oggfile.cpp \ - oggpage.cpp \ - oggpageheader.cpp \ - xiphcomment.cpp - - -taglib_include_HEADERS = \ - oggfile.h \ - oggpage.h \ - oggpageheader.h \ - xiphcomment.h - - -taglib_includedir = $(includedir)/taglib - -libogg_la_LIBADD = ./vorbis/libvorbis.la ./flac/liboggflac.la - -EXTRA_DIST = $(libogg_la_SOURCES) $(taglib_include_HEADERS) -subdir = taglib/ogg -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) - -libogg_la_LDFLAGS = -libogg_la_DEPENDENCIES = ./vorbis/libvorbis.la ./flac/liboggflac.la -am_libogg_la_OBJECTS = oggfile.lo oggpage.lo oggpageheader.lo \ - xiphcomment.lo -#>- libogg_la_OBJECTS = $(am_libogg_la_OBJECTS) -#>+ 5 -libogg_la_final_OBJECTS = libogg_la.all_cpp.lo -libogg_la_nofinal_OBJECTS = oggfile.lo oggpage.lo oggpageheader.lo \ - xiphcomment.lo -@KDE_USE_FINAL_FALSE@libogg_la_OBJECTS = $(libogg_la_nofinal_OBJECTS) -@KDE_USE_FINAL_TRUE@libogg_la_OBJECTS = $(libogg_la_final_OBJECTS) - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/admin/depcomp -am__depfiles_maybe = depfiles -#>- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/oggfile.Plo ./$(DEPDIR)/oggpage.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/oggpageheader.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/xiphcomment.Plo -#>+ 7 -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@DEP_FILES = $(DEPDIR)/libogg_la.all_cpp.P ./$(DEPDIR)/oggfile.Plo ./$(DEPDIR)/oggpage.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/oggpageheader.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/xiphcomment.Plo -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@DEP_FILES = ./$(DEPDIR)/oggfile.Plo ./$(DEPDIR)/oggpage.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/oggpageheader.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/xiphcomment.Plo - -#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 2 -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -#>- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ -#>- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -#>- $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 3 -LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -CXXLD = $(CXX) -#>- CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -#>- $(AM_LDFLAGS) $(LDFLAGS) -o $@ -#>+ 2 -CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(libogg_la_SOURCES) -HEADERS = $(taglib_include_HEADERS) - - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(taglib_include_HEADERS) Makefile.am Makefile.in -DIST_SUBDIRS = $(SUBDIRS) -SOURCES = $(libogg_la_SOURCES) - -#>- all: all-recursive -#>+ 1 -all: docs-am all-recursive - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu taglib/ogg/Makefile -#>+ 3 - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/ogg/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/ogg/Makefile.in -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" = "$$p" && dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libogg.la: $(libogg_la_OBJECTS) $(libogg_la_DEPENDENCIES) - $(CXXLINK) $(libogg_la_LDFLAGS) $(libogg_la_OBJECTS) $(libogg_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oggfile.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oggpage.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oggpageheader.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xiphcomment.Plo@am__quote@ - -distclean-depend: - -rm -rf ./$(DEPDIR) - -.cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -.cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` - -.cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -taglib_includeHEADERS_INSTALL = $(INSTALL_HEADER) -install-taglib_includeHEADERS: $(taglib_include_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f"; \ - $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -uninstall-taglib_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(taglib_includedir)/$$f"; \ - rm -f $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - else \ - include_option=--include; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: installdirs-recursive -installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -#>- clean: clean-recursive -#>+ 1 -clean: kde-rpo-clean clean-recursive - -#>- clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ -#>- mostlyclean-am -#>+ 2 -clean-am: clean-final clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-recursive - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: install-taglib_includeHEADERS - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am uninstall-taglib_includeHEADERS - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-noinstLTLIBRARIES \ - clean-recursive ctags ctags-recursive distclean \ - distclean-compile distclean-depend distclean-generic \ - distclean-libtool distclean-recursive distclean-tags distdir \ - dvi dvi-am dvi-recursive info info-am info-recursive install \ - install-am install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip install-taglib_includeHEADERS \ - installcheck installcheck-am installdirs installdirs-am \ - installdirs-recursive maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \ - tags-recursive uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive \ - uninstall-taglib_includeHEADERS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -#>+ 2 -docs-am: - -#>+ 6 -force-reedit: - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/ogg/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/ogg/Makefile.in - - -#>+ 11 -libogg_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/oggfile.cpp $(srcdir)/oggpage.cpp $(srcdir)/oggpageheader.cpp $(srcdir)/xiphcomment.cpp - @echo 'creating libogg_la.all_cpp.cpp ...'; \ - rm -f libogg_la.all_cpp.files libogg_la.all_cpp.final; \ - echo "#define KDE_USE_FINAL 1" >> libogg_la.all_cpp.final; \ - for file in oggfile.cpp oggpage.cpp oggpageheader.cpp xiphcomment.cpp ; do \ - echo "#include \"$$file\"" >> libogg_la.all_cpp.files; \ - test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> libogg_la.all_cpp.final; \ - done; \ - cat libogg_la.all_cpp.final libogg_la.all_cpp.files > libogg_la.all_cpp.cpp; \ - rm -f libogg_la.all_cpp.final libogg_la.all_cpp.files - -#>+ 3 -clean-final: - -rm -f libogg_la.all_cpp.cpp - -#>+ 2 -final: - $(MAKE) libogg_la_OBJECTS="$(libogg_la_final_OBJECTS)" all-am -#>+ 2 -final-install: - $(MAKE) libogg_la_OBJECTS="$(libogg_la_final_OBJECTS)" install-am -#>+ 2 -no-final: - $(MAKE) libogg_la_OBJECTS="$(libogg_la_nofinal_OBJECTS)" all-am -#>+ 2 -no-final-install: - $(MAKE) libogg_la_OBJECTS="$(libogg_la_nofinal_OBJECTS)" install-am -#>+ 3 -cvs-clean: - $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo diff --git a/Frameworks/TagLib/Files/taglib/ogg/flac/Makefile.am b/Frameworks/TagLib/Files/taglib/ogg/flac/Makefile.am deleted file mode 100644 index 83c08539f..000000000 --- a/Frameworks/TagLib/Files/taglib/ogg/flac/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/ogg \ - -I$(top_srcdir)/taglib/flac \ - $(all_includes) - -noinst_LTLIBRARIES = liboggflac.la - -liboggflac_la_SOURCES = oggflacfile.cpp - -taglib_include_HEADERS = oggflacfile.h -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(liboggflac_la_SOURCES) $(taglib_include_HEADERS) diff --git a/Frameworks/TagLib/Files/taglib/ogg/flac/Makefile.in b/Frameworks/TagLib/Files/taglib/ogg/flac/Makefile.in deleted file mode 100644 index f882d772a..000000000 --- a/Frameworks/TagLib/Files/taglib/ogg/flac/Makefile.in +++ /dev/null @@ -1,522 +0,0 @@ -# Makefile.in generated by automake 1.7.6 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 3 $ -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONF_FILES = @CONF_FILES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDE_PLUGIN = @KDE_PLUGIN@ -KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ -KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ -KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ -KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -NOOPT_CFLAGS = @NOOPT_CFLAGS@ -NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ -NOREPO = @NOREPO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPO = @REPO@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -USE_EXCEPTIONS = @USE_EXCEPTIONS@ -USE_RTTI = @USE_RTTI@ -VERSION = @VERSION@ -WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -all_includes = @all_includes@ -all_libraries = @all_libraries@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -link_zlib_FALSE = @link_zlib_FALSE@ -link_zlib_TRUE = @link_zlib_TRUE@ -localstatedir = @localstatedir@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/ogg \ - -I$(top_srcdir)/taglib/flac \ - $(all_includes) - - -noinst_LTLIBRARIES = liboggflac.la - -liboggflac_la_SOURCES = oggflacfile.cpp - -taglib_include_HEADERS = oggflacfile.h -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(liboggflac_la_SOURCES) $(taglib_include_HEADERS) -subdir = taglib/ogg/flac -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) - -liboggflac_la_LDFLAGS = -liboggflac_la_LIBADD = -am_liboggflac_la_OBJECTS = oggflacfile.lo -#>- liboggflac_la_OBJECTS = $(am_liboggflac_la_OBJECTS) -#>+ 1 -liboggflac_la_OBJECTS = oggflacfile.lo - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/admin/depcomp -am__depfiles_maybe = depfiles -#>- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/oggflacfile.Plo -#>+ 2 -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/oggflacfile.Plo - -#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 2 -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -#>- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ -#>- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -#>- $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 3 -LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -CXXLD = $(CXX) -#>- CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -#>- $(AM_LDFLAGS) $(LDFLAGS) -o $@ -#>+ 2 -CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(liboggflac_la_SOURCES) -HEADERS = $(taglib_include_HEADERS) - -DIST_COMMON = $(taglib_include_HEADERS) Makefile.am Makefile.in -SOURCES = $(liboggflac_la_SOURCES) - -#>- all: all-am -#>+ 1 -all: docs-am all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu taglib/ogg/flac/Makefile -#>+ 3 - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/ogg/flac/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/ogg/flac/Makefile.in -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" = "$$p" && dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -liboggflac.la: $(liboggflac_la_OBJECTS) $(liboggflac_la_DEPENDENCIES) - $(CXXLINK) $(liboggflac_la_LDFLAGS) $(liboggflac_la_OBJECTS) $(liboggflac_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oggflacfile.Plo@am__quote@ - -distclean-depend: - -rm -rf ./$(DEPDIR) - -.cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -.cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` - -.cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -taglib_includeHEADERS_INSTALL = $(INSTALL_HEADER) -install-taglib_includeHEADERS: $(taglib_include_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f"; \ - $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -uninstall-taglib_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(taglib_includedir)/$$f"; \ - rm -f $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -#>- clean: clean-am -#>+ 1 -clean: kde-rpo-clean clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: install-taglib_includeHEADERS - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-taglib_includeHEADERS - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES ctags distclean \ - distclean-compile distclean-depend distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am info \ - info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip install-taglib_includeHEADERS \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-taglib_includeHEADERS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -#>+ 2 -docs-am: - -#>+ 6 -force-reedit: - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/ogg/flac/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/ogg/flac/Makefile.in - - -#>+ 2 -final: - $(MAKE) all-am -#>+ 2 -final-install: - $(MAKE) install-am -#>+ 2 -no-final: - $(MAKE) all-am -#>+ 2 -no-final-install: - $(MAKE) install-am -#>+ 3 -cvs-clean: - $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo diff --git a/Frameworks/TagLib/Files/taglib/ogg/flac/oggflacfile.cpp b/Frameworks/TagLib/Files/taglib/ogg/flac/oggflacfile.cpp index 9f8fd7cf8..132bb80d9 100644 --- a/Frameworks/TagLib/Files/taglib/ogg/flac/oggflacfile.cpp +++ b/Frameworks/TagLib/Files/taglib/ogg/flac/oggflacfile.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - copyright : (C) 2004 by Allan Sandfeld Jensen + copyright : (C) 2004-2005 by Allan Sandfeld Jensen email : kde@carewolf.org ***************************************************************************/ @@ -178,16 +178,33 @@ void Ogg::FLAC::File::scan() if(!isValid()) return; - int ipacket = 1; + int ipacket = 0; long overhead = 0; ByteVector metadataHeader = packet(ipacket); - if(metadataHeader.isNull()) return; - ByteVector header = metadataHeader.mid(0,4); + ByteVector header; + if (!metadataHeader.startsWith("fLaC")) { + // FLAC 1.1.2+ + if (metadataHeader.mid(1,4) != "FLAC") return; + + if (metadataHeader[5] != 1) return; // not version 1 + + metadataHeader = metadataHeader.mid(13); + } + else { + // FLAC 1.1.0 & 1.1.1 + metadataHeader = packet(++ipacket); + + if(metadataHeader.isNull()) + return; + + } + + header = metadataHeader.mid(0,4); // Header format (from spec): // <1> Last-metadata-block flag // <7> BLOCK_TYPE @@ -199,7 +216,7 @@ void Ogg::FLAC::File::scan() // <24> Length of metadata to follow char blockType = header[0] & 0x7f; - bool lastBlock = header[0] & 0x80; + bool lastBlock = (header[0] & 0x80) != 0; uint length = header.mid(1, 3).toUInt(); overhead += length; @@ -217,9 +234,12 @@ void Ogg::FLAC::File::scan() while(!lastBlock) { metadataHeader = packet(++ipacket); + if(metadataHeader.isNull()) + return; + header = metadataHeader.mid(0, 4); blockType = header[0] & 0x7f; - lastBlock = header[0] & 0x80; + lastBlock = (header[0] & 0x80) != 0; length = header.mid(1, 3).toUInt(); overhead += length; diff --git a/Frameworks/TagLib/Files/taglib/ogg/flac/oggflacfile.h b/Frameworks/TagLib/Files/taglib/ogg/flac/oggflacfile.h index 94ec57509..f1a7452dc 100644 --- a/Frameworks/TagLib/Files/taglib/ogg/flac/oggflacfile.h +++ b/Frameworks/TagLib/Files/taglib/ogg/flac/oggflacfile.h @@ -22,10 +22,10 @@ #ifndef TAGLIB_OGGFLACFILE_H #define TAGLIB_OGGFLACFILE_H -#include -#include +#include "oggfile.h" +#include "xiphcomment.h" -#include +#include "flacproperties.h" namespace TagLib { diff --git a/Frameworks/TagLib/Files/taglib/ogg/oggfile.h b/Frameworks/TagLib/Files/taglib/ogg/oggfile.h index 0ca59dd99..dc7d22484 100644 --- a/Frameworks/TagLib/Files/taglib/ogg/oggfile.h +++ b/Frameworks/TagLib/Files/taglib/ogg/oggfile.h @@ -19,8 +19,8 @@ * USA * ***************************************************************************/ -#include -#include +#include "tfile.h" +#include "tbytevectorlist.h" #ifndef TAGLIB_OGGFILE_H #define TAGLIB_OGGFILE_H diff --git a/Frameworks/TagLib/Files/taglib/ogg/oggpage.cpp b/Frameworks/TagLib/Files/taglib/ogg/oggpage.cpp index 4387905e2..ef891b0e9 100644 --- a/Frameworks/TagLib/Files/taglib/ogg/oggpage.cpp +++ b/Frameworks/TagLib/Files/taglib/ogg/oggpage.cpp @@ -20,6 +20,7 @@ ***************************************************************************/ #include +#include #include "oggpage.h" #include "oggpageheader.h" diff --git a/Frameworks/TagLib/Files/taglib/ogg/oggpage.h b/Frameworks/TagLib/Files/taglib/ogg/oggpage.h index c4b0792a2..a95b54c04 100644 --- a/Frameworks/TagLib/Files/taglib/ogg/oggpage.h +++ b/Frameworks/TagLib/Files/taglib/ogg/oggpage.h @@ -22,7 +22,7 @@ #ifndef TAGLIB_OGGPAGE_H #define TAGLIB_OGGPAGE_H -#include +#include "tbytevectorlist.h" namespace TagLib { diff --git a/Frameworks/TagLib/Files/taglib/ogg/oggpageheader.cpp b/Frameworks/TagLib/Files/taglib/ogg/oggpageheader.cpp index 40fe92dca..0769c2800 100644 --- a/Frameworks/TagLib/Files/taglib/ogg/oggpageheader.cpp +++ b/Frameworks/TagLib/Files/taglib/ogg/oggpageheader.cpp @@ -238,7 +238,7 @@ void Ogg::PageHeader::read() // Sanity check -- make sure that we were in fact able to read as much data as // we asked for and that the page begins with "OggS". - if(data.size() != 27 || data.mid(0, 4) != "OggS") { + if(data.size() != 27 || !data.startsWith("OggS")) { debug("Ogg::PageHeader::read() -- error reading page header"); return; } @@ -255,7 +255,7 @@ void Ogg::PageHeader::read() // Byte number 27 is the number of page segments, which is the only variable // length portion of the page header. After reading the number of page - // segments we'll then read in the coresponding data for this count. + // segments we'll then read in the corresponding data for this count. int pageSegmentCount = uchar(data[26]); diff --git a/Frameworks/TagLib/Files/taglib/ogg/oggpageheader.h b/Frameworks/TagLib/Files/taglib/ogg/oggpageheader.h index 45f22a83e..2a994d166 100644 --- a/Frameworks/TagLib/Files/taglib/ogg/oggpageheader.h +++ b/Frameworks/TagLib/Files/taglib/ogg/oggpageheader.h @@ -22,8 +22,8 @@ #ifndef TAGLIB_OGGPAGEHEADER_H #define TAGLIB_OGGPAGEHEADER_H -#include -#include +#include "tlist.h" +#include "tbytevector.h" namespace TagLib { diff --git a/Frameworks/TagLib/Files/taglib/ogg/vorbis/Makefile.am b/Frameworks/TagLib/Files/taglib/ogg/vorbis/Makefile.am deleted file mode 100644 index 4a6393c1f..000000000 --- a/Frameworks/TagLib/Files/taglib/ogg/vorbis/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/ogg \ - $(all_includes) - -noinst_LTLIBRARIES = libvorbis.la - -libvorbis_la_SOURCES = vorbisfile.cpp vorbisproperties.cpp - -taglib_include_HEADERS = vorbisfile.h vorbisproperties.h -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libvorbis_la_SOURCES) $(taglib_include_HEADERS) diff --git a/Frameworks/TagLib/Files/taglib/ogg/vorbis/Makefile.in b/Frameworks/TagLib/Files/taglib/ogg/vorbis/Makefile.in deleted file mode 100644 index 47b11cca4..000000000 --- a/Frameworks/TagLib/Files/taglib/ogg/vorbis/Makefile.in +++ /dev/null @@ -1,548 +0,0 @@ -# Makefile.in generated by automake 1.7.6 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 3 $ -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONF_FILES = @CONF_FILES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDE_PLUGIN = @KDE_PLUGIN@ -KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ -KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ -KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ -KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -NOOPT_CFLAGS = @NOOPT_CFLAGS@ -NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ -NOREPO = @NOREPO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPO = @REPO@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -USE_EXCEPTIONS = @USE_EXCEPTIONS@ -USE_RTTI = @USE_RTTI@ -VERSION = @VERSION@ -WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -all_includes = @all_includes@ -all_libraries = @all_libraries@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -link_zlib_FALSE = @link_zlib_FALSE@ -link_zlib_TRUE = @link_zlib_TRUE@ -localstatedir = @localstatedir@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -INCLUDES = \ - -I$(top_srcdir)/taglib \ - -I$(top_srcdir)/taglib/toolkit \ - -I$(top_srcdir)/taglib/ogg \ - $(all_includes) - - -noinst_LTLIBRARIES = libvorbis.la - -libvorbis_la_SOURCES = vorbisfile.cpp vorbisproperties.cpp - -taglib_include_HEADERS = vorbisfile.h vorbisproperties.h -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libvorbis_la_SOURCES) $(taglib_include_HEADERS) -subdir = taglib/ogg/vorbis -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) - -libvorbis_la_LDFLAGS = -libvorbis_la_LIBADD = -am_libvorbis_la_OBJECTS = vorbisfile.lo vorbisproperties.lo -#>- libvorbis_la_OBJECTS = $(am_libvorbis_la_OBJECTS) -#>+ 4 -libvorbis_la_final_OBJECTS = libvorbis_la.all_cpp.lo -libvorbis_la_nofinal_OBJECTS = vorbisfile.lo vorbisproperties.lo -@KDE_USE_FINAL_FALSE@libvorbis_la_OBJECTS = $(libvorbis_la_nofinal_OBJECTS) -@KDE_USE_FINAL_TRUE@libvorbis_la_OBJECTS = $(libvorbis_la_final_OBJECTS) - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/admin/depcomp -am__depfiles_maybe = depfiles -#>- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/vorbisfile.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/vorbisproperties.Plo -#>+ 5 -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@DEP_FILES = $(DEPDIR)/libvorbis_la.all_cpp.P ./$(DEPDIR)/vorbisfile.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/vorbisproperties.Plo -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@DEP_FILES = ./$(DEPDIR)/vorbisfile.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/vorbisproperties.Plo - -#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 2 -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -#>- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ -#>- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -#>- $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 3 -LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -CXXLD = $(CXX) -#>- CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -#>- $(AM_LDFLAGS) $(LDFLAGS) -o $@ -#>+ 2 -CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(libvorbis_la_SOURCES) -HEADERS = $(taglib_include_HEADERS) - -DIST_COMMON = $(taglib_include_HEADERS) Makefile.am Makefile.in -SOURCES = $(libvorbis_la_SOURCES) - -#>- all: all-am -#>+ 1 -all: docs-am all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu taglib/ogg/vorbis/Makefile -#>+ 3 - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/ogg/vorbis/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/ogg/vorbis/Makefile.in -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" = "$$p" && dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libvorbis.la: $(libvorbis_la_OBJECTS) $(libvorbis_la_DEPENDENCIES) - $(CXXLINK) $(libvorbis_la_LDFLAGS) $(libvorbis_la_OBJECTS) $(libvorbis_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vorbisfile.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vorbisproperties.Plo@am__quote@ - -distclean-depend: - -rm -rf ./$(DEPDIR) - -.cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -.cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` - -.cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -taglib_includeHEADERS_INSTALL = $(INSTALL_HEADER) -install-taglib_includeHEADERS: $(taglib_include_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f"; \ - $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -uninstall-taglib_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(taglib_includedir)/$$f"; \ - rm -f $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -#>- clean: clean-am -#>+ 1 -clean: kde-rpo-clean clean-am - -#>- clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ -#>- mostlyclean-am -#>+ 2 -clean-am: clean-final clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: install-taglib_includeHEADERS - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-taglib_includeHEADERS - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES ctags distclean \ - distclean-compile distclean-depend distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am info \ - info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip install-taglib_includeHEADERS \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-taglib_includeHEADERS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -#>+ 2 -docs-am: - -#>+ 6 -force-reedit: - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/ogg/vorbis/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/ogg/vorbis/Makefile.in - - -#>+ 11 -libvorbis_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/vorbisfile.cpp $(srcdir)/vorbisproperties.cpp - @echo 'creating libvorbis_la.all_cpp.cpp ...'; \ - rm -f libvorbis_la.all_cpp.files libvorbis_la.all_cpp.final; \ - echo "#define KDE_USE_FINAL 1" >> libvorbis_la.all_cpp.final; \ - for file in vorbisfile.cpp vorbisproperties.cpp ; do \ - echo "#include \"$$file\"" >> libvorbis_la.all_cpp.files; \ - test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> libvorbis_la.all_cpp.final; \ - done; \ - cat libvorbis_la.all_cpp.final libvorbis_la.all_cpp.files > libvorbis_la.all_cpp.cpp; \ - rm -f libvorbis_la.all_cpp.final libvorbis_la.all_cpp.files - -#>+ 3 -clean-final: - -rm -f libvorbis_la.all_cpp.cpp - -#>+ 2 -final: - $(MAKE) libvorbis_la_OBJECTS="$(libvorbis_la_final_OBJECTS)" all-am -#>+ 2 -final-install: - $(MAKE) libvorbis_la_OBJECTS="$(libvorbis_la_final_OBJECTS)" install-am -#>+ 2 -no-final: - $(MAKE) libvorbis_la_OBJECTS="$(libvorbis_la_nofinal_OBJECTS)" all-am -#>+ 2 -no-final-install: - $(MAKE) libvorbis_la_OBJECTS="$(libvorbis_la_nofinal_OBJECTS)" install-am -#>+ 3 -cvs-clean: - $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo diff --git a/Frameworks/TagLib/Files/taglib/ogg/vorbis/vorbisfile.h b/Frameworks/TagLib/Files/taglib/ogg/vorbis/vorbisfile.h index f85e4bee6..967ae7669 100644 --- a/Frameworks/TagLib/Files/taglib/ogg/vorbis/vorbisfile.h +++ b/Frameworks/TagLib/Files/taglib/ogg/vorbis/vorbisfile.h @@ -22,8 +22,8 @@ #ifndef TAGLIB_VORBISFILE_H #define TAGLIB_VORBISFILE_H -#include -#include +#include "oggfile.h" +#include "xiphcomment.h" #include "vorbisproperties.h" diff --git a/Frameworks/TagLib/Files/taglib/ogg/vorbis/vorbisproperties.h b/Frameworks/TagLib/Files/taglib/ogg/vorbis/vorbisproperties.h index 01dffed94..a40568717 100644 --- a/Frameworks/TagLib/Files/taglib/ogg/vorbis/vorbisproperties.h +++ b/Frameworks/TagLib/Files/taglib/ogg/vorbis/vorbisproperties.h @@ -22,7 +22,7 @@ #ifndef TAGLIB_VORBISPROPERTIES_H #define TAGLIB_VORBISPROPERTIES_H -#include +#include "audioproperties.h" namespace TagLib { diff --git a/Frameworks/TagLib/Files/taglib/ogg/xiphcomment.cpp b/Frameworks/TagLib/Files/taglib/ogg/xiphcomment.cpp index 62c45ec41..6762f9d8f 100644 --- a/Frameworks/TagLib/Files/taglib/ogg/xiphcomment.cpp +++ b/Frameworks/TagLib/Files/taglib/ogg/xiphcomment.cpp @@ -31,6 +31,7 @@ class Ogg::XiphComment::XiphCommentPrivate public: FieldListMap fieldListMap; String vendorID; + String commentField; }; //////////////////////////////////////////////////////////////////////////////// @@ -76,9 +77,17 @@ String Ogg::XiphComment::album() const String Ogg::XiphComment::comment() const { - if(d->fieldListMap["DESCRIPTION"].isEmpty()) - return String::null; - return d->fieldListMap["DESCRIPTION"].front(); + if(!d->fieldListMap["DESCRIPTION"].isEmpty()) { + d->commentField = "DESCRIPTION"; + return d->fieldListMap["DESCRIPTION"].front(); + } + + if(!d->fieldListMap["COMMENT"].isEmpty()) { + d->commentField = "COMMENT"; + return d->fieldListMap["COMMENT"].front(); + } + + return String::null; } String Ogg::XiphComment::genre() const @@ -119,7 +128,7 @@ void Ogg::XiphComment::setAlbum(const String &s) void Ogg::XiphComment::setComment(const String &s) { - addField("DESCRIPTION", s); + addField(d->commentField.isEmpty() ? "DESCRIPTION" : d->commentField, s); } void Ogg::XiphComment::setGenre(const String &s) @@ -179,7 +188,7 @@ void Ogg::XiphComment::addField(const String &key, const String &value, bool rep if(replace) removeField(key.upper()); - if(!key.isEmpty()) + if(!key.isEmpty() && !value.isEmpty()) d->fieldListMap[key.upper()].append(value); } @@ -187,13 +196,20 @@ void Ogg::XiphComment::removeField(const String &key, const String &value) { if(!value.isNull()) { StringList::Iterator it = d->fieldListMap[key].begin(); - for(; it != d->fieldListMap[key].end(); ++it) { + while(it != d->fieldListMap[key].end()) { if(value == *it) - d->fieldListMap[key].erase(it); + it = d->fieldListMap[key].erase(it); + else + it++; } } else - d->fieldListMap[key].clear(); + d->fieldListMap.erase(key); +} + +bool Ogg::XiphComment::contains(const String &key) const +{ + return d->fieldListMap.contains(key) && !d->fieldListMap[key].isEmpty(); } ByteVector Ogg::XiphComment::render() const @@ -206,7 +222,7 @@ ByteVector Ogg::XiphComment::render(bool addFramingBit) const ByteVector data; // Add the vendor ID length and the vendor ID. It's important to use the - // lenght of the data(String::UTF8) rather than the lenght of the the string + // length of the data(String::UTF8) rather than the length of the the string // since this is UTF8 text and there may be more characters in the data than // in the UTF16 string. diff --git a/Frameworks/TagLib/Files/taglib/ogg/xiphcomment.h b/Frameworks/TagLib/Files/taglib/ogg/xiphcomment.h index dbcde9d5e..c172ea181 100644 --- a/Frameworks/TagLib/Files/taglib/ogg/xiphcomment.h +++ b/Frameworks/TagLib/Files/taglib/ogg/xiphcomment.h @@ -22,12 +22,12 @@ #ifndef TAGLIB_VORBISCOMMENT_H #define TAGLIB_VORBISCOMMENT_H -#include -#include -#include -#include -#include -#include +#include "tag.h" +#include "tlist.h" +#include "tmap.h" +#include "tstring.h" +#include "tstringlist.h" +#include "tbytevector.h" namespace TagLib { @@ -156,6 +156,13 @@ namespace TagLib { */ void removeField(const String &key, const String &value = String::null); + /*! + * Returns true if the field is contained within the comment. + * + * \note This is safer than checking for membership in the FieldListMap. + */ + bool contains(const String &key) const; + /*! * Renders the comment to a ByteVector suitable for inserting into a file. */ diff --git a/Frameworks/TagLib/Files/taglib/tag.h b/Frameworks/TagLib/Files/taglib/tag.h index 5c9d5a6d3..46999a9ad 100644 --- a/Frameworks/TagLib/Files/taglib/tag.h +++ b/Frameworks/TagLib/Files/taglib/tag.h @@ -22,7 +22,7 @@ #ifndef TAGLIB_TAG_H #define TAGLIB_TAG_H -#include +#include "tstring.h" namespace TagLib { @@ -32,7 +32,7 @@ namespace TagLib { * This is an attempt to abstract away the difference in the meta data formats * of various audio codecs and tagging schemes. As such it is generally a * subset of what is available in the specific formats but should be suitable - * for most applications. This is meant to complient the generic APIs found + * for most applications. This is meant to compliment the generic APIs found * in TagLib::AudioProperties, TagLib::File and TagLib::FileRef. */ @@ -105,7 +105,7 @@ namespace TagLib { virtual void setAlbum(const String &s) = 0; /*! - * Sets the album to \a s. If \a s is String::null then this value will be + * Sets the comment to \a s. If \a s is String::null then this value will be * cleared. */ virtual void setComment(const String &s) = 0; diff --git a/Frameworks/TagLib/Files/taglib/taglib-config.in b/Frameworks/TagLib/Files/taglib/taglib-config.in deleted file mode 100644 index 991abb856..000000000 --- a/Frameworks/TagLib/Files/taglib/taglib-config.in +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh - -usage() -{ - echo "usage: $0 [OPTIONS]" -cat << EOH - -options: - [--libs] - [--cflags] - [--version] - [--prefix] -EOH - exit 1; -} - -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -flags="" - -if test $# -eq 0 ; then - usage -fi - -while test $# -gt 0 -do - case $1 in - --libs) - flags="$flags -L$libdir -ltag" - ;; - --cflags) - flags="$flags -I$includedir/taglib" - ;; - --version) - echo 1.3.1 - ;; - --prefix) - echo $prefix - ;; - *) - echo "$0: unknown option $1" - echo - usage - ;; - esac - shift -done - -if test -n "$flags" -then - echo $flags -fi diff --git a/Frameworks/TagLib/Files/taglib/toolkit/Makefile.am b/Frameworks/TagLib/Files/taglib/toolkit/Makefile.am deleted file mode 100644 index 287a9e9ad..000000000 --- a/Frameworks/TagLib/Files/taglib/toolkit/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -INCLUDES = $(all_includes) - -noinst_LTLIBRARIES = libtoolkit.la - -libtoolkit_la_SOURCES = \ - tstring.cpp tstringlist.cpp tbytevector.cpp \ - tbytevectorlist.cpp tfile.cpp tdebug.cpp unicode.cpp - -taglib_include_HEADERS = \ - taglib.h tstring.h tlist.h tlist.tcc tstringlist.h \ - tbytevector.h tbytevectorlist.h tfile.h tdebug.h \ - tmap.h tmap.tcc - -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libtoolkit_la_SOURCES) $(taglib_include_HEADERS) diff --git a/Frameworks/TagLib/Files/taglib/toolkit/Makefile.in b/Frameworks/TagLib/Files/taglib/toolkit/Makefile.in deleted file mode 100644 index d6af16c9d..000000000 --- a/Frameworks/TagLib/Files/taglib/toolkit/Makefile.in +++ /dev/null @@ -1,572 +0,0 @@ -# Makefile.in generated by automake 1.7.6 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 3 $ -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONF_FILES = @CONF_FILES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KDE_PLUGIN = @KDE_PLUGIN@ -KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ -KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ -KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ -KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -NOOPT_CFLAGS = @NOOPT_CFLAGS@ -NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ -NOREPO = @NOREPO@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -REPO = @REPO@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -USE_EXCEPTIONS = @USE_EXCEPTIONS@ -USE_RTTI = @USE_RTTI@ -VERSION = @VERSION@ -WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -all_includes = @all_includes@ -all_libraries = @all_libraries@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -link_zlib_FALSE = @link_zlib_FALSE@ -link_zlib_TRUE = @link_zlib_TRUE@ -localstatedir = @localstatedir@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -INCLUDES = $(all_includes) - -noinst_LTLIBRARIES = libtoolkit.la - -libtoolkit_la_SOURCES = \ - tstring.cpp tstringlist.cpp tbytevector.cpp \ - tbytevectorlist.cpp tfile.cpp tdebug.cpp unicode.cpp - - -taglib_include_HEADERS = \ - taglib.h tstring.h tlist.h tlist.tcc tstringlist.h \ - tbytevector.h tbytevectorlist.h tfile.h tdebug.h \ - tmap.h tmap.tcc - - -taglib_includedir = $(includedir)/taglib - -EXTRA_DIST = $(libtoolkit_la_SOURCES) $(taglib_include_HEADERS) -subdir = taglib/toolkit -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) - -libtoolkit_la_LDFLAGS = -libtoolkit_la_LIBADD = -am_libtoolkit_la_OBJECTS = tstring.lo tstringlist.lo tbytevector.lo \ - tbytevectorlist.lo tfile.lo tdebug.lo unicode.lo -#>- libtoolkit_la_OBJECTS = $(am_libtoolkit_la_OBJECTS) -#>+ 5 -libtoolkit_la_final_OBJECTS = libtoolkit_la.all_cpp.lo -libtoolkit_la_nofinal_OBJECTS = tstring.lo tstringlist.lo tbytevector.lo \ - tbytevectorlist.lo tfile.lo tdebug.lo unicode.lo -@KDE_USE_FINAL_FALSE@libtoolkit_la_OBJECTS = $(libtoolkit_la_nofinal_OBJECTS) -@KDE_USE_FINAL_TRUE@libtoolkit_la_OBJECTS = $(libtoolkit_la_final_OBJECTS) - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/admin/depcomp -am__depfiles_maybe = depfiles -#>- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/tbytevector.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/tbytevectorlist.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/tdebug.Plo ./$(DEPDIR)/tfile.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/tstring.Plo ./$(DEPDIR)/tstringlist.Plo \ -#>- @AMDEP_TRUE@ ./$(DEPDIR)/unicode.Plo -#>+ 11 -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@DEP_FILES = $(DEPDIR)/libtoolkit_la.all_cpp.P ./$(DEPDIR)/tbytevector.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/tbytevectorlist.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/tdebug.Plo ./$(DEPDIR)/tfile.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/tstring.Plo ./$(DEPDIR)/tstringlist.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/unicode.Plo -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@DEP_FILES = ./$(DEPDIR)/tbytevector.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/tbytevectorlist.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/tdebug.Plo ./$(DEPDIR)/tfile.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/tstring.Plo ./$(DEPDIR)/tstringlist.Plo \ -@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/unicode.Plo - -#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 2 -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -#>- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ -#>- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -#>- $(AM_CXXFLAGS) $(CXXFLAGS) -#>+ 3 -LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) -CXXLD = $(CXX) -#>- CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -#>- $(AM_LDFLAGS) $(LDFLAGS) -o $@ -#>+ 2 -CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(libtoolkit_la_SOURCES) -HEADERS = $(taglib_include_HEADERS) - -DIST_COMMON = $(taglib_include_HEADERS) Makefile.am Makefile.in -SOURCES = $(libtoolkit_la_SOURCES) - -#>- all: all-am -#>+ 1 -all: docs-am all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu taglib/toolkit/Makefile -#>+ 3 - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/toolkit/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/toolkit/Makefile.in -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" = "$$p" && dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libtoolkit.la: $(libtoolkit_la_OBJECTS) $(libtoolkit_la_DEPENDENCIES) - $(CXXLINK) $(libtoolkit_la_LDFLAGS) $(libtoolkit_la_OBJECTS) $(libtoolkit_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tbytevector.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tbytevectorlist.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tdebug.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tfile.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tstring.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tstringlist.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unicode.Plo@am__quote@ - -distclean-depend: - -rm -rf ./$(DEPDIR) - -.cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -.cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` - -.cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCXX_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -taglib_includeHEADERS_INSTALL = $(INSTALL_HEADER) -install-taglib_includeHEADERS: $(taglib_include_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f"; \ - $(taglib_includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -uninstall-taglib_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(taglib_include_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(taglib_includedir)/$$f"; \ - rm -f $(DESTDIR)$(taglib_includedir)/$$f; \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -#>+ 4 -KDE_DIST=unicode.h - -DISTFILES= $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) - - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(taglib_includedir) -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -#>- clean: clean-am -#>+ 1 -clean: kde-rpo-clean clean-am - -#>- clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ -#>- mostlyclean-am -#>+ 2 -clean-am: clean-final clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: install-taglib_includeHEADERS - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-taglib_includeHEADERS - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES ctags distclean \ - distclean-compile distclean-depend distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am info \ - info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip install-taglib_includeHEADERS \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-taglib_includeHEADERS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -#>+ 2 -docs-am: - -#>+ 6 -force-reedit: - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu taglib/toolkit/Makefile - cd $(top_srcdir) && perl admin/am_edit taglib/toolkit/Makefile.in - - -#>+ 11 -libtoolkit_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/tstring.cpp $(srcdir)/tstringlist.cpp $(srcdir)/tbytevector.cpp $(srcdir)/tbytevectorlist.cpp $(srcdir)/tfile.cpp $(srcdir)/tdebug.cpp $(srcdir)/unicode.cpp - @echo 'creating libtoolkit_la.all_cpp.cpp ...'; \ - rm -f libtoolkit_la.all_cpp.files libtoolkit_la.all_cpp.final; \ - echo "#define KDE_USE_FINAL 1" >> libtoolkit_la.all_cpp.final; \ - for file in tstring.cpp tstringlist.cpp tbytevector.cpp tbytevectorlist.cpp tfile.cpp tdebug.cpp unicode.cpp ; do \ - echo "#include \"$$file\"" >> libtoolkit_la.all_cpp.files; \ - test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> libtoolkit_la.all_cpp.final; \ - done; \ - cat libtoolkit_la.all_cpp.final libtoolkit_la.all_cpp.files > libtoolkit_la.all_cpp.cpp; \ - rm -f libtoolkit_la.all_cpp.final libtoolkit_la.all_cpp.files - -#>+ 3 -clean-final: - -rm -f libtoolkit_la.all_cpp.cpp - -#>+ 2 -final: - $(MAKE) libtoolkit_la_OBJECTS="$(libtoolkit_la_final_OBJECTS)" all-am -#>+ 2 -final-install: - $(MAKE) libtoolkit_la_OBJECTS="$(libtoolkit_la_final_OBJECTS)" install-am -#>+ 2 -no-final: - $(MAKE) libtoolkit_la_OBJECTS="$(libtoolkit_la_nofinal_OBJECTS)" all-am -#>+ 2 -no-final-install: - $(MAKE) libtoolkit_la_OBJECTS="$(libtoolkit_la_nofinal_OBJECTS)" install-am -#>+ 3 -cvs-clean: - $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo diff --git a/Frameworks/TagLib/Files/taglib/toolkit/taglib.h b/Frameworks/TagLib/Files/taglib/toolkit/taglib.h index a32407ecb..778b1dbd5 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/taglib.h +++ b/Frameworks/TagLib/Files/taglib/toolkit/taglib.h @@ -23,8 +23,8 @@ #define TAGLIB_H #define TAGLIB_MAJOR_VERSION 1 -#define TAGLIB_MINOR_VERSION 3 -#define TAGLIB_PATCH_VERSION 1 +#define TAGLIB_MINOR_VERSION 4 +#define TAGLIB_PATCH_VERSION 0 #include @@ -86,9 +86,9 @@ namespace TagLib { * - Support for at least ID3v1, ID3v2 and Ogg Vorbis \e comments. * - A generic, \e simple API for the most common tagging related functions. * - Binary compatibility between minor releases using the standard KDE/Qt techniques for C++ binary compatibility. - * - Make the tagging framework extensible by library users; i.e. it will be possible for libarary users to implement + * - Make the tagging framework extensible by library users; i.e. it is possible for libarary users to implement * additional ID3v2 frames, without modifying the TagLib source (through the use of Abstract Factories and - * such. + * such). * * Because TagLib desires to be toolkit agnostic, in hope of being widely adopted and the most flexible in licensing * TagLib provides many of its own toolkit classes; in fact the only external dependancy that TagLib has, it a @@ -96,19 +96,15 @@ namespace TagLib { * * \section why Why TagLib? * - * TagLib was written to fill a gap in the Open Source/Free Software community. Currently there is a lack in the + * TagLib was written to fill a gap in the Open Source / Free Software community. Currently there is a lack in the * OSS/FS for a homogenous API to the most common music types. * - * As TagLib will be initially injected into the KDE community, while I am not linking to any of the KDE or Qt libraries - * I have tried to follow the coding style of those libraries. Again, this is in sharp contrast to id3lib, which - * basically provides a hybrid C/C++ API and uses a dubious object model. - * - * I get asked rather frequently why I am replacing id3lib (mostly by people that have never worked with id3lib), if - * you are concerned about this please email me; I can provide my lengthy standard rant. :-) + * As TagLib was initially injected into the KDE community, while I am not linking to any of the KDE or Qt libraries + * I have tried to follow the coding style of those libraries. * * \section examples Examples: * - * I've talked a lot about the \e homogenous API to common music formats. Here's an example of how things (will) work: + * I've talked a lot about the \e homogenous API to common music formats. Here's an example: * * \code * @@ -130,6 +126,10 @@ namespace TagLib { * future). For this high level API, which is suitable for most applications, the differences between tag and file * formats can all be ignored. * + * In addition to the high-level abstract APIs, there are also additional format specific APIs which allow users + * of the library to work with tags and audio properties in more powerful ways. See specifically the subclasses of + * TagLib::File, TagLib::Tag and TagLib::AudioProperties. + * * \section Building * * TagLib provides a script called taglib-config that returns the necessary compiler and linker flags, as well as the diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tbytevector.cpp b/Frameworks/TagLib/Files/taglib/toolkit/tbytevector.cpp index de4ca6f9f..363b76856 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tbytevector.cpp +++ b/Frameworks/TagLib/Files/taglib/toolkit/tbytevector.cpp @@ -24,6 +24,8 @@ #include #include +#include + #include "tbytevector.h" // This is a bit ugly to keep writing over and over again. @@ -92,29 +94,27 @@ namespace TagLib { if(pattern.size() > v.size() || offset >= v.size() - 1) return -1; - // if an offset was specified, just do a recursive call on the substring + // Let's go ahead and special case a pattern of size one since that's common + // and easy to make fast. - if(offset > 0) { - - // start at the next byte aligned block - - Vector section = v.mid(offset + byteAlign - 1 - offset % byteAlign); - int match = section.find(pattern, 0, byteAlign); - return match >= 0 ? int(match + offset) : -1; + if(pattern.size() == 1) { + char p = pattern[0]; + for(uint i = offset; i < v.size(); i++) { + if(v[i] == p && i % byteAlign == 0) + return i; + } + return -1; } - // this is a simplified Boyer-Moore string searching algorithm - uchar lastOccurrence[256]; - for(uint i = 0; i < 256; ++i) lastOccurrence[i] = uchar(pattern.size()); for(uint i = 0; i < pattern.size() - 1; ++i) lastOccurrence[unsigned(pattern[i])] = uchar(pattern.size() - i - 1); - for(uint i = pattern.size() - 1; i < v.size(); i += lastOccurrence[uchar(v.at(i))]) { + for(uint i = pattern.size() - 1 + offset; i < v.size(); i += lastOccurrence[uchar(v.at(i))]) { int iBuffer = i; int iPattern = pattern.size() - 1; @@ -316,17 +316,19 @@ ByteVector::~ByteVector() delete d; } -void ByteVector::setData(const char *data, uint length) +ByteVector &ByteVector::setData(const char *data, uint length) { detach(); resize(length); ::memcpy(DATA(d), data, length); + + return *this; } -void ByteVector::setData(const char *data) +ByteVector &ByteVector::setData(const char *data) { - setData(data, ::strlen(data)); + return setData(data, ::strlen(data)); } char *ByteVector::data() @@ -344,6 +346,9 @@ ByteVector ByteVector::mid(uint index, uint length) const { ByteVector v; + if(index > size()) + return v; + ConstIterator endIt; if(length < 0xffffffff && length + index < size()) @@ -427,19 +432,27 @@ int ByteVector::endsWithPartialMatch(const ByteVector &pattern) const return -1; } -void ByteVector::append(const ByteVector &v) +ByteVector &ByteVector::append(const ByteVector &v) { + if(v.d->size == 0) + return *this; // Simply return if appending nothing. + detach(); uint originalSize = d->size; resize(d->size + v.d->size); ::memcpy(DATA(d) + originalSize, DATA(v.d), v.size()); + + return *this; } -void ByteVector::clear() +ByteVector &ByteVector::clear() { detach(); d->data.clear(); + d->size = 0; + + return *this; } TagLib::uint ByteVector::size() const @@ -589,16 +602,12 @@ ByteVector &ByteVector::operator=(const ByteVector &v) ByteVector &ByteVector::operator=(char c) { - if(d->deref()) - delete d; *this = ByteVector(c); return *this; } ByteVector &ByteVector::operator=(const char *data) { - if(d->deref()) - delete d; *this = ByteVector(data); return *this; } diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tbytevector.h b/Frameworks/TagLib/Files/taglib/toolkit/tbytevector.h index b7d88f41e..5dbab36b5 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tbytevector.h +++ b/Frameworks/TagLib/Files/taglib/toolkit/tbytevector.h @@ -86,13 +86,13 @@ namespace TagLib { /*! * Sets the data for the byte array using the first \a length bytes of \a data */ - void setData(const char *data, uint length); + ByteVector &setData(const char *data, uint length); /*! * Sets the data for the byte array copies \a data up to the first null * byte. The behavior is undefined if \a data is not null terminated. */ - void setData(const char *data); + ByteVector &setData(const char *data); /*! * Returns a pointer to the internal data structure. @@ -171,12 +171,12 @@ namespace TagLib { /*! * Appends \a v to the end of the ByteVector. */ - void append(const ByteVector &v); + ByteVector &append(const ByteVector &v); /*! * Clears the data. */ - void clear(); + ByteVector &clear(); /*! * Returns the size of the array. diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tbytevectorlist.cpp b/Frameworks/TagLib/Files/taglib/toolkit/tbytevectorlist.cpp index 3799f5e7a..766133692 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tbytevectorlist.cpp +++ b/Frameworks/TagLib/Files/taglib/toolkit/tbytevectorlist.cpp @@ -34,15 +34,25 @@ class ByteVectorListPrivate ByteVectorList ByteVectorList::split(const ByteVector &v, const ByteVector &pattern, int byteAlign) +{ + return split(v, pattern, byteAlign, 0); +} + +ByteVectorList ByteVectorList::split(const ByteVector &v, const ByteVector &pattern, + int byteAlign, int max) { ByteVectorList l; uint previousOffset = 0; for(int offset = v.find(pattern, 0, byteAlign); - offset != -1; + offset != -1 && (max == 0 || max > int(l.size()) + 1); offset = v.find(pattern, offset + pattern.size(), byteAlign)) { - l.append(v.mid(previousOffset, offset - previousOffset)); + if(offset - previousOffset > 1) + l.append(v.mid(previousOffset, offset - previousOffset)); + else + l.append(ByteVector::null); + previousOffset = offset + pattern.size(); } diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tbytevectorlist.h b/Frameworks/TagLib/Files/taglib/toolkit/tbytevectorlist.h index ab5e2d625..13880a898 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tbytevectorlist.h +++ b/Frameworks/TagLib/Files/taglib/toolkit/tbytevectorlist.h @@ -66,7 +66,16 @@ namespace TagLib { */ static ByteVectorList split(const ByteVector &v, const ByteVector &pattern, int byteAlign = 1); - + /*! + * Splits the ByteVector \a v into several strings at \a pattern. This will + * not include the pattern in the returned ByteVectors. \a max is the + * maximum number of entries that will be separated. If \a max for instance + * is 2 then a maximum of 1 match will be found and the vector will be split + * on that match. + */ + // BIC: merge with the function above + static ByteVectorList split(const ByteVector &v, const ByteVector &pattern, + int byteAlign, int max); private: class ByteVectorListPrivate; ByteVectorListPrivate *d; diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tfile.cpp b/Frameworks/TagLib/Files/taglib/toolkit/tfile.cpp index 5d8f1c987..58533fe06 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tfile.cpp +++ b/Frameworks/TagLib/Files/taglib/toolkit/tfile.cpp @@ -24,8 +24,22 @@ #include "tdebug.h" #include +#include #include -#include +#ifdef _WIN32 +# include +# define ftruncate _chsize +#else + #include +#endif +#include + +#ifndef R_OK +# define R_OK 4 +#endif +#ifndef W_OK +# define W_OK 2 +#endif using namespace TagLib; @@ -36,7 +50,8 @@ public: file(0), name(fileName), readOnly(true), - valid(true) + valid(true), + size(0) {} ~FilePrivate() @@ -48,6 +63,7 @@ public: const char *name; bool readOnly; bool valid; + ulong size; static const uint bufferSize = 1024; }; @@ -59,9 +75,15 @@ File::File(const char *file) { d = new FilePrivate(::strdup(file)); - d->readOnly = !isWritable(file); -// d->file = fopen(file, d->readOnly ? "r" : "r+"); - d->file = fopen(file, "r"); + // First try with read/write mode, if that fails, fall back to read only. + // We can't use ::access() since that works in odd ways on some file systems. + + d->file = fopen(file, "rb+"); + + if(d->file) + d->readOnly = false; + else + d->file = fopen(file,"rb"); if(!d->file) debug("Could not open file " + String(file)); @@ -86,6 +108,12 @@ ByteVector File::readBlock(ulong length) return ByteVector::null; } + if(length > FilePrivate::bufferSize && + length > ulong(File::length())) + { + length = File::length(); + } + ByteVector v(static_cast(length)); const int count = fread(v.data(), sizeof(char), length, d->file); v.resize(count); @@ -232,7 +260,7 @@ long File::rfind(const ByteVector &pattern, long fromOffset, const ByteVector &b } else { seek(fromOffset + -1 * int(d->bufferSize), Beginning); - bufferOffset = tell(); + bufferOffset = tell(); } // See the notes in find() for an explanation of this algorithm. @@ -374,12 +402,11 @@ void File::removeBlock(ulong start, ulong length) ByteVector buffer(static_cast(bufferLength)); - ulong bytesRead = true; + ulong bytesRead = 1; while(bytesRead != 0) { seek(readPosition); bytesRead = fread(buffer.data(), sizeof(char), bufferLength, d->file); - buffer.resize(bytesRead); readPosition += bytesRead; // Check to see if we just read the last block. We need to call clear() @@ -407,12 +434,12 @@ bool File::isReadable(const char *file) bool File::isOpen() const { - return d->file; + return (d->file != NULL); } bool File::isValid() const { - return d->file && d->valid; + return isOpen() && d->valid; } void File::seek(long offset, Position p) @@ -447,8 +474,13 @@ long File::tell() const long File::length() { + // Do some caching in case we do multiple calls. + + if(d->size > 0) + return d->size; + if(!d->file) - return 0; + return 0; long curpos = tell(); @@ -456,7 +488,8 @@ long File::length() long endpos = tell(); seek(curpos, Beginning); - + + d->size = endpos; return endpos; } diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tfile.h b/Frameworks/TagLib/Files/taglib/toolkit/tfile.h index bde30d200..02c87816f 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tfile.h +++ b/Frameworks/TagLib/Files/taglib/toolkit/tfile.h @@ -80,6 +80,12 @@ namespace TagLib { /*! * Save the file and its associated tags. This should be reimplemented in * the concrete subclasses. Returns true if the save succeeds. + * + * \warning On UNIX multiple processes are able to write to the same file at + * the same time. This can result in serious file corruption. If you are + * developing a program that makes use of TagLib from multiple processes you + * must insure that you are only doing writes to a particular file from one + * of them. */ virtual bool save() = 0; @@ -192,11 +198,15 @@ namespace TagLib { /*! * Returns true if \a file can be opened for reading. If the file does not * exist, this will return false. + * + * \deprecated */ static bool isReadable(const char *file); /*! * Returns true if \a file can be opened for writing. + * + * \deprecated */ static bool isWritable(const char *name); diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tlist.h b/Frameworks/TagLib/Files/taglib/toolkit/tlist.h index 3ea7a669e..b3c597f7a 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tlist.h +++ b/Frameworks/TagLib/Files/taglib/toolkit/tlist.h @@ -99,14 +99,14 @@ namespace TagLib { /*! * Inserts a copy of \a value before \a it. */ - void insert(Iterator it, const T &value); + Iterator insert(Iterator it, const T &value); /*! * Inserts the \a value into the list. This assumes that the list is * currently sorted. If \a unique is true then the value will not * be inserted if it is already in the list. */ - void sortedInsert(const T &value, bool unique = false); + List &sortedInsert(const T &value, bool unique = false); /*! * Appends \a item to the end of the list and returns a reference to the @@ -120,13 +120,25 @@ namespace TagLib { */ List &append(const List &l); + /*! + * Prepends \a item to the beginning list and returns a reference to the + * list. + */ + List &prepend(const T &item); + + /*! + * Prepends all of the items in \a l to the beginning list and returns a + * reference to the list. + */ + List &prepend(const List &l); + /*! * Clears the list. If auto deletion is enabled and this list contains a * pointer type the members are also deleted. * * \see setAutoDelete() */ - void clear(); + List &clear(); /*! * Returns the number of elements in the list. @@ -135,12 +147,12 @@ namespace TagLib { bool isEmpty() const; /*! - * Find the first occurance of \a value. + * Find the first occurrence of \a value. */ Iterator find(const T &value); /*! - * Find the first occurance of \a value. + * Find the first occurrence of \a value. */ ConstIterator find(const T &value) const; @@ -152,7 +164,7 @@ namespace TagLib { /*! * Erase the item at \a it from the list. */ - void erase(Iterator it); + Iterator erase(Iterator it); /*! * Returns a reference to the first item in the list. diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tlist.tcc b/Frameworks/TagLib/Files/taglib/toolkit/tlist.tcc index e94b85a71..de3cd75e0 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tlist.tcc +++ b/Frameworks/TagLib/Files/taglib/toolkit/tlist.tcc @@ -19,8 +19,6 @@ * USA * ***************************************************************************/ -#include - #include namespace TagLib { @@ -130,22 +128,23 @@ typename List::ConstIterator List::end() const } template -void List::insert(Iterator it, const T &item) +typename List::Iterator List::insert(Iterator it, const T &item) { detach(); - d->list.insert(it, item); + return d->list.insert(it, item); } template -void List::sortedInsert(const T &value, bool unique) +List &List::sortedInsert(const T &value, bool unique) { detach(); Iterator it = begin(); - while(*it < value && it != end()) + while(it != end() && *it < value) ++it; if(unique && it != end() && *it == value) - return; + return *this; insert(it, value); + return *this; } template @@ -165,10 +164,27 @@ List &List::append(const List &l) } template -void List::clear() +List &List::prepend(const T &item) +{ + detach(); + d->list.push_front(item); + return *this; +} + +template +List &List::prepend(const List &l) +{ + detach(); + d->list.insert(d->list.begin(), l.begin(), l.end()); + return *this; +} + +template +List &List::clear() { detach(); d->clear(); + return *this; } template @@ -202,9 +218,9 @@ bool List::contains(const T &value) const } template -void List::erase(Iterator it) +typename List::Iterator List::erase(Iterator it) { - d->list.erase(it); + return d->list.erase(it); } template diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tmap.h b/Frameworks/TagLib/Files/taglib/toolkit/tmap.h index f67bcbaad..620c2983c 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tmap.h +++ b/Frameworks/TagLib/Files/taglib/toolkit/tmap.h @@ -89,13 +89,13 @@ namespace TagLib { * Inserts \a value under \a key in the map. If a value for \a key already * exists it will be overwritten. */ - void insert(const Key &key, const T &value); + Map &insert(const Key &key, const T &value); /*! * Removes all of the elements from elements from the map. This however * will not delete pointers if the mapped type is a pointer type. */ - void clear(); + Map &clear(); /*! * The number of elements in the map. @@ -112,12 +112,12 @@ namespace TagLib { bool isEmpty() const; /*! - * Find the first occurance of \a key. + * Find the first occurrence of \a key. */ Iterator find(const Key &key); /*! - * Find the first occurance of \a key. + * Find the first occurrence of \a key. */ ConstIterator find(const Key &key) const; @@ -129,7 +129,12 @@ namespace TagLib { /*! * Erase the item at \a it from the list. */ - void erase(Iterator it); + Map &erase(Iterator it); + + /*! + * Erase the item with \a key from the list. + */ + Map &erase(const Key &key); /*! * Returns a reference to the value associated with \a key. diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tmap.tcc b/Frameworks/TagLib/Files/taglib/toolkit/tmap.tcc index fff5f6649..b01517ec1 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tmap.tcc +++ b/Frameworks/TagLib/Files/taglib/toolkit/tmap.tcc @@ -81,18 +81,19 @@ typename Map::ConstIterator Map::end() const } template -void Map::insert(const Key &key, const T &value) +Map &Map::insert(const Key &key, const T &value) { detach(); - std::pair item(key, value); - d->map.insert(item); + d->map[key] = value; + return *this; } template -void Map::clear() +Map &Map::clear() { detach(); d->map.clear(); + return *this; } template @@ -104,6 +105,7 @@ bool Map::isEmpty() const template typename Map::Iterator Map::find(const Key &key) { + detach(); return d->map.find(key); } @@ -120,9 +122,21 @@ bool Map::contains(const Key &key) const } template -void Map::erase(Iterator it) +Map &Map::erase(Iterator it) { + detach(); d->map.erase(it); + return *this; +} + +template +Map &Map::erase(const Key &key) +{ + detach(); + Iterator it = d->map.find(key); + if(it != d->map.end()) + d->map.erase(it); + return *this; } template @@ -140,7 +154,8 @@ const T &Map::operator[](const Key &key) const template T &Map::operator[](const Key &key) { - return d->map[key]; + detach(); + return d->map[key]; } template diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tstring.cpp b/Frameworks/TagLib/Files/taglib/toolkit/tstring.cpp index c6b89218e..01cff0d1d 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tstring.cpp +++ b/Frameworks/TagLib/Files/taglib/toolkit/tstring.cpp @@ -25,6 +25,8 @@ #include +#include + namespace TagLib { inline unsigned short byteSwap(unsigned short x) @@ -83,7 +85,7 @@ String::String(const std::string &s, Type t) { d = new StringPrivate; - if(t == UTF16 || t == UTF16BE) { + if(t == UTF16 || t == UTF16BE || t == UTF16LE) { debug("String::String() -- A std::string should not contain UTF16."); return; } @@ -116,7 +118,7 @@ String::String(const char *s, Type t) { d = new StringPrivate; - if(t == UTF16 || t == UTF16BE) { + if(t == UTF16 || t == UTF16BE || t == UTF16LE) { debug("String::String() -- A const char * should not contain UTF16."); return; } @@ -145,7 +147,7 @@ String::String(char c, Type t) { d = new StringPrivate; - if(t == UTF16 || t == UTF16BE) { + if(t == UTF16 || t == UTF16BE || t == UTF16LE) { debug("String::String() -- A std::string should not contain UTF16."); return; } @@ -241,6 +243,11 @@ std::string String::to8Bit(bool unicode) const return s; } +TagLib::wstring String::to32Bit() const +{ + return d->data; +} + const char *String::toCString(bool unicode) const { delete [] d->CString; @@ -282,6 +289,14 @@ int String::find(const String &s, int offset) const return -1; } +bool String::startsWith(const String &s) const +{ + if(s.length() > length()) + return false; + + return substr(0, s.length()) == s; +} + String String::substr(uint position, uint n) const { if(n > position + d->data.size()) @@ -320,6 +335,11 @@ TagLib::uint String::size() const return d->data.size(); } +TagLib::uint String::length() const +{ + return size(); +} + bool String::isEmpty() const { return d->data.size() == 0; @@ -373,8 +393,20 @@ ByteVector String::data(Type t) const char c1 = *it >> 8; char c2 = *it & 0xff; - v.append(c2); v.append(c1); + v.append(c2); + } + break; + } + case UTF16LE: + { + for(wstring::const_iterator it = d->data.begin(); it != d->data.end(); it++) { + + char c1 = *it & 0xff; + char c2 = *it >> 8; + + v.append(c1); + v.append(c2); } break; } @@ -404,8 +436,9 @@ String String::stripWhiteSpace() const wstring::const_iterator begin = d->data.begin(); wstring::const_iterator end = d->data.end(); - while(*begin == '\t' || *begin == '\n' || *begin == '\f' || - *begin == '\r' || *begin == ' ' && begin != end) + while(begin != end && + (*begin == '\t' || *begin == '\n' || *begin == '\f' || + *begin == '\r' || *begin == ' ')) { ++begin; } @@ -413,7 +446,7 @@ String String::stripWhiteSpace() const if(begin == end) return null; - // There must be at least one non-whitespace charater here for us to have + // There must be at least one non-whitespace character here for us to have // gotten this far, so we should be safe not doing bounds checking. do { @@ -685,6 +718,14 @@ void String::prepare(Type t) delete [] sourceBuffer; delete [] targetBuffer; + + break; + } + case UTF16LE: + { + for(uint i = 0; i < d->data.size(); i++) + d->data[i] = byteSwap((unsigned short)d->data[i]); + break; } default: break; diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tstring.h b/Frameworks/TagLib/Files/taglib/toolkit/tstring.h index 6ffd65630..5bd8a9a02 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tstring.h +++ b/Frameworks/TagLib/Files/taglib/toolkit/tstring.h @@ -90,7 +90,11 @@ namespace TagLib { /*! * UTF8 encoding. Characters are usually 8 bits but can be up to 32. */ - UTF8 = 3 + UTF8 = 3, + /*! + * UTF16 little endian. 16 bit characters. + */ + UTF16LE = 4 }; /*! @@ -165,6 +169,11 @@ namespace TagLib { */ std::string to8Bit(bool unicode = false) const; + /*! + * Returns a wstring version of the TagLib string as a wide string. + */ + wstring to32Bit() const; + /*! * Creates and returns a C-String based on the data. This string is still * owned by the String (class) and as such should not be deleted by the user. @@ -205,11 +214,16 @@ namespace TagLib { ConstIterator end() const; /*! - * Finds the first occurance of pattern \a s in this string starting from + * Finds the first occurrence of pattern \a s in this string starting from * \a offset. If the pattern is not found, -1 is returned. */ int find(const String &s, int offset = 0) const; + /*! + * Returns true if the strings starts with the substring \a s. + */ + bool startsWith(const String &s) const; + /*! * Extract a substring from this string starting at \a position and * continuing for \a n characters. @@ -234,6 +248,11 @@ namespace TagLib { */ uint size() const; + /*! + * Returns the length of the string. Equivalent to size(). + */ + uint length() const; + /*! * Returns true if the string is empty. * @@ -391,22 +410,29 @@ namespace TagLib { /*! * \relates TagLib::String + * + * Concatenates \a s1 and \a s2 and returns the result as a string. */ const TagLib::String operator+(const TagLib::String &s1, const TagLib::String &s2); /*! * \relates TagLib::String + * + * Concatenates \a s1 and \a s2 and returns the result as a string. */ const TagLib::String operator+(const char *s1, const TagLib::String &s2); /*! * \relates TagLib::String + * + * Concatenates \a s1 and \a s2 and returns the result as a string. */ const TagLib::String operator+(const TagLib::String &s1, const char *s2); /*! * \relates TagLib::String + * * Send the string to an output stream. */ std::ostream &operator<<(std::ostream &s, const TagLib::String &str); diff --git a/Frameworks/TagLib/Files/taglib/toolkit/tstringlist.cpp b/Frameworks/TagLib/Files/taglib/toolkit/tstringlist.cpp index f37b30bf8..85a8e3cca 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/tstringlist.cpp +++ b/Frameworks/TagLib/Files/taglib/toolkit/tstringlist.cpp @@ -84,11 +84,12 @@ String StringList::toString(const String &separator) const String s; ConstIterator it = begin(); + ConstIterator itEnd = end(); - while(it != end()) { + while(it != itEnd) { s += *it; it++; - if(it != end()) + if(it != itEnd) s += separator; } diff --git a/Frameworks/TagLib/Files/taglib/toolkit/unicode.h b/Frameworks/TagLib/Files/taglib/toolkit/unicode.h index 45d726b28..cf7eb3c56 100644 --- a/Frameworks/TagLib/Files/taglib/toolkit/unicode.h +++ b/Frameworks/TagLib/Files/taglib/toolkit/unicode.h @@ -43,7 +43,7 @@ Conversions between UTF32, UTF-16, and UTF-8. Header file. - Several funtions are included here, forming a complete set of + Several functions are included here, forming a complete set of conversions between the three formats. UTF-7 is not included here, but is handled in a separate source file. diff --git a/Frameworks/TagLib/TagLib.xcodeproj/project.pbxproj b/Frameworks/TagLib/TagLib.xcodeproj/project.pbxproj index 8ba62b532..b2bc5d499 100644 --- a/Frameworks/TagLib/TagLib.xcodeproj/project.pbxproj +++ b/Frameworks/TagLib/TagLib.xcodeproj/project.pbxproj @@ -107,6 +107,8 @@ 8E75711309F3190D0080F1EE /* tag_c.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8E75711109F3190D0080F1EE /* tag_c.cpp */; }; 8E75711409F3190D0080F1EE /* tag_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E75711209F3190D0080F1EE /* tag_c.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8E75712209F319570080F1EE /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E75712109F319570080F1EE /* config.h */; }; + 8EE9CD4D0C49B7ED00CD3E52 /* generalencapsulatedobjectframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8EE9CD4B0C49B7ED00CD3E52 /* generalencapsulatedobjectframe.cpp */; }; + 8EE9CD4E0C49B7ED00CD3E52 /* generalencapsulatedobjectframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EE9CD4C0C49B7ED00CD3E52 /* generalencapsulatedobjectframe.h */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -212,6 +214,8 @@ 8E75711109F3190D0080F1EE /* tag_c.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = tag_c.cpp; sourceTree = ""; }; 8E75711209F3190D0080F1EE /* tag_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = tag_c.h; sourceTree = ""; }; 8E75712109F319570080F1EE /* config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = config.h; path = Files/config.h; sourceTree = ""; }; + 8EE9CD4B0C49B7ED00CD3E52 /* generalencapsulatedobjectframe.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = generalencapsulatedobjectframe.cpp; sourceTree = ""; }; + 8EE9CD4C0C49B7ED00CD3E52 /* generalencapsulatedobjectframe.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = generalencapsulatedobjectframe.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -394,6 +398,8 @@ 8E75704009F319030080F1EE /* frames */ = { isa = PBXGroup; children = ( + 8EE9CD4B0C49B7ED00CD3E52 /* generalencapsulatedobjectframe.cpp */, + 8EE9CD4C0C49B7ED00CD3E52 /* generalencapsulatedobjectframe.h */, 8E75704109F319030080F1EE /* attachedpictureframe.cpp */, 8E75704209F319030080F1EE /* attachedpictureframe.h */, 8E75704309F319030080F1EE /* commentsframe.cpp */, @@ -542,6 +548,7 @@ 8E75710F09F319040080F1EE /* unicode.h in Headers */, 8E75711409F3190D0080F1EE /* tag_c.h in Headers */, 8E75712209F319570080F1EE /* config.h in Headers */, + 8EE9CD4E0C49B7ED00CD3E52 /* generalencapsulatedobjectframe.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -648,6 +655,7 @@ 8E75710C09F319040080F1EE /* tstringlist.cpp in Sources */, 8E75710E09F319040080F1EE /* unicode.cpp in Sources */, 8E75711309F3190D0080F1EE /* tag_c.cpp in Sources */, + 8EE9CD4D0C49B7ED00CD3E52 /* generalencapsulatedobjectframe.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Localizations/English/Credits.html b/Localizations/English/Credits.html deleted file mode 100644 index dc10f594b..000000000 --- a/Localizations/English/Credits.html +++ /dev/null @@ -1,7 +0,0 @@ - - -Cog is brought to you by Schadenfreude Inc, makers of Cheese Babies ™ and other fine gourmet snacks. -

-This program has been made possible through contributions from users like you. - - diff --git a/Localizations/English/MainProgram.strings b/Localizations/English/MainProgram.strings deleted file mode 100644 index 1f671ad8d..000000000 --- a/Localizations/English/MainProgram.strings +++ /dev/null @@ -1,22 +0,0 @@ -"FeedbackFailedMessageText" = "Failed"; -"FeedbackFailedInformativeText" = "Feedback failed to send."; -"FeedbackSuccessMessageText" = "Success"; -"FeedbackSuccessInformativeText" = "Feedback successfully sent!"; - -"PlayButtonTooltip" = "Play"; -"StopButtonTooltip" = "Stop"; -"PrevButtonTooltip" = "Previous"; -"NextButtonTooltip" = "Next"; - -"TimeElapsed" = "%i:%02i"; -"TimeRemaining" = "-%i:%02i"; - -"AddButtonTooltip" = "Add files"; -"RemoveButtonTooltip" = "Remove selected files"; -"InfoButtonTooltip" = "Information on the selected file"; -"ShuffleButtonTooltip" = "Shuffle mode"; -"RepeatButtonTooltip" = "Repeat mode"; -"FileButtonTooltip" = "File drawer"; - -"InvalidURLShort" = "Invalid URL"; -"InvalidURLLong" = "The URL is not valid."; diff --git a/Localizations/English/MainUI.strings b/Localizations/English/MainUI.strings deleted file mode 100644 index 5aab9f696..000000000 Binary files a/Localizations/English/MainUI.strings and /dev/null differ diff --git a/Localizations/English/OpenURLPanel.strings b/Localizations/English/OpenURLPanel.strings deleted file mode 100644 index 6be2ee947..000000000 Binary files a/Localizations/English/OpenURLPanel.strings and /dev/null differ diff --git a/Localizations/English/PreferencesProgram.strings b/Localizations/English/PreferencesProgram.strings deleted file mode 100644 index a4eeda5b1..000000000 --- a/Localizations/English/PreferencesProgram.strings +++ /dev/null @@ -1,3 +0,0 @@ -"Nightly" = "Nightly"; -"Stable" = "Stable"; -"Unstable" = "Unstable"; diff --git a/Localizations/English/PreferencesUI.strings b/Localizations/English/PreferencesUI.strings deleted file mode 100644 index 38c5742f1..000000000 Binary files a/Localizations/English/PreferencesUI.strings and /dev/null differ diff --git a/Localizations/English/help.html b/Localizations/English/help.html deleted file mode 100644 index 9fd13dcf9..000000000 --- a/Localizations/English/help.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - -Cog Help - - - - - - - - - - - - - -
- -

Supported codecs

- -
    -
  • Ogg Vorbis
  • -
  • FLAC
  • -
  • AAC
  • -
  • MP3
  • -
  • WAV
  • -
  • AIFF
  • -
  • Musepack
  • -
  • Monkey's Audio
  • -
  • Shorten
  • -
  • WavPack
  • -
  • Apple Lossless
  • -
  • Any codec supported by Mac OS X 10.4's Core Audio API
  • -
- -

Supported tags

- -
    -
  • Vorbis comments/FLAC tags
  • -
  • ID3v1.0, 1.1, 2.3+
  • -
  • APEv1 and v2
  • -
- -
- -
- -

Buttons

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Play/Pause
Previous SongNext Song
Show/hide
File Drawer
Repeat on/off
Show/hide
Info Drawer
Shuffle on/off
- -

General features

- -
    -
  • Last.fm support
  • -
  • Growl support
  • -
  • M3U and PLS playlist
  • -
  • HTTP streaming
  • -
  • Output device selection
  • -
  • Gapless playback
  • -
  • Logarithmic volume control
  • -
  • Smart shuffle
  • -
  • Seeking
  • -
- -
- - - - \ No newline at end of file diff --git a/Localizations/French/Credits.html b/Localizations/French/Credits.html deleted file mode 100644 index ed4853b64..000000000 Binary files a/Localizations/French/Credits.html and /dev/null differ diff --git a/Localizations/French/MainProgram.strings b/Localizations/French/MainProgram.strings deleted file mode 100644 index 21bfa4aeb..000000000 Binary files a/Localizations/French/MainProgram.strings and /dev/null differ diff --git a/Localizations/French/MainUI.strings b/Localizations/French/MainUI.strings deleted file mode 100644 index 76de4c670..000000000 Binary files a/Localizations/French/MainUI.strings and /dev/null differ diff --git a/Localizations/French/OpenURLPanel.strings b/Localizations/French/OpenURLPanel.strings deleted file mode 100644 index 8dccf7df6..000000000 Binary files a/Localizations/French/OpenURLPanel.strings and /dev/null differ diff --git a/Localizations/French/PreferencesProgram.strings b/Localizations/French/PreferencesProgram.strings deleted file mode 100644 index e8317d552..000000000 Binary files a/Localizations/French/PreferencesProgram.strings and /dev/null differ diff --git a/Localizations/French/PreferencesUI.strings b/Localizations/French/PreferencesUI.strings deleted file mode 100644 index 707a24006..000000000 Binary files a/Localizations/French/PreferencesUI.strings and /dev/null differ diff --git a/Localizations/French/help.html b/Localizations/French/help.html deleted file mode 100644 index 44b3ab48e..000000000 Binary files a/Localizations/French/help.html and /dev/null differ diff --git a/Localizations/German/Credits.html b/Localizations/German/Credits.html deleted file mode 100644 index 0d69306f8..000000000 --- a/Localizations/German/Credits.html +++ /dev/null @@ -1,9 +0,0 @@ - - -Cog is brought to you by Schadenfreude Inc, makers of Cheese Babies ™ and other fine gourmet snacks. -

-This program has been made possible through contributions from users like you. -

-German localization by Heinz-Peter Fohrmann. - - diff --git a/Localizations/German/MainProgram.strings b/Localizations/German/MainProgram.strings deleted file mode 100644 index a7334fbe6..000000000 --- a/Localizations/German/MainProgram.strings +++ /dev/null @@ -1,22 +0,0 @@ -"FeedbackFailedMessageText" = "Fehlgeschlagen"; -"FeedbackFailedInformativeText" = "Feedback konnte nicht gesendet werden."; -"FeedbackSuccessMessageText" = "Erfolgreich"; -"FeedbackSuccessInformativeText" = "Feedback erfolgreich gesendet!"; - -"PlayButtonTooltip" = "Wiedergabe"; -"StopButtonTooltip" = "Stop"; -"PrevButtonTooltip" = "Vorheriger"; -"NextButtonTooltip" = "NŠchster"; - -"TimeElapsed" = "%i:%02i"; -"TimeRemaining" = "-%i:%02i"; - -"AddButtonTooltip" = "Dateien hinzufŸgen"; -"RemoveButtonTooltip" = "AusgewŠhlte Dateien entfernen"; -"InfoButtonTooltip" = "Information Ÿber ausgewŠhlte Datei"; -"ShuffleButtonTooltip" = "Zufallsreihenfolge"; -"RepeatButtonTooltip" = "Wiederholen"; -"FileButtonTooltip" = "Datei-Browser"; - -"InvalidURLShort" = "UngŸltige URL"; -"InvalidURLLong" = "Die URL ist nicht gŸltig."; diff --git a/Localizations/German/MainUI.strings b/Localizations/German/MainUI.strings deleted file mode 100644 index 23d103410..000000000 Binary files a/Localizations/German/MainUI.strings and /dev/null differ diff --git a/Localizations/German/OpenURLPanel.strings b/Localizations/German/OpenURLPanel.strings deleted file mode 100644 index 553c416e6..000000000 Binary files a/Localizations/German/OpenURLPanel.strings and /dev/null differ diff --git a/Localizations/German/PreferencesProgram.strings b/Localizations/German/PreferencesProgram.strings deleted file mode 100644 index a4eeda5b1..000000000 --- a/Localizations/German/PreferencesProgram.strings +++ /dev/null @@ -1,3 +0,0 @@ -"Nightly" = "Nightly"; -"Stable" = "Stable"; -"Unstable" = "Unstable"; diff --git a/Localizations/German/PreferencesUI.strings b/Localizations/German/PreferencesUI.strings deleted file mode 100644 index 32694bf02..000000000 Binary files a/Localizations/German/PreferencesUI.strings and /dev/null differ diff --git a/Localizations/German/help.html b/Localizations/German/help.html deleted file mode 100644 index b12a3c3fc..000000000 --- a/Localizations/German/help.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - -Cog Hilfe - - - - - - - - - - - - - -
- -

UnterstĂŒtzte Codecs

- -
    -
  • Ogg Vorbis
  • -
  • FLAC
  • -
  • AAC
  • -
  • MP3
  • -
  • WAV
  • -
  • AIFF
  • -
  • Musepack
  • -
  • Monkey's Audio
  • -
  • Shorten
  • -
  • WavPack
  • -
  • Apple Lossless
  • -
  • Jeder Codec, der von der Mac OS X 10.4 Core Audio API unterstĂŒtzt wird
  • -
- -

UnterstĂŒtzte Tags

- -
    -
  • Vorbis comments/FLAC tags
  • -
  • ID3v1.0, 1.1, 2.3+
  • -
  • APEv1 and v2
  • -
- -
- -
- -

Schalter

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Wiedergabe/Pause
Vorheriger SongNĂ€chster Song
Datei-Browser
anzeigen/verbergen
Wiederholen ein/aus
Information
anzeigen/verbergen
Zufallsreihenfolge ein/aus
- -

Allgemeine Merkmale

- -
    -
  • Last.fm UnterstĂŒtzung
  • -
  • Growl UnterstĂŒtzung
  • -
  • M3U and PLS Playlisten
  • -
  • HTTP streaming
  • -
  • Output device Auswahl
  • -
  • Unterbrechungsfreie Wiedergabe (gapless playback)
  • -
  • Logarithmische LautstĂ€rkeregelung
  • -
  • Intelligente Zufallswiedergabe (smart shuffle)
  • -
  • Suchfunktion
  • -
- -
- - - - diff --git a/Localizations/Greek/Credits.html b/Localizations/Greek/Credits.html deleted file mode 100644 index 7241accac..000000000 Binary files a/Localizations/Greek/Credits.html and /dev/null differ diff --git a/Localizations/Greek/MainProgram.strings b/Localizations/Greek/MainProgram.strings deleted file mode 100644 index e88303b88..000000000 Binary files a/Localizations/Greek/MainProgram.strings and /dev/null differ diff --git a/Localizations/Greek/MainUI.strings b/Localizations/Greek/MainUI.strings deleted file mode 100644 index 9f62c038f..000000000 Binary files a/Localizations/Greek/MainUI.strings and /dev/null differ diff --git a/Localizations/Greek/OpenURLPanel.strings b/Localizations/Greek/OpenURLPanel.strings deleted file mode 100644 index 075116eaa..000000000 Binary files a/Localizations/Greek/OpenURLPanel.strings and /dev/null differ diff --git a/Localizations/Greek/PreferencesProgram.strings b/Localizations/Greek/PreferencesProgram.strings deleted file mode 100644 index 10612515a..000000000 Binary files a/Localizations/Greek/PreferencesProgram.strings and /dev/null differ diff --git a/Localizations/Greek/PreferencesUI.strings b/Localizations/Greek/PreferencesUI.strings deleted file mode 100644 index 78b4e612a..000000000 Binary files a/Localizations/Greek/PreferencesUI.strings and /dev/null differ diff --git a/Localizations/Greek/help.html b/Localizations/Greek/help.html deleted file mode 100644 index 8a0ddca3c..000000000 Binary files a/Localizations/Greek/help.html and /dev/null differ diff --git a/Localizations/Hebrew/Credits.html b/Localizations/Hebrew/Credits.html deleted file mode 100644 index 8d5c827b7..000000000 Binary files a/Localizations/Hebrew/Credits.html and /dev/null differ diff --git a/Localizations/Hebrew/MainProgram.strings b/Localizations/Hebrew/MainProgram.strings deleted file mode 100644 index f96f6626f..000000000 Binary files a/Localizations/Hebrew/MainProgram.strings and /dev/null differ diff --git a/Localizations/Hebrew/MainUI.strings b/Localizations/Hebrew/MainUI.strings deleted file mode 100644 index 63ab9bd31..000000000 Binary files a/Localizations/Hebrew/MainUI.strings and /dev/null differ diff --git a/Localizations/Hebrew/OpenURLPanel.strings b/Localizations/Hebrew/OpenURLPanel.strings deleted file mode 100644 index 4483d97d2..000000000 Binary files a/Localizations/Hebrew/OpenURLPanel.strings and /dev/null differ diff --git a/Localizations/Hebrew/PreferencesProgram.strings b/Localizations/Hebrew/PreferencesProgram.strings deleted file mode 100644 index 2cef1adb2..000000000 Binary files a/Localizations/Hebrew/PreferencesProgram.strings and /dev/null differ diff --git a/Localizations/Hebrew/PreferencesUI.strings b/Localizations/Hebrew/PreferencesUI.strings deleted file mode 100644 index a0ba4a865..000000000 Binary files a/Localizations/Hebrew/PreferencesUI.strings and /dev/null differ diff --git a/Localizations/Hebrew/help.html b/Localizations/Hebrew/help.html deleted file mode 100644 index ee12a67c2..000000000 Binary files a/Localizations/Hebrew/help.html and /dev/null differ diff --git a/Localizations/Swedish/Credits.html b/Localizations/Swedish/Credits.html deleted file mode 100644 index b49eada68..000000000 --- a/Localizations/Swedish/Credits.html +++ /dev/null @@ -1,9 +0,0 @@ - - -Cog presenteras av Schadenfreude AB, tillverkare av Ostfoster™ och andra delikata gourmettilltugg. -

-Det hÀr programmet har gjorts möjligt genom bidrag frÄn anvÀndare som dig. -

-Svensk översÀttning av Tobias Axelsson. - - diff --git a/Localizations/Swedish/MainProgram.strings b/Localizations/Swedish/MainProgram.strings deleted file mode 100644 index db7ac446b..000000000 --- a/Localizations/Swedish/MainProgram.strings +++ /dev/null @@ -1,22 +0,0 @@ -"FeedbackFailedMessageText" = "Misslyckades"; -"FeedbackFailedInformativeText" = "Misslyckades att skicka respons."; -"FeedbackSuccessMessageText" = "Lyckades"; -"FeedbackSuccessInformativeText" = "Respons skickad!"; - -"PlayButtonTooltip" = "Spela"; -"StopButtonTooltip" = "Stanna"; -"PrevButtonTooltip" = "FöregÄende"; -"NextButtonTooltip" = "NÀsta"; - -"TimeElapsed" = "%i:%02i"; -"TimeRemaining" = "-%i:%02i"; - -"AddButtonTooltip" = "LÀgg till filer"; -"RemoveButtonTooltip" = "Ta bort markerade filer"; -"InfoButtonTooltip" = "Information om markerad fil"; -"ShuffleButtonTooltip" = "Slumpvis"; -"RepeatButtonTooltip" = "Repetera"; -"FileButtonTooltip" = "FillÄda"; - -"InvalidURLShort" = "Ogiltig URL"; -"InvalidURLLong" = "URL ej giltig."; diff --git a/Localizations/Swedish/MainUI.strings b/Localizations/Swedish/MainUI.strings deleted file mode 100644 index e427b1fcb..000000000 Binary files a/Localizations/Swedish/MainUI.strings and /dev/null differ diff --git a/Localizations/Swedish/OpenURLPanel.strings b/Localizations/Swedish/OpenURLPanel.strings deleted file mode 100644 index 6b88a158c..000000000 Binary files a/Localizations/Swedish/OpenURLPanel.strings and /dev/null differ diff --git a/Localizations/Swedish/PreferencesProgram.strings b/Localizations/Swedish/PreferencesProgram.strings deleted file mode 100644 index 640907e96..000000000 --- a/Localizations/Swedish/PreferencesProgram.strings +++ /dev/null @@ -1,3 +0,0 @@ -"Nightly" = "Nattlig"; -"Stable" = "Stabil"; -"Unstable" = "instabil"; diff --git a/Localizations/Swedish/PreferencesUI.strings b/Localizations/Swedish/PreferencesUI.strings deleted file mode 100644 index 699283fca..000000000 Binary files a/Localizations/Swedish/PreferencesUI.strings and /dev/null differ diff --git a/Localizations/Swedish/help.html b/Localizations/Swedish/help.html deleted file mode 100644 index 7c47f7e0a..000000000 --- a/Localizations/Swedish/help.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - -Cog Help - - - - - - - - - - - - - -
- -

Stöd av codec

- -
    -
  • Ogg Vorbis
  • -
  • FLAC
  • -
  • AAC
  • -
  • MP3
  • -
  • WAV
  • -
  • AIFF
  • -
  • Musepack
  • -
  • Monkey's Audio
  • -
  • Shorten
  • -
  • WavPack
  • -
  • Apple Lossless
  • -
  • Alla codec som stöds av Mac OS X 10.4 Core Audio API
  • -
- -

Stöd av taggar

- -
    -
  • Vorbis-kommentarer/FLAC-taggar
  • -
  • ID3v1.0, 1.1, 2.3+
  • -
  • APEv1 och v2
  • -
- -
- -
- -

Knappar

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Spela/Pausa
FöregÄende lÄtNÀsta lÄt
Visa/dölj
fillÄda
Repetera pÄ/av
Visa/dölj
infolÄda
Slumpvis pÄ/av
- -

AllmÀnna funktioner

- -
    -
  • Last.fm-stöd
  • -
  • Growl-stöd
  • -
  • M3U- och PLS-spellistor
  • -
  • HTTP-strömning
  • -
  • Val av uppspelningsenhet
  • -
  • Kontinuerlig uppspelning
  • -
  • Logaritmisk volymkontroll
  • -
  • Smart slumpvis uppspelning
  • -
  • Sökning
  • -
- -
- - - - \ No newline at end of file diff --git a/Scripts/load_localization.sh b/Scripts/load_localization.sh deleted file mode 100755 index 4cc256535..000000000 --- a/Scripts/load_localization.sh +++ /dev/null @@ -1,30 +0,0 @@ -language=$1 - -if [ $language = "English" ]; then - echo "You cannot load English." - exit 1 -fi - -if ! [ -d Localizations/$language ]; then - echo "You do not have that language available." - exit 1 -fi - -if ! [ -d $language.lproj ]; then - mkdir $language.lproj -fi - -if ! [ -d Prferences/General/$language.lproj ]; then - mkdir Preferences/General/$language.lproj -fi - -nibtool -d Localizations/$language/MainUI.strings English.lproj/MainMenu.nib -W $language.lproj/MainMenu.nib -nibtool -d Localizations/$language/OpenURLPanel.strings English.lproj/OpenURLPanel.nib -W $language.lproj/OpenURLPanel.nib -nibtool -d Localizations/$language/PreferencesUI.strings Preferences/General/English.lproj/Preferences.nib -W Preferences/General/$language.lproj/Preferences.nib -cp Localizations/$language/MainProgram.strings $language.lproj/Localizable.strings -cp Localizations/$language/PreferencesProgram.strings Preferences/General/$language.lproj/Localizable.strings -cp Localizations/$language/Credits.html $language.lproj/Credits.html -cp -r English.lproj/Help $language.lproj/ -cp Localizations/$language/help.html $language.lproj/Help/index.html - - diff --git a/Scripts/update_strings.sh b/Scripts/update_strings.sh deleted file mode 100755 index cb487b395..000000000 --- a/Scripts/update_strings.sh +++ /dev/null @@ -1,14 +0,0 @@ -if ! [ -d Localizations/English ]; then - mkdir Localizations/English -fi - -nibtool -L English.lproj/MainMenu.nib > Localizations/English/MainUI.strings -nibtool -L English.lproj/OpenURLPanel.nib > Localizations/English/OpenURLPanel.strings - -nibtool -L Preferences/General/English.lproj/Preferences.nib > Localizations/English/PreferencesUI.strings - -cp English.lproj/Localizable.strings Localizations/English/MainProgram.strings -cp Preferences/General/English.lproj/Localizable.strings Localizations/English/PreferencesProgram.strings -cp English.lproj/Credits.html Localizations/English/Credits.html -cp English.lproj/Help/index.html Localizations/English/help.html -