diff --git a/Plugins/PluginNowPlaying/PluginNowPlaying.vcxproj b/Plugins/PluginNowPlaying/PluginNowPlaying.vcxproj index b5185c92..8d0da378 100644 --- a/Plugins/PluginNowPlaying/PluginNowPlaying.vcxproj +++ b/Plugins/PluginNowPlaying/PluginNowPlaying.vcxproj @@ -162,10 +162,13 @@ - - 4267;%(DisableSpecificWarnings) - - + + + + + + + diff --git a/Plugins/PluginNowPlaying/PluginNowPlaying.vcxproj.filters b/Plugins/PluginNowPlaying/PluginNowPlaying.vcxproj.filters index d3e346f8..05d1e41e 100644 --- a/Plugins/PluginNowPlaying/PluginNowPlaying.vcxproj.filters +++ b/Plugins/PluginNowPlaying/PluginNowPlaying.vcxproj.filters @@ -69,14 +69,29 @@ Source Files - - taglib - - + taglib - Source Files + taglib + + + taglib + + + taglib + + + taglib + + + taglib + + + taglib + + + taglib diff --git a/Plugins/PluginNowPlaying/TagLibUnity.cpp b/Plugins/PluginNowPlaying/TagLibUnity.cpp index 729eb6eb..2ab65464 100644 --- a/Plugins/PluginNowPlaying/TagLibUnity.cpp +++ b/Plugins/PluginNowPlaying/TagLibUnity.cpp @@ -16,15 +16,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -// TagLib unity build: This file includes most TagLib source files. By compiling all of them +// TagLib unity build: This file includes several TagLib source files. By compiling all of them // together, the build performance is greatly increased. -// The following includes have been commented out and are compiled separately due to e.g. -// mismatching symbols. -/* -#include "taglib\mpeg\id3v2\id3v2tag.cpp" -#include "taglib\toolkit\tfile.cpp" -*/ +// The files have been separated into several TagLibUnity_*.cpp files in order help the optimizer. +// Including everything here increases the binary size. #pragma warning(push) #pragma warning(disable: 4244; disable: 4267) @@ -32,68 +28,12 @@ #include "taglib\fileref.cpp" #include "taglib\tag.cpp" #include "taglib\tagunion.cpp" - -#include "taglib\flac\flacproperties.cpp" -#include "taglib\mpc\mpcproperties.cpp" -#include "taglib\mpeg\id3v1\id3v1tag.cpp" -#include "taglib\mpeg\id3v2\id3v2footer.cpp" -#include "taglib\ogg\flac\oggflacfile.cpp" - -#include "taglib\ape\apefile.cpp" -#include "taglib\ape\apefooter.cpp" -#include "taglib\ape\apeitem.cpp" -#include "taglib\ape\apeproperties.cpp" -#include "taglib\ape\apetag.cpp" -#include "taglib\asf\asfattribute.cpp" -#include "taglib\asf\asffile.cpp" -#include "taglib\asf\asfpicture.cpp" -#include "taglib\asf\asfproperties.cpp" -#include "taglib\asf\asftag.cpp" #include "taglib\audioproperties.cpp" -#include "taglib\flac\flacfile.cpp" -#include "taglib\flac\flacmetadatablock.cpp" -#include "taglib\flac\flacpicture.cpp" -#include "taglib\flac\flacunknownmetadatablock.cpp" + #include "taglib\mpc\mpcfile.cpp" -#include "taglib\mpeg\id3v1\id3v1genres.cpp" -#include "taglib\mpeg\id3v2\frames\attachedpictureframe.cpp" -#include "taglib\mpeg\id3v2\frames\commentsframe.cpp" -#include "taglib\mpeg\id3v2\frames\generalencapsulatedobjectframe.cpp" -#include "taglib\mpeg\id3v2\frames\ownershipframe.cpp" -#include "taglib\mpeg\id3v2\frames\popularimeterframe.cpp" -#include "taglib\mpeg\id3v2\frames\privateframe.cpp" -#include "taglib\mpeg\id3v2\frames\relativevolumeframe.cpp" -#include "taglib\mpeg\id3v2\frames\textidentificationframe.cpp" -#include "taglib\mpeg\id3v2\frames\uniquefileidentifierframe.cpp" -#include "taglib\mpeg\id3v2\frames\unknownframe.cpp" -#include "taglib\mpeg\id3v2\frames\unsynchronizedlyricsframe.cpp" -#include "taglib\mpeg\id3v2\frames\urllinkframe.cpp" -#include "taglib\mpeg\id3v2\id3v2extendedheader.cpp" -#include "taglib\mpeg\id3v2\id3v2frame.cpp" -#include "taglib\mpeg\id3v2\id3v2framefactory.cpp" -#include "taglib\mpeg\id3v2\id3v2header.cpp" -#include "taglib\mpeg\id3v2\id3v2synchdata.cpp" -#include "taglib\mpeg\mpegfile.cpp" -#include "taglib\mpeg\mpegheader.cpp" -#include "taglib\mpeg\mpegproperties.cpp" -#include "taglib\mpeg\xingheader.cpp" -#include "taglib\ogg\oggfile.cpp" -#include "taglib\ogg\oggpage.cpp" -#include "taglib\ogg\oggpageheader.cpp" -#include "taglib\ogg\vorbis\vorbisfile.cpp" -#include "taglib\ogg\vorbis\vorbisproperties.cpp" -#include "taglib\ogg\xiphcomment.cpp" -#include "taglib\toolkit\tbytevector.cpp" -#include "taglib\toolkit\tbytevectorlist.cpp" -#include "taglib\toolkit\tbytevectorstream.cpp" -#include "taglib\toolkit\tdebug.cpp" -#include "taglib\toolkit\tdebuglistener.cpp" -#include "taglib\toolkit\tfilestream.cpp" -#include "taglib\toolkit\tiostream.cpp" -#include "taglib\toolkit\tpropertymap.cpp" -#include "taglib\toolkit\trefcounter.cpp" -#include "taglib\toolkit\tstring.cpp" -#include "taglib\toolkit\tstringlist.cpp" -#include "taglib\toolkit\unicode.cpp" +#include "taglib\mpc\mpcproperties.cpp" + +// Included here due to mismatch with toolkit\tfilestream.cpp. +#include "taglib\toolkit\tfile.cpp" #pragma warning(pop) diff --git a/Plugins/PluginNowPlaying/TagLibUnity_ape.cpp b/Plugins/PluginNowPlaying/TagLibUnity_ape.cpp new file mode 100644 index 00000000..46cf93bb --- /dev/null +++ b/Plugins/PluginNowPlaying/TagLibUnity_ape.cpp @@ -0,0 +1,31 @@ +/* + Copyright (C) 2014 Birunthan Mohanathas + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +// TagLib unity build: This file includes several TagLib source files. By compiling all of them +// together, the build performance is greatly increased. + +#pragma warning(push) +#pragma warning(disable: 4244; disable: 4267) + +#include "taglib\ape\apefile.cpp" +#include "taglib\ape\apefooter.cpp" +#include "taglib\ape\apeitem.cpp" +#include "taglib\ape\apeproperties.cpp" +#include "taglib\ape\apetag.cpp" + +#pragma warning(pop) diff --git a/Plugins/PluginNowPlaying/TagLibUnity_asf.cpp b/Plugins/PluginNowPlaying/TagLibUnity_asf.cpp new file mode 100644 index 00000000..2b0c79d5 --- /dev/null +++ b/Plugins/PluginNowPlaying/TagLibUnity_asf.cpp @@ -0,0 +1,31 @@ +/* +Copyright (C) 2014 Birunthan Mohanathas + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +// TagLib unity build: This file includes several TagLib source files. By compiling all of them +// together, the build performance is greatly increased. + +#pragma warning(push) +#pragma warning(disable: 4244; disable: 4267) + +#include "taglib\asf\asfattribute.cpp" +#include "taglib\asf\asffile.cpp" +#include "taglib\asf\asfpicture.cpp" +#include "taglib\asf\asfproperties.cpp" +#include "taglib\asf\asftag.cpp" + +#pragma warning(pop) diff --git a/Plugins/PluginNowPlaying/TagLibUnity_flac.cpp b/Plugins/PluginNowPlaying/TagLibUnity_flac.cpp new file mode 100644 index 00000000..9a3afa1a --- /dev/null +++ b/Plugins/PluginNowPlaying/TagLibUnity_flac.cpp @@ -0,0 +1,31 @@ +/* +Copyright (C) 2014 Birunthan Mohanathas + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +// TagLib unity build: This file includes several TagLib source files. By compiling all of them +// together, the build performance is greatly increased. + +#pragma warning(push) +#pragma warning(disable: 4244; disable: 4267) + +#include "taglib\flac\flacfile.cpp" +#include "taglib\flac\flacmetadatablock.cpp" +#include "taglib\flac\flacpicture.cpp" +#include "taglib\flac\flacunknownmetadatablock.cpp" +#include "taglib\flac\flacproperties.cpp" + +#pragma warning(pop) diff --git a/Plugins/PluginNowPlaying/TagLibUnity_mpeg.cpp b/Plugins/PluginNowPlaying/TagLibUnity_mpeg.cpp new file mode 100644 index 00000000..6093e42d --- /dev/null +++ b/Plugins/PluginNowPlaying/TagLibUnity_mpeg.cpp @@ -0,0 +1,33 @@ +/* +Copyright (C) 2014 Birunthan Mohanathas + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +// TagLib unity build: This file includes several TagLib source files. By compiling all of them +// together, the build performance is greatly increased. + +#pragma warning(push) +#pragma warning(disable: 4244; disable: 4267) + +#include "taglib\mpeg\mpegfile.cpp" +#include "taglib\mpeg\mpegheader.cpp" +#include "taglib\mpeg\mpegproperties.cpp" +#include "taglib\mpeg\xingheader.cpp" + +#include "taglib\mpeg\id3v1\id3v1genres.cpp" +#include "taglib\mpeg\id3v1\id3v1tag.cpp" + +#pragma warning(pop) diff --git a/Plugins/PluginNowPlaying/TagLibUnity_mpeg_id3v2.cpp b/Plugins/PluginNowPlaying/TagLibUnity_mpeg_id3v2.cpp new file mode 100644 index 00000000..4db60a6c --- /dev/null +++ b/Plugins/PluginNowPlaying/TagLibUnity_mpeg_id3v2.cpp @@ -0,0 +1,45 @@ +/* +Copyright (C) 2014 Birunthan Mohanathas + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +// TagLib unity build: This file includes several TagLib source files. By compiling all of them +// together, the build performance is greatly increased. + +#pragma warning(push) +#pragma warning(disable: 4244; disable: 4267) + +#include "taglib\mpeg\id3v2\frames\attachedpictureframe.cpp" +#include "taglib\mpeg\id3v2\frames\commentsframe.cpp" +#include "taglib\mpeg\id3v2\frames\generalencapsulatedobjectframe.cpp" +#include "taglib\mpeg\id3v2\frames\ownershipframe.cpp" +#include "taglib\mpeg\id3v2\frames\popularimeterframe.cpp" +#include "taglib\mpeg\id3v2\frames\privateframe.cpp" +#include "taglib\mpeg\id3v2\frames\relativevolumeframe.cpp" +#include "taglib\mpeg\id3v2\frames\textidentificationframe.cpp" +#include "taglib\mpeg\id3v2\frames\uniquefileidentifierframe.cpp" +#include "taglib\mpeg\id3v2\frames\unknownframe.cpp" +#include "taglib\mpeg\id3v2\frames\unsynchronizedlyricsframe.cpp" +#include "taglib\mpeg\id3v2\frames\urllinkframe.cpp" +#include "taglib\mpeg\id3v2\id3v2extendedheader.cpp" +#include "taglib\mpeg\id3v2\id3v2footer.cpp" +#include "taglib\mpeg\id3v2\id3v2frame.cpp" +#include "taglib\mpeg\id3v2\id3v2framefactory.cpp" +#include "taglib\mpeg\id3v2\id3v2header.cpp" +#include "taglib\mpeg\id3v2\id3v2synchdata.cpp" +#include "taglib\mpeg\id3v2\id3v2tag.cpp" + +#pragma warning(pop) diff --git a/Plugins/PluginNowPlaying/TagLibUnity_ogg.cpp b/Plugins/PluginNowPlaying/TagLibUnity_ogg.cpp new file mode 100644 index 00000000..719bf303 --- /dev/null +++ b/Plugins/PluginNowPlaying/TagLibUnity_ogg.cpp @@ -0,0 +1,33 @@ +/* +Copyright (C) 2014 Birunthan Mohanathas + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +// TagLib unity build: This file includes several TagLib source files. By compiling all of them +// together, the build performance is greatly increased. + +#pragma warning(push) +#pragma warning(disable: 4244; disable: 4267) + +#include "taglib\ogg\flac\oggflacfile.cpp" +#include "taglib\ogg\oggfile.cpp" +#include "taglib\ogg\oggpage.cpp" +#include "taglib\ogg\oggpageheader.cpp" +#include "taglib\ogg\vorbis\vorbisfile.cpp" +#include "taglib\ogg\vorbis\vorbisproperties.cpp" +#include "taglib\ogg\xiphcomment.cpp" + +#pragma warning(pop) diff --git a/Plugins/PluginNowPlaying/TagLibUnity_toolkit.cpp b/Plugins/PluginNowPlaying/TagLibUnity_toolkit.cpp new file mode 100644 index 00000000..d84a03b7 --- /dev/null +++ b/Plugins/PluginNowPlaying/TagLibUnity_toolkit.cpp @@ -0,0 +1,45 @@ +/* + Copyright (C) 2014 Birunthan Mohanathas + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +// TagLib unity build: This file includes most TagLib source files. By compiling all of them +// together, the build performance is greatly increased. + +// The following includes have been commented out and are compiled separately due to e.g. +// mismatching symbols. +/* +#include "taglib\mpeg\id3v2\id3v2tag.cpp" +#include "taglib\toolkit\tfile.cpp" +*/ + +#pragma warning(push) +#pragma warning(disable: 4244; disable: 4267) + +#include "taglib\toolkit\tbytevector.cpp" +#include "taglib\toolkit\tbytevectorlist.cpp" +#include "taglib\toolkit\tbytevectorstream.cpp" +#include "taglib\toolkit\tdebug.cpp" +#include "taglib\toolkit\tdebuglistener.cpp" +#include "taglib\toolkit\tfilestream.cpp" +#include "taglib\toolkit\tiostream.cpp" +#include "taglib\toolkit\tpropertymap.cpp" +#include "taglib\toolkit\trefcounter.cpp" +#include "taglib\toolkit\tstring.cpp" +#include "taglib\toolkit\tstringlist.cpp" +#include "taglib\toolkit\unicode.cpp" + +#pragma warning(pop)