diff options
author | Phantasm | 2024-02-25 15:30:29 +0100 |
---|---|---|
committer | Phantasm | 2024-02-25 15:30:29 +0100 |
commit | f35495ba9a3b7aa0014b4a83eac235a1a0280198 (patch) | |
tree | 578b9eac4dc218cfc20f56cae5d6b7b5e63dc564 | |
parent | e6c9848e6f67213de4a8dd4df98ef80e64f09d58 (diff) | |
download | aur-f35495ba9a3b7aa0014b4a83eac235a1a0280198.tar.gz |
Support taglib2 and updated PKGBUILD to sort of match the normal AUR package
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 33 | ||||
-rw-r--r-- | taglib2.diff | 259 |
3 files changed, 283 insertions, 13 deletions
@@ -1,6 +1,6 @@ pkgbase = soundkonverter-dark-theme-git pkgdesc = Front-end to various audio converters (Git - with custom colors for dark themes) - pkgver = 3.0.1.r31.g0329d90 + pkgver = 3.0.1.31.g0329d90 pkgrel = 1 url = https://www.linux-apps.com/content/show.php?content=29024 arch = x86_64 @@ -36,6 +36,8 @@ pkgbase = soundkonverter-dark-theme-git provides = soundkonverter conflicts = soundkonverter source = git+https://github.com/nphantasm/soundkonverter.git + source = taglib2.diff sha256sums = SKIP + sha256sums = 6775198a5c30495ead5cda9756643e7e3c5b767dd5f322f985c9775bb37093e9 pkgname = soundkonverter-dark-theme-git @@ -2,8 +2,7 @@ # Based on the official Arch Linux PKGBUILD pkgname=soundkonverter-dark-theme-git -_name=soundkonverter -pkgver=3.0.1.r31.g0329d90 +pkgver=3.0.1.31.g0329d90 pkgrel=1 pkgdesc="Front-end to various audio converters (Git - with custom colors for dark themes)" arch=(x86_64) @@ -27,27 +26,37 @@ optdepends=('faac: faac backend' 'vorbis-tools: vorbis tools backend' 'wavpack: wavpack backend' 'sox: sox plugin (change sample rate, various effects)') -source=("git+https://github.com/nphantasm/soundkonverter.git") +source=( + "git+https://github.com/nphantasm/soundkonverter.git" + "taglib2.diff" # Patch imported from soundkonverter AUR package by MdN +) provides=(soundkonverter) conflicts=(soundkonverter) -sha256sums=('SKIP') +sha256sums=( + 'SKIP' + '6775198a5c30495ead5cda9756643e7e3c5b767dd5f322f985c9775bb37093e9' +) pkgver() { - cd "$_name" - git describe --long | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' + cd "$srcdir"/soundkonverter + echo "$(git describe --long --tags | tr - . | tr -d v)" } prepare() { - mkdir -p build + cd "$srcdir"/soundkonverter + patch -Np1 -i "$srcdir"/taglib2.diff } build() { - cd build - cmake ../"$_name"/src - make + cmake -S soundkonverter/src -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_INSTALL_DIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON + + cmake --build build } package() { - cd build - make DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" cmake --install build } diff --git a/taglib2.diff b/taglib2.diff new file mode 100644 index 000000000000..55f3320ae219 --- /dev/null +++ b/taglib2.diff @@ -0,0 +1,259 @@ +diff --git a/src/metadata/tagengine.cpp b/src/metadata/tagengine.cpp +index 4056d67..0aa48b2 100644 +--- a/src/metadata/tagengine.cpp ++++ b/src/metadata/tagengine.cpp +@@ -367,8 +367,8 @@ TagData* TagEngine::readTags( const KUrl& fileName ) + + if( TagLib::MP4::Tag *tag = file->tag() ) + { +- TagLib::MP4::ItemListMap map = tag->itemListMap(); +- for( TagLib::MP4::ItemListMap::ConstIterator it = map.begin(); it != map.end(); ++it ) ++ TagLib::MP4::ItemMap map = tag->itemMap(); ++ for( TagLib::MP4::ItemMap::ConstIterator it = map.begin(); it != map.end(); ++it ) + { + if( it->first == "aART" ) + { +@@ -680,7 +680,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( !tagData->albumArtist.isEmpty() ) + { + if( tag->contains("ALBUMARTIST") ) +- tag->removeField("ALBUMARTIST"); ++ tag->removeFields("ALBUMARTIST"); + + tag->addField( "ALBUMARTIST", TagLib::String(tagData->albumArtist.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -688,7 +688,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( !tagData->composer.isEmpty() ) + { + if( tag->contains("COMPOSER") ) +- tag->removeField("COMPOSER"); ++ tag->removeFields("COMPOSER"); + + tag->addField( "COMPOSER", TagLib::String(tagData->composer.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -698,7 +698,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( config->data.general.preferredVorbisCommentTrackTotalTag == "TRACKNUMBER" ) + { + if( tag->contains("TRACKNUMBER") ) +- tag->removeField("TRACKNUMBER"); ++ tag->removeFields("TRACKNUMBER"); + + tag->addField( "TRACKNUMBER", TagLib::String(track.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -711,7 +711,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( tagData->disc > 0 ) + { + if( tag->contains("DISCNUMBER") ) +- tag->removeField("DISCNUMBER"); ++ tag->removeFields("DISCNUMBER"); + + tag->addField( "DISCNUMBER", TagLib::String(QString::number(tagData->disc).toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -721,7 +721,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( config->data.general.preferredVorbisCommentDiscTotalTag == "DISCNUMBER" ) + { + if( tag->contains("DISCNUMBER") ) +- tag->removeField("DISCNUMBER"); ++ tag->removeFields("DISCNUMBER"); + + tag->addField( "DISCNUMBER", TagLib::String(disc.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -734,7 +734,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( !tagData->musicBrainzTrackId.isEmpty() ) + { + if( tag->contains("MUSICBRAINZ_TRACKID") ) +- tag->removeField("MUSICBRAINZ_TRACKID"); ++ tag->removeFields("MUSICBRAINZ_TRACKID"); + + tag->addField( "MUSICBRAINZ_TRACKID", TagLib::String(tagData->musicBrainzTrackId.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -742,7 +742,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( !tagData->musicBrainzReleaseId.isEmpty() ) + { + if( tag->contains("MUSICBRAINZ_ALBUMID") ) +- tag->removeField("MUSICBRAINZ_ALBUMID"); ++ tag->removeFields("MUSICBRAINZ_ALBUMID"); + + tag->addField( "MUSICBRAINZ_ALBUMID", TagLib::String(tagData->musicBrainzReleaseId.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -755,7 +755,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( !tagData->albumArtist.isEmpty() ) + { + if( tag->contains("ALBUMARTIST") ) +- tag->removeField("ALBUMARTIST"); ++ tag->removeFields("ALBUMARTIST"); + + tag->addField( "ALBUMARTIST", TagLib::String(tagData->albumArtist.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -763,7 +763,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( !tagData->composer.isEmpty() ) + { + if( tag->contains("COMPOSER") ) +- tag->removeField("COMPOSER"); ++ tag->removeFields("COMPOSER"); + + tag->addField( "COMPOSER", TagLib::String(tagData->composer.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -773,7 +773,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( config->data.general.preferredVorbisCommentTrackTotalTag == "TRACKNUMBER" ) + { + if( tag->contains("TRACKNUMBER") ) +- tag->removeField("TRACKNUMBER"); ++ tag->removeFields("TRACKNUMBER"); + + tag->addField( "TRACKNUMBER", TagLib::String(track.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -786,7 +786,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( tagData->disc > 0 ) + { + if( tag->contains("DISCNUMBER") ) +- tag->removeField("DISCNUMBER"); ++ tag->removeFields("DISCNUMBER"); + + tag->addField( "DISCNUMBER", TagLib::String(QString::number(tagData->disc).toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -796,7 +796,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( config->data.general.preferredVorbisCommentDiscTotalTag == "DISCNUMBER" ) + { + if( tag->contains("DISCNUMBER") ) +- tag->removeField("DISCNUMBER"); ++ tag->removeFields("DISCNUMBER"); + + tag->addField( "DISCNUMBER", TagLib::String(disc.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -809,7 +809,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( !tagData->musicBrainzTrackId.isEmpty() ) + { + if( tag->contains("MUSICBRAINZ_TRACKID") ) +- tag->removeField("MUSICBRAINZ_TRACKID"); ++ tag->removeFields("MUSICBRAINZ_TRACKID"); + + tag->addField( "MUSICBRAINZ_TRACKID", TagLib::String(tagData->musicBrainzTrackId.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -817,7 +817,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( !tagData->musicBrainzReleaseId.isEmpty() ) + { + if( tag->contains("MUSICBRAINZ_ALBUMID") ) +- tag->removeField("MUSICBRAINZ_ALBUMID"); ++ tag->removeFields("MUSICBRAINZ_ALBUMID"); + + tag->addField( "MUSICBRAINZ_ALBUMID", TagLib::String(tagData->musicBrainzReleaseId.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -830,7 +830,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( !tagData->albumArtist.isEmpty() ) + { + if( tag->contains("ALBUMARTIST") ) +- tag->removeField("ALBUMARTIST"); ++ tag->removeFields("ALBUMARTIST"); + + tag->addField( "ALBUMARTIST", TagLib::String(tagData->albumArtist.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -838,7 +838,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( !tagData->composer.isEmpty() ) + { + if( tag->contains("COMPOSER") ) +- tag->removeField("COMPOSER"); ++ tag->removeFields("COMPOSER"); + + tag->addField( "COMPOSER", TagLib::String(tagData->composer.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -848,7 +848,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( config->data.general.preferredVorbisCommentTrackTotalTag == "TRACKNUMBER" ) + { + if( tag->contains("TRACKNUMBER") ) +- tag->removeField("TRACKNUMBER"); ++ tag->removeFields("TRACKNUMBER"); + + tag->addField( "TRACKNUMBER", TagLib::String(track.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -861,7 +861,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( tagData->disc > 0 ) + { + if( tag->contains("DISCNUMBER") ) +- tag->removeField("DISCNUMBER"); ++ tag->removeFields("DISCNUMBER"); + + tag->addField( "DISCNUMBER", TagLib::String(QString::number(tagData->disc).toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -871,7 +871,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( config->data.general.preferredVorbisCommentDiscTotalTag == "DISCNUMBER" ) + { + if( tag->contains("DISCNUMBER") ) +- tag->removeField("DISCNUMBER"); ++ tag->removeFields("DISCNUMBER"); + + tag->addField( "DISCNUMBER", TagLib::String(disc.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -884,7 +884,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( !tagData->musicBrainzTrackId.isEmpty() ) + { + if( tag->contains("MUSICBRAINZ_TRACKID") ) +- tag->removeField("MUSICBRAINZ_TRACKID"); ++ tag->removeFields("MUSICBRAINZ_TRACKID"); + + tag->addField( "MUSICBRAINZ_TRACKID", TagLib::String(tagData->musicBrainzTrackId.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -892,7 +892,7 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( !tagData->musicBrainzReleaseId.isEmpty() ) + { + if( tag->contains("MUSICBRAINZ_ALBUMID") ) +- tag->removeField("MUSICBRAINZ_ALBUMID"); ++ tag->removeFields("MUSICBRAINZ_ALBUMID"); + + tag->addField( "MUSICBRAINZ_ALBUMID", TagLib::String(tagData->musicBrainzReleaseId.toUtf8().data(), TagLib::String::UTF8), true ); + } +@@ -903,27 +903,27 @@ bool TagEngine::writeTags( const KUrl& fileName, TagData *tagData ) + if( TagLib::MP4::Tag *tag = file->tag() ) + { + if( !tagData->albumArtist.isEmpty() ) +- tag->itemListMap()["aART"] = TagLib::StringList(TagLib::String(tagData->albumArtist.toUtf8().data(), TagLib::String::UTF8)); ++ tag->setItem("aART", TagLib::StringList(TagLib::String(tagData->albumArtist.toUtf8().data(), TagLib::String::UTF8))); + + if( !tagData->composer.isEmpty() ) +- tag->itemListMap()["\xA9wrt"] = TagLib::StringList(TagLib::String(tagData->composer.toUtf8().data(), TagLib::String::UTF8)); ++ tag->setItem("\xA9wrt", TagLib::StringList(TagLib::String(tagData->composer.toUtf8().data(), TagLib::String::UTF8))); + + if( tagData->trackTotal > 0 ) +- tag->itemListMap()["trkn"] = TagLib::MP4::Item( tagData->track, tagData->trackTotal ); ++ tag->setItem("trkn", TagLib::MP4::Item( tagData->track, tagData->trackTotal )); + + if( tagData->disc > 0 ) + { + if( tagData->discTotal > 0 ) +- tag->itemListMap()["disk"] = TagLib::MP4::Item( tagData->disc, tagData->discTotal ); ++ tag->setItem("disk", TagLib::MP4::Item( tagData->disc, tagData->discTotal )); + else +- tag->itemListMap()["disk"] = TagLib::MP4::Item( tagData->disc ); ++ tag->setItem("disk", TagLib::MP4::Item( tagData->disc )); + } + + if( !tagData->musicBrainzTrackId.isEmpty() ) +- tag->itemListMap()["----:com.apple.iTunes:MusicBrainz Track Id"] = TagLib::StringList(TagLib::String(tagData->musicBrainzTrackId.toUtf8().data(), TagLib::String::UTF8)); ++ tag->setItem("----:com.apple.iTunes:MusicBrainz Track Id", TagLib::StringList(TagLib::String(tagData->musicBrainzTrackId.toUtf8().data(), TagLib::String::UTF8))); + + if( !tagData->musicBrainzReleaseId.isEmpty() ) +- tag->itemListMap()["----:com.apple.iTunes:MusicBrainz Album Id"] = TagLib::StringList(TagLib::String(tagData->musicBrainzReleaseId.toUtf8().data(), TagLib::String::UTF8)); ++ tag->setItem("----:com.apple.iTunes:MusicBrainz Album Id", TagLib::StringList(TagLib::String(tagData->musicBrainzReleaseId.toUtf8().data(), TagLib::String::UTF8))); + } + } + else if( TagLib::ASF::File *file = dynamic_cast<TagLib::ASF::File*>(fileref.file()) ) +@@ -1136,8 +1136,8 @@ QList<CoverData*> TagEngine::readCovers( const KUrl& fileName ) + { + if( TagLib::MP4::Tag *tag = file->tag() ) + { +- TagLib::MP4::ItemListMap map = tag->itemListMap(); +- for( TagLib::MP4::ItemListMap::ConstIterator it = map.begin(); it != map.end(); ++it ) ++ TagLib::MP4::ItemMap map = tag->itemMap(); ++ for( TagLib::MP4::ItemMap::ConstIterator it = map.begin(); it != map.end(); ++it ) + { + if( it->first == "covr" ) + { +@@ -1290,7 +1290,7 @@ bool TagEngine::writeCovers( const KUrl& fileName, QList<CoverData*> covers ) + + coversList.append( TagLib::MP4::CoverArt( format, TagLib::ByteVector( cover->data.data(), cover->data.size() ) ) ); + } +- tag->itemListMap()["covr"] = TagLib::MP4::Item( coversList ); ++ tag->setItem("covr", TagLib::MP4::Item( coversList )); + } + + return fileref.save(); |