mirror of
https://github.com/taglib/taglib.git
synced 2026-06-07 06:50:32 -04:00
Compare commits
232 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fddf3ed51b | ||
|
|
e2bdbb2cd1 | ||
|
|
059f2243b3 | ||
|
|
cce6ad46c9 | ||
|
|
288c6e4a3f | ||
|
|
606edf8171 | ||
|
|
009c43952f | ||
|
|
9c1668f28b | ||
|
|
110cac8429 | ||
|
|
258ae751b5 | ||
|
|
df1d3e028e | ||
|
|
23c86cf27d | ||
|
|
f59c3b67aa | ||
|
|
294cb22241 | ||
|
|
b7ec0d26ab | ||
|
|
934ce51790 | ||
|
|
d112a68193 | ||
|
|
f624d6e2af | ||
|
|
d3e79ddc38 | ||
|
|
b3ae839a38 | ||
|
|
cce88b7005 | ||
|
|
311be56432 | ||
|
|
5685dd078f | ||
|
|
eee860f9c6 | ||
|
|
10fff6d797 | ||
|
|
7cc1ce1c36 | ||
|
|
272719e666 | ||
|
|
d21ff8be54 | ||
|
|
f89c16cd65 | ||
|
|
be8fff3768 | ||
|
|
263832cf6a | ||
|
|
95c09d232d | ||
|
|
378fd15b54 | ||
|
|
2f9838a440 | ||
|
|
4b00ef4acb | ||
|
|
c21fd955ff | ||
|
|
ad0494bb7e | ||
|
|
7c776935e4 | ||
|
|
a4f53d9b4a | ||
|
|
c56c0a3d0c | ||
|
|
299e3f0ad6 | ||
|
|
df86f45dad | ||
|
|
b051df0062 | ||
|
|
0087895206 | ||
|
|
735e52392b | ||
|
|
1352a4e0c3 | ||
|
|
fb3cca2c44 | ||
|
|
393e9c5572 | ||
|
|
6f68c30db3 | ||
|
|
085a54b67d | ||
|
|
b43c149138 | ||
|
|
3741c39295 | ||
|
|
d16be3fa98 | ||
|
|
fad0724bff | ||
|
|
5c930a6a8c | ||
|
|
d21d8f9f3c | ||
|
|
56343767ce | ||
|
|
15d139e271 | ||
|
|
259a9a1a14 | ||
|
|
874d495b29 | ||
|
|
306aee3e7d | ||
|
|
32a10b53d5 | ||
|
|
1c225ed37a | ||
|
|
f887f5eec3 | ||
|
|
dcef0fbad2 | ||
|
|
0f979667be | ||
|
|
5aed3681fb | ||
|
|
3cca3f17c5 | ||
|
|
7426a64d2b | ||
|
|
1d10bde500 | ||
|
|
49631a3013 | ||
|
|
ab7e997bc6 | ||
|
|
a33f161999 | ||
|
|
ab1bc06172 | ||
|
|
8792f8df82 | ||
|
|
9dcdecc810 | ||
|
|
f6478a4172 | ||
|
|
91f94f593b | ||
|
|
10e4350410 | ||
|
|
414a49cc16 | ||
|
|
19b2341411 | ||
|
|
d5eb51e452 | ||
|
|
2811d24efa | ||
|
|
f7f46b2320 | ||
|
|
c823c21eb2 | ||
|
|
aee204df54 | ||
|
|
7f860790ec | ||
|
|
b1cac7175f | ||
|
|
e76466097b | ||
|
|
6612abce72 | ||
|
|
3943668603 | ||
|
|
2ef8fc5118 | ||
|
|
4202ce3ec9 | ||
|
|
0d16255d09 | ||
|
|
d394317767 | ||
|
|
9e9077d1e0 | ||
|
|
b11d2e8b56 | ||
|
|
74c3c282c4 | ||
|
|
004551faec | ||
|
|
5df7692aa1 | ||
|
|
85df71ea2e | ||
|
|
1b6ab18080 | ||
|
|
0f0f2f7288 | ||
|
|
4c70372fe4 | ||
|
|
d81af82ec4 | ||
|
|
44c08b8ca2 | ||
|
|
c962d78a57 | ||
|
|
2039c725f4 | ||
|
|
dcf4c7458b | ||
|
|
de162a9734 | ||
|
|
d685cd6e47 | ||
|
|
f1abbf33f2 | ||
|
|
5a40a45cc5 | ||
|
|
76b6d4fc9e | ||
|
|
e8281e1b9f | ||
|
|
bffd4da8b6 | ||
|
|
fa1a23fe5c | ||
|
|
4e9b41f540 | ||
|
|
724a68c79c | ||
|
|
03c63a11a5 | ||
|
|
ea9dbfd7ae | ||
|
|
af65fefef7 | ||
|
|
752a21edc9 | ||
|
|
18c621cdc2 | ||
|
|
be2f9ad6e5 | ||
|
|
f6083f327f | ||
|
|
8b43367eb4 | ||
|
|
639b604a55 | ||
|
|
482431286e | ||
|
|
cc7c66bf86 | ||
|
|
db3db34e21 | ||
|
|
9b17ca219c | ||
|
|
f644bafa44 | ||
|
|
06f405f719 | ||
|
|
cf83551c93 | ||
|
|
0adea10728 | ||
|
|
b26f8bf5a8 | ||
|
|
92391e38e8 | ||
|
|
41fd27a5d2 | ||
|
|
67bdd5b8d1 | ||
|
|
ee7703d29b | ||
|
|
624b8594ca | ||
|
|
52fba4ec09 | ||
|
|
3ffe65c5f4 | ||
|
|
9b7463225a | ||
|
|
93272b4181 | ||
|
|
d10c9e9166 | ||
|
|
8636eb749a | ||
|
|
834d9d6b23 | ||
|
|
097ae0d785 | ||
|
|
7f0f90b4ea | ||
|
|
f7fc585665 | ||
|
|
0f11c5ab0c | ||
|
|
39e6891c92 | ||
|
|
5e1eb18df9 | ||
|
|
59e35efc1b | ||
|
|
c92a02b0d7 | ||
|
|
b70e3b2304 | ||
|
|
bed793f703 | ||
|
|
be640ed19f | ||
|
|
b19a4cf81c | ||
|
|
901a427d1f | ||
|
|
c6e7812d37 | ||
|
|
98a9b850cf | ||
|
|
fd20da2ef8 | ||
|
|
0974882ecd | ||
|
|
a9bce47f96 | ||
|
|
321997c399 | ||
|
|
94a402395b | ||
|
|
f1a16bcf0f | ||
|
|
40bdaedb71 | ||
|
|
33b939c76f | ||
|
|
1eace99153 | ||
|
|
98d2808c17 | ||
|
|
fad967ae0b | ||
|
|
56e8766126 | ||
|
|
36a398a156 | ||
|
|
f1fd227fce | ||
|
|
c918150b72 | ||
|
|
3ec42c7b84 | ||
|
|
f024f9ab1b | ||
|
|
66b3a1a184 | ||
|
|
4fbd7c5d93 | ||
|
|
3a390a11d0 | ||
|
|
16a7efcd1c | ||
|
|
fc80167a4f | ||
|
|
df3eb22060 | ||
|
|
27e3643d19 | ||
|
|
977ec6d41f | ||
|
|
e989d7ad1d | ||
|
|
e2c76396dd | ||
|
|
5c0eb1d698 | ||
|
|
1bcb9a6cc7 | ||
|
|
5df6ef092b | ||
|
|
fa31fa29d7 | ||
|
|
13fddc3974 | ||
|
|
d2a1cfa32d | ||
|
|
8434d19928 | ||
|
|
9947f45b31 | ||
|
|
07a6c86a31 | ||
|
|
bd90f1b9d4 | ||
|
|
50fe14f4b7 | ||
|
|
75579dc0dd | ||
|
|
1d86a684b2 | ||
|
|
be99222f29 | ||
|
|
9ce4c72995 | ||
|
|
f6994ec26c | ||
|
|
51ca869f65 | ||
|
|
55c788b608 | ||
|
|
3fe0895f62 | ||
|
|
388d0f353d | ||
|
|
aec136f119 | ||
|
|
08b6514420 | ||
|
|
c52f3a4974 | ||
|
|
918366adcf | ||
|
|
5175ed952b | ||
|
|
ea839c286a | ||
|
|
123aa8a775 | ||
|
|
1d1fab1122 | ||
|
|
b2778ed715 | ||
|
|
d302b299d1 | ||
|
|
a2aaf8a8e1 | ||
|
|
0d10ae449c | ||
|
|
d367a2f429 | ||
|
|
efdcc7b01f | ||
|
|
40da982936 | ||
|
|
d4527a0141 | ||
|
|
09dfbb7c3a | ||
|
|
5fe5ee1074 | ||
|
|
a724586b43 | ||
|
|
bbfcc84dec | ||
|
|
29995f8c2a |
@@ -1,16 +1,24 @@
|
||||
project(taglib)
|
||||
|
||||
cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
|
||||
|
||||
OPTION(ENABLE_STATIC "Make static version of libtag" OFF)
|
||||
|
||||
OPTION(BUILD_TESTS "Build the test suite" OFF)
|
||||
OPTION(BUILD_EXAMPLES "Build the examples" OFF)
|
||||
|
||||
OPTION(NO_ITUNES_HACKS "Disable workarounds for iTunes bugs" OFF)
|
||||
OPTION(WITH_ASF "Enable ASF tag reading/writing code" OFF)
|
||||
OPTION(WITH_MP4 "Enable MP4 tag reading/writing code" OFF)
|
||||
|
||||
add_definitions(-DHAVE_CONFIG_H)
|
||||
|
||||
#add some KDE specific stuff
|
||||
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
|
||||
set(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Base directory for executables and libraries" FORCE)
|
||||
#
|
||||
## the following are directories where stuff will be installed to
|
||||
set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The kde info install dir (default prefix/info)" FORCE)
|
||||
set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The subdirectory to the binaries prefix (default prefix/bin)" FORCE)
|
||||
set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)
|
||||
set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix" FORCE)
|
||||
|
||||
@@ -21,15 +29,18 @@ if (CMAKE_COMPILER_IS_GNUCXX)
|
||||
endif (CMAKE_SYSTEM_NAME MATCHES Linux)
|
||||
endif (CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(MSVC)
|
||||
add_definitions( -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE )
|
||||
if (MSVC_VERSION GREATER 1399)
|
||||
# If using Visual C++ 2005 (MSVC80) and greater (MSVC_VERSION=1400)
|
||||
add_definitions(/D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /Zc:wchar_t-)
|
||||
endif (MSVC_VERSION GREATER 1399)
|
||||
endif(MSVC)
|
||||
if (WIN32)
|
||||
set(CMAKE_DEBUG_POSTFIX "d")
|
||||
endif (WIN32)
|
||||
|
||||
SET(TAGLIB_LIB_MAJOR_VERSION "1")
|
||||
SET(TAGLIB_LIB_MINOR_VERSION "5")
|
||||
SET(TAGLIB_LIB_PATCH_VERSION "0")
|
||||
SET(TAGLIB_LIB_MINOR_VERSION "7")
|
||||
SET(TAGLIB_LIB_PATCH_VERSION "2")
|
||||
|
||||
SET(TAGLIB_LIB_VERSION_STRING "${TAGLIB_LIB_MAJOR_VERSION}.${TAGLIB_LIB_MINOR_VERSION}.${TAGLIB_LIB_PATCH_VERSION}")
|
||||
|
||||
@@ -37,10 +48,22 @@ SET(TAGLIB_LIB_VERSION_STRING "${TAGLIB_LIB_MAJOR_VERSION}.${TAGLIB_LIB_MINOR_VE
|
||||
include(ConfigureChecks.cmake)
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib-config )
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib.pc )
|
||||
|
||||
if(NOT WIN32)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib.pc )
|
||||
endif(NOT WIN32)
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
configure_file(config-taglib.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h )
|
||||
|
||||
if(WITH_ASF)
|
||||
set(TAGLIB_WITH_ASF TRUE)
|
||||
endif(WITH_ASF)
|
||||
if(WITH_MP4)
|
||||
set(TAGLIB_WITH_MP4 TRUE)
|
||||
endif(WITH_MP4)
|
||||
configure_file(taglib/taglib_config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib_config.h )
|
||||
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/taglib_config.h DESTINATION ${INCLUDE_INSTALL_DIR}/taglib)
|
||||
|
||||
ADD_SUBDIRECTORY( taglib )
|
||||
|
||||
ADD_SUBDIRECTORY(tests)
|
||||
@@ -48,9 +71,12 @@ ADD_SUBDIRECTORY(examples)
|
||||
|
||||
ADD_SUBDIRECTORY(bindings)
|
||||
if(NOT WIN32)
|
||||
INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/taglib.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig )
|
||||
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/taglib.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig )
|
||||
endif(NOT WIN32)
|
||||
|
||||
INSTALL( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/taglib-config DESTINATION ${BIN_INSTALL_DIR})
|
||||
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
|
||||
file(COPY doc/taglib.png DESTINATION doc)
|
||||
ADD_CUSTOM_TARGET(docs doxygen)
|
||||
|
||||
|
||||
201
COPYING.LGPL
201
COPYING.LGPL
@@ -1,113 +1,125 @@
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA.
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the library GPL. It is
|
||||
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Library General Public License, applies to some
|
||||
specially designated Free Software Foundation software, and to any
|
||||
other libraries whose authors decide to use it. You can use it for
|
||||
your libraries, too.
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if
|
||||
you distribute copies of the library, or if you modify it.
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link a program with the library, you must provide
|
||||
complete object files to the recipients so that they can relink them
|
||||
with the library, after making changes to the library and recompiling
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
Our method of protecting your rights has two steps: (1) copyright
|
||||
the library, and (2) offer you this license which gives you legal
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
Also, for each distributor's protection, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
library. If the library is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original
|
||||
version, so that any problems introduced by others will not reflect on
|
||||
the original authors' reputations.
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that companies distributing free
|
||||
software will individually obtain patent licenses, thus in effect
|
||||
transforming the program into proprietary software. To prevent this,
|
||||
we have made it clear that any patent must be licensed for everyone's
|
||||
free use or not licensed at all.
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the ordinary
|
||||
GNU General Public License, which was designed for utility programs. This
|
||||
license, the GNU Library General Public License, applies to certain
|
||||
designated libraries. This license is quite different from the ordinary
|
||||
one; be sure to read it in full, and don't assume that anything in it is
|
||||
the same as in the ordinary license.
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
The reason we have a separate public license for some libraries is that
|
||||
they blur the distinction we usually make between modifying or adding to a
|
||||
program and simply using it. Linking a program with a library, without
|
||||
changing the library, is in some sense simply using the library, and is
|
||||
analogous to running a utility program or application program. However, in
|
||||
a textual and legal sense, the linked executable is a combined work, a
|
||||
derivative of the original library, and the ordinary General Public License
|
||||
treats it as such.
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
Because of this blurred distinction, using the ordinary General
|
||||
Public License for libraries did not effectively promote software
|
||||
sharing, because most developers did not use the libraries. We
|
||||
concluded that weaker conditions might promote sharing better.
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
However, unrestricted linking of non-free programs would deprive the
|
||||
users of those programs of all benefit from the free status of the
|
||||
libraries themselves. This Library General Public License is intended to
|
||||
permit developers of non-free programs to use free libraries, while
|
||||
preserving your freedom as a user of such programs to change the free
|
||||
libraries that are incorporated in them. (We have not seen how to achieve
|
||||
this as regards changes in header files, but we have achieved it as regards
|
||||
changes in the actual functions of the Library.) The hope is that this
|
||||
will lead to faster development of free libraries.
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, while the latter only
|
||||
works together with the library.
|
||||
|
||||
Note that it is possible for a library to be covered by the ordinary
|
||||
General Public License rather than by this special one.
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library which
|
||||
contains a notice placed by the copyright holder or other authorized
|
||||
party saying it may be distributed under the terms of this Library
|
||||
General Public License (also called "this License"). Each licensee is
|
||||
addressed as "you".
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
@@ -134,7 +146,7 @@ such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
@@ -256,7 +268,7 @@ distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also compile or
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
@@ -283,23 +295,31 @@ of these things:
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Accompany the work with a written offer, valid for at
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
c) If distribution of the work is made by offering access to copy
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
d) Verify that the user has already received a copy of these
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the source code distributed need not include anything that is normally
|
||||
distributed (in either source or binary form) with the major
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
@@ -348,7 +368,7 @@ Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
@@ -391,7 +411,7 @@ excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Library General Public License from time to time.
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
@@ -412,7 +432,7 @@ decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
@@ -435,8 +455,9 @@ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
How to Apply These Terms to Your New Libraries
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
@@ -455,7 +476,7 @@ convey the exclusion of warranty; and each file should have at least the
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
@@ -464,7 +485,7 @@ convey the exclusion of warranty; and each file should have at least the
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ ENDIF(ZLIB_FOUND)
|
||||
|
||||
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
|
||||
FIND_PACKAGE(CppUnit)
|
||||
IF (NOT CPPUNIT_FOUND AND BUILD_TESTS)
|
||||
IF (NOT CppUnit_FOUND AND BUILD_TESTS)
|
||||
MESSAGE(STATUS "CppUnit not found, disabling tests.")
|
||||
SET(BUILD_TESTS OFF)
|
||||
ENDIF(NOT CPPUNIT_FOUND AND BUILD_TESTS)
|
||||
ENDIF(NOT CppUnit_FOUND AND BUILD_TESTS)
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = TagLib
|
||||
PROJECT_NUMBER =
|
||||
OUTPUT_DIRECTORY = .
|
||||
PROJECT_NUMBER = ${TAGLIB_LIB_VERSION_STRING}
|
||||
OUTPUT_DIRECTORY = doc
|
||||
OUTPUT_LANGUAGE = English
|
||||
USE_WINDOWS_ENCODING = NO
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
@@ -61,7 +61,7 @@ WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = ../taglib/
|
||||
INPUT = @CMAKE_SOURCE_DIR@/taglib
|
||||
FILE_PATTERNS = *.h \
|
||||
*.hh \
|
||||
*.H
|
||||
@@ -96,9 +96,9 @@ IGNORE_PREFIX =
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER = api-header.html
|
||||
HTML_FOOTER = api-footer.html
|
||||
HTML_STYLESHEET = taglib-api.css
|
||||
HTML_HEADER = @CMAKE_SOURCE_DIR@/doc/api-header.html
|
||||
HTML_FOOTER = @CMAKE_SOURCE_DIR@/doc/api-footer.html
|
||||
HTML_STYLESHEET = @CMAKE_SOURCE_DIR@/doc/taglib-api.css
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
CHM_FILE =
|
||||
@@ -169,7 +169,9 @@ SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED = DO_NOT_DOCUMENT \
|
||||
DOXYGEN
|
||||
DOXYGEN \
|
||||
WITH_MP4 \
|
||||
WITH_ASF
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
176
INSTALL
176
INSTALL
@@ -1,167 +1,25 @@
|
||||
Basic Installation
|
||||
==================
|
||||
TagLib Installation
|
||||
===================
|
||||
|
||||
These are generic installation instructions.
|
||||
TagLib uses the CMake build system. As a user, you will most likely want to
|
||||
build TagLib in release mode and install it into a system-wide location.
|
||||
This can be done using the following commands:
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, a file
|
||||
`config.cache' that saves the results of its tests to speed up
|
||||
reconfiguring, and a file `config.log' containing compiler output
|
||||
(useful mainly for debugging `configure').
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_RELEASE_TYPE=Release .
|
||||
make
|
||||
sudo make install
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If at some point `config.cache'
|
||||
contains results you don't want to keep, you may remove or edit it.
|
||||
Some file formats in TagLib are not enabled by default, you can compile
|
||||
support for MP4 and WMA using the following options:
|
||||
|
||||
The file `configure.in' is used to create `configure' by a program
|
||||
called `autoconf'. You only need `configure.in' if you want to change
|
||||
it or regenerate `configure' using a newer version of `autoconf'.
|
||||
cmake -DWITH_MP4=ON -DWITH_ASF=ON [...]
|
||||
|
||||
The simplest way to compile this package is:
|
||||
If you want to run the test suite to make sure TagLib works properly on your
|
||||
system, you need to have cppunit installed. The test suite has a custom target
|
||||
in the build system, so you can run the tests using make:
|
||||
|
||||
1. `cd' to the directory containing the package's source code and type
|
||||
`./configure' to configure the package for your system. If you're
|
||||
using `csh' on an old version of System V, you might need to type
|
||||
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||
`configure' itself.
|
||||
make check
|
||||
|
||||
Running `configure' takes a while. While running, it prints some
|
||||
messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
|
||||
3. Type `make install' to install the programs and any data files and
|
||||
documentation.
|
||||
|
||||
4. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. You can give `configure'
|
||||
initial values for variables by setting them in the environment. Using
|
||||
a Bourne-compatible shell, you can do that on the command line like
|
||||
this:
|
||||
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
||||
|
||||
Or on systems that have the `env' program, you can do it like this:
|
||||
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you must use a version of `make' that
|
||||
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'.
|
||||
|
||||
If you have to use a `make' that does not supports the `VPATH'
|
||||
variable, you have to compile the package for one architecture at a time
|
||||
in the source code directory. After you have installed the package for
|
||||
one architecture, use `make distclean' before reconfiguring for another
|
||||
architecture.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' will install the package's files in
|
||||
`/usr/local/bin', `/usr/local/man', etc. You can specify an
|
||||
installation prefix other than `/usr/local' by giving `configure' the
|
||||
option `--prefix=PATH'.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
give `configure' the option `--exec-prefix=PATH', the package will use
|
||||
PATH as the prefix for installing programs and libraries.
|
||||
Documentation and other data files will still use the regular prefix.
|
||||
|
||||
If the package supports it, you can cause programs to be installed
|
||||
with an extra prefix or suffix on their names by giving `configure' the
|
||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
Some packages pay attention to `--enable-FEATURE' options to
|
||||
`configure', where FEATURE indicates an optional part of the package.
|
||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||
is something like `gnu-as' or `x' (for the X Window System). The
|
||||
`README' should mention any `--enable-' and `--with-' options that the
|
||||
package recognizes.
|
||||
|
||||
For packages that use the X Window System, `configure' can usually
|
||||
find the X include and library files automatically, but if it doesn't,
|
||||
you can use the `configure' options `--x-includes=DIR' and
|
||||
`--x-libraries=DIR' to specify their locations.
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' can not figure out
|
||||
automatically, but needs to determine by the type of host the package
|
||||
will run on. Usually `configure' can figure that out, but if it prints
|
||||
a message saying it can not guess the host type, give it the
|
||||
`--host=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name with three fields:
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the host type.
|
||||
|
||||
If you are building compiler tools for cross-compiling, you can also
|
||||
use the `--target=TYPE' option to select the type of system they will
|
||||
produce code for and the `--build=TYPE' option to select the type of
|
||||
system on which you are compiling the package.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share,
|
||||
you can create a site shell script called `config.site' that gives
|
||||
default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Operation Controls
|
||||
==================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Use and save the results of the tests in FILE instead of
|
||||
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
|
||||
debugging `configure'.
|
||||
|
||||
`--help'
|
||||
Print a summary of the options to `configure', and exit.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made.
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`--version'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options.
|
||||
See http://www.cmake.org/cmake/help/runningcmake.html for generic help on
|
||||
running CMake.
|
||||
|
||||
|
||||
54
Makefile.am
54
Makefile.am
@@ -1,54 +0,0 @@
|
||||
SUBDIRS = taglib bindings tests
|
||||
|
||||
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
|
||||
|
||||
bin_SCRIPTS = taglib-config
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = taglib.pc
|
||||
|
||||
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
|
||||
|
||||
apidox:
|
||||
$(mkinstalldirs) doc/api; \
|
||||
if test ! -x doc/common; then \
|
||||
$(LN_S) $(kde_libs_htmldir)/en/common doc/common ; \
|
||||
fi; \
|
||||
cp $(top_srcdir)/admin/Doxyfile.global taglib.doxyfile; \
|
||||
echo "PROJECT_NAME = TagLib" >> taglib.doxyfile; \
|
||||
echo "PROJECT_NUMBER = \"Version 1.5\"" >> taglib.doxyfile; \
|
||||
echo "INPUT = $(srcdir)" >> taglib.doxyfile; \
|
||||
echo "OUTPUT_DIRECTORY = doc/api" >> taglib.doxyfile; \
|
||||
echo "HTML_OUTPUT = html" >> taglib.doxyfile; \
|
||||
echo "GENERATE_HTML = YES" >> taglib.doxyfile ; \
|
||||
echo "GENERATE_MAN = NO" >> taglib.doxyfile ; \
|
||||
echo "GENERATE_LATEX = NO" >> taglib.doxyfile ; \
|
||||
echo "HTML_HEADER = doc/common/header.html" >> taglib.doxyfile ; \
|
||||
echo "HTML_FOOTER = doc/common/footer.html" >> taglib.doxyfile ; \
|
||||
echo "HTML_STYLESHEET = doc/common/doxygen.css" >> taglib.doxyfile ; \
|
||||
echo "FILE_PATTERNS = *.h" >> taglib.doxyfile ; \
|
||||
echo "PREDEFINED = DO_NOT_DOCUMENT DOXYGEN" >> taglib.doxyfile ; \
|
||||
echo "EXTRACT_ALL = YES" >> taglib.doxyfile ; \
|
||||
doxygen taglib.doxyfile
|
||||
14
Makefile.cvs
14
Makefile.cvs
@@ -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:
|
||||
130
NEWS
Normal file
130
NEWS
Normal file
@@ -0,0 +1,130 @@
|
||||
TagLib 1.7.3 (Jul 12, 2012)
|
||||
===========================
|
||||
|
||||
* Fixed crash when parsing ID3v2 tags from APE files (BUG:278773).
|
||||
|
||||
TagLib 1.7.2 (Apr 20, 2012)
|
||||
===========================
|
||||
|
||||
* Fixed division by zero while parsing corrupted MP4 files (CVE-2012-2396).
|
||||
* Fixed compilation on Haiku.
|
||||
|
||||
TagLib 1.7.1 (Mar 17, 2012)
|
||||
===========================
|
||||
|
||||
* Improved parsing of corrupted WMA, RIFF and OGG files.
|
||||
* Fixed a memory leak in the WMA parser.
|
||||
* Fixed a memory leak in the FLAC parser.
|
||||
* Fixed a possible division by zero in the APE parser.
|
||||
* Added detection of TTA2 files.
|
||||
* Fixed saving of multiple identically named tags to Vorbis Comments.
|
||||
|
||||
TagLib 1.7 (Mar 11, 2011)
|
||||
=========================
|
||||
|
||||
1.7:
|
||||
|
||||
* Fixed memory leaks in the FLAC file format parser.
|
||||
* Fixed bitrate calculation for WAV files.
|
||||
|
||||
1.7 RC1:
|
||||
|
||||
* Support for reading/writing tags from Monkey's Audio files. (BUG:210404)
|
||||
* Support for reading/writing embedded pictures from WMA files.
|
||||
* Support for reading/writing embedded pictures from FLAC files (BUG:218696).
|
||||
* Implemented APE::Tag::isEmpty() to check for all APE tags, not just the
|
||||
basic ones.
|
||||
* Added reading of WAV audio length. (BUG:116033)
|
||||
* Exposed FLAC MD5 signature of the uncompressed audio stream via
|
||||
FLAC::Properties::signature(). (BUG:160172)
|
||||
* Added function ByteVector::toHex() for hex-encoding of byte vectors.
|
||||
* WavPack reader now tries to get the audio length by finding the final
|
||||
block, if the header doesn't have the information. (BUG:258016)
|
||||
* Fixed a memory leak in the ID3v2.2 PIC frame parser. (BUG:257007)
|
||||
* Fixed writing of RIFF files with even chunk sizes. (BUG:243954)
|
||||
* Fixed compilation on MSVC 2010.
|
||||
* Removed support for building using autoconf/automake.
|
||||
* API docs can be now built using "make docs".
|
||||
|
||||
TagLib 1.6.3 (Apr 17, 2010)
|
||||
===========================
|
||||
|
||||
* Fixed definitions of the TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF macros.
|
||||
* Fixed upgrading of ID3v2.3 genre frame with ID3v1 code 0 (Blues).
|
||||
* New method `int String::toInt(bool *ok)` which can return whether the
|
||||
conversion to a number was successfull.
|
||||
* Fixed parsing of incorrectly written lengths in ID3v2 (affects mainly
|
||||
compressed frames). (BUG:231075)
|
||||
|
||||
TagLib 1.6.2 (Apr 9, 2010)
|
||||
==========================
|
||||
|
||||
* Read Vorbis Comments from the first FLAC metadata block, if there are
|
||||
multipe ones. (BUG:211089)
|
||||
* Fixed a memory leak in FileRef's OGA format detection.
|
||||
* Fixed compilation with the Sun Studio compiler. (BUG:215225)
|
||||
* Handle WM/TrackNumber attributes with DWORD content in WMA files.
|
||||
(BUG:218526)
|
||||
* More strict check if something is a valid MP4 file. (BUG:216819)
|
||||
* Correctly save MP4 int-pair atoms with flags set to 0.
|
||||
* Fixed compilation of the test runner on Windows.
|
||||
* Store ASF attributes larger than 64k in the metadata library object.
|
||||
* Ignore trailing non-data atoms when parsing MP4 covr atoms.
|
||||
* Don't upgrade ID3v2.2 frame TDA to TDRC. (BUG:228968)
|
||||
|
||||
TagLib 1.6.1 (Oct 31, 2009)
|
||||
===========================
|
||||
|
||||
* Better detection of the audio codec of .oga files in FileRef.
|
||||
* Fixed saving of Vorbis comments to Ogg FLAC files. TagLib tried to
|
||||
include the Vorbis framing bit, which is only correct for Ogg Vorbis.
|
||||
* Public symbols now have explicitly set visibility to "default" on GCC.
|
||||
* Added missing exports for static ID3v1 functions.
|
||||
* Fixed a typo in taglib_c.pc
|
||||
* Fixed a failing test on ppc64.
|
||||
* Support for binary 'covr' atom in MP4 files. TagLib 1.6 treated them
|
||||
as text atoms, which corrupted them in some cases.
|
||||
* Fixed ID3v1-style genre to string conversion in MP4 files.
|
||||
|
||||
TagLib 1.6 (Sep 13, 2009)
|
||||
=========================
|
||||
|
||||
1.6:
|
||||
|
||||
* New CMake option to build a static version - ENABLE_STATIC.
|
||||
* Added support for disabling dllimport/dllexport on Windows using the
|
||||
TAGLIB_STATIC macro.
|
||||
* Support for parsing the obsolete 'gnre' MP4 atom.
|
||||
* New cpp macros TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF to determin if
|
||||
TagLib was built with MP4/ASF support.
|
||||
|
||||
1.6 RC1:
|
||||
|
||||
* Split Ogg packets larger than 64k into multiple pages. (BUG:171957)
|
||||
* TagLib can now use FLAC padding block. (BUG:107659)
|
||||
* ID3v2.2 frames are now not incorrectly saved. (BUG:176373)
|
||||
* Support for ID3v2.2 PIC frames. (BUG:167786)
|
||||
* Fixed a bug in ByteVectorList::split().
|
||||
* XiphComment::year() now falls back to YEAR if DATE doesn't exist
|
||||
and XiphComment::year() falls back to TRACKNUM if TRACKNUMBER doesn't
|
||||
exist. (BUG:144396)
|
||||
* Improved ID3v2.3 genre parsing. (BUG:188578)
|
||||
* Better checking of corrupted ID3v2 APIC data. (BUG:168382)
|
||||
* Bitrate calculating using the Xing header now uses floating point
|
||||
numbers. (BUG:172556)
|
||||
* New TagLib::String method rfind().
|
||||
* Added support for MP4 file format with iTunes-style metadata [optional].
|
||||
* Added support for ASF (WMA) file format [optional].
|
||||
* Fixed crash when saving a Locator APEv2 tag. (BUG:169810)
|
||||
* Fixed a possible crash in the non-const version of String::operator[]
|
||||
and in String::operator+=. (BUG:169389)
|
||||
* Added support for PRIV ID3v2 frames.
|
||||
* Empty ID3v2 genres are no longer treated as numeric ID3v1 genres.
|
||||
* Added support for the POPM (rating/playcount) ID3v2 frame.
|
||||
* Generic RIFF file format support:
|
||||
* Support for AIFF files with ID3v2 tags.
|
||||
* Support for WAV files with ID3v2 tags.
|
||||
* Fixed crash on handling unsupported ID3v2 frames, e.g. on encrypted
|
||||
frames. (BUG:161721)
|
||||
* Fixed overflow while calculating bitrate of FLAC files with a very
|
||||
high bitrate.
|
||||
@@ -1 +0,0 @@
|
||||
SUBDIRS = c
|
||||
@@ -1,12 +1,15 @@
|
||||
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/toolkit
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/asf
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/mpeg
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/ogg
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/ogg/vorbis
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/ogg/flac
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/flac
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/mpc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/mp4
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/mpeg/id3v2
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/mpeg/id3v2/frames
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/wavpack
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/ogg/speex
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/trueaudio
|
||||
@@ -16,38 +19,43 @@ INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib_c.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc )
|
||||
########### next target ###############
|
||||
|
||||
SET(tag_c_LIB_SRCS
|
||||
tag_c.cpp
|
||||
)
|
||||
|
||||
|
||||
ADD_LIBRARY(tag_c SHARED ${tag_c_LIB_SRCS})
|
||||
ADD_LIBRARY(tag_c SHARED tag_c.cpp)
|
||||
if(ENABLE_STATIC)
|
||||
set_target_properties(tag_c PROPERTIES COMPILE_DEFINITIONS TAGLIB_STATIC)
|
||||
endif(ENABLE_STATIC)
|
||||
|
||||
TARGET_LINK_LIBRARIES(tag_c tag )
|
||||
|
||||
# On Solaris we need to explicitly add the C++ standard and runtime
|
||||
# libraries to the libs used by this library, to link them to apps
|
||||
# using these bindings.
|
||||
# libraries to the libs used by the C bindings, because those C bindings
|
||||
# themselves won't pull in the C++ libs -- and if a C application is
|
||||
# using the C bindings then we get link errors.
|
||||
CHECK_LIBRARY_EXISTS(Crun __RTTI___ "" HAVE_CRUN_LIB)
|
||||
IF(HAVE_CRUN_LIB)
|
||||
# Which libraries to link depends critically on which
|
||||
# STL version is going to be used by your application
|
||||
# and which runtime is in use. While Crun is pretty much
|
||||
# the only game in town, the three available STLs -- Cstd,
|
||||
# stlport4 and stdcxx -- make this a mess. We really only
|
||||
# support stdcxx, but won't force the issue here.
|
||||
#
|
||||
TARGET_LINK_LIBRARIES(tag_c Crun)
|
||||
# stlport4 and stdcxx -- make this a mess. The KDE-Solaris
|
||||
# team supports stdcxx (Apache RogueWave stdcxx 4.1.3).
|
||||
|
||||
# According to http://bugs.kde.org/show_bug.cgi?id=215225 the library can have the following two names:
|
||||
FIND_LIBRARY(ROGUEWAVE_STDCXX_LIBRARY NAMES stdcxx4 stdcxx)
|
||||
IF(NOT ROGUEWAVE_STDCXX_LIBRARY)
|
||||
MESSAGE(FATAL_ERROR "Did not find supported STL library (tried stdcxx4 and stdcxx)")
|
||||
ENDIF(NOT ROGUEWAVE_STDCXX_LIBRARY)
|
||||
TARGET_LINK_LIBRARIES(tag_c ${ROGUEWAVE_STDCXX_LIBRARY} Crun)
|
||||
ENDIF(HAVE_CRUN_LIB)
|
||||
|
||||
SET_TARGET_PROPERTIES(tag_c PROPERTIES
|
||||
VERSION 0.0.0
|
||||
SOVERSION 0
|
||||
DEFINE_SYMBOL MAKE_TAGLIB_C_LIB
|
||||
INSTALL_NAME_DIR ${LIB_INSTALL_DIR}
|
||||
)
|
||||
INSTALL(TARGETS tag_c
|
||||
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
|
||||
RUNTIME DESTINATION bin
|
||||
RUNTIME DESTINATION ${BIN_INSTALL_DIR}
|
||||
ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
||||
@@ -56,4 +64,3 @@ INSTALL(TARGETS tag_c
|
||||
|
||||
INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
|
||||
INSTALL( FILES tag_c.h DESTINATION ${INCLUDE_INSTALL_DIR}/taglib)
|
||||
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
-I$(top_srcdir)/taglib/mpeg \
|
||||
-I$(top_srcdir)/taglib/ogg \
|
||||
-I$(top_srcdir)/taglib/ogg/vorbis \
|
||||
-I$(top_srcdir)/taglib/ogg/speex \
|
||||
-I$(top_srcdir)/taglib/ogg/flac \
|
||||
-I$(top_srcdir)/taglib/flac \
|
||||
-I$(top_srcdir)/taglib/mpc \
|
||||
-I$(top_srcdir)/taglib/mpeg/id3v2 \
|
||||
-I$(top_srcdir)/taglib/wavpack \
|
||||
-I$(top_srcdir)/taglib/trueaudio \
|
||||
$(all_includes)
|
||||
|
||||
lib_LTLIBRARIES = libtag_c.la
|
||||
|
||||
libtag_c_la_SOURCES = tag_c.cpp
|
||||
taglib_include_HEADERS = tag_c.h
|
||||
taglib_includedir = $(includedir)/taglib
|
||||
|
||||
libtag_c_la_LDFLAGS = $(all_libraries) -no-undefined -version-info 0:0
|
||||
libtag_c_la_LIBADD = ../../taglib/libtag.la
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = taglib_c.pc
|
||||
@@ -1 +0,0 @@
|
||||
dnl AC_OUTPUT(bindings/c/taglib_c.pc)
|
||||
@@ -19,11 +19,16 @@
|
||||
* USA *
|
||||
***************************************************************************/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include "tag_c.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <fileref.h>
|
||||
#include <tfile.h>
|
||||
#include <asffile.h>
|
||||
#include <vorbisfile.h>
|
||||
#include <mpegfile.h>
|
||||
#include <flacfile.h>
|
||||
@@ -32,6 +37,7 @@
|
||||
#include <wavpackfile.h>
|
||||
#include <speexfile.h>
|
||||
#include <trueaudiofile.h>
|
||||
#include <mp4file.h>
|
||||
#include <tag.h>
|
||||
#include <string.h>
|
||||
#include <id3v2framefactory.h>
|
||||
@@ -80,6 +86,16 @@ TagLib_File *taglib_file_new_type(const char *filename, TagLib_File_Type type)
|
||||
return reinterpret_cast<TagLib_File *>(new Ogg::Speex::File(filename));
|
||||
case TagLib_File_TrueAudio:
|
||||
return reinterpret_cast<TagLib_File *>(new TrueAudio::File(filename));
|
||||
#ifdef TAGLIB_WITH_MP4
|
||||
case TagLib_File_MP4:
|
||||
return reinterpret_cast<TagLib_File *>(new MP4::File(filename));
|
||||
#endif
|
||||
#ifdef TAGLIB_WITH_ASF
|
||||
case TagLib_File_ASF:
|
||||
return reinterpret_cast<TagLib_File *>(new ASF::File(filename));
|
||||
#endif
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -35,6 +35,8 @@ extern "C" {
|
||||
#else
|
||||
#define TAGLIB_C_EXPORT __declspec(dllimport)
|
||||
#endif
|
||||
#elif defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 1)
|
||||
#define TAGLIB_C_EXPORT __attribute__ ((visibility("default")))
|
||||
#else
|
||||
#define TAGLIB_C_EXPORT
|
||||
#endif
|
||||
@@ -89,7 +91,9 @@ typedef enum {
|
||||
TagLib_File_OggFlac,
|
||||
TagLib_File_WavPack,
|
||||
TagLib_File_Speex,
|
||||
TagLib_File_TrueAudio
|
||||
TagLib_File_TrueAudio,
|
||||
TagLib_File_MP4,
|
||||
TagLib_File_ASF
|
||||
} TagLib_File_Type;
|
||||
|
||||
/*!
|
||||
|
||||
@@ -9,4 +9,4 @@ Description: Audio meta-data library (C bindings)
|
||||
Requires: taglib
|
||||
Version: ${TAGLIB_LIB_MAJOR_VERSION}.${TAGLIB_LIB_MINOR_VERSION}.${TAGLIB_LIB_PATCH_VERSION}
|
||||
Libs: -L${LIB_INSTALL_DIR} -ltag_c
|
||||
Cflags: -I=${INCLUDE_INSTALL_DIR}/taglib
|
||||
Cflags: -I${INCLUDE_INSTALL_DIR}/taglib
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: TagLib C Bindings
|
||||
Description: Audio meta-data library (C bindings)
|
||||
Requires: taglib
|
||||
Version: 1.5
|
||||
Libs: -L${libdir} -ltag_c
|
||||
Cflags: -I${includedir}/taglib
|
||||
@@ -1,28 +1,69 @@
|
||||
INCLUDE(UsePkgConfig)
|
||||
PKGCONFIG(cppunit _CppUnitIncDir _CppUnitLinkDir _CppUnitLinkFlags _CppUnitCflags)
|
||||
# - Try to find the libcppunit libraries
|
||||
# Once done this will define
|
||||
#
|
||||
# CppUnit_FOUND - system has libcppunit
|
||||
# CPPUNIT_INCLUDE_DIR - the libcppunit include directory
|
||||
# CPPUNIT_LIBRARIES - libcppunit library
|
||||
|
||||
FIND_PATH(CPPUNIT_INCLUDE_DIR cppunit/TestCase.h
|
||||
${_CppUnitIncDir}
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
)
|
||||
include (MacroEnsureVersion)
|
||||
|
||||
FIND_LIBRARY(CPPUNIT_LIBRARIES cppunit
|
||||
${_CppUnitLinkDir}
|
||||
/usr/local/lib
|
||||
/usr/lib
|
||||
)
|
||||
if(NOT CPPUNIT_MIN_VERSION)
|
||||
SET(CPPUNIT_MIN_VERSION 1.12.0)
|
||||
endif(NOT CPPUNIT_MIN_VERSION)
|
||||
|
||||
IF (CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
|
||||
SET(CPPUNIT_FOUND TRUE)
|
||||
ENDIF (CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
|
||||
FIND_PROGRAM(CPPUNIT_CONFIG_EXECUTABLE cppunit-config )
|
||||
|
||||
IF (CPPUNIT_FOUND)
|
||||
IF (NOT CppUnit_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found CppUnit: ${CPPUNIT_LIBRARIES}")
|
||||
ENDIF (NOT CppUnit_FIND_QUIETLY)
|
||||
ELSE (CPPUNIT_FOUND)
|
||||
IF (CppUnit_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Could not find CppUnit")
|
||||
ENDIF (CppUnit_FIND_REQUIRED)
|
||||
ENDIF (CPPUNIT_FOUND)
|
||||
IF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
|
||||
|
||||
# in cache already
|
||||
SET(CppUnit_FOUND TRUE)
|
||||
|
||||
ELSE(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
|
||||
|
||||
SET(CPPUNIT_INCLUDE_DIR)
|
||||
SET(CPPUNIT_LIBRARIES)
|
||||
|
||||
IF(CPPUNIT_CONFIG_EXECUTABLE)
|
||||
EXEC_PROGRAM(${CPPUNIT_CONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE CPPUNIT_CFLAGS)
|
||||
EXEC_PROGRAM(${CPPUNIT_CONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE CPPUNIT_LIBRARIES)
|
||||
EXEC_PROGRAM(${CPPUNIT_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE CPPUNIT_INSTALLED_VERSION)
|
||||
STRING(REGEX REPLACE "-I(.+)" "\\1" CPPUNIT_CFLAGS "${CPPUNIT_CFLAGS}")
|
||||
ELSE(CPPUNIT_CONFIG_EXECUTABLE)
|
||||
# in case win32 needs to find it the old way?
|
||||
FIND_PATH(CPPUNIT_CFLAGS cppunit/TestRunner.h PATHS /usr/include /usr/local/include )
|
||||
FIND_LIBRARY(CPPUNIT_LIBRARIES NAMES cppunit PATHS /usr/lib /usr/local/lib )
|
||||
# how can we find cppunit version?
|
||||
MESSAGE (STATUS "Ensure you cppunit installed version is at least ${CPPUNIT_MIN_VERSION}")
|
||||
SET (CPPUNIT_INSTALLED_VERSION ${CPPUNIT_MIN_VERSION})
|
||||
ENDIF(CPPUNIT_CONFIG_EXECUTABLE)
|
||||
|
||||
SET(CPPUNIT_INCLUDE_DIR ${CPPUNIT_CFLAGS} "${CPPUNIT_CFLAGS}/cppunit")
|
||||
|
||||
ENDIF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
|
||||
|
||||
IF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
|
||||
|
||||
SET(CppUnit_FOUND TRUE)
|
||||
|
||||
if(NOT CppUnit_FIND_QUIETLY)
|
||||
MESSAGE (STATUS "Found cppunit: ${CPPUNIT_LIBRARIES}")
|
||||
endif(NOT CppUnit_FIND_QUIETLY)
|
||||
|
||||
IF(CPPUNIT_CONFIG_EXECUTABLE)
|
||||
EXEC_PROGRAM(${CPPUNIT_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE CPPUNIT_INSTALLED_VERSION)
|
||||
ENDIF(CPPUNIT_CONFIG_EXECUTABLE)
|
||||
|
||||
macro_ensure_version( ${CPPUNIT_MIN_VERSION} ${CPPUNIT_INSTALLED_VERSION} CPPUNIT_INSTALLED_VERSION_OK )
|
||||
|
||||
IF(NOT CPPUNIT_INSTALLED_VERSION_OK)
|
||||
MESSAGE ("** CppUnit version is too old: found ${CPPUNIT_INSTALLED_VERSION} installed, ${CPPUNIT_MIN_VERSION} or major is required")
|
||||
SET(CppUnit_FOUND FALSE)
|
||||
ENDIF(NOT CPPUNIT_INSTALLED_VERSION_OK)
|
||||
|
||||
ELSE(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
|
||||
|
||||
SET(CppUnit_FOUND FALSE CACHE BOOL "Not found cppunit library")
|
||||
|
||||
ENDIF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
|
||||
|
||||
MARK_AS_ADVANCED(CPPUNIT_INCLUDE_DIR CPPUNIT_LIBRARIES)
|
||||
|
||||
71
cmake/modules/MacroEnsureVersion.cmake
Normal file
71
cmake/modules/MacroEnsureVersion.cmake
Normal file
@@ -0,0 +1,71 @@
|
||||
# This macro compares version numbers of the form "x.y.z"
|
||||
# MACRO_ENSURE_VERSION( FOO_MIN_VERSION FOO_VERSION_FOUND FOO_VERSION_OK)
|
||||
# will set FOO_VERSIN_OK to true if FOO_VERSION_FOUND >= FOO_MIN_VERSION
|
||||
# where both have to be in a 3-part-version format, leading and trailing
|
||||
# text is ok, e.g.
|
||||
# MACRO_ENSURE_VERSION( "2.5.31" "flex 2.5.4a" VERSION_OK)
|
||||
# which means 2.5.31 is required and "flex 2.5.4a" is what was found on the system
|
||||
|
||||
# Copyright (c) 2006, David Faure, <faure@kde.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
MACRO(MACRO_ENSURE_VERSION requested_version found_version var_too_old)
|
||||
|
||||
# parse the parts of the version string
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" req_major_vers "${requested_version}")
|
||||
STRING(REGEX REPLACE "[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" req_minor_vers "${requested_version}")
|
||||
STRING(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_patch_vers "${requested_version}")
|
||||
|
||||
STRING(REGEX REPLACE "[^0-9]*([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" found_major_vers "${found_version}")
|
||||
STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" found_minor_vers "${found_version}")
|
||||
STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" found_patch_vers "${found_version}")
|
||||
|
||||
# compute an overall version number which can be compared at once
|
||||
MATH(EXPR req_vers_num "${req_major_vers}*10000 + ${req_minor_vers}*100 + ${req_patch_vers}")
|
||||
MATH(EXPR found_vers_num "${found_major_vers}*10000 + ${found_minor_vers}*100 + ${found_patch_vers}")
|
||||
|
||||
if (found_vers_num LESS req_vers_num)
|
||||
set( ${var_too_old} FALSE )
|
||||
else (found_vers_num LESS req_vers_num)
|
||||
set( ${var_too_old} TRUE )
|
||||
endif (found_vers_num LESS req_vers_num)
|
||||
|
||||
ENDMACRO(MACRO_ENSURE_VERSION)
|
||||
|
||||
|
||||
# This macro compares version numbers of the form "x.y"
|
||||
# MACRO_ENSURE_VERSION( FOO_MIN_VERSION FOO_VERSION_FOUND FOO_VERSION_OK)
|
||||
# will set FOO_VERSIN_OK to true if FOO_VERSION_FOUND >= FOO_MIN_VERSION
|
||||
# where both have to be in a 2-part-version format, leading and trailing
|
||||
# text is ok, e.g.
|
||||
# MACRO_ENSURE_VERSION( "0.5" "foo 0.6" VERSION_OK)
|
||||
# which means 0.5 is required and "foo 0.6" is what was found on the system
|
||||
|
||||
# Copyright (c) 2006, David Faure, <faure@kde.org>
|
||||
# Copyright (c) 2007, Pino Toscano, <pino@kde.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
MACRO(MACRO_ENSURE_VERSION2 requested_version found_version var_too_old)
|
||||
|
||||
# parse the parts of the version string
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+" "\\1" req_major_vers "${requested_version}")
|
||||
STRING(REGEX REPLACE "[0-9]+\\.([0-9]+)" "\\1" req_minor_vers "${requested_version}")
|
||||
|
||||
STRING(REGEX REPLACE "[^0-9]*([0-9]+)\\.[0-9]+.*" "\\1" found_major_vers "${found_version}")
|
||||
STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.([0-9]+).*" "\\1" found_minor_vers "${found_version}")
|
||||
|
||||
# compute an overall version number which can be compared at once
|
||||
MATH(EXPR req_vers_num "${req_major_vers}*100 + ${req_minor_vers}")
|
||||
MATH(EXPR found_vers_num "${found_major_vers}*100 + ${found_minor_vers}")
|
||||
|
||||
if (found_vers_num LESS req_vers_num)
|
||||
set( ${var_too_old} FALSE )
|
||||
else (found_vers_num LESS req_vers_num)
|
||||
set( ${var_too_old} TRUE )
|
||||
endif (found_vers_num LESS req_vers_num)
|
||||
|
||||
ENDMACRO(MACRO_ENSURE_VERSION2)
|
||||
@@ -7,3 +7,5 @@
|
||||
#cmakedefine HAVE_ZLIB 1
|
||||
|
||||
#cmakedefine NO_ITUNES_HACKS 1
|
||||
#cmakedefine WITH_ASF 1
|
||||
#cmakedefine WITH_MP4 1
|
||||
|
||||
@@ -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
|
||||
133
configure.in.in
133
configure.in.in
@@ -1,133 +0,0 @@
|
||||
dnl This file is part of the KDE libraries/packages
|
||||
dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
|
||||
dnl modified by Walter Tasin (tasin@kdevelop.org)
|
||||
dnl for c++ console applications
|
||||
|
||||
dnl This file is free software; you can redistribute it and/or
|
||||
dnl modify it under the terms of the GNU Library General Public
|
||||
dnl License as published by the Free Software Foundation; either
|
||||
dnl version 2 of the License, or (at your option) any later version.
|
||||
|
||||
dnl This library is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
dnl Library General Public License for more details.
|
||||
|
||||
dnl You should have received a copy of the GNU Library General Public License
|
||||
dnl along with this library; see the file COPYING.LIB. If not, write to
|
||||
dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
dnl Boston, MA 02111-1307, USA.
|
||||
|
||||
# Original Author was Kalle@kde.org
|
||||
# I lifted it in some mater. (Stephan Kulow)
|
||||
# I used much code from Janos Farkas
|
||||
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_INIT(acinclude.m4) dnl a source file from your sub dir
|
||||
|
||||
dnl This is so we can use kde-common
|
||||
AC_CONFIG_AUX_DIR(admin)
|
||||
|
||||
dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
|
||||
unset CDPATH
|
||||
|
||||
dnl Checking host/target/build systems, for make, install etc.
|
||||
AC_CANONICAL_SYSTEM
|
||||
dnl Perform program name transformation
|
||||
AC_ARG_PROGRAM
|
||||
|
||||
dnl Automake doc recommends to do this only here. (Janos)
|
||||
AM_INIT_AUTOMAKE(taglib,1.4)
|
||||
|
||||
dnl almost the same like KDE_SET_PEFIX but the path is /usr/local
|
||||
dnl
|
||||
unset CDPATH
|
||||
dnl make /usr/local the default for the installation
|
||||
AC_PREFIX_DEFAULT(/usr/local)
|
||||
|
||||
if test "x$prefix" = "xNONE"; then
|
||||
prefix=$ac_default_prefix
|
||||
ac_configure_args="$ac_configure_args --prefix $prefix"
|
||||
fi
|
||||
KDE_FAST_CONFIGURE
|
||||
KDE_CONF_FILES
|
||||
|
||||
dnl without this order in this file, automake will be confused!
|
||||
dnl
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
dnl checks for programs.
|
||||
dnl first check for c/c++ compilers
|
||||
AC_CHECK_COMPILERS
|
||||
|
||||
dnl CXXFLAGS="$NOOPT_CXXFLAGS" dnl __kdevelop[noopt]__
|
||||
dnl CFLAGS="$NOOPT_CFLAGS" dnl __kdevelop[noopt]__
|
||||
CXXFLAGS="$CXXFLAGS $USE_EXCEPTIONS" dnl __kdevelop[exc]__
|
||||
|
||||
dnl create only shared libtool-libraries
|
||||
AC_ENABLE_SHARED(yes)
|
||||
|
||||
dnl set the following to yes, if you want to create static
|
||||
dnl libtool-libraries, too.
|
||||
AC_ENABLE_STATIC(no)
|
||||
|
||||
dnl create a working libtool-script
|
||||
KDE_PROG_LIBTOOL
|
||||
|
||||
dnl activate the next macro call for DLOPEN tests and setting LIBDL
|
||||
dnl (n.b. KDE_MISC_TESTS does the same to you, so use either this or the next one)
|
||||
dnl KDE_CHECK_DLOPEN
|
||||
|
||||
dnl activate the next macro call for some additional tests
|
||||
dnl (compat, crypt, socket, nsl, dlopen, ...)
|
||||
dnl KDE_MISC_TESTS dnl __kdevelop__
|
||||
|
||||
dnl KDE_NEED_FLEX dnl __kdevelop__
|
||||
dnl AC_PROG_YACC dnl __kdevelop__
|
||||
|
||||
dnl KDE_CHECK_EXTRA_LIBS
|
||||
all_libraries="$all_libraries $USER_LDFLAGS"
|
||||
all_includes="$all_includes $USER_INCLUDES"
|
||||
AC_SUBST(all_includes)
|
||||
AC_SUBST(all_libraries)
|
||||
|
||||
AC_SUBST(AUTODIRS)
|
||||
|
||||
#AM_INIT_AUTOMAKE(taglib,1.0)
|
||||
dnl don't remove the below
|
||||
dnl AC_OUTPUT(taglib-config)
|
||||
dnl AC_OUTPUT(taglib.pc)
|
||||
|
||||
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)
|
||||
|
||||
AC_DEFUN([AC_HAVE_CPPUNIT],
|
||||
[
|
||||
AC_DEFINE(HAVE_CPPUNIT, 1, [have cppunit])
|
||||
have_cppunit=true
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_NO_CPPUNIT],
|
||||
[
|
||||
AC_DEFINE(HAVE_CPPUNIT, 0, [have cppunit])
|
||||
have_cppunit=false
|
||||
])
|
||||
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
AC_CHECK_HEADER(cppunit/extensions/HelperMacros.h, AC_HAVE_CPPUNIT, AC_NO_CPPUNIT)
|
||||
AC_LANG_RESTORE
|
||||
AM_CONDITIONAL(build_tests, test x$have_cppunit = xtrue)
|
||||
@@ -1 +1 @@
|
||||
Run "doxygen taglib.doxgen" to generate the TagLib API documentation.
|
||||
Run "make docs" in the parent directory to generate the TagLib API documentation.
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<td>
|
||||
<div id="intro">
|
||||
<table border="0" height="119" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr><td valign="top"><h1>TagLib 1.5 ($title)</h1></td></tr>
|
||||
<tr><td valign="top"><h1>TagLib $projectnumber ($title)</h1></td></tr>
|
||||
<tr>
|
||||
<td valign="bottom">
|
||||
<div id="links">
|
||||
|
||||
BIN
doc/taglib.png
BIN
doc/taglib.png
Binary file not shown.
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 2.7 KiB |
@@ -7,72 +7,44 @@ INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/../taglib
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../taglib/mpeg/id3v2
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../bindings/c/ )
|
||||
|
||||
if(ENABLE_STATIC)
|
||||
add_definitions(-DTAGLIB_STATIC)
|
||||
endif(ENABLE_STATIC)
|
||||
|
||||
########### next target ###############
|
||||
|
||||
SET(tagreader_SRCS
|
||||
tagreader.cpp
|
||||
)
|
||||
|
||||
|
||||
ADD_EXECUTABLE(tagreader ${tagreader_SRCS})
|
||||
ADD_EXECUTABLE(tagreader tagreader.cpp)
|
||||
|
||||
TARGET_LINK_LIBRARIES(tagreader tag )
|
||||
|
||||
#INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/tagreader DESTINATION ${BIN_INSTALL_DIR} )
|
||||
|
||||
|
||||
########### next target ###############
|
||||
|
||||
SET(tagreader_c_SRCS
|
||||
tagreader_c.c
|
||||
)
|
||||
|
||||
|
||||
ADD_EXECUTABLE(tagreader_c ${tagreader_c_SRCS})
|
||||
ADD_EXECUTABLE(tagreader_c tagreader_c.c)
|
||||
|
||||
TARGET_LINK_LIBRARIES(tagreader_c tag_c )
|
||||
|
||||
#INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/tagreader_c DESTINATION ${BIN_INSTALL_DIR})
|
||||
|
||||
|
||||
########### next target ###############
|
||||
|
||||
SET(tagwriter_SRCS
|
||||
tagwriter.cpp
|
||||
)
|
||||
|
||||
|
||||
ADD_EXECUTABLE(tagwriter ${tagwriter_SRCS})
|
||||
ADD_EXECUTABLE(tagwriter tagwriter.cpp)
|
||||
|
||||
TARGET_LINK_LIBRARIES(tagwriter tag )
|
||||
|
||||
#INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/tagwriter DESTINATION ${BIN_INSTALL_DIR})
|
||||
|
||||
|
||||
########### next target ###############
|
||||
|
||||
SET(framelist_SRCS
|
||||
framelist.cpp
|
||||
)
|
||||
|
||||
|
||||
ADD_EXECUTABLE(framelist ${framelist_SRCS})
|
||||
ADD_EXECUTABLE(framelist framelist.cpp)
|
||||
|
||||
TARGET_LINK_LIBRARIES(framelist tag )
|
||||
|
||||
#INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/framelist DESTINATION ${BIN_INSTALL_DIR})
|
||||
|
||||
|
||||
########### next target ###############
|
||||
|
||||
SET(strip-id3v1_SRCS
|
||||
strip-id3v1.cpp)
|
||||
|
||||
ADD_EXECUTABLE(strip-id3v1 ${strip-id3v1_SRCS})
|
||||
ADD_EXECUTABLE(strip-id3v1 strip-id3v1.cpp)
|
||||
|
||||
TARGET_LINK_LIBRARIES(strip-id3v1 tag )
|
||||
|
||||
#INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/strip-id3v1 DESTINATION ${BIN_INSTALL_DIR})
|
||||
|
||||
endif(BUILD_EXAMPLES)
|
||||
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
bin_PROGRAMS = tagreader tagreader_c tagwriter framelist strip-id3v1
|
||||
tagreader_SOURCES = tagreader.cpp
|
||||
tagreader_c_SOURCES = tagreader_c.c
|
||||
tagwriter_SOURCES = tagwriter.cpp
|
||||
framelist_SOURCES = framelist.cpp
|
||||
strip_id3v1_SOURCES = strip-id3v1.cpp
|
||||
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir)/taglib \
|
||||
-I$(top_srcdir)/taglib/toolkit \
|
||||
-I$(top_srcdir)/taglib/ape \
|
||||
-I$(top_srcdir)/taglib/mpeg \
|
||||
-I$(top_srcdir)/taglib/mpeg/id3v1 \
|
||||
-I$(top_srcdir)/taglib/mpeg/id3v2 \
|
||||
-I$(top_srcdir)/bindings/c
|
||||
|
||||
LDADD = ../taglib/libtag.la
|
||||
tagreader_c_LDADD = ../bindings/c/libtag_c.la
|
||||
@@ -51,23 +51,27 @@ int main(int argc, char *argv[])
|
||||
tag = taglib_file_tag(file);
|
||||
properties = taglib_file_audioproperties(file);
|
||||
|
||||
printf("-- TAG --\n");
|
||||
printf("title - \"%s\"\n", taglib_tag_title(tag));
|
||||
printf("artist - \"%s\"\n", taglib_tag_artist(tag));
|
||||
printf("album - \"%s\"\n", taglib_tag_album(tag));
|
||||
printf("year - \"%i\"\n", taglib_tag_year(tag));
|
||||
printf("comment - \"%s\"\n", taglib_tag_comment(tag));
|
||||
printf("track - \"%i\"\n", taglib_tag_track(tag));
|
||||
printf("genre - \"%s\"\n", taglib_tag_genre(tag));
|
||||
if(tag != NULL) {
|
||||
printf("-- TAG --\n");
|
||||
printf("title - \"%s\"\n", taglib_tag_title(tag));
|
||||
printf("artist - \"%s\"\n", taglib_tag_artist(tag));
|
||||
printf("album - \"%s\"\n", taglib_tag_album(tag));
|
||||
printf("year - \"%i\"\n", taglib_tag_year(tag));
|
||||
printf("comment - \"%s\"\n", taglib_tag_comment(tag));
|
||||
printf("track - \"%i\"\n", taglib_tag_track(tag));
|
||||
printf("genre - \"%s\"\n", taglib_tag_genre(tag));
|
||||
}
|
||||
|
||||
seconds = taglib_audioproperties_length(properties) % 60;
|
||||
minutes = (taglib_audioproperties_length(properties) - seconds) / 60;
|
||||
if(properties != NULL) {
|
||||
seconds = taglib_audioproperties_length(properties) % 60;
|
||||
minutes = (taglib_audioproperties_length(properties) - seconds) / 60;
|
||||
|
||||
printf("-- AUDIO --\n");
|
||||
printf("bitrate - %i\n", taglib_audioproperties_bitrate(properties));
|
||||
printf("sample rate - %i\n", taglib_audioproperties_samplerate(properties));
|
||||
printf("channels - %i\n", taglib_audioproperties_channels(properties));
|
||||
printf("length - %i:%02i\n", minutes, seconds);
|
||||
printf("-- AUDIO --\n");
|
||||
printf("bitrate - %i\n", taglib_audioproperties_bitrate(properties));
|
||||
printf("sample rate - %i\n", taglib_audioproperties_samplerate(properties));
|
||||
printf("channels - %i\n", taglib_audioproperties_channels(properties));
|
||||
printf("length - %i:%02i\n", minutes, seconds);
|
||||
}
|
||||
|
||||
taglib_tag_free_strings();
|
||||
taglib_file_free(file);
|
||||
|
||||
16
include/README
Normal file
16
include/README
Normal file
@@ -0,0 +1,16 @@
|
||||
These are only necessary at build-time when building the entire kdesupport module; they do not need to be installed on a running system.
|
||||
|
||||
It can be regenerated by using something like the following from the taglib/taglib directory:
|
||||
|
||||
for file in `find -type f -name "*\.h"`;
|
||||
do
|
||||
dir=`dirname $file`
|
||||
strippeddir=`echo $dir | cut -c 3-`
|
||||
base=`basename $file`
|
||||
if test -z $strippeddir
|
||||
then
|
||||
echo "#include \"../taglib/$base\"" > ../include/$base
|
||||
else
|
||||
echo "#include \"../taglib/$strippeddir/$base\"" > ../include/$base
|
||||
fi
|
||||
done
|
||||
1
include/aifffile.h
Normal file
1
include/aifffile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/riff/aiff/aifffile.h"
|
||||
1
include/aiffproperties.h
Normal file
1
include/aiffproperties.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/riff/aiff/aiffproperties.h"
|
||||
1
include/apefooter.h
Normal file
1
include/apefooter.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/ape/apefooter.h"
|
||||
1
include/apeitem.h
Normal file
1
include/apeitem.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/ape/apeitem.h"
|
||||
1
include/apetag.h
Normal file
1
include/apetag.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/ape/apetag.h"
|
||||
1
include/asfattribute.h
Normal file
1
include/asfattribute.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/asf/asfattribute.h"
|
||||
1
include/asffile.h
Normal file
1
include/asffile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/asf/asffile.h"
|
||||
1
include/asfproperties.h
Normal file
1
include/asfproperties.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/asf/asfproperties.h"
|
||||
1
include/asftag.h
Normal file
1
include/asftag.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/asf/asftag.h"
|
||||
1
include/attachedpictureframe.h
Normal file
1
include/attachedpictureframe.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/frames/attachedpictureframe.h"
|
||||
1
include/audioproperties.h
Normal file
1
include/audioproperties.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/audioproperties.h"
|
||||
1
include/commentsframe.h
Normal file
1
include/commentsframe.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/frames/commentsframe.h"
|
||||
1
include/fileref.h
Normal file
1
include/fileref.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/fileref.h"
|
||||
1
include/flacfile.h
Normal file
1
include/flacfile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/flac/flacfile.h"
|
||||
1
include/flacproperties.h
Normal file
1
include/flacproperties.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/flac/flacproperties.h"
|
||||
1
include/generalencapsulatedobjectframe.h
Normal file
1
include/generalencapsulatedobjectframe.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/frames/generalencapsulatedobjectframe.h"
|
||||
1
include/id3v1genres.h
Normal file
1
include/id3v1genres.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v1/id3v1genres.h"
|
||||
1
include/id3v1tag.h
Normal file
1
include/id3v1tag.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v1/id3v1tag.h"
|
||||
1
include/id3v2extendedheader.h
Normal file
1
include/id3v2extendedheader.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/id3v2extendedheader.h"
|
||||
1
include/id3v2footer.h
Normal file
1
include/id3v2footer.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/id3v2footer.h"
|
||||
1
include/id3v2frame.h
Normal file
1
include/id3v2frame.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/id3v2frame.h"
|
||||
1
include/id3v2framefactory.h
Normal file
1
include/id3v2framefactory.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/id3v2framefactory.h"
|
||||
1
include/id3v2header.h
Normal file
1
include/id3v2header.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/id3v2header.h"
|
||||
1
include/id3v2synchdata.h
Normal file
1
include/id3v2synchdata.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/id3v2synchdata.h"
|
||||
1
include/id3v2tag.h
Normal file
1
include/id3v2tag.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/id3v2tag.h"
|
||||
1
include/mp4atom.h
Normal file
1
include/mp4atom.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mp4/mp4atom.h"
|
||||
1
include/mp4coverart.h
Normal file
1
include/mp4coverart.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mp4/mp4coverart.h"
|
||||
1
include/mp4file.h
Normal file
1
include/mp4file.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mp4/mp4file.h"
|
||||
1
include/mp4item.h
Normal file
1
include/mp4item.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mp4/mp4item.h"
|
||||
1
include/mp4properties.h
Normal file
1
include/mp4properties.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mp4/mp4properties.h"
|
||||
1
include/mp4tag.h
Normal file
1
include/mp4tag.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mp4/mp4tag.h"
|
||||
1
include/mpcfile.h
Normal file
1
include/mpcfile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpc/mpcfile.h"
|
||||
1
include/mpcproperties.h
Normal file
1
include/mpcproperties.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpc/mpcproperties.h"
|
||||
1
include/mpegfile.h
Normal file
1
include/mpegfile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/mpegfile.h"
|
||||
1
include/mpegheader.h
Normal file
1
include/mpegheader.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/mpegheader.h"
|
||||
1
include/mpegproperties.h
Normal file
1
include/mpegproperties.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/mpegproperties.h"
|
||||
1
include/oggfile.h
Normal file
1
include/oggfile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/ogg/oggfile.h"
|
||||
1
include/oggflacfile.h
Normal file
1
include/oggflacfile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/ogg/flac/oggflacfile.h"
|
||||
1
include/oggpage.h
Normal file
1
include/oggpage.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/ogg/oggpage.h"
|
||||
1
include/oggpageheader.h
Normal file
1
include/oggpageheader.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/ogg/oggpageheader.h"
|
||||
1
include/popularimeterframe.h
Normal file
1
include/popularimeterframe.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/frames/popularimeterframe.h"
|
||||
1
include/privateframe.h
Normal file
1
include/privateframe.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/frames/privateframe.h"
|
||||
1
include/relativevolumeframe.h
Normal file
1
include/relativevolumeframe.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/frames/relativevolumeframe.h"
|
||||
1
include/rifffile.h
Normal file
1
include/rifffile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/riff/rifffile.h"
|
||||
1
include/speexfile.h
Normal file
1
include/speexfile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/ogg/speex/speexfile.h"
|
||||
1
include/speexproperties.h
Normal file
1
include/speexproperties.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/ogg/speex/speexproperties.h"
|
||||
1
include/tag.h
Normal file
1
include/tag.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/tag.h"
|
||||
1
include/taglib.h
Normal file
1
include/taglib.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/toolkit/taglib.h"
|
||||
1
include/taglib_export.h
Normal file
1
include/taglib_export.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/taglib_export.h"
|
||||
1
include/tagunion.h
Normal file
1
include/tagunion.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/tagunion.h"
|
||||
1
include/tbytevector.h
Normal file
1
include/tbytevector.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/toolkit/tbytevector.h"
|
||||
1
include/tbytevectorlist.h
Normal file
1
include/tbytevectorlist.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/toolkit/tbytevectorlist.h"
|
||||
1
include/tdebug.h
Normal file
1
include/tdebug.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/toolkit/tdebug.h"
|
||||
1
include/textidentificationframe.h
Normal file
1
include/textidentificationframe.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/frames/textidentificationframe.h"
|
||||
1
include/tfile.h
Normal file
1
include/tfile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/toolkit/tfile.h"
|
||||
1
include/tlist.h
Normal file
1
include/tlist.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/toolkit/tlist.h"
|
||||
1
include/tmap.h
Normal file
1
include/tmap.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/toolkit/tmap.h"
|
||||
1
include/trueaudiofile.h
Normal file
1
include/trueaudiofile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/trueaudio/trueaudiofile.h"
|
||||
1
include/trueaudioproperties.h
Normal file
1
include/trueaudioproperties.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/trueaudio/trueaudioproperties.h"
|
||||
1
include/tstring.h
Normal file
1
include/tstring.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/toolkit/tstring.h"
|
||||
1
include/tstringlist.h
Normal file
1
include/tstringlist.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/toolkit/tstringlist.h"
|
||||
1
include/unicode.h
Normal file
1
include/unicode.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/toolkit/unicode.h"
|
||||
1
include/uniquefileidentifierframe.h
Normal file
1
include/uniquefileidentifierframe.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/frames/uniquefileidentifierframe.h"
|
||||
1
include/unknownframe.h
Normal file
1
include/unknownframe.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/frames/unknownframe.h"
|
||||
1
include/unsynchronizedlyricsframe.h
Normal file
1
include/unsynchronizedlyricsframe.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.h"
|
||||
1
include/urllinkframe.h
Normal file
1
include/urllinkframe.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/mpeg/id3v2/frames/urllinkframe.h"
|
||||
1
include/vorbisfile.h
Normal file
1
include/vorbisfile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/ogg/vorbis/vorbisfile.h"
|
||||
1
include/vorbisproperties.h
Normal file
1
include/vorbisproperties.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/ogg/vorbis/vorbisproperties.h"
|
||||
1
include/wavfile.h
Normal file
1
include/wavfile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/riff/wav/wavfile.h"
|
||||
1
include/wavpackfile.h
Normal file
1
include/wavpackfile.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/wavpack/wavpackfile.h"
|
||||
1
include/wavpackproperties.h
Normal file
1
include/wavpackproperties.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/wavpack/wavpackproperties.h"
|
||||
1
include/wavproperties.h
Normal file
1
include/wavproperties.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "../taglib/riff/wav/wavproperties.h"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user