diff --git a/bindings/c/CMakeLists.txt b/bindings/c/CMakeLists.txt index 757ffdd9..a70700e6 100644 --- a/bindings/c/CMakeLists.txt +++ b/bindings/c/CMakeLists.txt @@ -14,6 +14,17 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/wavpack ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/ogg/speex ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/trueaudio + ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/riff + ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/riff/aiff + ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/riff/wav + ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/ape + ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/it + ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/mod + ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/s3m + ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/xm + ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/ogg/opus + ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/dsf + ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/dsdiff ) set(tag_c_HDRS tag_c.h) diff --git a/bindings/c/tag_c.cpp b/bindings/c/tag_c.cpp index b3fe5f3d..d6d65d84 100644 --- a/bindings/c/tag_c.cpp +++ b/bindings/c/tag_c.cpp @@ -46,6 +46,16 @@ #include "speexfile.h" #include "trueaudiofile.h" #include "mp4file.h" +#include "aifffile.h" +#include "wavfile.h" +#include "apefile.h" +#include "itfile.h" +#include "modfile.h" +#include "s3mfile.h" +#include "xmfile.h" +#include "opusfile.h" +#include "dsffile.h" +#include "dsdifffile.h" #include "tag.h" #include "id3v2framefactory.h" @@ -151,6 +161,36 @@ TagLib_File *taglib_file_new_type(const char *filename, TagLib_File_Type type) case TagLib_File_ASF: file = new ASF::File(filename); break; + case TagLib_File_AIFF: + file = new RIFF::AIFF::File(filename); + break; + case TagLib_File_WAV: + file = new RIFF::WAV::File(filename); + break; + case TagLib_File_APE: + file = new APE::File(filename); + break; + case TagLib_File_IT: + file = new IT::File(filename); + break; + case TagLib_File_Mod: + file = new Mod::File(filename); + break; + case TagLib_File_S3M: + file = new S3M::File(filename); + break; + case TagLib_File_XM: + file = new XM::File(filename); + break; + case TagLib_File_Opus: + file = new Ogg::Opus::File(filename); + break; + case TagLib_File_DSF: + file = new DSF::File(filename); + break; + case TagLib_File_DSDIFF: + file = new DSDIFF::File(filename); + break; default: break; } diff --git a/bindings/c/tag_c.h b/bindings/c/tag_c.h index 88b76eda..64136991 100644 --- a/bindings/c/tag_c.h +++ b/bindings/c/tag_c.h @@ -120,7 +120,17 @@ typedef enum { TagLib_File_Speex, TagLib_File_TrueAudio, TagLib_File_MP4, - TagLib_File_ASF + TagLib_File_ASF, + TagLib_File_AIFF, + TagLib_File_WAV, + TagLib_File_APE, + TagLib_File_IT, + TagLib_File_Mod, + TagLib_File_S3M, + TagLib_File_XM, + TagLib_File_Opus, + TagLib_File_DSF, + TagLib_File_DSDIFF } TagLib_File_Type; /*!