第三方授權

兩款應用都以 MIT 授權發布。這一頁列出它們隨附的第三方元件,以及那些元件各自適用的條款。

元件名稱、授權標識、授權條文,以及下方各應用的 LGPL 替換說明,一律保持英文原文——這些文字的翻譯不具法律效力,也容易在轉述中失真。這一頁其餘的說明文字會跟著你選的語言。

以 LGPL 授權的元件

兩款應用各自隨附一個以上以 GNU Lesser General Public License 2.1 版授權的元件。LGPL 要求你必須能夠用自己建置的版本替換那些元件。各應用如何做到這一點,寫在下方它自己的標題底下。

CX'Music for Windows

元件版本授權
TagLibSharp2.3.0LGPL-2.1-only
SoundTouch.Net2.3.2LGPL-2.1-or-later
BunLabs.NAudio.FlacA managed port of the CSCore FLAC decoder, shipped as an unmodified binary. MS-PL §3(C) requires distribution under a compatible licence; this application is MIT.2.0.1MS-PL
ConcentusA managed port of the Opus reference implementation. The package declares a licence file rather than an SPDX identifier; the text is the three-clause BSD licence used by Opus.2.2.2BSD-3-Clause
Microsoft.WindowsAppSDKThe source repository is MIT-licensed; the redistributable NuGet package ships under Microsoft’s own terms.2.1.3Microsoft Software Licence Terms
NAudio2.2.1MIT
NAudio.Core2.2.1MIT
NAudio.Vorbis1.5.0MIT
NVorbisPulled in by NAudio.Vorbis.MIT
Concentus.OggfileThe Ogg container layer for Concentus.1.0.7MIT
CommunityToolkit.Mvvm8.4.0MIT
CommunityToolkit.WinUI.Controls.Primitives8.2.251219MIT
CommunityToolkit.WinUI.Extensions8.2.251219MIT
CommunityToolkit.CommonPulled in by the CommunityToolkit packages above.MIT
AK.Toolkit.WinUI3.ScrollBarExtensions1.1.0MIT
Microsoft.Data.Sqlite8.0.13MIT
Microsoft.Extensions.DependencyInjection8.0.1MIT
SQLitePCLRawcore / batteries_v2 / provider.e_sqlite3, pulled in by Microsoft.Data.Sqlite.Apache-2.0
SQLiteThe e_sqlite3 native library, distributed with SQLitePCLRaw.Public domain
Inno SetupBuilds the installer. Simplified Chinese, Traditional Chinese and Greek use Inno Setup’s unofficial language files.6Inno Setup Licence

TagLibSharp and SoundTouch.Net are shipped as separate DLLs in the installation directory. The build does not use single-file publishing, does not enable IL trimming, and does not obfuscate any third-party assembly.

To use your own build of either library, compile it and overwrite the DLL of the same name in the installation directory.

CX's Music for Android

元件版本授權
net.jthink:jaudiotaggerVersion taken from the library’s own source headers; its POM records only “LGPL” without a version.3.0.1LGPL-2.1-or-later
androidx.*core-ktx 1.16.0, core-splashscreen 1.0.1, appcompat 1.7.0, documentfile 1.0.1, activity-compose 1.10.1, compose-bom 2024.12.01, material-icons-extended 1.7.6, navigation-compose 2.8.9, lifecycle 2.9.0, room 2.7.1, datastore-preferences 1.1.1, media3 1.5.1, hilt-navigation-compose 1.2.0.Apache-2.0
com.google.dagger:hilt-android2.56Apache-2.0
io.coil-kt:coil-compose2.7.0Apache-2.0
org.jetbrains.kotlinx:kotlinx-coroutines-android1.9.0Apache-2.0
Kotlin standard library2.1.20Apache-2.0
com.squareup.okhttp3:okhttpPulled in by Coil. Its embedded Public Suffix List data file is under MPL-2.0.Apache-2.0
com.squareup.okio:okioPulled in by OkHttp.Apache-2.0
jakarta.inject:jakarta.inject-apiPulled in by Hilt/Dagger. Jakarta Dependency Injection is a trademark of the Eclipse Foundation.Apache-2.0

On Android, jaudiotagger is processed by R8 and merged into the APK’s classes.dex; it does not exist as a separate shared library, so it cannot be swapped out in place. The R8 configuration keeps the library whole — it is neither shrunk nor obfuscated.

The relinking route on this platform is rebuilding: the entire application source is published under the MIT Licence, so you can change the jaudiotagger version in app/build.gradle.kts (or substitute your own build of it) and run the standard Gradle release task. No step of that build is private.

Full licence texts: the GNU LGPL v2.1, the Apache Licence 2.0, and the MIT Licence. Each application also carries its own THIRD-PARTY-NOTICES file in its source repository; this page is generated from the same dependency declarations and is checked against them at build time.