dfaust / soundkonverter

soundKonverter is in maintenance mode, PRs are welcome.
https://github.com/dfaust/soundkonverter/wiki
98 stars 28 forks source link

Port to kf5 and qt5 #23

Closed roberth1990 closed 7 years ago

roberth1990 commented 9 years ago

Can this application be ported to kde frameworks 5 and qt5?

dfaust commented 9 years ago

There is a branch named qt5 where I started porting and partially rewriting soundkonverter but I don't have the time at the moment to finish it. There is also a pull request (https://github.com/HessiJames/soundkonverter/pull/22) where some parts are ported to frameworks 5.

david-geiger commented 8 years ago

Hi, Any news about KF5/Qt5 port?

kde4 is now a bit unmaintained upstream.

dfaust commented 8 years ago

I won't write a KF5/Qt5 port, sorry.

darkbasic commented 8 years ago

That's sad because it means it's going to die within a year :( https://marc.info/?l=kde-release-team&m=147881782701604&w=2

niko-yanev commented 7 years ago

@dfaust Any news about it? Can you collaborate with https://github.com/isoft-linux/soundkonverter/ so it can be ported for qt5?

And just one silly question. What happened to Hessi James ? He gave up on this project and gave to you or?

dfaust commented 7 years ago

Nothing has changed, I'm not interested in continuing to write a port. Unfortunately the version at https://github.com/isoft-linux/soundkonverter/ is incomplete, so I can't just merge it.

@gericom-hummer: HessiJames was my previous user name.

niko-yanev commented 7 years ago

I get it? Then let's hope somebody will port it to qt5, as in few months it won't be able to run the app. If these guys started porting it, can you help them complete it. Because if i compile it under arch linux/ kaos / manjaro, it is working very well.

dfaust commented 7 years ago

If someone wanted to know something about the code I wrote, I would explain it, no problem. But I just can't get myself to work on it right now. The last thing I tried was getting the plugins to load again. But I couldn't find any documentation of what changed. And that's just frustrating.

And btw. as much as I hate the almost non-existing integration of qt4 apps into a qt5 environment, it's still usable. So why do you think you won't be able to use the qt4 version anymore? Will your distribution remove the qt4 libs?

niko-yanev commented 7 years ago

Not only, i think kde will drop the support for qt4, like they did for qt3 time ago. For sure Arch will be one of the 1st dropping support for qt4, then KaOS, and Manjaro. Debian based will be last. It is working perfectly now. lets hope it will continue.

darkbasic commented 7 years ago

They will probably drop everything qt4 related on December 2017, with the new kde-applications.

ShalokShalom commented 7 years ago

@gericom-hummer KaOS dropped Qt4 nine months ago and its still in the repositories of Arch.

What is the exact issue with the current Qt5/kf5 build? We use it since February 2015 and it works great for us.

dfaust commented 7 years ago

@ShalokShalom: The biggest issue is plugin loading, I'm using opensuse and it doesn't work for me. I think there are some more issues, but I haven't looked at it in a while.

ShalokShalom commented 7 years ago

Which plugins?

dfaust commented 7 years ago

All of them. I think they get installed to the wrong place, but as I said, I haven't looked at it in a while.

ShalokShalom commented 7 years ago

Guess it is/was a packaging issue, works here since two years, as stated. :+1:

screenshot_20170331_183837

fabiscafe commented 7 years ago

Yep works for me too (using the AUR pkgbuild). Only when compiling there are lots and lots of "KUrl;KDialog is deprecated and you should use QUrl/QDialog instead"-warnings. But it runs and converts things.

So for me, thats enough for a v2.95 (3.0 Beta) release :b

varlesh commented 7 years ago

Soon devs remove all Qt-4 apps from KDE :( http://www.phoronix.com/scan.php?page=news_item&px=KDE-Applications-17.08 https://kdepepo.wordpress.com/2017/07/14/kf5-applications-porting

r41d commented 7 years ago

Gentoo's package system today told me:

# Andreas Sturmlechner <asturm@gentoo.org> (27 Aug 2017)
# Requires deprecated libkcddb:4, upstream is not going to port.
# See also: https://github.com/dfaust/soundkonverter/issues/23
# Masked for removal in 30 days.

So they are dropping support for it, i.e. removing the package... I liked SoundKonverter :(

hartwork commented 7 years ago

I like(d) SoundKonverter too. @dfaust, can you make a list of (sub)tasks/obstacles that someone or a team would need to go through to fully migrate to Qt5?

ShalokShalom commented 7 years ago

It IS already fully ported to Qt5.

dfaust commented 7 years ago

@hartwork I don't have such a list in my head, I will have to take a look.

dfaust commented 7 years ago

@ShalokShalom Which soundkonverter version have you tested?

ShalokShalom commented 7 years ago

Currently is it 2.2.2

And as said, is it in productive usage in KaOS since Februar 2015: https://github.com/KaOSx/apps/blob/fa8a7ec6e9ae6cabcfad37fcbb97f9fea09b9c4a/soundkonverter/PKGBUILD

Since KaOS is full rolling, includes this each and every version since then. :smiley:

varlesh commented 7 years ago

Changed only sed -i -e 's|add_custom_target|#add_custom_target|' ${srcdir}/${pkgname}/src/CMakeLists.txt and cmake prefix

dfaust commented 7 years ago

Alright, I was finally able to get it work and I created a new branch at https://github.com/dfaust/soundkonverter/tree/kf5.

I haven't tested it yet, so that will still take some time. If anyone wants to help, they can try it out and post here what works and what doesn't.

ShalokShalom commented 7 years ago

Can you say us something about libkcddb? What do you know about its deprecation?

dfaust commented 7 years ago

@ShalokShalom kcddb seems to be maintained and part of KDE Applications (https://phabricator.kde.org/source/libkcddb/)

a17r commented 7 years ago

@ShalokShalom libkcddb:4 (as in kdelibs-4 based) is deprecated, of course libkcddb:5 (kf5-based) exists in KDE Applications and is maintained.

rikmills commented 7 years ago

Gentoo are referring to the depreciation of the KDE4/Qt4 slot4 version of libkcddb, since this library was ported to KF5/Qt5 for the 16.12 release of KDE applications. Therefore applications that wish to use a supported version of the library from now on need to port to KF5 as well. So most distributions will replace or remove the old versions.

ShalokShalom commented 7 years ago

yeah, yeah, i already got it, overlooked that 4 before, thanks a lot

hartwork commented 7 years ago

I made a quick ebuild for d153c0d06be68e129cb79d0db4329058e57cfe68: It compiles... but most images in the settings dialog are missing, the Add files... dropdown in the main window looks cut-off, may be the packaging or may not. I cannot easily proceed myself from here, but maybe that ebuild helps someone else: soundkonverter-2.2.2_p20170829.ebuild

@a17r Now that there is ongoing progress, could you drop or at adjust the removal in 30 days marker in profiles/package.mask for now, please?

ShalokShalom commented 7 years ago

screenshot_20170829_212114

screenshot_20170829_212147

IsaacJT commented 7 years ago

I modified @hartwork's ebuild slightly, and it builds fine without any issues or missing icons:

# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

KDE_LINGUAS="ca cs de es es_AR et fr hu it nl pl pt pt_BR ro ru sl sv zh_CN zh_TW"
inherit kde5

MY_COMMIT=d153c0d06be68e129cb79d0db4329058e57cfe68
DESCRIPTION="Frontend to various audio converters"
HOMEPAGE="http://www.kde-apps.org/content/show.php/soundKonverter?content=29024"
SRC_URI="https://github.com/dfaust/soundkonverter/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="5"
KEYWORDS="~amd64 ~x86"
IUSE="debug"

RDEPEND="
        media-libs/phonon[qt5]
        >=media-libs/taglib-1.10
        media-sound/cdparanoia
"
DEPEND="${RDEPEND}
        sys-devel/gettext
        $(add_frameworks_dep kconfig)
        $(add_frameworks_dep kconfigwidgets)
        $(add_frameworks_dep kdelibs4support)
        $(add_frameworks_dep ki18n)
        $(add_frameworks_dep kio)
        $(add_frameworks_dep kwidgetsaddons)
        $(add_frameworks_dep kxmlgui)
        $(add_frameworks_dep solid)
        $(add_kdeapps_dep libkcddb)
        $(add_qt_dep qtcore)
        $(add_qt_dep qtnetwork)
        $(add_qt_dep qtwidgets)
"

S="${WORKDIR}"/${PN}-${MY_COMMIT}/src

pkg_postinst() {
        kde5_pkg_postinst

        elog "soundKonverter optionally supports many different audio formats."
        elog "You will need to install the appropriate encoding packages for the"
        elog "formats you require. For a full listing, consult the README file"
        elog "in /usr/share/doc/${PF}"
}
hartwork commented 7 years ago

@dfaust what is still missing on the road to a tagged new KDE 5 release from your point of view now?

I'm unsure how on- or off-topic commenting on the ebuild is. (Issues I see are that python is still missing and the KDE and Qt libs are linked against (I checked) so they should not be missing from RDEPEND. Also, I see more direct dependencies linked against that we seem missing, see lddtree /usr/bin/soundkonverter | grep -E '^ {4}[^ ]' | awk '{print $3}' | sort -u | xargs qfile | sort output.)

dfaust commented 7 years ago

@hartwork I would like to import old configurations and profiles and the tag editing doesn't seem to work.

Beside that my cd drive isn't working, so I can't test that. It would be great if someone could see if cd ripping still works.

I think I'll do the import of old configurations and profiles part and leave the rest for the future because releasing a new version is clearly a priority.

a17r commented 7 years ago

@hartwork packaging is not the problem, but creating a snapshot is only a very last resort and not something we do casually.

hartwork commented 7 years ago

creating a snapshot is only a very last resort and not something we do casually.

@a17r Yes. So I guess what we would want from a Gentoo (or any Linux distro) perspective is to see that the project is alive, has kf5 code merged to master and a release tag to package, right?

hartwork commented 7 years ago

Beside that my cd drive isn't working, so I can't test that. It would be great if someone could see if cd ripping still works.

@dfaust I just ripped a few tracks off a CD fine (and didn't even know SK could do that, nice!). For the future, if sponsoring an external CD drive for you would help, please contact me via e-mail; please mention if you have a PATA-to-USB bridge around or if that would be among the acceptable setups.

To ease testing on Gentoo a bit, I have put an extended version of @IsaacJT's ebuild into the betagarden overlay now:

sudo layman -a betagarden
sudo emerge -av =media-sound/soundkonverter-2.2.2_p20170829-r2

@a17r you're welcome to edit, you have push access to betagarden, already.

dfaust commented 7 years ago

@hartwork Thank you for testing, but a CD drive won't be necessary, I have one. It isn't working right now (I blame opensuse tumbleweed) but I don't have the time to find out why, another drive probably won't help.

dfaust commented 7 years ago

Hooray! I finally tagged soundkonverter 3.0.0. It's not perfect and not well tested, but I simply don't have the time to do it and I wanted to bring this drama to a close. If you find any bugs, please report them and I will fix them if I find the time.

Thanks to everybody who helped with this release, especially @valeth for doing most of the KF5 port and @xiangzhai for porting libkcddb.

darkbasic commented 7 years ago

Great, it would have been a pity if it died.

ShalokShalom commented 7 years ago

nice timing: https://lists.debian.org/debian-devel-announce/2017/08/msg00006.html

valeth commented 7 years ago

I updated the AUR package to use this repo again and removed the kdelibs4support dependency. It built for me, but I didn't try building it in a clean environment.

a17r commented 7 years ago

@valeth: soundkonverter still depends on KF5KDELibs4Support unless you patched it out of CMakeLists.txt. It is not to be confused with kdelibs4.

valeth commented 7 years ago

Ah, yeah it's still there. I thought @dfaust removed the dependency to kdelibs4support. Added it again.

zpalmtree commented 7 years ago

Just tried out the new version, it seems to work fine on single files, but when I use the add folder option, and on the directory output use "Source directory", the output filename is simply /extension, for example in my case the output filename is "/ogg".

If you try to run regardless, I get a lot of errors about malformed urls.

The output of one of these errors can be seen here: https://pastebin.com/aEpienwD

And the attached picture shows the conversion options I'm using.

picture

I'm not sure if it's something to do with the files not being escaped properly, as that is indeed the correct filepath for the file as long as it's quoted.

If I just use add file, and still use the source directory as the output directory, it converts just fine with the same file.

I'm using the latest version from the arch repos. I reinstalled, and deleted any config files I could find in case they were interfering, but I don't think I got all of them as some of my settings seem to have remained.

ShalokShalom commented 7 years ago

I can reproduce this issue in a different manner. When I set everything as ZedPea does, appears an empty list here:

screenshot_20170915_085509

This are the settings:

screenshot_20170915_085232

I use the current 3.0.0 release on Qt 5.9.1

Here is the log from this session:

➜  ~ soundkonverter        
kf5.kcoreaddons.kaboutdata: Could not initialize the equivalent properties of Q*Application: no instance (yet) existing.
➜  ~ kf5.kcoreaddons.kaboutdata: QCoreApplication::applicationVersion "" is out-of-sync with KAboutData::applicationData().version "2.2.2"
kf5.kcoreaddons.kaboutdata: QGuiApplication::applicationDisplayName "soundkonverter" is out-of-sync with KAboutData::applicationData().displayName "soundKonverter"
kf5.kcoreaddons.kaboutdata: QGuiApplication::desktopFileName "" is out-of-sync with KAboutData::applicationData().desktopFileName "org.kde.soundkonverter"
kf5.kio.core: We got some errors while running testparm "Load smb config files from /etc/samba/smb.conf\nError loading services.\n"
kf5.kio.core: KSambaShare: Could not find smb.conf!
kf5.kio.core: We got some errors while running 'net usershare info'
kf5.kio.core: "Can't load /etc/samba/smb.conf - run testparm to debug it\n"
QXcbConnection: XCB error: 3 (BadWindow), sequence: 3444, resource id: 34630017, major code: 40 (TranslateCoords), minor code: 0
QObject::connect: No such signal DirOpener::open(const KUrl&,bool,const QStringList&,ConversionOptions*)
QObject::disconnect: No such signal DirOpener::open(const KUrl&,bool,const QStringList&,ConversionOptions*)
QObject::connect: No such signal DirOpener::open(const KUrl&,bool,const QStringList&,ConversionOptions*)
QObject::disconnect: No such signal DirOpener::open(const KUrl&,bool,const QStringList&,ConversionOptions*)
dfaust commented 7 years ago

@ZedPea Thanks, I had a quick look at it but couldn't find the issue, but I'm on it.

@ShalokShalom Are you sure you are running the latest version? The std output shows version "2.2.2". Also in your case the DirOpener::open signal can't be connected, so that's a different issue.

I moved the issue to #57.

ShalokShalom commented 7 years ago

I was left behind with the updates. Its solved in 3.0.0, thanks for making me aware about that. Great +1

wopawi commented 7 years ago

hai dfaust, sorry, but here the < Failed > problem still exists in soundkonverter 3.0.0 installed in antergos/kde

no conversion from mp3-folders to source dir . specified dir . copy dir structure only single files to source-directory works

looks like description in < https://github.com/dfaust/soundkonverter/issues/58 > any idea how to solve?