Compare commits

..
Author SHA1 Message Date
Heiko Becker 1538b406d0 GIT_SILENT Update Appstream for new release 2023-11-04 12:30:26 +01:00
Heiko Becker d47a9aeedc GIT_SILENT Upgrade release service version to 23.08.3. 2023-11-04 11:43:34 +01:00
l10n daemon script e6a611a4bc GIT_SILENT Sync po/docbooks with svn 2023-11-02 03:08:08 +00:00
Jonah Brüchert 11ec69862b Report QFuture results even on failure
Otherwise we'd crash reading the result.
2023-11-01 16:20:46 +01:00
l10n daemon script a1e2d957c8 GIT_SILENT Sync po/docbooks with svn 2023-11-01 03:11:12 +00:00
l10n daemon script 80af0071b7 GIT_SILENT Sync po/docbooks with svn 2023-10-31 03:04:37 +00:00
l10n daemon script 7c851ee76a GIT_SILENT made messages (after extraction) 2023-10-31 02:24:03 +00:00
Scarlett Moore 3f84ce1bd6 snapcraft: minor fixes to build deps. 2023-10-30 09:10:24 +00:00
l10n daemon script e1515300b4 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-10-30 03:03:23 +00:00
l10n daemon script aaef6e81ea GIT_SILENT Sync po/docbooks with svn 2023-10-22 04:00:47 +00:00
l10n daemon script abffb362e7 GIT_SILENT Sync po/docbooks with svn 2023-10-13 03:09:55 +00:00
Scarlett Moore eceda70072 snapcraft: enable devmode for now, still network failures in fully confined. 2023-10-12 09:57:25 -07:00
Scarlett Moore b687090dd3 snapcraft: add back qcoro not yet in content pack 2023-10-12 08:03:59 -07:00
Scarlett Moore 40214f1221 snapcraft: add back kirigmai-addons as it is not in content pack. 2023-10-12 07:27:49 -07:00
Scarlett Moore 75a06c0818 snapcraft: bump content pack version. 2023-10-12 06:16:25 -07:00
Scarlett Moore 36d3af991a snapcraft: Several fixes,
build yt-dlp with ffmpeg support
build ytmusicapi latest
Add missing gstreamer plugins
Add alsa support for sound
Add network-manager plugs
2023-10-11 04:12:43 -07:00
l10n daemon script eb7a388bbe GIT_SILENT Sync po/docbooks with svn 2023-10-11 04:02:22 +00:00
Heiko Becker e589292372 GIT_SILENT Update Appstream for new release 2023-10-07 17:58:46 +02:00
Heiko Becker b6bb0b8b65 GIT_SILENT Upgrade release service version to 23.08.2. 2023-10-07 17:04:59 +02:00
l10n daemon script 83b477acca GIT_SILENT Sync po/docbooks with svn 2023-10-07 03:07:52 +00:00
Scarlett Moore 61af43a9d2 snapcraft: fix dbus slot name.
Add missing cmake flag for pybind.
Remove phantomjs no longer needed.
Update to new arch triplet env var.
New content pack.
Add network-manager-observe plug.
2023-10-05 05:52:39 -07:00
Scarlett Moore 7a6662cf07 snapcraft: fix qqc env. 2023-10-03 07:24:38 -07:00
Scarlett Moore e29f79d0bd snapcraft: add network-observe plug, add libsqlite and purpose qml 2023-10-03 06:01:16 -07:00
Scarlett Moore 1690ebc277 snapcraft: Initial add files. 2023-10-03 05:02:50 -07:00
l10n daemon script 2133c1a477 GIT_SILENT Sync po/docbooks with svn 2023-10-01 03:35:52 +00:00
l10n daemon script 2ff5d3f509 GIT_SILENT Sync po/docbooks with svn 2023-09-17 03:59:35 +00:00
Heiko Becker 665501728e GIT_SILENT Update Appstream for new release 2023-09-09 11:03:37 +02:00
Heiko Becker 199f84a145 GIT_SILENT Upgrade release service version to 23.08.1. 2023-09-09 10:23:32 +02:00
l10n daemon script a561fd5b23 GIT_SILENT Sync po/docbooks with svn 2023-09-03 04:01:09 +00:00
l10n daemon script 4d13ac42bc GIT_SILENT Sync po/docbooks with svn 2023-08-28 04:00:55 +00:00
l10n daemon script 498eee8f0e GIT_SILENT Sync po/docbooks with svn 2023-08-25 03:07:21 +00:00
l10n daemon script a10a1c86da GIT_SILENT Sync po/docbooks with svn 2023-08-21 03:06:44 +00:00
Heiko Becker e6d1c52d8f GIT_SILENT Update Appstream for new release 2023-08-16 23:30:43 +02:00
Heiko Becker 656745dba2 GIT_SILENT Upgrade release service version to 23.08.0. 2023-08-16 22:26:17 +02:00
l10n daemon script 05f1fd6849 GIT_SILENT Sync po/docbooks with svn 2023-08-11 03:05:27 +00:00
Albert Astals Cid d1a2bde2d8 GIT_SILENT Upgrade release service version to 23.07.90. 2023-08-10 20:59:03 +02:00
l10n daemon script cc8baa05eb GIT_SILENT Sync po/docbooks with svn 2023-08-03 04:03:08 +00:00
l10n daemon script a74a59e8a5 GIT_SILENT Sync po/docbooks with svn 2023-07-31 04:03:05 +00:00
l10n daemon script bd5cc02341 GIT_SILENT Sync po/docbooks with svn 2023-07-29 03:08:38 +00:00
l10n daemon script 4fb0127d17 GIT_SILENT Sync po/docbooks with svn 2023-07-27 03:10:36 +00:00
l10n daemon script 2611cf8be3 GIT_SILENT Sync po/docbooks with svn 2023-07-24 11:03:12 +00:00
l10n daemon script cb501dce8d GIT_SILENT Sync po/docbooks with svn 2023-07-19 05:13:04 +00:00
l10n daemon script 6fbdf32a82 GIT_SILENT Sync po/docbooks with svn 2023-07-18 09:31:11 +00:00
l10n daemon script 61f8136121 GIT_SILENT made messages (after extraction) 2023-07-18 08:27:37 +00:00
l10n daemon script 725efe33ad GIT_SILENT made messages (after extraction) 2023-07-18 02:51:30 +00:00
Albert Astals Cid 492a206e9c GIT_SILENT Upgrade release service version to 23.07.80. 2023-07-17 11:21:57 +02:00
55 changed files with 534 additions and 414 deletions

No files matched your search

