[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/multimedia/amarok
From: Shane King <kde () dontletsstart ! com>
Date: 2007-11-22 12:26:33
Message-ID: 1195734393.623423.700.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 740046 by shakes:
TagLib classes should now handle wchar_t style unicode filenames on windows
M +1 -1 cmake/modules/CheckTagLibFileName.cmake
M +1 -0 src/metadata/CMakeLists.txt
M +1 -2 src/metadata/aac/aacfiletyperesolver.cpp
M +1 -1 src/metadata/audible/taglib_audiblefile.cpp
M +2 -3 src/metadata/audible/taglib_audiblefiletyperesolver.cpp
M +4 -5 src/metadata/m4a/taglib_mp4filetyperesolver.cpp
M +4 -5 src/metadata/mp4/taglib_mp4filetyperesolver.cpp
M +2 -3 src/metadata/rmff/taglib_realmediafiletyperesolver.cpp
M +1 -2 src/metadata/speex/taglib_speexfiletyperesolver.cpp
AM src/metadata/tfile_helper.cpp [License: LGPL (v2.1)]
M +13 -0 src/metadata/tfile_helper.h
M +1 -2 src/metadata/trueaudio/taglib_trueaudiofiletyperesolver.cpp
M +1 -1 src/metadata/wav/wavfile.cpp
M +2 -3 src/metadata/wav/wavfiletyperesolver.cpp
M +1 -2 src/metadata/wavpack/taglib_wavpackfiletyperesolver.cpp
M +1 -2 src/metadata/wma/taglib_wmafiletyperesolver.cpp
--- trunk/extragear/multimedia/amarok/cmake/modules/CheckTagLibFileName.cmake \
#740045:740046 @@ -8,7 +8,7 @@
"#include <tfile.h>
int main()
{
- TagLib::FileName fileName;
+ TagLib::FileName fileName = \"char\";
return 0;
}" ${TAGLIB_FILENAME_EXISTS})
if (${TAGLIB_FILENAME_EXISTS})
--- trunk/extragear/multimedia/amarok/src/metadata/CMakeLists.txt #740045:740046
@@ -113,6 +113,7 @@
SET(amarok_taglib_SRCS
tplugins.cpp
+ tfile_helper.cpp
${libtagmp4_SRCS}
${libtagaudible_SRCS}
${libtagrealmedia_SRCS}
--- trunk/extragear/multimedia/amarok/src/metadata/aac/aacfiletyperesolver.cpp \
#740045:740046 @@ -28,8 +28,7 @@
bool readProperties,
TagLib::AudioProperties::ReadStyle propertiesStyle) const
{
- const char *ext = strrchr(fileName, '.');
- if(ext && !strcasecmp(ext, ".aac"))
+ if(CheckExtension(fileName, ".aac"))
{
return new TagLib::MPEG::File(fileName, readProperties, propertiesStyle);
}
--- trunk/extragear/multimedia/amarok/src/metadata/audible/taglib_audiblefile.cpp \
#740045:740046 @@ -54,7 +54,7 @@
if(fp)
audiblefile = fp;
else
- audiblefile = fopen(file, "rb");
+ audiblefile = TagLibOpenFile(file, "rb");
if( isOpen() )
{
--- trunk/extragear/multimedia/amarok/src/metadata/audible/taglib_audiblefiletyperesolver.cpp \
#740045:740046 @@ -28,10 +28,9 @@
bool readProperties,
TagLib::AudioProperties::ReadStyle propertiesStyle) const
{
- const char *ext = strrchr(fileName, '.');
- if(ext && !strcasecmp(ext, ".aa"))
+ if(CheckExtension(fileName, ".aa"))
{
- FILE *fp = fopen(fileName, "rb");
+ FILE *fp = TagLibOpenFile(fileName, "rb");
if(!fp)
return 0;
--- trunk/extragear/multimedia/amarok/src/metadata/m4a/taglib_mp4filetyperesolver.cpp \
#740045:740046 @@ -29,11 +29,10 @@
TagLib::AudioProperties::ReadStyle propertiesStyle) const
{
// fprintf(stderr, "mp4?: %s\n", fileName);
- const char *ext = strrchr(fileName, '.');
- if(ext && (!strcasecmp(ext, ".m4a")
- || !strcasecmp(ext, ".m4b") || !strcasecmp(ext, ".m4p")
- || !strcasecmp(ext, ".mp4")
- || !strcasecmp(ext, ".m4v") || !strcasecmp(ext, ".mp4v")))
+ if(CheckExtension(fileName, ".m4a")
+ || CheckExtension(fileName, ".m4b") || !CheckExtension(fileName, \
".m4p") + || CheckExtension(fileName, ".mp4")
+ || CheckExtension(fileName, ".m4v") || CheckExtension(fileName, \
".mp4v")) {
return new TagLib::MP4::File(fileName, readProperties, propertiesStyle);
}
--- trunk/extragear/multimedia/amarok/src/metadata/mp4/taglib_mp4filetyperesolver.cpp \
#740045:740046 @@ -29,11 +29,10 @@
bool readProperties,
TagLib::AudioProperties::ReadStyle propertiesStyle) const
{
- const char *ext = strrchr(fileName, '.');
- if(ext && (!strcasecmp(ext, ".m4a")
- || !strcasecmp(ext, ".m4b") || !strcasecmp(ext, ".m4p")
- || !strcasecmp(ext, ".mp4")
- || !strcasecmp(ext, ".m4v") || !strcasecmp(ext, ".mp4v")))
+ if(CheckExtension(fileName, ".m4a")
+ || CheckExtension(fileName, ".m4b") || CheckExtension(fileName, \
".m4p") + || CheckExtension(fileName, ".mp4")
+ || CheckExtension(fileName, ".m4v") || CheckExtension(fileName, \
".mp4v")) {
MP4FileHandle h = MP4Read(fileName, 0);
if(MP4_INVALID_FILE_HANDLE == h)
--- trunk/extragear/multimedia/amarok/src/metadata/rmff/taglib_realmediafiletyperesolver.cpp \
#740045:740046 @@ -36,9 +36,8 @@
bool readProperties,
\
TagLib::AudioProperties::ReadStyle propertiesStyle) const {
- const char *ext = strrchr(fileName, '.');
- if(ext && (!strcasecmp(ext, ".ra") || !strcasecmp(ext, ".rv") || !strcasecmp(ext, \
".rm") ||
- !strcasecmp(ext, ".rmj") || !strcasecmp(ext, ".rmvb") ))
+ if(CheckExtension(fileName, ".ra") || CheckExtension(fileName, ".rv") || \
CheckExtension(fileName, ".rm") || + CheckExtension(fileName, ".rmj") || \
CheckExtension(fileName, ".rmvb")) {
TagLib::RealMedia::File *f = new TagLib::RealMedia::File(fileName, \
readProperties, propertiesStyle); if(f->isValid())
--- trunk/extragear/multimedia/amarok/src/metadata/speex/taglib_speexfiletyperesolver.cpp \
#740045:740046 @@ -28,8 +28,7 @@
bool readProperties,
TagLib::AudioProperties::ReadStyle propertiesStyle) const
{
- const char *ext = strrchr(fileName, '.');
- if(ext && !strcasecmp(ext, ".spx"))
+ if(CheckExtension(fileName, ".spx"))
{
TagLib::Speex::File *f = new TagLib::Speex::File(fileName, readProperties, \
propertiesStyle); if(f->isValid())
** trunk/extragear/multimedia/amarok/src/metadata/tfile_helper.cpp #property \
svn:eol-style + native
--- trunk/extragear/multimedia/amarok/src/metadata/tfile_helper.h #740045:740046
@@ -33,4 +33,17 @@
#define TagLibFileName const char *
#endif
+// need to be able to deal with either the straight forward char version
+// or a char/wchar hybrid version of the filename
+#ifdef COMPLEX_TAGLIB_FILENAME
+#define CheckExtension(filename, extension) ((const char *)filename == 0 ? \
CheckExtensionImpl((const wchar_t *)filename, L##extension) : \
CheckExtensionImpl((const char *)filename, extension)) +#define \
TagLibOpenFile(filename, mode) ((const char *)filename == 0 ? _wfopen(filename, \
L##mode) : fopen(filename, mode)) +#else
+#define CheckExtension(filename, extension) CheckExtensionImpl(filename, extension)
+#define TagLibOpenFile(filename, mode) fopen(filename, mode)
+#endif
+
+bool CheckExtensionImpl(const char *fileName, const char *extension);
+bool CheckExtensionImpl(const wchar_t *fileName, const wchar_t *extension);
+
#endif // TFILE_HELPER_H
--- trunk/extragear/multimedia/amarok/src/metadata/trueaudio/taglib_trueaudiofiletyperesolver.cpp \
#740045:740046 @@ -28,8 +28,7 @@
bool readProperties,
TagLib::AudioProperties::ReadStyle propertiesStyle) const
{
- const char *ext = strrchr(fileName, '.');
- if(ext && !strcasecmp(ext, ".tta"))
+ if(CheckExtension(fileName, ".tta"))
{
TagLib::TTA::File *f = new TagLib::TTA::File(fileName, readProperties, \
propertiesStyle); if(f->isValid())
--- trunk/extragear/multimedia/amarok/src/metadata/wav/wavfile.cpp #740045:740046
@@ -53,7 +53,7 @@
if(fp)
wavfile = fp;
else
- wavfile = fopen(file, "rb");
+ wavfile = TagLibOpenFile(file, "rb");
if( isOpen() )
{
--- trunk/extragear/multimedia/amarok/src/metadata/wav/wavfiletyperesolver.cpp \
#740045:740046 @@ -28,10 +28,9 @@
bool readProperties,
TagLib::AudioProperties::ReadStyle propertiesStyle) const
{
- const char *ext = strrchr(fileName, '.');
- if(ext && !strcasecmp(ext, ".wav"))
+ if(CheckExtension(fileName, ".wav"))
{
- FILE *fp = fopen(fileName, "rb");
+ FILE *fp = TagLibOpenFile(fileName, "rb");
if(!fp)
return 0;
--- trunk/extragear/multimedia/amarok/src/metadata/wavpack/taglib_wavpackfiletyperesolver.cpp \
#740045:740046 @@ -28,8 +28,7 @@
bool readProperties,
TagLib::AudioProperties::ReadStyle propertiesStyle) const
{
- const char *ext = strrchr(fileName, '.');
- if(ext && !strcasecmp(ext, ".wv"))
+ if(CheckExtension(fileName, ".wv"))
{
TagLib::WavPack::File *f = new TagLib::WavPack::File(fileName, \
readProperties, propertiesStyle); if(f->isValid())
--- trunk/extragear/multimedia/amarok/src/metadata/wma/taglib_wmafiletyperesolver.cpp \
#740045:740046 @@ -31,8 +31,7 @@
bool readProperties,
TagLib::AudioProperties::ReadStyle propertiesStyle) const
{
- const char *ext = strrchr(fileName, '.');
- if(ext && (!strcasecmp(ext, ".wma") || !strcasecmp(ext, ".asf")))
+ if(CheckExtension(fileName, ".wma") || CheckExtension(fileName, ".asf"))
{
TagLib::WMA::File *f = new TagLib::WMA::File(fileName, readProperties, \
propertiesStyle); if(f->isValid())
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic