Comments (41)
Or just use Windows.
from mpc-qt.
Thanks to everyone who has supported this issue thus far.
After much thinking I have decided to use an AppImage for this purpose instead.
from mpc-qt.
Here's flatpak manifest (edited from the one for my own player). The app runs, but playback fails.
You build and run it with flatpak-builder build com.github.mpc-qt.yml mpc-qt --force-clean --ccache && flatpak-builder --run build com.github.mpc-qt.yml mpc-qt
Log:
[0.555290817] [glwidget] assigning x11 display
[0.636945489] [mpvobject] paused-for-cache property changed, but was not in dispatch list.
[2.647292110] [file] error: Cannot open file '/run/user/1000/doc/817faea5/file.mkv': No such file or directory
[2.647300530] [stream] error: Failed to open /run/user/1000/doc/817faea5/file.mkv.
[2.668615370] [qt] warn: QFSFileEngine::open: No file name specified
com.github.mpc-qt.yml:
---
app-id: com.github.mpc-qt
runtime: org.kde.Platform
runtime-version: '5.15-21.08'
sdk: org.kde.Sdk
command: mpc-qt
rename-icon: mpc-qt
rename-desktop-file: mpc-qt.desktop
copy-icon: true
finish-args:
- '--share=ipc'
- '--share=network'
- '--socket=fallback-x11'
- '--socket=wayland'
- '--socket=pulseaudio'
- '--device=dri'
- '--filesystem=host'
- '--talk-name=org.freedesktop.ScreenSaver'
- '--env=LC_NUMERIC=C'
modules:
- name: mpc-qt
buildsystem: qmake
sources:
- type: archive
url: 'https://github.com/mpc-qt/mpc-qt/archive/refs/tags/v22.02.tar.gz'
sha256: 'fa6cffd6bde1304b6c0ec3aba8e98d03f4d73999fee4e4546026ec159530350d'
# comment the above type, url and sha256 lines and uncomment this to build local code
#type: dir
#path: '/path/to/mpc-qt'
modules:
- name: libmpv
cleanup:
- /include
- /lib/pkgconfig
- /share/man
buildsystem: simple
build-commands:
- python3 waf configure --prefix=/app --enable-libmpv-shared --disable-cplayer --disable-build-date --disable-alsa
- python3 waf build
- python3 waf install
sources:
- type: archive
url: 'https://github.com/mpv-player/mpv/archive/refs/tags/v0.34.1.tar.gz'
sha256: '32ded8c13b6398310fa27767378193dc1db6d78b006b70dbcbd3123a1445e746'
- type: file
url: 'https://waf.io/waf-2.0.23'
sha256: '28a2e4583314a162cfcbffefb8a9202c1d7869040d30b5852da479b76d9c0491'
dest-filename: waf
modules:
- name: luajit
no-autogen: true
cleanup:
- /bin
- /lib/*.a
- /include
- /lib/pkgconfig
- /share/man
sources:
- type: archive
url: 'https://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz'
sha256: '1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3'
- type: shell
commands:
- sed -i 's|/usr/local|/app|' ./Makefile
- name: libv4l2
cleanup:
- /sbin
- /bin
- /include
- /lib/*.la
- /lib/*/*.la
- /lib*/*/*/*.la
- /lib/pkgconfig
- /share/man
config-opts:
- '--disable-static'
- '--disable-bpf'
- '--with-udevdir=/app/lib/udev'
sources:
- type: archive
url: 'https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.22.1.tar.bz2'
sha256: '65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31'
- name: nv-codec-headers
cleanup:
- '*'
no-autogen: true
make-install-args:
- PREFIX=/app
sources:
- type: archive
url: 'https://github.com/FFmpeg/nv-codec-headers/releases/download/n11.1.5.1/nv-codec-headers-11.1.5.1.tar.gz'
sha256: 'a28cdde3ac0e9e02c2dde7a1b4de5333b4ac6148a8332ca712da243a3361a0d9'
- name: ffmpeg
cleanup:
- /include
- /lib/pkgconfig
- /share/ffmpeg/examples
config-opts:
- '--enable-shared'
- '--disable-static'
- '--enable-gnutls'
- '--enable-gpl'
- '--disable-doc'
- '--disable-programs'
- '--disable-encoders'
- '--disable-muxers'
- '--enable-encoder=png,libwebp'
- '--enable-libv4l2'
- '--enable-libdav1d'
- '--enable-libfontconfig'
- '--enable-libfreetype'
- '--enable-libopus'
- '--enable-librsvg'
- '--enable-libvpx'
- '--enable-libmp3lame'
- '--enable-libwebp'
sources:
- type: archive
url: 'https://ffmpeg.org/releases/ffmpeg-4.4.1.tar.gz'
sha256: '82c98f74777f623710b72f9a3389fd38c1ed93bc661107e65df19234e395f6b9'
- name: libass
cleanup:
- /include
- /lib/*.la
- /lib/pkgconfig
config-opts:
- '--disable-static'
sources:
- type: archive
url: 'https://github.com/libass/libass/releases/download/0.15.2/libass-0.15.2.tar.gz'
sha256: '1b2a54dda819ef84fa2dee3069cf99748a886363d2adb630fde87fe046e2d1d5'
- name: uchardet
buildsystem: cmake-ninja
config-opts:
- '-DCMAKE_BUILD_TYPE=Release'
- '-DBUILD_STATIC=0'
cleanup:
- /bin
- /include
- /lib/pkgconfig
- /share/man
sources:
- type: archive
url: 'https://gitlab.freedesktop.org/uchardet/uchardet/-/archive/v0.0.7/uchardet-v0.0.7.tar.gz'
sha256: 'f3635d1d10e1470452bc42c1bf509451a9926b399a11740a9949e86069d69f58'
- name: yt-dlp
no-autogen: true
no-make-install: true
make-args:
- yt-dlp
- PYTHON=/usr/bin/python3
post-install:
- install yt-dlp /app/bin
sources:
- type: archive
url: 'https://github.com/yt-dlp/yt-dlp/archive/refs/tags/2021.12.27.tar.gz'
sha256: '7b659b2e71362a5a5c524368efa2009f98f5c92e4ec924fe0ebe3d2a08fb4643'
from mpc-qt.
Works once it's installed.
flatpak-builder --user --install --force-clean build com.github.mpc-qt.yml
flatpak run com.github.mpc-qt
from mpc-qt.
Thanks to everyone who has supported this issue thus far. After much thinking I have decided to use an AppImage for this purpose instead.
well thats little bit disappointing to hear (but I understand) ....personally not really fond of AppImage ..especially after when of their main devs had some "interesting views of wayland"
Honestly? It's too much maintenance burden for me, as evidenced by my adventure in the PR and my botching the last two releases in some way that made it incompatible with flatpak (to begin with no appdata in one release, incorrect appdata in the next release, etc). I had enough of it not working around a month ago when I stripped flatpak-isms from the repo.
Call it one too many balls to juggle. I'm not a package manager.
there could be a "unofficial" flatpak version for flathub, so its split from your/this repo ...so you dont need to worry about this... I can help with maintaining the pkgs
also, you can make it "official" later if you want to, and it still have it split
Anyways....Happy New Year
from mpc-qt.
Works once it's installed.
flatpak-builder --user --install --force-clean build com.github.mpc-qt.yml flatpak run com.github.mpc-qt
Awesome, I'll look into submitting an application.
from mpc-qt.
from mpc-qt.
Honestly? It's too much maintenance burden for me, as evidenced by my adventure in the PR and my botching the last two releases in some way that made it incompatible with flatpak (to begin with no appdata in one release, incorrect appdata in the next release, etc). I had enough of it not working around a month ago when I stripped flatpak-isms from the repo.
Call it one too many balls to juggle. I'm not a package manager.
from mpc-qt.
also isn't OSTree (Fedora's Silverblue/Kinoite, SteamOS v3 and SUSEs MicroOS) becoming more relevant which means flatpak would be needed more for these 3rd-party apps
from mpc-qt.
@SuNNjek I was wondering what is flathub/flatpaks policy on some codecs or/and supporting stuff like CUDA, are there some restrictions? (because patents or proprietary)
(I assume mpc-qt need to have its own mpv & maybe ffmpeg)
from mpc-qt.
Looking at mpv's manifest, they include nv-codec-headers, so I'm assuming that's alright to include
from mpc-qt.
I can confirm on my system with a flatpak build, that opening a file copies it to /run/user/1000/doc/9465a534/$file, but mpc-qt (flatpak) is unable to open it. The URL mpc-qt is given can be obtained by right-clicking the file in the playlist and selecting copy to clipboard. I'm a bit miffed, because mpc-qt (system) can open the same url fine. So it might be a sandbox/permissions problem.
from mpc-qt.
KDE has their own media player using (lib)MPV called Haruna (really basic) and has official flatpak version, I didn't look into yet but here link: https://github.com/flathub/org.kde.haruna/blob/master/org.kde.haruna.yml
from mpc-qt.
We've got a website now; I'll get to this tomorrow all things going well.
from mpc-qt.
Our last release is missing bundled appdata, so it looks it'll have to wait until the next release.
from mpc-qt.
any progress on this? I would love to test mpc-qt on my SteamDeck (as it requires flatpak)
from mpc-qt.
I was going to wait until the next release for this, as the flatpak requires that appdata is in the release.
At the moment not enough work has been done to warrant another release, so this has to sit on the backburner for a bit.
from mpc-qt.
well there is now a new release and I just moved to openSUSE MicroOS so a flatpak version would be nice.
btw. I checked the com.github.mpc-qt.yml, wouldn't there need to be more option enabled for ffmpeg? (for better codec support ...if possible just use "org.freedesktop.Platform.ffmpeg-full" -extension instead (for All ffmpeg codecs)
from mpc-qt.
Oh no, I forgot to update the appdata before making the latest release! Check the repo or the latest tarball. The appdata file literally says its the old version (22.02, not 23.02), so everyone now has wrong appdata in their /usr until the next release! Even if I went and reopened the old flatpak PR and fixed the yml, I can't make a flatpak with the wrong appdata in the release zip/tarball!
I think what I will do is drop the releases section from the appdata so this does not happen again. According to the spec the section is not necessary.
I suppose this will again have to wait until next release. It can't be helped. 🙏
from mpc-qt.
not an issue, just wondered and wanted to remind you.
also if its possible check if you can use the "org.freedesktop.Platform.ffmpeg-full" -extension instead as I mentioned before
from mpc-qt.
Is there any reason to not also have a flatpak? I personally prefer to use flatpaks whenever possible.
from mpc-qt.
@g-fb : I made my own (first) flatpak version, main idea is that it would be using already provided ffmpeg-full runtime instead of having to your own version (for bloat). Currently my version does build but wont run, any suggestion?
io.github.mpc_qt.Mpc-Qt.json
{
"app-id": "io.github.mpc_qt.Mpc-Qt",
"runtime": "org.kde.Platform",
"runtime-version": "6.6",
"add-extensions": {
"org.freedesktop.Platform.ffmpeg-full": {
"directory": "lib/ffmpeg",
"add-ld-path": ".",
"version": "*runtime-version",
"no-autodownload": false,
"autodelete": false
},
"org.freedesktop.Platform.ffmpeg_full.i386": {
"directory": "lib32/ffmpeg",
"add-ld-path": ".",
"version": "*runtime-version",
"no-autodownload": true,
"autodelete": false
}
},
"sdk": "org.kde.Sdk",
"command": "mpc-qt",
"rename-icon": "mpc-qt",
"rename-desktop-file": "mpc-qt.desktop",
"copy-icon": true,
"finish-args": [
"--share=ipc",
"--share=network",
"--socket=fallback-x11",
"--socket=wayland",
"--socket=pulseaudio",
"--device=dri",
"--filesystem=host:ro",
"--filesystem=home",
"--filesystem=xdg-run/pipewire-0:ro",
"--talk-name=org.freedesktop.ScreenSaver",
"--own-name=org.mpris.MediaPlayer2.mpc-qt",
"--env=LC_NUMERIC=C",
"--env=XCURSOR_PATH=/run/host/user-share/icons:/run/host/share/icons"
],
"cleanup": [
"*.a",
"*.la",
"/include",
"/lib/cmake",
"/lib/pkgconfig",
"/share/man"
],
"modules": [
{
"name": "shaderc",
"buildsystem": "cmake-ninja",
"builddir": true,
"config-opts": [
"-DSHADERC_SKIP_COPYRIGHT_CHECK=ON",
"-DSHADERC_SKIP_EXAMPLES=ON",
"-DSHADERC_SKIP_TESTS=ON",
"-DSPIRV_SKIP_EXECUTABLES=ON",
"-DENABLE_GLSLANG_BINARIES=OFF"
],
"cleanup": [
"/bin",
"/include",
"/lib/cmake",
"/lib/pkgconfig"
],
"sources": [
{
"type": "git",
"url": "https://github.com/google/shaderc.git",
"commit": "40bced4e1e205ecf44630d2dfa357655b6dabd04"
},
{
"type": "git",
"url": "https://github.com/KhronosGroup/SPIRV-Tools.git",
"tag": "v2024.1",
"commit": "04896c462d9f3f504c99a4698605b6524af813c1",
"dest": "third_party/spirv-tools"
},
{
"type": "git",
"url": "https://github.com/KhronosGroup/SPIRV-Headers.git",
"commit": "4f7b471f1a66b6d06462cd4ba57628cc0cd087d7",
"dest": "third_party/spirv-headers"
},
{
"type": "git",
"url": "https://github.com/KhronosGroup/glslang.git",
"tag": "14.1.0",
"commit": "ee2f5d09eaf8f4e8d0d598bd2172fce290d4ca60",
"dest": "third_party/glslang",
"x-checker-data": {
"type": "git",
"tag-pattern": "^(\\d{1,2}\\.\\d{1,2}\\.\\d{1,4})$"
}
}
]
},
{
"name": "libass",
"cleanup": [
"/include",
"/lib/pkgconfig"
],
"config-opts": [
"--disable-static"
],
"sources": [
{
"type": "git",
"url": "https://github.com/libass/libass.git",
"tag": "0.17.1",
"commit": "e8ad72accd3a84268275a9385beb701c9284e5b3",
"x-checker-data": {
"type": "git",
"tag-pattern": "^(\\d\\.\\d{1,3}\\.\\d{1,2})$"
}
}
]
},
{
"name": "luajit",
"no-autogen": true,
"cleanup": [
"/bin",
"/include",
"/lib/pkgconfig",
"/share/man"
],
"sources": [
{
"type": "git",
"url": "https://github.com/LuaJIT/LuaJIT.git",
"mirror-urls": [
"https://luajit.org/git/luajit.git"
],
"disable-shallow-clone": true,
"commit": "b3e498738962cdb08686f3dd612cf060382d88f2",
"x-checker-data": {
"type": "json",
"url": "https://api.github.com/repos/LuaJIT/LuaJIT/commits",
"commit-query": "first( .[].sha )",
"version-query": "first( .[].sha )",
"timestamp-query": "first( .[].commit.committer.date )"
}
},
{
"type": "shell",
"commands": [
"sed -i 's|/usr/local|/app|' ./Makefile"
]
}
]
},
{
"name": "libplacebo",
"buildsystem": "meson",
"config-opts": [
"-Dvulkan=enabled",
"-Dshaderc=enabled"
],
"cleanup": [
"/include",
"/lib/pkgconfig"
],
"sources": [
{
"type": "git",
"url": "https://github.com/haasn/libplacebo.git",
"mirror-urls": [
"https://code.videolan.org/videolan/libplacebo.git"
],
"tag": "v6.338.2",
"commit": "64c1954570f1cd57f8570a57e51fb0249b57bb90",
"x-checker-data": {
"type": "git",
"tag-pattern": "^v([\\d.]+)$"
}
}
]
},
{
"name": "libmpv",
"buildsystem": "meson",
"config-opts": [
"-Dlibmpv=true",
"-Dlua=enabled",
"-Ddebug=false",
"-Dbuild-date=false",
"-Dalsa=disabled",
"-Dmanpage-build=disabled"
],
"cleanup": [ "/lib/pkgconfig", "/share", "/include" ],
"dependencies": [
"libplacebo",
"libass",
"luajit"
],
"sources": [
{
"type": "archive",
"url": "https://github.com/mpv-player/mpv/archive/refs/tags/v0.38.0.tar.gz",
"sha256": "86d9ef40b6058732f67b46d0bbda24a074fae860b3eaae05bab3145041303066"
}
]
},
{
"name": "mpc-qt",
"buildsystem": "qmake",
"dependencies": [
"libmpv"
],
"sources": [
{
"type": "archive",
"url": "https://github.com/mpc-qt/mpc-qt/archive/refs/tags/v23.12.tar.gz",
"sha256": "6a639bc7911a8972cb7d7e207d3cb24606d2439af2665c373745ae8a6ced65be"
}
]
}
]
}
the current error;
flatpak run io.github.mpc_qt.Mpc-Qt
F: Not sharing "/usr/share/icons" with sandbox: Path "/usr" is reserved by Flatpak
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vkkhrdisplay, vnc, wayland-egl, wayland, xcb.
from mpc-qt.
There's a bug in the runtime, it's missing a library. Why is it searching for xcb-cursor? Because by default the application uses X11 because some things are broken on wayland. So wayland is opt-in, not by default.
from mpc-qt.
oh I thought wayland thing was resolved as KDE own mpv frontend Haruna and mpv has wayland by default..hmm
https://github.com/flathub/org.kde.haruna/blob/master/org.kde.haruna.yml#L12
https://github.com/flathub/io.mpv.Mpv/blob/master/io.mpv.Mpv.yml#L12
from mpc-qt.
Nah we do more with the desktop than those do. We center our window to the center of the screen at the beginning of every video.
That said I've been running wayland myself ever since plasma 6 came out, so perhaps when ubuntu lts gets it we can drop this default behavior. It's only a pain having part of the window suddenly offscreen when you're running 1080p videos on a 1080p monitor; I'll be joining the 1440p master race later this year if all goes well.
from mpc-qt.
okay, yeah I was also running plasma6 as git since beta days.
hopefully when plasma 6 and wayland in general becomes default on more distros this year we can start to see more fixes for wayland.
btw. I changed "--socket=fallback-x11", to just "--socket=x11", ...and the app runs now
from mpc-qt.
well this version works now, and as it seems you can "enable wayland" from app settings and it runs just fine. its possible that we need to add/enable something for mpv but currently it seems to have all the needed basic stuff, and as its uses the already provided ffmpeg-full no need to worry about maintaining that or worry about some licence issues
just need to fix the versioning, and the generic wayland icon thing (not sure if its a bug)
{
"app-id": "io.github.mpc_qt.Mpc-Qt",
"runtime": "org.kde.Platform",
"runtime-version": "6.6",
"add-extensions": {
"org.freedesktop.Platform.ffmpeg-full": {
"directory": "lib/ffmpeg",
"add-ld-path": ".",
"version": "*runtime-version",
"no-autodownload": false,
"autodelete": false
},
"org.freedesktop.Platform.ffmpeg_full.i386": {
"directory": "lib32/ffmpeg",
"add-ld-path": ".",
"version": "*runtime-version",
"no-autodownload": true,
"autodelete": false
}
},
"sdk": "org.kde.Sdk",
"command": "mpc-qt",
"rename-icon": "mpc-qt",
"rename-desktop-file": "mpc-qt.desktop",
"copy-icon": true,
"finish-args": [
"--share=ipc",
"--share=network",
"--socket=x11",
"--socket=wayland",
"--socket=pulseaudio",
"--device=dri",
"--filesystem=host:ro",
"--filesystem=home",
"--filesystem=xdg-run/pipewire-0:ro",
"--talk-name=org.freedesktop.ScreenSaver",
"--own-name=org.mpris.MediaPlayer2.mpc-qt",
"--env=LC_NUMERIC=C",
"--env=XCURSOR_PATH=/run/host/user-share/icons:/run/host/share/icons"
],
"environment": {
"QT_QPA_PLATFORM": "wayland"
},
"cleanup": [
"*.a",
"*.la",
"/include",
"/lib/cmake",
"/lib/pkgconfig",
"/share/man"
],
"modules": [
{
"name": "shaderc",
"buildsystem": "cmake-ninja",
"builddir": true,
"config-opts": [
"-DSHADERC_SKIP_COPYRIGHT_CHECK=ON",
"-DSHADERC_SKIP_EXAMPLES=ON",
"-DSHADERC_SKIP_TESTS=ON",
"-DSPIRV_SKIP_EXECUTABLES=ON",
"-DENABLE_GLSLANG_BINARIES=OFF"
],
"cleanup": [
"/bin",
"/include",
"/lib/cmake",
"/lib/pkgconfig"
],
"sources": [
{
"type": "git",
"url": "https://github.com/google/shaderc.git",
"commit": "40bced4e1e205ecf44630d2dfa357655b6dabd04"
},
{
"type": "git",
"url": "https://github.com/KhronosGroup/SPIRV-Tools.git",
"tag": "v2024.1",
"commit": "04896c462d9f3f504c99a4698605b6524af813c1",
"dest": "third_party/spirv-tools"
},
{
"type": "git",
"url": "https://github.com/KhronosGroup/SPIRV-Headers.git",
"commit": "4f7b471f1a66b6d06462cd4ba57628cc0cd087d7",
"dest": "third_party/spirv-headers"
},
{
"type": "git",
"url": "https://github.com/KhronosGroup/glslang.git",
"tag": "14.1.0",
"commit": "ee2f5d09eaf8f4e8d0d598bd2172fce290d4ca60",
"dest": "third_party/glslang",
"x-checker-data": {
"type": "git",
"tag-pattern": "^(\\d{1,2}\\.\\d{1,2}\\.\\d{1,4})$"
}
}
]
},
{
"name": "libass",
"cleanup": [
"/include",
"/lib/pkgconfig"
],
"config-opts": [
"--disable-static"
],
"sources": [
{
"type": "git",
"url": "https://github.com/libass/libass.git",
"tag": "0.17.1",
"commit": "e8ad72accd3a84268275a9385beb701c9284e5b3",
"x-checker-data": {
"type": "git",
"tag-pattern": "^(\\d\\.\\d{1,3}\\.\\d{1,2})$"
}
}
]
},
{
"name": "luajit",
"no-autogen": true,
"cleanup": [
"/bin",
"/include",
"/lib/pkgconfig",
"/share/man"
],
"sources": [
{
"type": "git",
"url": "https://github.com/LuaJIT/LuaJIT.git",
"mirror-urls": [
"https://luajit.org/git/luajit.git"
],
"disable-shallow-clone": true,
"commit": "b3e498738962cdb08686f3dd612cf060382d88f2",
"x-checker-data": {
"type": "json",
"url": "https://api.github.com/repos/LuaJIT/LuaJIT/commits",
"commit-query": "first( .[].sha )",
"version-query": "first( .[].sha )",
"timestamp-query": "first( .[].commit.committer.date )"
}
},
{
"type": "shell",
"commands": [
"sed -i 's|/usr/local|/app|' ./Makefile"
]
}
]
},
{
"name": "libplacebo",
"buildsystem": "meson",
"config-opts": [
"-Dvulkan=enabled",
"-Dshaderc=enabled"
],
"cleanup": [
"/include",
"/lib/pkgconfig"
],
"sources": [
{
"type": "git",
"url": "https://github.com/haasn/libplacebo.git",
"mirror-urls": [
"https://code.videolan.org/videolan/libplacebo.git"
],
"tag": "v6.338.2",
"commit": "64c1954570f1cd57f8570a57e51fb0249b57bb90",
"x-checker-data": {
"type": "git",
"tag-pattern": "^v([\\d.]+)$"
}
}
]
},
{
"name": "libmpv",
"buildsystem": "meson",
"config-opts": [
"-Dlibmpv=true",
"-Dlua=enabled",
"-Ddebug=false",
"-Dbuild-date=false",
"-Dalsa=disabled",
"-Dmanpage-build=disabled"
],
"cleanup": [ "/lib/pkgconfig", "/share", "/include" ],
"dependencies": [
"libplacebo",
"libass",
"luajit"
],
"sources": [
{
"type": "archive",
"url": "https://github.com/mpv-player/mpv/archive/refs/tags/v0.38.0.tar.gz",
"sha256": "86d9ef40b6058732f67b46d0bbda24a074fae860b3eaae05bab3145041303066"
}
]
},
{
"name": "mpc-qt",
"buildsystem": "qmake",
"dependencies": [
"libmpv"
],
"sources": [
{
"type": "archive",
"url": "https://github.com/mpc-qt/mpc-qt/archive/refs/tags/v23.12.tar.gz",
"sha256": "6a639bc7911a8972cb7d7e207d3cb24606d2439af2665c373745ae8a6ced65be"
}
]
}
]
}
from mpc-qt.
here is (hopefully) the last version of my part with all the needed pkgs added/enabled...I think, the same remaining issue do still exist (general wayland icon and app version number) : io.github.mpc_qt.Mpc-Qt.json
also I notice that you had removed the "io.github.mpc_qt.Mpc-Qt.appdata.xml" file:
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>io.github.mpc_qt.Mpc-Qt</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+</project_license>
<name>Media Player Classic Qute Theater</name>
<summary>A clone of Media Player Classic reimplemented in Qt.</summary>
<launchable type="desktop-id">io.github.mpc_qt.Mpc-Qt.desktop</launchable>
<content_rating type="oars-1.1" />
<description>
<p>
Media Player Classic Qute Theater (Mpc-Qt) is a cross-platform application that uses Qt to reproduce most of the interface and functionality of Media Player Classic Home Cinema (Mpc-Hc), and uses libmpv's powerful media presentation framework to play video instead of DirectShow. It is not a strict clone; there are some improvements.
</p>
<p>Features:</p>
<ul>
<li>libmpv backend</li>
<li>Multiple playlists</li>
<li>Quick queueing like xmms/qmmp</li>
<li>Mpris - multimedia keys support</li>
<li>Web interface like Mpc-Hc's</li>
<li>Flatpak: Filesystem access for writing screenshots</li>
</ul>
</description>
<screenshots>
<screenshot type="default">
<image>https://mpc-qt.github.io/images/Screenshot_20220226_155532.png</image>
<caption>The main window showing the application in action</caption>
</screenshot>
</screenshots>
<url type="homepage">https://mpc-qt.github.io/</url>
<url type="bugtracker">https://github.com/mpc-qt/mpc-qt/issues</url>
</component>
these dont need to be merger to this repo but can directly put to flathub.
when? maybe with next release
I just put these here if someone wants to make a local build to test until then
from mpc-qt.
general wayland icon
Maybe it's this issue https://nicolasfella.de/posts/fixing-wayland-taskbar-icons/
from mpc-qt.
Yeah that would work. Unfortunately we have to support qt 6.4.2(!) for the next two years due to ubuntu not shipping recent qt in their latest lts (24.04).
from mpc-qt.
well yeah this ubuntu thing sucks. what about instead of thinking about direct backward compatibility could a fallback mechanisms work?:
aka" implement fallback mechanisms or conditional code paths to handle cases where certain Qt features or APIs are unavailable or behave differently on the target system's Qt version."
also isn't ubuntu trying to push snap pkgs instead of flatpak? which is why flatpak isnt even installed/enabled by default with 24.04? so does it really matter if we support it?
from mpc-qt.
We support ubuntu lts because that's what the CI uses.
aka" implement fallback mechanisms or conditional code paths to handle cases where certain Qt features or APIs are unavailable or behave differently on the target system's Qt version."
Yeah this is the usual way to do it. I haven't until now (except for platform/unify.h) because the C macro system leads to unmaintainable vomit in my opinion.
from mpc-qt.
Yeah that would work. Unfortunately we have to support qt 6.4.2(!) for the next two years due to ubuntu not shipping recent qt in their latest lts (24.04).
Ah right, I coincidentally looked again at that function Nicolas Fella pointed out, and it was added in 5.7, not 6.7. Sorry it's been a long day.
from mpc-qt.
We support ubuntu lts because that's what the CI uses.
I wonder if that will change, especially now that ubuntu is trying to move away from flatpak to their own snap solution...time will tell. I never got why ubuntu is the standard in so many places...its so horrible distro..oh well.
also Ubuntu 24.04 is using v1.14.4 flatpak version, which isn't that surprising as 1.15.x -branch that has so many more features is "Pre-release" ...for some reason a new (major) stable version has taken forever
aka" implement fallback mechanisms or conditional code paths to handle cases where certain Qt features or APIs are unavailable or behave differently on the target system's Qt version."
Yeah this is the usual way to do it. I haven't until now (except for platform/unify.h) because the C macro system leads to unmaintainable vomit in my opinion.
yeah I get this, its a pain in the ass. Thankfully when the next Ubuntu LTS arrives wayland, flatpak and Qt etc should have matured so there shouldn't be need for this anymore
recent qt in their latest lts (24.04).
Ah right, I coincidentally looked again at that function Nicolas Fella pointed out, and it was added in 5.7, not 6.7. Sorry it's been a long day.
that's a good news, you dont have to vomit that much after all
(I haven't been sleeping either that much this weekend, which is why this)
from mpc-qt.
Does adding this to the top of main() fix the desktop icon issue for you?
if (!qEnvironmentVariableIsEmpty("FLATPAK_ID"))
QGuiApplication::setDesktopFileName("io.github.mpc_qt.Mpc-Qt");
from mpc-qt.
yeah seems to be working, at least for me:
from mpc-qt.
Brilliant! I'll set about adding that code.
from mpc-qt.
I just tried this on my AMD laptop with Fedora (40) kinoite, and it seems to work just fine on it as well.
anyway, one minor issue I forgot to mention was that on wayland the cursor keeps vanishing in settings menu. (which is kinda annoying)...this happens on my both PCs so its not nvidia only issue or just openSUSE (MicroOS/Kalpa)
(and the old app version issue is still a thing, not sure if its flatpak mainifest issue or app one)
from mpc-qt.
hmm...I just only now notice that at least x265 videos don't work....well the video is blank and audio is only playing.
(both PC, and I tried with and without hardware acceleration)
(logs says: error: Failed to initialize a decoder for codec 'hevc')
I tried if adding x265 would help (for some reason) ...no it didn't
and I checked mpv and haruna ..the flatpak versions, and they both did play the x265 videos
from mpc-qt.
so apparently the "org.freedesktop.Platform.ffmpeg-full" isn't that full version and wont have all codecs like x265 ...for one reason or another (my guess is patents/license, which I thought flatpak could avoid these type of issues).
anyway. so it seems we have to add ffmpeg and other pkgs that is needed to mpc-qt pkgs:
from mpc-qt.
sigh okay I was wrong, or my json pkgs is broken or there is issue with the app as even adding own ffmpeg version (x265 enabled) didnt help, still wont play, I tried these demo files: https://x265.com/hevc-video-files/
those demo files worked fine on mpv and KDE's haruna player (flatpak version) and as they both uses their own ffmpeg I thought that was the issue...but no
from mpc-qt.
Related Issues (20)
- Update translations HOT 5
- multiple fav list HOT 2
- Playlist Window Doesn't Remember State HOT 1
- Opensubtitles support
- A more fitting app icon? HOT 10
- Subtitle: TTML support HOT 1
- Saving Playlist crashes appimage HOT 2
- Lua script HOT 1
- geometry_v2.json Crash Qt6OpenGL.dll HOT 2
- Feature Request: Custom jump distances HOT 2
- Audio filter support HOT 4
- Crash while resuming/stopping playback. HOT 13
- Latest version not launching on fedora 40 HOT 1
- http no controls.html file HOT 3
- Centralize state
- Dolby Digital Plus and Dolby TrueHD/Atmos passthrough HOT 1
- Left click not working HOT 10
- View->Capture, View->Subresync, View->navigation do nothing
- Takes 2-2.5 seconds to open HOT 4
- Is there a way to change the audio language priority? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mpc-qt.