+3 -23
View File
@@ -1,27 +1,7 @@
# SPDX-FileCopyrightText: 2021-2023 Jonah Brüchert <[email protected]>
# SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
#
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
include:
# - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/reuse-lint.yml
# - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/flatpak.yml
external-data-checker:
image:
name: ghcr.io/flathub/flatpak-external-data-checker:latest
entrypoint: [""]
variables:
GIT_AUTHOR_NAME: Flatpak External Data Checker
GIT_COMMITTER_NAME: Flatpak External Data Checker
GIT_AUTHOR_EMAIL: [email protected]
GIT_COMMITTER_EMAIL: [email protected]
EMAIL: [email protected]
script:
- export BRANCH_NAME="$(git rev-parse --abbrev-ref HEAD)"
- /app/flatpak-external-data-checker --update --commit-only .flatpak-manifest.json
- export MR_BRANCH_NAME="work/fedc/$(git rev-parse --abbrev-ref HEAD)"
- git checkout -b "${MR_BRANCH_NAME}"
- pip3 install git+https://invent.kde.org/sdk/git-lab
- git lab workflow --workbranch
- git lab login --host invent.kde.org --token "${TOKEN}"
- git lab mr --noninteractive --target-branch "${BRANCH_NAME}"
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/reuse-lint.yml
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/flatpak.yml
+3
View File
@@ -21,5 +21,8 @@ License: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
Files: logo.png
org.kde.audiotube.svg
snap/gui/logo.png
snapcraft.yaml
Copyright: 2021 Mathis Brüchert <[email protected]>
2023 Scarlett Moore <[email protected]>
License: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+8 -15
View File
@@ -6,31 +6,24 @@ cmake_minimum_required(VERSION 3.16.0)
# KDE Applications version, managed by release script.
set(RELEASE_SERVICE_VERSION_MAJOR "23")
set(RELEASE_SERVICE_VERSION_MINOR "11")
set(RELEASE_SERVICE_VERSION_MICRO "70")
set(RELEASE_SERVICE_VERSION_MINOR "08")
set(RELEASE_SERVICE_VERSION_MICRO "3")
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
project(audiotube VERSION ${RELEASE_SERVICE_VERSION})
include(FeatureSummary)
set(QT5_MIN_VERSION 5.15)
set(KF5_MIN_VERSION 5.81)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(QT_MIN_VERSION "5.15")
set(KF_MIN_VERSION "5.81.0")
find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
if (QT_MAJOR_VERSION STREQUAL "6")
set(QT_MIN_VERSION "6.4.0")
set(KF_MIN_VERSION "5.240.0")
set(KF_MAJOR_VERSION "6")
else()
set(KF_MAJOR_VERSION "5")
endif()
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
@@ -46,8 +39,8 @@ ecm_setup_version(${PROJECT_VERSION}
kde_enable_exceptions()
find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets Concurrent DBus)
find_package(KF${KF_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash WindowSystem)
find_package(Qt${QT_MAJOR_VERSION} ${QT5_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets Concurrent DBus)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash WindowSystem)
find_package(pybind11 REQUIRED)
find_package(Ytdlp REQUIRED RUNTIME)
find_package(YTMusicAPI 1.0.2 REQUIRED RUNTIME)
+2 -2
View File
@@ -8,8 +8,8 @@
"sources": [
{
"type": "archive",
"url": "https://download.kde.org/stable/kirigami-addons/kirigami-addons-0.11.0.tar.xz",
"sha256": "05296c5afbe6804308bf9c0d2751f3b748b40d00fa784946d1dcdf3af4bffbad",
"url": "https://download.kde.org/stable/kirigami-addons/kirigami-addons-0.7.0.tar.xz",
"sha256": "0132a58b150229544a61e17e792c48cfc6daa03a8be9c7acd873a6c30d283df7",
"x-checker-data": {
"type": "anitya",
"project-id": 242933,
+10 -10
View File
@@ -7,23 +7,23 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz",
"sha256": "81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"
"url": "https://files.pythonhosted.org/packages/2a/18/70c32fe9357f3eea18598b23aa9ed29b1711c3001835f7cf99a9818985d0/Brotli-1.0.9.zip",
"sha256": "4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl",
"sha256": "92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/b0/7a/620f945b96be1f6ee357d211d5bf74ab1b7fe72a9f1525aafbfe3aee6875/mutagen-1.47.0-py3-none-any.whl",
"sha256": "edd96f50c5907a9539d8e5bba7245f62c9f520aef333d13392a79a4f70aca719"
"url": "https://files.pythonhosted.org/packages/03/ee/114d7016d2e34f341e212fefb5e7bd87785077ebcfff0ad23a497c70eea1/mutagen-1.46.0-py3-none-any.whl",
"sha256": "8af0728aa2d5c3ee5a727e28d0627966641fddfe804c23eabb5926a4d770aed5"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/14/c9/09d5df04c9f29ae1b49d0e34c9934646b53bb2131a55e8ed2a0d447c7c53/pycryptodomex-3.19.0.tar.gz",
"sha256": "af83a554b3f077564229865c45af0791be008ac6469ef0098152139e6bd4b5b6"
"url": "https://files.pythonhosted.org/packages/40/92/efd675dba957315d705f792b28d900bddc36f39252f6713961b4221ee9af/pycryptodomex-3.18.0.tar.gz",
"sha256": "3e3ecb5fe979e7c1bb0027e518340acf7ee60415d79295e5251d13c68dde576e"
},
{
"type": "file",
@@ -32,8 +32,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/70/b4/94e72fd0e1541ab50f8efe224ead550a367da3df1b8aa733bd2d9bde9aed/yt_dlp-2023.9.24-py2.py3-none-any.whl",
"sha256": "61792482647faac6207b1795b52d73714803414d8c090cd9721dfe8b16b12605"
"url": "https://files.pythonhosted.org/packages/65/9b/21628ca5bcf40f58c33f0fbb4927a1bb91e12f3c33a3cf8e29e03f6bc1d1/yt_dlp-2023.6.22-py2.py3-none-any.whl",
"sha256": "c559885322f7f492c1e7fc8f5a59e2a72e47719b59575599cf8b0e69ea70d0a8"
}
]
}
+8 -8
View File
@@ -7,13 +7,13 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl",
"sha256": "92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/cf/ac/e89b2f2f75f51e9859979b56d2ec162f7f893221975d244d8d5277aa9489/charset-normalizer-3.3.0.tar.gz",
"sha256": "63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"
"url": "https://files.pythonhosted.org/packages/ff/d7/8d757f8bd45be079d76309248845a04f09619a7b17d6dfc8c9ff6433cac2/charset-normalizer-3.1.0.tar.gz",
"sha256": "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
},
{
"type": "file",
@@ -27,13 +27,13 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/26/40/9957270221b6d3e9a3b92fdfba80dd5c9661ff45a664b47edd5d00f707f5/urllib3-2.0.6-py3-none-any.whl",
"sha256": "7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"
"url": "https://files.pythonhosted.org/packages/8a/03/ad9306a50d05c166e3456fe810f33cee2b8b2a7a6818ec5d4908c4ec6b36/urllib3-2.0.3-py3-none-any.whl",
"sha256": "48e7fafa40319d358848e1bc6809b208340fafe2096f1725d05d67443d0483d1"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/48/d7/291259f063aa0260e13a3a561bc023594c2fb300bc70e7588303effb522c/ytmusicapi-1.3.0-py3-none-any.whl",
"sha256": "791eaca2ac186b7982962faf19506ca26905797cd4a95c75f41266839f888326"
"url": "https://files.pythonhosted.org/packages/50/1c/24829fa937a3555bf782491669ec74e0afbae5adbd724d5ce1fd542062d1/ytmusicapi-1.1.0-py3-none-any.whl",
"sha256": "d7923e9b789b7107c75bd8e9010640cf99ce08d472f42a9bd9402088acfc4d49"
}
]
}
+3 -1
View File
@@ -113,6 +113,8 @@ SPDX-License-Identifier: CC0-1.0
<content_rating type="oars-1.0"/>
<url type="homepage">https://apps.kde.org/en/audiotube</url>
<releases>
<release version="23.08.3" date="2023-11-09"/>
<release version="23.08.2" date="2023-10-12"/>
<release version="23.08.1" date="2023-09-14"/>
<release version="23.08.0" date="2023-08-24"/>
<release version="23.04.3" date="2023-07-06"/>
@@ -195,7 +197,7 @@ SPDX-License-Identifier: CC0-1.0
<p xml:lang="en-GB">AudioTube can search YouTube Music, list albums and artists, play automatically generated playlists, albums and allows to put your own playlist together.</p>
<p xml:lang="eo">AudioTube povas serĉi YouTube Music, listigi albumojn kaj artistojn, ludi aŭtomate generitajn ludlistojn, albumojn kaj permesas kunmeti vian propran ludliston.</p>
<p xml:lang="es">AudioTube puede buscar música de YouTube, listar álbumes y artistas, reproducir las listas de reproducción generadas, álbumes y le permite crear su propia lista de reproducción.</p>
<p xml:lang="eu">AudioTube-k YouTube Music-en bilatu dezake, albumak eta artistak zerrendatu, automatikoki sortutako jotze-zerrendak eta albumak jo, eta zure jotze-zerrenda osatzeko aukera eskaintzen dizu.</p>
<p xml:lang="eu">«AudioTube»k «YouTube Music»n bilatu dezake, albumak eta artistak zerrendatu, automatikoki sortutako jotze-zerrendak eta albumak jo, eta zure jotze-zerrenda osatzeko aukera eskaintzen dizu.</p>
<p xml:lang="fi">AudioTube osaa etsiä YouTube Music -haun, albumien ja artistien luettelun, luotujen soittolistojen automaattisen toiston ja omien soittolistojen kokoamisen.</p>
<p xml:lang="fr">AudioTube peut effectuer des recherches de musiques sur la partie « Musique » de YouTube, établir une liste d'albums et d'artistes, lire des listes de lecture générées automatiquement, des albums et permet de composer sa propre liste de lecture.</p>
<p xml:lang="gl">AudioTube pode buscar en YouTube Music, listar álbums e intérpretes, reproducir listas xeradas automaticamente e álbums, e permítelle confeccionar listas.</p>
+1 -1
View File
@@ -65,7 +65,7 @@ Comment[ru]=Клиент для YouTube Music
Comment[sk]=Hudobný klient YouTube
Comment[sl]=Glasbeni odjemalec Youtube
Comment[sv]=YouTube-musikprogram
Comment[tr]=YouTube Müzik istemcisi
Comment[tr]=YouTube Müzik İstemcisi
Comment[uk]=Музичний клієнт YouTube
Comment[x-test]=xxYouTube Music clientxx
Comment[zh_CN]=YouTube Music 客户端
+11 -53
View File
@@ -4,9 +4,7 @@
"runtime-version": "5.15-22.08",
"sdk": "org.kde.Sdk",
"command": "audiotube",
"tags": [
"nightly"
],
"tags": ["nightly"],
"desktop-file-name-suffix": " (Nightly)",
"finish-args": [
"--share=ipc",
@@ -22,6 +20,7 @@
"/include/",
"/share/cmake/"
],
"modules": [
"flatpak/python3-yt-dlp.json",
"flatpak/python3-ytmusicapi.json",
@@ -29,82 +28,41 @@
{
"name": "qcoro",
"buildsystem": "cmake-ninja",
"config-opts": [
"-DBUILD_TESTING=OFF",
"-DCMAKE_BUILD_TYPE=Release"
],
"config-opts": ["-DBUILD_TESTING=OFF", "-DCMAKE_BUILD_TYPE=Release"],
"sources": [
{
"type": "archive",
"url": "https://github.com/danvratil/qcoro/archive/refs/tags/v0.9.0.tar.gz",
"sha256": "cfaf6b778450f06adac4ce5e353eb6eae213a3b62b8c8740520d58cf9fe3ec1a",
"x-checker-data": {
"type": "anitya",
"project-id": 236236,
"stable-only": true,
"url-template": "https://github.com/danvratil/qcoro/archive/refs/tags/v$version.tar.gz"
}
"sha256": "cfaf6b778450f06adac4ce5e353eb6eae213a3b62b8c8740520d58cf9fe3ec1a"
}
]
},
{
"name": "futuresql",
"buildsystem": "cmake-ninja",
"config-opts": [
"-DBUILD_TESTING=OFF",
"-DCMAKE_BUILD_TYPE=Release"
],
"config-opts": ["-DBUILD_TESTING=OFF", "-DCMAKE_BUILD_TYPE=Release"],
"sources": [
{
"type": "archive",
"url": "https://download.kde.org/stable/futuresql/futuresql-0.1.0.tar.xz",
"sha256": "e44ed8d5a9618b3ca7ba2983ed9c5f7572e6e0a5b199f94868834b71ccbebd43",
"x-checker-data": {
"type": "anitya",
"project-id": 368957,
"stable-only": true,
"url-template": "https://download.kde.org/stable/futuresql/futuresql-$version.tar.xz"
}
"sha256": "ecd354c26c48a67795b0004e701066f6176d25d39adda1b8a1bf9c07fa48ba6a"
}
]
},
{
"name": "pybind11",
"config-opts": [
"-DPYBIND11_FINDPYTHON=ON",
"-DPYBIND11_TEST=OFF"
],
"config-opts": ["-DPYBIND11_FINDPYTHON=ON", "-DPYBIND11_TEST=OFF"],
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [
{
"type": "archive",
"url": "https://github.com/pybind/pybind11/archive/refs/tags/v2.11.1.tar.gz",
"sha256": "d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c",
"x-checker-data": {
"type": "anitya",
"project-id": 13384,
"url-template": "https://github.com/pybind/pybind11/archive/refs/tags/v$version.tar.gz"
}
}
]
"sources": [ { "type": "git", "url": "https://github.com/pybind/pybind11", "tag": "v2.10.3" } ]
},
{
"name": "org.kde.audiotube",
"config-opts": [
"-DPYBIND11_FINDPYTHON=ON"
],
"config-opts": ["-DPYBIND11_FINDPYTHON=ON"],
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [
{
"type": "dir",
"path": ".",
"skip": [
".git"
]
}
]
"sources": [ { "type": "dir", "path": ".", "skip": [".git"] } ]
}
]
}
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-05-11 11:03+0400\n"
"Last-Translator: Zayed Al-Saidi <[email protected]>\n"
"Language-Team: ar\n"
@@ -402,7 +402,7 @@ msgstr ""
msgid "Playlist"
msgstr "قائمة التشغيل"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "أزل من تاريخ البحث"
@@ -427,7 +427,7 @@ msgstr ""
msgid "Unknown"
msgstr "مجهول"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "لا يوجد تطابق من البحوث الأخيرة"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2022-06-19 12:16+0400\n"
"Last-Translator: Kheyyam <[email protected]>\n"
"Language-Team: Azerbaijani <[email protected]>\n"
@@ -405,7 +405,7 @@ msgstr ""
msgid "Playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -430,7 +430,7 @@ msgstr ""
msgid "Unknown"
msgstr "Bilinməyən"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
+3 -31
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 14:48+0200\n"
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
"Language-Team: Catalan <[email protected]>\n"
@@ -386,7 +386,7 @@ msgstr "La llista de reproducció s'ha importat correctament"
msgid "Playlist"
msgstr "Llista de reproducció"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "elimina de l'historial de cerques"
@@ -411,7 +411,7 @@ msgstr "Resultats principals"
msgid "Unknown"
msgstr "Desconegut"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "No hi ha cerques anteriors coincidents"
@@ -532,31 +532,3 @@ msgstr "Sense títol"
#, kde-format
msgid "No album"
msgstr "Sense àlbum"
#~ msgid "Export"
#~ msgstr "Exporta"
#~ msgid "Import Playlist from Url"
#~ msgstr "Importa una llista de reproducció des d'un URL"
#~ msgid "Import Playlist from File"
#~ msgstr "Importa una llista de reproducció des d'un fitxer"
#~ msgid "Export Playlist"
#~ msgstr "Exporta una llista de reproducció"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "Fitxer de llista de reproducció m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Importa llistes de reproducció"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "Fitxers de llista de reproducció m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "Ha fallat en desar"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "Ha fallat en importar %1"
+4 -4
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 14:48+0200\n"
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
"Language-Team: Catalan <[email protected]>\n"
@@ -386,7 +386,7 @@ msgstr "La llista de reproducció s'ha importat correctament"
msgid "Playlist"
msgstr "Llista de reproducció"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "elimina de l'historial de busques"
@@ -411,7 +411,7 @@ msgstr "Resultats principals"
msgid "Unknown"
msgstr "Desconegut"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "No hi ha busques anteriors coincidents"
@@ -429,7 +429,7 @@ msgstr "Copia l'enllaç"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr "L'enllaç s'ha copiat al porta-retalls"
msgstr "L'enllaç s'ha copiat a dins del porta-retalls"
#: contents/ui/Sidebar.qml:189
#, kde-format
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-06-05 11:14+0200\n"
"Last-Translator: Vit Pelcak <[email protected]>\n"
"Language-Team: Czech <[email protected]>\n"
@@ -383,7 +383,7 @@ msgstr "Seznam skladeb byl úspěšně importován."
msgid "Playlist"
msgstr "Seznam skladeb"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "odstranit z historie hledání"
@@ -408,7 +408,7 @@ msgstr "Nejlepší výsledky"
msgid "Unknown"
msgstr "Neznámý"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Neodpovídají žádná předchozí hledání"
+3 -3
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-09 01:01+0200\n"
"Last-Translator: Frederik Schwarzer <[email protected]>\n"
"Language-Team: German <[email protected]>\n"
@@ -383,7 +383,7 @@ msgstr "Wiedergabeliste erfolgreich importiert"
msgid "Playlist"
msgstr "Wiedergabeliste"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "Aus Suchverlauf löschen"
@@ -408,7 +408,7 @@ msgstr "Beste Ergebnisse"
msgid "Unknown"
msgstr "Unbekannt"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Keine passenden vorherigen Suchvorgänge"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-06-17 12:08+0100\n"
"Last-Translator: Steve Allewell <[email protected]>\n"
"Language-Team: British English\n"
@@ -383,7 +383,7 @@ msgstr "Playlist successfully imported"
msgid "Playlist"
msgstr "Playlist"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "remove from search history"
@@ -408,7 +408,7 @@ msgstr "Top Results"
msgid "Unknown"
msgstr "Unknown"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "No matching previous searches"
+7 -7
View File
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the audiotube package.
#
# Automatically generated, 2021.
# Eloy Cuadra <[email protected]>, 2021, 2022, 2023.
# SPDX-FileCopyrightText: 2021, 2022, 2023 Eloy Cuadra <[email protected]>
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-05 18:57+0200\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-11-02 01:27+0100\n"
"Last-Translator: Eloy Cuadra <[email protected]>\n"
"Language-Team: Spanish <[email protected]>\n"
"Language: es\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.04.2\n"
"X-Generator: Lokalize 23.08.2\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -385,7 +385,7 @@ msgstr "Lista de reproducción importada correctamente"
msgid "Playlist"
msgstr "Lista de reproducción"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "eliminar del historial de búsqueda"
@@ -410,7 +410,7 @@ msgstr "Resultados principales"
msgid "Unknown"
msgstr "Desconocido"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "No hay búsquedas anteriores coincidentes"
@@ -515,7 +515,7 @@ msgstr "[email protected]"
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API no oficial para YouTube Music"
msgstr "API no oficial de YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
+3 -3
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-30 22:49+0200\n"
"Last-Translator: Iñigo Salvador Azurmendi <[email protected]>\n"
"Language-Team: Basque <[email protected]>\n"
@@ -386,7 +386,7 @@ msgstr "Jotze-zerrenda ondo inportatu da"
msgid "Playlist"
msgstr "Jotze-zerrenda"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "Kendu bilaketa-historiatik"
@@ -411,7 +411,7 @@ msgstr "Emaitza nagusiak"
msgid "Unknown"
msgstr "Ezezaguna"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Ez dago bat datorren aurreko bilaketarik"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-06-27 18:07+0300\n"
"Last-Translator: Tommi Nieminen <[email protected]>\n"
"Language-Team: Finnish <[email protected]>\n"
@@ -382,7 +382,7 @@ msgstr "Soittolistan tuonti onnistui"
msgid "Playlist"
msgstr "Soittolista"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "poista hakuhistoriasta"
@@ -407,7 +407,7 @@ msgstr "Parhaat tulokset"
msgid "Unknown"
msgstr "Tuntematon"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Ei osumia aiemmista hauista"
+13 -13
View File
@@ -1,11 +1,11 @@
# Xavier Besnard <[email protected]>, 2021, 2022.
# SPDX-FileCopyrightText: 2021, 2022, 2023 Xavier Besnard <[email protected]>
# Xavier BESNARD <[email protected]>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-06 20:41+0200\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-10-11 18:48+0200\n"
"Last-Translator: Xavier BESNARD <[email protected]>\n"
"Language-Team: fr\n"
"Language: fr\n"
@@ -13,7 +13,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 23.04.2\n"
"X-Generator: Lokalize 23.08.2\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -177,7 +177,7 @@ msgstr "Renommer une liste de lecture"
#: contents/ui/Sidebar.qml:131 contents/ui/Sidebar.qml:138
#, kde-format
msgid "Favourites"
msgstr "Favoris"
msgstr "Signets"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
@@ -188,7 +188,7 @@ msgstr "Tout afficher"
#: contents/ui/LibraryPage.qml:147
#, kde-format
msgid "No Favourites Yet"
msgstr "Encore aucun favori"
msgstr "Encore aucun signet"
#: contents/ui/LibraryPage.qml:215
#, kde-format
@@ -272,12 +272,12 @@ msgstr "Aucun média en lecture"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Supprimer des favoris"
msgstr "Supprimer des signets"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Ajouter aux favoris"
msgstr "Ajouter aux signets"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
@@ -381,7 +381,7 @@ msgstr "La liste de lecture a été importée avec succès"
msgid "Playlist"
msgstr "Liste de lecture"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "supprimer de l'historique de recherche"
@@ -406,7 +406,7 @@ msgstr "Principaux résultats"
msgid "Unknown"
msgstr "Inconnu"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Aucune correspondance avec les recherches précédentes"
@@ -449,12 +449,12 @@ msgstr "Ajouter à la file de lecture"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, kde-format
msgid "Remove Favourite"
msgstr "Supprimer un favori"
msgstr "Supprimer un signet"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, kde-format
msgid "Add Favourite"
msgstr "Ajouter un favori"
msgstr "Ajouter un signet"
#: contents/ui/SongMenu.qml:143 contents/ui/SongMenu.qml:235
#, kde-format
@@ -511,7 +511,7 @@ msgstr "[email protected]"
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API non officiel pour la musique sur « YouTube Music »"
msgstr "API non officiel pour la musique sur « YouTube Musique »"
#: playlistimporter.cpp:23
#, kde-format
+6 -6
View File
@@ -1,12 +1,12 @@
# Copyright (C) YEAR This file is copyright:
# Copyright (C) 2023 This file is copyright:
# This file is distributed under the same license as the audiotube package.
# Adrián Chaves (Gallaecio) <[email protected]>, 2023.
# SPDX-FileCopyrightText: 2023 Adrián Chaves (Gallaecio)
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-06-24 10:58+0200\n"
"Last-Translator: Adrián Chaves (Gallaecio) <[email protected]>\n"
"Language-Team: Galician <[email protected]>\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.04.2\n"
"X-Generator: Lokalize 23.08.2\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -381,7 +381,7 @@ msgstr "Importouse a lista."
msgid "Playlist"
msgstr "Lista de reprodución"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "Retirar do historial de buscas"
@@ -406,7 +406,7 @@ msgstr "Resultados principais"
msgid "Unknown"
msgstr "Descoñecida"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Ningunha busca anterior coincide."
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2021-09-17 20:09+0530\n"
"Last-Translator: Raghavendra Kamath <[email protected]>\n"
"Language-Team: kde-hindi\n"
@@ -399,7 +399,7 @@ msgstr ""
msgid "Playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -424,7 +424,7 @@ msgstr ""
msgid "Unknown"
msgstr "अज्ञात"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 22:28+0200\n"
"Last-Translator: giovanni <[email protected]>\n"
"Language-Team: Interlingua <[email protected]>\n"
@@ -383,7 +383,7 @@ msgstr "Lista de reproduction importate con successo"
msgid "Playlist"
msgstr "Lista de reproduction"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "remove ex chronologia de cerca"
@@ -408,7 +408,7 @@ msgstr "Exitos al culmine (Top)"
msgid "Unknown"
msgstr "Incognite"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Nulle previes cerca correspondente"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-06-16 19:34+0700\n"
"Last-Translator: Linerly <[email protected]>\n"
"Language-Team: Indonesian <[email protected]>\n"
@@ -397,7 +397,7 @@ msgstr "Daftar putar berhasil diimpor"
msgid "Playlist"
msgstr "Daftar Putar"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "hapus dari riwayat pencarian"
@@ -422,7 +422,7 @@ msgstr "Hasil Teratas"
msgid "Unknown"
msgstr "Tidak diketahui"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Tidak ada pencarian sebelumnya yang cocok"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-06 14:15+0200\n"
"Last-Translator: Vincenzo Reale <[email protected]>\n"
"Language-Team: Italian <[email protected]>\n"
@@ -383,7 +383,7 @@ msgstr "Scaletta importato correttamente"
msgid "Playlist"
msgstr "Scaletta"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "rimuovi dalla cronologia delle ricerche"
@@ -408,7 +408,7 @@ msgstr "Migliori risultati"
msgid "Unknown"
msgstr "Sconosciuto"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Nessuna ricerca precedente corrispondente"
+3 -3
View File
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-01 15:47-0700\n"
"Last-Translator: Fumiaki Okushi <[email protected]>\n"
"Language-Team: Japanese <[email protected]>\n"
@@ -380,7 +380,7 @@ msgstr "再生リストのインポートに成功"
msgid "Playlist"
msgstr "再生リスト"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "検索履歴から除去"
@@ -405,7 +405,7 @@ msgstr "検索上位"
msgid "Unknown"
msgstr "不明"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "以前の検索には一致しません"
+3 -3
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-06 08:29+0200\n"
"Last-Translator: Temuri Doghonadze <[email protected]>\n"
"Language-Team: Georgian <[email protected]>\n"
@@ -383,7 +383,7 @@ msgstr "დასაკრავი სიის შემოტანა წა
msgid "Playlist"
msgstr "დასაკრავი სია"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "ძებნის ისტორიიდან წაშლა"
@@ -408,7 +408,7 @@ msgstr "საუკეთესო შედეგები"
msgid "Unknown"
msgstr "უცნობი"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "წინა ძებნებს არ ემთხვევა"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-18 13:25+0200\n"
"Last-Translator: Shinjo Park <[email protected]>\n"
"Language-Team: Korean <[email protected]>\n"
@@ -381,7 +381,7 @@ msgstr "재생 목록을 가져왔습니다"
msgid "Playlist"
msgstr "재생 목록"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "검색 기록에서 삭제"
@@ -406,7 +406,7 @@ msgstr "상위 결과"
msgid "Unknown"
msgstr "알 수 없음"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "일치하는 이전 검색 없음"
+3 -3
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-02-23 00:57+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -380,7 +380,7 @@ msgstr ""
msgid "Playlist"
msgstr ""
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -405,7 +405,7 @@ msgstr ""
msgid "Unknown"
msgstr ""
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 23:07+0200\n"
"Last-Translator: Freek de Kruijf <[email protected]>\n"
"Language-Team: \n"
@@ -383,7 +383,7 @@ msgstr "Afspeellijst met succes geïmporteerd"
msgid "Playlist"
msgstr "Afspeellijst"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "uit zoekgeschiedenis verwijderen"
@@ -408,7 +408,7 @@ msgstr "Top resultaten"
msgid "Unknown"
msgstr "Onbekend"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Geen overeenkomende vorige zoekopdrachten"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-08-24 21:35+0200\n"
"Last-Translator: Karl Ove Hufthammer <[email protected]>\n"
"Language-Team: Norwegian Nynorsk <[email protected]>\n"
@@ -382,7 +382,7 @@ msgstr "Spelelista vart importert"
msgid "Playlist"
msgstr "Speleliste"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "Fjern frå søkjeloggen"
@@ -407,7 +407,7 @@ msgstr "Toppresultat"
msgid "Unknown"
msgstr "Ukjend"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Ingen samsvarande tidlegare søk"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2022-01-01 09:11-0800\n"
"Last-Translator: A S Alam <[email protected]>\n"
"Language-Team: Punjabi <[email protected]>\n"
@@ -398,7 +398,7 @@ msgstr ""
msgid "Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -423,7 +423,7 @@ msgstr ""
msgid "Unknown"
msgstr "ਅਣਪਛਾਤਾ"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
+3 -3
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-08-20 10:50+0200\n"
"Last-Translator: Łukasz Wojniłowicz <[email protected]>\n"
"Language-Team: Polish <[email protected]>\n"
@@ -385,7 +385,7 @@ msgstr "Pomyślnie zaimportowano listy odtwarzania"
msgid "Playlist"
msgstr "Lista odtwarzania"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "usuń z historii wyszukiwania"
@@ -410,7 +410,7 @@ msgstr "Szczytowe wyniki"
msgid "Unknown"
msgstr "Nieznany"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Żadne z poprzednich wyszukiwań nie odpowiada"
+3 -3
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-08 12:56+0100\n"
"Last-Translator: José Nuno Coelho Pires <[email protected]>\n"
"Language-Team: Portuguese <[email protected]>\n"
@@ -386,7 +386,7 @@ msgstr "A lista de reprodução foi importada com sucesso"
msgid "Playlist"
msgstr "Lista de Reprodução"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "remover do histórico de pesquisas"
@@ -411,7 +411,7 @@ msgstr "Resultados de Topo"
msgid "Unknown"
msgstr "Desconhecido"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Sem pesquisas anteriores correspondentes"
+3 -3
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 17:10-0300\n"
"Last-Translator: Luiz Fernando Ranghetti <[email protected]>\n"
"Language-Team: Brazilian Portuguese <[email protected]>\n"
@@ -384,7 +384,7 @@ msgstr "Lista de músicas importada com sucesso"
msgid "Playlist"
msgstr "Lista de músicas"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "remover do histórico de pesquisa"
@@ -409,7 +409,7 @@ msgstr "Principais resultados"
msgid "Unknown"
msgstr "Desconhecido"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Nenhuma pesquisa anterior correspondente"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-04-30 14:45+0300\n"
"Last-Translator: Alexander Yavorsky <[email protected]>\n"
"Language-Team: Russian <[email protected]>\n"
@@ -395,7 +395,7 @@ msgstr ""
msgid "Playlist"
msgstr "Список воспроизведения"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "Удалить из истории поиска"
@@ -420,7 +420,7 @@ msgstr ""
msgid "Unknown"
msgstr "Неизвестный тип"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Не найдено соответствующих предыдущих поисковых запросов"
+3 -3
View File
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2022-04-07 18:01+0200\n"
"Last-Translator: Roman Paholik <[email protected]>\n"
"Language-Team: Slovak <[email protected]>\n"
@@ -396,7 +396,7 @@ msgstr ""
msgid "Playlist"
msgstr "Zoznamy skladieb"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -421,7 +421,7 @@ msgstr ""
msgid "Unknown"
msgstr "Neznáme"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 09:15+0200\n"
"Last-Translator: Matjaž Jeran <[email protected]>\n"
"Language-Team: Slovenian <[email protected]>\n"
@@ -382,7 +382,7 @@ msgstr "Seznam pesmi uspešno uvožen"
msgid "Playlist"
msgstr "Seznam predvajanja"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "odstrani iz zgodovine iskanj"
@@ -407,7 +407,7 @@ msgstr "Najboljši rezultati"
msgid "Unknown"
msgstr "Neznano"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Ni zadetkov iz prejšnjih iskanj"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-26 20:15+0200\n"
"Last-Translator: Stefan Asserhäll <[email protected]>\n"
"Language-Team: Swedish <[email protected]>\n"
@@ -381,7 +381,7 @@ msgstr "Spellista importerad med lyckat resultat"
msgid "Playlist"
msgstr "Spellista"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "ta bort från sökhistorik"
@@ -406,7 +406,7 @@ msgstr "Toppresultat"
msgid "Unknown"
msgstr "Okänd"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Inga matchande tidigare sökningar"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 13:28+0300\n"
"Last-Translator: Emir SARI <[email protected]>\n"
"Language-Team: Turkish <[email protected]>\n"
@@ -383,7 +383,7 @@ msgstr "Çalma listesi başarıyla içe aktarıldı"
msgid "Playlist"
msgstr "Çalma Listesi"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "arama geçmişinden kaldır"
@@ -408,7 +408,7 @@ msgstr "En İyi Sonuçlar"
msgid "Unknown"
msgstr "Bilinmiyor"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Daha önceden yapılmış eşleşen arama yok"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 15:10+0300\n"
"Last-Translator: Yuri Chornoivan <[email protected]>\n"
"Language-Team: Ukrainian <[email protected]>\n"
@@ -384,7 +384,7 @@ msgstr "Список відтворення успішно імпортован
msgid "Playlist"
msgstr "Список відтворення"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "вилучити з журналу пошуку"
@@ -409,7 +409,7 @@ msgstr "Найкращі результати"
msgid "Unknown"
msgstr "Невідомий"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Немає відповідних попередніх пошуків"
+6 -6
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-09-16 10:09\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-10-21 13:58\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -14,8 +14,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf5-trunk/messages/audiotube/audiotube.pot\n"
"X-Crowdin-File-ID: 25474\n"
"X-Crowdin-File: /kf5-stable/messages/audiotube/audiotube.pot\n"
"X-Crowdin-File-ID: 41997\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -379,7 +379,7 @@ msgstr ""
msgid "Playlist"
msgstr "播放列表"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "从搜索历史中移除"
@@ -404,7 +404,7 @@ msgstr ""
msgid "Unknown"
msgstr "未知"
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "没有匹配的历史搜索"
+3 -3
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2022-05-30 00:47+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -380,7 +380,7 @@ msgstr ""
msgid "Playlist"
msgstr ""
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -405,7 +405,7 @@ msgstr ""
msgid "Unknown"
msgstr ""
#: contents/ui/SearchWithDropdown.qml:338
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
+1 -1
View File
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
ytmusicapi==1.3.0
ytmusicapi==1.1.0
yt-dlp
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

+283
View File
@@ -0,0 +1,283 @@
# Trigger rebuild
---
name: audiotube
confinement: devmode
grade: stable
base: core22
adopt-info: audiotube
icon: $CRAFT_PROJECT_DIR/snap/gui/logo.png
apps:
audiotube:
# extensions:
# - kde-neon
common-id: org.kde.audiotube
desktop: usr/share/applications/org.kde.audiotube.desktop
command: usr/bin/audiotube
plugs:
- home
- desktop
- desktop-legacy
- opengl
- wayland
- x11
- audio-playback
- unity7
- network
- network-bind
- network-observe
- browser-support
- network-manager-observe
- network-manager
- hardware-observe
- process-control
- alsa
command-chain:
- snap/command-chain/desktop-launch
assumes:
- snapd2.58.3
compression: lzo
plugs:
desktop:
mount-host-font-cache: false
icon-themes:
interface: content
target: $SNAP/data-dir/icons
default-provider: gtk-common-themes
sound-themes:
interface: content
target: $SNAP/data-dir/sounds
default-provider: gtk-common-themes
kf5-5-110-qt-5-15-11-core22:
content: kf5-5-110-qt-5-15-11-core22-all
interface: content
default-provider: kf5-5-110-qt-5-15-11-core22
target: $SNAP/kf5
environment:
SNAP_DESKTOP_RUNTIME: $SNAP/kf5
QML2_IMPORT_PATH: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/qt5/qml:$SNAP/kf5/usr/lib/$CRAFT_ARCH_TRIPLET/qt5/qml:$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/qml"
PYTHONPYCACHEPREFIX: "$SNAP_USER_COMMON/.pycache"
PYTHONUSERBASE: $SNAP_USER_COMMON/.local
PIP_USER: 1
PYTHONPATH: "$PYTHONUSERBASE/lib/python3.10/site-packages:$SNAP/lib/python3.10/site-packages:$SNAP/usr/lib/python3/dist-packages"
QT_PLUGIN_PATH: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/qt5/plugins:$SNAP/kf5/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/qt5/plugins/kf5"
QT_QUICK_CONTROLS_STYLE: org.kde.desktop
XDG_DATA_DIRS: $SNAP/usr/share:$SNAP/kf5/usr/share:$XDG_DATA_DIRS
XDG_CONFIG_HOME: $SNAP/etc/xdg:$SNAP/kf5/etc/xdg:/etc/xdg:$XDG_CONFIG_HOME
GST_PLUGIN_PATH: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/gstreamer-1.0"
GST_PLUGIN_SYSTEM_PATH: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/gstreamer-1.0"
GST_PLUGIN_SCANNER: "$SNAP/kf5/usr/lib/$CRAFT_ARCH_TRIPLET/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner"
LD_LIBRARY_PATH: $SNAP/lib:$SNAP/usr/lib:$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET:/snap/ffmpeg-2204/current/usr/lib:$SNAP/kf5/lib/$CRAFT_ARCH_TRIPLET:$SNAP/kf5/usr/lib/$CRAFT_ARCH_TRIPLET:$SNAP/kf5/usr/lib:$SNAP/kf5/usr/lib/vala-current:$SNAP/kf5/usr/lib/$CRAFT_ARCH_TRIPLET/pulseaudio:$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/blas"
hooks:
configure:
plugs:
- desktop
command-chain:
- snap/command-chain/hooks-configure-desktop
layout:
/usr/share/X11:
symlink: $SNAP/kf5/usr/share/X11
"/usr/lib/$CRAFT_ARCH_TRIPLET/alsa-lib":
bind: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/alsa-lib"
"/usr/share/alsa":
bind: "$SNAP/usr/share/alsa"
"/etc/alsa/conf.d":
bind: "$SNAP/etc/alsa/conf.d"
slots:
session-dbus-interface:
interface: dbus
name: org.mpris.MediaPlayer2.AudioTube
bus: session
package-repositories:
- type: apt
components:
- main
suites:
- jammy
key-id: 444DABCF3667D0283F894EDDE6D4736255751E5D
url: http://archive.neon.kde.org/user
key-server: keyserver.ubuntu.com
parts:
kde-neon:
source: /snap/snapcraft/current/share/snapcraft/extensions/desktop/kde-neon
source-type: local
plugin: make
make-parameters:
- PLATFORM_PLUG=kf5-5-110-qt-5-15-11-core22
build-snaps:
- kf5-5-110-qt-5-15-11-core22-sdk
build-environment:
- &id001
PATH: /snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/bin${PATH:+:$PATH}
- &id002
XDG_DATA_DIRS: $CRAFT_STAGE/usr/share:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- &id003
XDG_CONFIG_HOME: $CRAFT_STAGE/etc/xdg:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/etc/xdg:/etc/xdg${XDG_CONFIG_HOME:+:$XDG_CONFIG_HOME}
- &id004
CRAFT_CMAKE_ARGS: -DCMAKE_FIND_ROOT_PATH=/snap/kf5-5-110-qt-5-15-11-core22-sdk/current${CRAFT_CMAKE_ARGS:+:$CRAFT_CMAKE_ARGS}
yt-dlp:
plugin: python
source: https://github.com/yt-dlp/yt-dlp.git
python-packages:
- mutagen
- pycryptodomex
- websockets
- brotli; platform_python_implementation=='CPython'
- brotlicffi; platform_python_implementation!='CPython'
- certifi
build-packages:
- python3
- flake8
- pandoc
- zip
build-snaps:
- ffmpeg-2204-sdk
build-environment:
- LD_LIBRARY_PATH: /snap/ffmpeg-2204/current/usr/lib:/snap/ffmpeg-2204/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:$CRAFT_STAGE/usr/lib:$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/vala-current:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/pulseaudio
stage-packages:
- python3-pkg-resources
- curl
- ca-certificates
- python3-pyxattr
- rtmpdump
- libfribidi-bin
stage:
- "bin/yt-dlp"
- "lib/python3.10/site-packages/mutagen"
- "lib/python3.10/site-packages/Cryptodome"
- "lib/python3.10/site-packages/brotli.py"
- "lib/python3.10/site-packages/_brotli*"
- "lib/python3.10/site-packages/certifi"
- "lib/python3.10/site-packages/websockets"
- "-lib/python3.10/site-packages/*/__pycache__"
- "lib/python3.10/site-packages/yt_dlp*"
- "usr/bin/curl"
- "usr/lib/*/libcurl.*"
- "usr/lib/*/libfribidi*"
- "usr/bin/rtmpdump"
- "usr/bin/mutagen*"
- "usr/lib/sasl2"
ytmusicapi:
after:
- yt-dlp
plugin: python
source: https://github.com/sigma67/ytmusicapi.git
source-tag: 1.1.0
python-packages:
- "requests>=2.22"
- "setuptools>=65"
- "setuptools_scm[toml]>=7"
build-packages:
- python3
- gettext
build-environment:
- LD_LIBRARY_PATH: $CRAFT_STAGE/usr/lib:$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/lib/$CRAFT_ARCH_TRIPLET:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/vala-current:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/pulseaudio
stage:
- "lib/python3.10/site-packages/ytmusicapi"
- "lib/python3.10/site-packages/ytmusicapi-1.1.0.dist-info/"
- "lib/python3.10/site-packages/requests"
- "lib/python3.10/site-packages/urllib3"
- "lib/python3.10/site-packages/charset_normalizer"
- "lib/python3.10/site-packages/idna"
- "lib/python3.10/site-packages/certifi"
- "-lib/python3.10/site-packages/*/__pycache__"
- "bin/ytmusicapi"
audiotube:
after:
- kde-neon
- yt-dlp
- ytmusicapi
parse-info:
- usr/share/metainfo/org.kde.audiotube.appdata.xml
plugin: cmake
build-packages:
- libfuturesql-dev
- libkf5purpose-dev
- libpython3.10-dev
- pybind11-dev
- kirigami-addons-dev
- qcoro-qt5-dev
stage-packages:
- gstreamer1.0-alsa
- gstreamer1.0-plugins-base
- gstreamer1.0-plugins-bad
- gstreamer1.0-plugins-good
- gstreamer1.0-plugins-ugly
- gstreamer1.0-libav
- libasound2
- libasound2-data
- libasound2-plugins
- libasound2-plugins-extra
- libfuturesql
- libpython3.10
- python3
- python3-pybind11
- python3-m3u8
- qml-module-org-kde-kirigami-addons-labs-mobileform
- qml-module-org-kde-purpose
- qml-module-org-kde-qqc2desktopstyle
- qt5-image-formats-plugins
- libqcoro5core0
- libblas3
stage-snaps:
- ffmpeg-2204
source: .
source-type: local
cmake-parameters:
- "-DCMAKE_INSTALL_PREFIX=/usr"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DENABLE_TESTING=OFF"
- "-DBUILD_TESTING=OFF"
- "-DKDE_SKIP_TEST_SETTINGS=ON"
- "-DPYBIND11_FINDPYTHON=ON"
- "-DCMAKE_FIND_ROOT_PATH=/snap/kf5-5-110-qt-5-15-11-core22-sdk/current\\;$CRAFT_STAGE"
- "-DKDE_INSTALL_PLUGINDIR=/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/qt5/plugins/"
stage:
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libEGL_mesa.so.0.0.0"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libGLX_mesa.so.0.0.0"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libLLVM-15.so.1"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libdrm*"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libgamin-1.so.0.1.10"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libicuio.so.70.1"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libicutest.so.70.1"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libpolkit-qt5-agent-1.so.1.114.0"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libpolkit-qt5-gui-1.so.1.114.0"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libpulse-simple.so.0.1.1"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libsensors.so.5.0.0"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libxcb*"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libX*"
- "-usr/lib/x86_64-linux-gnu/libglapi.so*"
- "-usr/lib/x86_64-linux-gnu/libicutu.so*"
- "-usr/lib/x86_64-linux-gnu/libpciaccess.so*"
- "-usr/lib/x86_64-linux-gnu/libpolkit-agent-1.so*"
- "-usr/lib/x86_64-linux-gnu/libxshmfence.so*"
prime:
- "-usr/lib/*/cmake/*"
- "-usr/include/*"
- "-usr/share/ECM/*"
- "-usr/share/doc/*"
- "-usr/share/man/*"
- "-usr/share/icons/breeze-dark*"
- "-usr/bin/X11"
- "-usr/lib/gcc/${CRAFT_ARCH_TRIPLET}/6.0.0"
- "-usr/lib/aspell/*"
- "-usr/share/lintian"
- "-run/pulseaudio-enable-autospawn"
- "-etc/pulse/client.conf.d/01-enable-autospawn.conf"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/dri"
build-environment:
- *id001
- *id002
- *id003
- *id004
- PYTHONPATH: "$CRAFT_STAGE/lib/python3.10/site-packages:$CRAFT_STAGE/usr/lib/python3.10/dist-packages"
- LD_LIBRARY_PATH: $CRAFT_STAGE/usr/lib:$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/lib/$CRAFT_ARCH_TRIPLET:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/vala-current:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/pulseaudio
cleanup:
after:
- kde-neon
- audiotube
plugin: nil
override-prime: |
set -eux
# # Unused libraries found by linter
+11 -3
View File
@@ -2,12 +2,20 @@
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import org.kde.kirigamiaddons.formcard 1.0 as FormCard
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
import QtQuick 2.15
import org.kde.kirigamiaddons.formcard 1.0 as FormCard
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.15 as Controls
import org.kde.kirigami 2.20 as Kirigami
import org.kde.ytmusic 1.0
FormCard.AboutPage {
MobileForm.AboutPage {
aboutData: About
Component.onCompleted: {
if (hasOwnProperty("showAboutKDE")) {
showAboutKDE = false
}
}
}
+7 -15
View File
@@ -114,22 +114,14 @@ Flickable {
videoId: UserPlaylistModel.currentVideoId
}
property var audioPlayer: audioLoader.item
property var audioPlayer: Audio {
id: audio
Loader {
id: audioLoader
active: true
asynchronous: true
sourceComponent: Audio {
id: audio
autoPlay: true
source: info.audioUrl
onStatusChanged: {
if (status === Audio.EndOfMedia) {
console.log("Song ended");
UserPlaylistModel.next();
}
source: info.audioUrl
onStatusChanged: {
if (status === Audio.EndOfMedia) {
console.log("Song ended");
UserPlaylistModel.next();
}
}
}
+9 -4
View File
@@ -38,10 +38,11 @@ Kirigami.ScrollablePage {
Repeater {
id: recentsRepeater
Layout.fillWidth: true
model: LocalSearchModel {
searchQuery: searchLoader.text
model: SortFilterModel {
filterRole: PlaybackHistoryModel.Title
filterRegularExpression: searchLoader.filterExpression
sourceModel: Library.playbackHistory
}
delegate: Kirigami.DelegateRecycler {
Layout.alignment: Qt.AlignTop
sourceComponent: searchAlbum
@@ -60,7 +61,10 @@ Kirigami.ScrollablePage {
Repeater {
Layout.fillHeight: true
Layout.fillWidth: true
model: Library.searches
model: SortFilterModel {
sourceModel: Library.searches
filterRegularExpression: searchLoader.filterExpression
}
delegate: Kirigami.AbstractListItem {
implicitHeight: Kirigami.Units.gridUnit * 2
@@ -94,4 +98,5 @@ Kirigami.ScrollablePage {
}
}
}
}
+16 -8
View File
@@ -13,6 +13,7 @@ import org.kde.ytmusic 1.0
Item {
function forceFocus(){searchField.forceActiveFocus()}
function accepted(){searchField.accepted()}
property alias filterExpression: searchField.filterExpression
property alias text: searchField.text
id: root
@@ -24,18 +25,21 @@ Item {
readOnly: true
}
Kirigami.SearchField {
property var filterExpression: new RegExp(`.*${filterText}.*`, "i")
property string filterText: ""
id: searchField
autoAccept: false
width: root.width
selectByMouse: true
onFocusChanged: {
Library.searches.filter = text
filterText = text
if (wideScreen && focus)
popup.open()
}
onTextEdited: {
Library.searches.filter = text
filterText = text
if(completionList.count === 0) {
//no matching search -> message should display
Library.temporarySearch = ""
@@ -198,7 +202,7 @@ Item {
from: searchField.height
duration: 200
to: completionList
? (Library.searches.filter && recentsRepeater.count > 0 //can't use recentsRepeater.visible directly, because it always returns false at this stage
? (searchField.filterText && recentsRepeater.count > 0 //can't use recentsRepeater.visible directly, because it always returns false at this stage
? (Math.min(fieldContainer.height+ (completionList.count) * (completionList.delegateHeight + completionList.delegatePadding) + Kirigami.Separator.implicitHeight + recentsRepeater.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
: (completionList.count === 0
?(Math.min(fieldContainer.height+ noMatchingSearchLabel.height + 2*noMatchingSearchLabel.Layout.margins, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
@@ -310,12 +314,13 @@ Item {
Layout.fillWidth: true
visible: Library.searches.filter && recentsRepeater.count > 0 //if changed, adjust playOpenHeight
visible: searchField.filterText && recentsRepeater.count > 0 //if changed, adjust playOpenHeight
model: LocalSearchModel {
searchQuery: Library.searches.filter
model: SortFilterModel {
filterRole: PlaybackHistoryModel.Title
filterRegularExpression: searchField.filterExpression
sourceModel: Library.playbackHistory
}
delegate: searchAlbum
}
Kirigami.Separator {
@@ -350,7 +355,10 @@ Item {
property int empiricDelegateHeight: recentsRepeater.visible ? (mainScrollView.contentHeight - recentsRepeater.height) / count : (mainScrollView.contentHeight + mainScrollViewLayout.spacing) / (count)
id: completionList
model: Library.searches
model: SortFilterModel {
sourceModel: Library.searches
filterRegularExpression: searchField.filterExpression
}
function isSelectedDelegateVisible() {
if(!recentsRepeater.visible) {
+25 -77
View File
@@ -27,10 +27,25 @@ Library::Library(QObject *parent)
}()))
{
m_database->runMigrations(":/migrations/");
m_searches = new SearchHistoryModel(this);
m_searches = new SearchHistoryModel(m_database->getResults<SingleValue<QString>>("select distinct (search_query) from searches order by search_id desc"), this);
connect(this, &Library::changeFavourites, [this]() {
auto future = m_database->getResults<Song>("select * from favourites natural join songs order by favourites.rowid desc");
m_favourites= new FavouritesModel(std::move(future), this);
Q_EMIT favouritesChanged();
});
Q_EMIT changeFavourites();
refreshFavourites();
refreshPlaybackHistory();
connect(this, &Library::changePlaybackHistory, [this]() {
//playbackHistory
auto future = m_database->getResults<PlayedSong>("select * from played_songs natural join songs");
m_playbackHistory = new PlaybackHistoryModel(std::move(future), this);
//mostPlayed
auto future2 = m_database->getResults<PlayedSong>("select * from played_songs natural join songs order by plays desc limit 10");
m_mostPlayed = new PlaybackHistoryModel(std::move(future2), this);
Q_EMIT playbackHistoryChanged();
});
Q_EMIT changePlaybackHistory();
}
Library::~Library() = default;
@@ -49,15 +64,13 @@ FavouritesModel *Library::favourites()
void Library::addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album)
{
QCoro::connect(addSong(videoId, title, artist, album), this, [=, this] {
QCoro::connect(m_database->execute("insert or ignore into favourites (video_id) values (?)", videoId),
this, &Library::refreshFavourites);
QCoro::connect(m_database->execute("insert or ignore into favourites (video_id) values (?)", videoId), this, &Library::changeFavourites);
});
}
void Library::removeFavourite(const QString &videoId)
{
QCoro::connect(m_database->execute("delete from favourites where video_id = ?", videoId),
this, &Library::refreshFavourites);
QCoro::connect(m_database->execute("delete from favourites where video_id = ?", videoId), this, &Library::changeFavourites);
}
FavouriteWatcher *Library::favouriteWatcher(const QString &videoId)
@@ -101,41 +114,17 @@ PlaybackHistoryModel *Library::playbackHistory()
return m_playbackHistory;
}
void Library::refreshPlaybackHistory()
{
// playbackHistory
auto future = m_database->getResults<PlayedSong>(
"select * from played_songs natural join songs");
m_playbackHistory = new PlaybackHistoryModel(std::move(future), this);
// mostPlayed
auto future2 = m_database->getResults<PlayedSong>(
"select * from played_songs natural join songs order by plays desc limit 10");
m_mostPlayed = new PlaybackHistoryModel(std::move(future2), this);
Q_EMIT playbackHistoryChanged();
}
void Library::refreshFavourites()
{
auto future = m_database->getResults<Song>(
"select * from favourites natural join songs order by favourites.rowid desc");
m_favourites = new FavouritesModel(std::move(future), this);
Q_EMIT favouritesChanged();
}
void Library::addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album)
{
QCoro::connect(addSong(videoId, title, artist, album), this, [=, this] {
QCoro::connect(m_database->execute("insert or ignore into played_songs (video_id, plays) values (?, ?)", videoId, 0), this, [=, this] {
QCoro::connect(m_database->execute("update played_songs set plays = plays + 1 where video_id = ? ", videoId),
this, &Library::refreshPlaybackHistory);
QCoro::connect(m_database->execute("update played_songs set plays = plays + 1 where video_id = ? ", videoId), this, &Library::changePlaybackHistory);
});
});
}
void Library::removePlaybackHistoryItem(const QString &videoId)
{
QCoro::connect(m_database->execute("delete from played_songs where video_id = ?", videoId),
this, &Library::refreshPlaybackHistory);
QCoro::connect(m_database->execute("delete from played_songs where video_id = ?", videoId), this, &Library::changePlaybackHistory);
}
WasPlayedWatcher *Library::wasPlayedWatcher(const QString& videoId)
@@ -175,11 +164,6 @@ PlaybackHistoryModel::PlaybackHistoryModel(QFuture<std::vector<PlayedSong>> &&so
});
}
PlaybackHistoryModel::PlaybackHistoryModel(QObject *parent)
: QAbstractListModel(parent)
{
}
QHash<int, QByteArray> PlaybackHistoryModel::roleNames() const {
return {
{Roles::VideoId, "videoId"},
@@ -288,25 +272,9 @@ bool FavouriteWatcher::isFavourite() const {
return m_isFavourite;
}
SearchHistoryModel::SearchHistoryModel(Library *library)
: QAbstractListModel(library)
SearchHistoryModel::SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>> &&historyFuture, QObject *parent)
: QAbstractListModel(parent)
{
auto historyFuture = library->database()
.getResults<SingleValue<QString>>("select distinct (search_query) from searches order by search_id desc limit 20");
connect(this, &SearchHistoryModel::filterChanged, this, [library, this]() {
auto future = library->database()
.getResults<SingleValue<QString>>("select distinct (search_query) from searches "
"where search_query like '%" % m_filter % "%'"
"order by search_id desc limit 20");
QCoro::connect(std::move(future), this, [this](auto history) {
beginResetModel();
m_history = history;
endResetModel();
});
});
QCoro::connect(std::move(historyFuture), this, [this](const auto history) {
beginResetModel();
m_history = history;
@@ -328,12 +296,7 @@ int SearchHistoryModel::rowCount(const QModelIndex &parent) const {
void SearchHistoryModel::removeSearch(const QString &search) {
int row = getRow(search);
if(m_temporarySearch != "") {
beginRemoveRows({}, row+1, row+1);
}
else {
beginRemoveRows({}, row, row);
}
beginRemoveRows({}, row, row);
m_history.erase(m_history.begin() + row);
endRemoveRows();
}
@@ -428,18 +391,3 @@ void WasPlayedWatcher::update(std::optional<SingleValue<bool> > result)
Q_EMIT wasPlayedChanged();
}
}
LocalSearchModel::LocalSearchModel(QObject *parent) : PlaybackHistoryModel(parent)
{
connect(this, &LocalSearchModel::searchQueryChanged, this, [this]() {
auto resultFuture = Library::instance().database()
.getResults<PlayedSong>("select * from played_songs natural join songs "
"where title like '%" % m_searchQuery % "%' "
"order by plays desc limit 10");
QCoro::connect(std::move(resultFuture), this, [this](auto results) {
beginResetModel();
m_playedSongs = results;
endResetModel();
});
});
}
+4 -28
View File
@@ -84,42 +84,21 @@ public:
Q_ENUM(Roles);
PlaybackHistoryModel(QFuture<std::vector<PlayedSong>> &&songs, QObject *parent = nullptr);
PlaybackHistoryModel(QObject *parent = nullptr);
QHash<int, QByteArray> roleNames() const override;
int rowCount(const QModelIndex &parent) const override;
QVariant data(const QModelIndex &index, int role) const override;
std::vector<PlayedSong> getPlayedSong() const;
protected:
private:
std::vector<PlayedSong> m_playedSongs;
};
///
/// Provides a list of recently played songs matching a search query.
///
class LocalSearchModel : public PlaybackHistoryModel {
Q_OBJECT
Q_PROPERTY(QString searchQuery MEMBER m_searchQuery NOTIFY searchQueryChanged)
Q_SIGNAL void searchQueryChanged();
public:
LocalSearchModel(QObject *parent = nullptr);
QString m_searchQuery;
};
class Library;
class SearchHistoryModel : public QAbstractListModel {
Q_OBJECT
Q_PROPERTY(QString filter MEMBER m_filter NOTIFY filterChanged)
public:
SearchHistoryModel(Library *library);
SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>> &&historyFuture, QObject *parent = nullptr);
int rowCount(const QModelIndex &parent) const override;
void removeSearch(const QString &search);
QVariant data(const QModelIndex &index, int role) const override;
@@ -127,13 +106,10 @@ public:
const QString & temporarySearch() const;
void setTemporarySearch(QString const& text);
Q_SIGNAL void filterChanged();
private:
size_t getRow(QString const &search) const;
std::vector<SingleValue<QString>> m_history;
QString m_temporarySearch;
QString m_filter;
};
class Library : public QObject
@@ -153,7 +129,7 @@ public:
FavouritesModel *favourites();
Q_SIGNAL void favouritesChanged();
void refreshFavourites();
Q_SIGNAL void changeFavourites();
Q_INVOKABLE void addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void removeFavourite(const QString &videoId);
Q_INVOKABLE FavouriteWatcher *favouriteWatcher(const QString &videoId);
@@ -168,7 +144,7 @@ public:
PlaybackHistoryModel *playbackHistory();
Q_SIGNAL void playbackHistoryChanged();
void refreshPlaybackHistory();
Q_SIGNAL void changePlaybackHistory();
Q_INVOKABLE void addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void removePlaybackHistoryItem(const QString &videoId);
Q_INVOKABLE WasPlayedWatcher *wasPlayedWatcher(const QString &videoId);
-1
View File
@@ -91,7 +91,6 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
qmlRegisterUncreatableType<PlaybackHistoryModel>(URI, 1, 0, "PlaybackHistoryModel","");
qmlRegisterType<QSortFilterProxyModel>(URI, 1, 0, "SortFilterModel");
qmlRegisterType<Blur>(URI, 1, 0, "Blur");
qmlRegisterType<LocalSearchModel>(URI, 1, 0, "LocalSearchModel");
qmlRegisterType<LocalPlaylistModel>(URI, 1, 0, "LocalPlaylistModel");
qmlRegisterType<LocalPlaylistsModel>(URI, 1, 0, "LocalPlaylistsModel");
qmlRegisterType<PlaylistImporter>(URI, 1, 0, "PlaylistImporter");
+4 -11
View File
@@ -23,7 +23,6 @@ void ThumbnailSource::setVideoId(const QString &id) {
m_videoId = id;
Q_EMIT videoIdChanged();
setCachedPath({});
const QString cacheDir = QStandardPaths::writableLocation(QStandardPaths::CacheLocation) % QDir::separator() % "thumbnails";
QDir(cacheDir).mkpath(QStringLiteral("."));
@@ -69,14 +68,11 @@ void ThumbnailSource::setVideoId(const QString &id) {
auto *reply = Library::instance().nam().get(QNetworkRequest(QUrl("https://i.ytimg.com/vi_webp/" % m_videoId % "/maxresdefault.webp")));
auto storeResult = [this, cacheLocation, id](QNetworkReply *reply) {
if (reply->error() != QNetworkReply::NoError) {
return;
}
auto storeResult = [this, cacheLocation](QNetworkReply *reply) {
auto data = reply->readAll();
reply->deleteLater();
auto future = QtConcurrent::run([data = std::move(data), cacheLocation]() {
// Scale cover down to save memory
// Scale cover down to save qmemory
int targetHeight = 200 * qGuiApp->devicePixelRatio();
auto scaled = QImage::fromData(data)
.scaledToHeight(targetHeight);
@@ -88,11 +84,8 @@ void ThumbnailSource::setVideoId(const QString &id) {
cropped.save(cacheLocation);
});
QCoro::connect(std::move(future), this, [this, cacheLocation, id]() {
// Check if video id was changed since we started fetching
if (id == m_videoId) {
setCachedPath(QUrl::fromLocalFile(cacheLocation));
}
QCoro::connect(std::move(future), this, [this, cacheLocation]() {
setCachedPath(QUrl::fromLocalFile(cacheLocation));
});
};
+2 -2
View File
@@ -12,7 +12,7 @@
#include <vector>
#include <memory>
constexpr auto TESTED_YTMUSICAPI_VERSION = "1.3.0";
constexpr auto TESTED_YTMUSICAPI_VERSION = "1.1.0";
struct YTMusicPrivate;
@@ -293,7 +293,7 @@ public:
std::vector<search::SearchResultItem> search(const std::string &query,
const std::optional<std::string> &filter = std::nullopt,
const std::optional<std::string> &scope = std::nullopt,
const int limit = 100,
const int limit = 20,
const bool ignore_spelling = false) const;
/// https://ytmusicapi.readthedocs.io/en/latest/reference.html#ytmusicapi.YTMusic.get_artist