Amarok - hunting for a boost

Tuomas Nurmi tuomas at norsumanageri.org
Sun Mar 31 10:21:25 BST 2024


Thank you Pedro,

Some thoughts on the comments, and additional comments:

Port to QT6/KF6: Yes, definitely a high priority. I hope a 6-based release can 
be achieved in 2024. But that'd be post-3.0, I'd figure.
I added some draft milestones to https://invent.kde.org/multimedia/amarok/-/
milestones , however, I consider those datest "latest at". I'd imagine alpha2 
could be released maybe mid-April.

On things I'd like to see in alpha2:
I've merged in quite a bit of various simple bugfixes, text fixes, de-
deprecations etc straightforward things.
I'm beginning to be quite happy with the context area merge request at 
https://invent.kde.org/multimedia/amarok/-/merge_requests/65 , myself, but 
comments on that are most welcome, as it touches the UI at multiple places (as 
does the OSD MR at https://invent.kde.org/multimedia/amarok/-/merge_requests/
73 , but not quite as extensively).
There's still something wrong with QML Image fetching photos from Flick in 
Photos applet; it gets HTTP result Forbidden for most images, even when curl 
with the same URL and with same HTTP headers works ok. This is also 
reproducible with a simple QML file run stand-alone with qmlscene-qt5. I tried 
various things, including setting up a QQmlNetworkAccessManagerFactory to use 
custom headers, but didn't have success there yet. (Maybe fetching the photos 
in the C++ engine and providing as Pixmaps to QML would be simpler.)

Additionally, I have also some other things on my list to look at before 
alpha2, but it's gotten quite a bit shorter in the last weeks.
(Open bugs/wishes have also gone from 643 to 579, with a couple of more having 
a fix pending merge.)


Scripting engine: I've had a quick look at it but didn't dive much deeper yet. 
I did some write-up on my observations when creating a fix for crash on re-
opening the script console, at https://invent.kde.org/multimedia/amarok/-/
merge_requests/76 , but I'm definitely not sure my observations are correct or 
valid. However, I guess a 3.0 can be released without complete scripting 
support (possibly disabling the KNewStuff button for scripts in settings window 
for now?)

Now that you mention the idea of scripts being QML based; I had a look at 
KSysguard SensorFaces ( https://develop.kde.org/docs/apps/sensor-faces/ ) 
listed by kpackagetool5 when I was inspecting some metadata changes, and they 
might be a possible reference in such implementation, allowing maybe also an 
uniform way for creating custom context applets. But that'd be post-3.0 
anyhow.


Embedded MariaDB: 
Although "The libmysqld embedded server library is deprecated as of MySQL 
5.7.19 and is removed in MySQL 8.0." ( https://dev.mysql.com/doc/refman/5.7/
en/libmysqld.html ), everything still seems to be available with MariaDB 11.2 
I currently have on my system.

I haven't yet found any current note of deprecation in MariaDB, at least on 
their related KB articles: https://mariadb.com/kb/en/embedded-mariadb-interface/ and https://mariadb.com/kb/en/mariadb-embedded/ , just "Starting 
with MariaDB 10.5 the embedded server library and related test binaries are no 
longer part of binary tarball release archives."

Also, there are somewhat recent changes (2 years ago) improving the embedded 
experience at https://github.com/mariadb-corporation/mariadb-connector-c/
commit/e19c93d31becad77311092f3281be5017c1b825c and the code still seems to be 
there in MariaDB 11.5 branch, too: https://github.com/MariaDB/server/tree/
11.5/libmysqld

So it would seem that while MySQL has removed the relevant pieces, MariaDB 
embedded remains usable at least for now.



Also a small comment on Phonon: 
Although a libphonon4qt6 exists, the fact that phonon-gstreamer backend is 
unsupported nowadays ( https://invent.kde.org/libraries/phonon-gstreamer/-/
issues/1 ) is not quite ideal. While phonon-vlc remains somewhat supported, 
the fact that it doesn't support ReplayGain (and some small papercut bugs) has 
kept me away from it. However, looking at https://invent.kde.org/libraries/
phonon-vlc/-/blob/master/src/audio/volumefadereffect.cpp I don't see why 
ReplayGain wouldn't be supported, so maybe I'll investigate what is actually 
the problem there before 3.0. Improving experience with phonon-vlc is a lot 
less effort than coming up with a new audio backend, anyhow.

Cheers
Tuomas



Pedro de Carvalho Gomes kirjoitti lauantaina 30. maaliskuuta 2024 23.13.51 
EEST:
> Welcome Tuomas. Thanks for you you energy to give a new boost to Amarok.
> 
> Here are some  thoughts, as I spent quite some time trying to make the
> first QT5 port:
> - the hardest thing to port from QT4 to QT5 were the plugins, as they
> were based on QTScript. I even tried to recreate it the script engine at
> QT5. But it's too much work. Not to mention that there might be security
> concerns. Maybe we should accept it, and completely drop the old
> scripting engine. And, if there's enough interest, think of a new one,
> based on QML
> - a port from QT5 to QT6 doesn't seem very traumatic as it was from QT4
> to QT5. I believe this should have high priority
> - as far I last saw, MariaDB-embeded was to reach end-of-life this year.
> Alternatives should be discussed immediately
> 
> Best,
> 
> Pedro
> 
> On 2024-03-23 14:16, Tuomas Nurmi wrote:
> > Hi everyone,
> > 
> > after last weekend's email, I've received encouragement, wise words and
> > various other forms of support from multiple people (Thank you!). I
> > applied
> > for the developer access, which was granted, which is great.
> > 
> > I've updated the changelog today (
> > https://invent.kde.org/multimedia/amarok/-/ blob/master/ChangeLog ) to
> > include some information on the changes since 2.9 (released in 2018).
> > 
> > In the following days/weeks, I plan to triage a number of Amarok bugs on
> > bugs.kde.org, and try and see if a 2.9.76 (alpha2) release can be
> > organized in April. If this succeeds, goal could be a beta or two and
> > then hopefully the long-awaited 3.0, maybe in Summer.
> > 
> > The focus on the road up to 3.0 should probably be on fixing bugs and
> > trying to ensure that everything keeps working with recent versions of
> > required libraries. There probably shouldn't be introduction of
> > completely new strings or features before 3.0 (Restoring some more
> > functionalities lost during the KF5 porting might be feasible. However,
> > all my favourite functionalities are there already, but I'll keep my eyes
> > open in case something important comes up).
> > 
> > After a KF5 based version is released, one can assess how much effort will
> > a Qt6/KF6 version require (fortunately, a notable amount of work to
> > remove usage of deprecated methods has been done during the last years,
> > so it might not be totally overwhelming)
> > 
> > Wishing you a nice Saturday, again!
> > Cheers
> > Tuomas
> > 
> > Tuomas Nurmi kirjoitti lauantaina 16. maaliskuuta 2024 13.00.38 EET:
> >> Hi everyone,
> >> according to statistics, I used Amarok to listen to a total of 111 days
> >> of
> >> music last year. That's why I thought I'd try gathering some attention
> >> and
> >> stirring up some discussion to get a little boost for its development
> >> progress.
> >> 
> >> The current version 2.9.71, "3.0 Alpha" was released in February 2021.
> >> However, there has been a notable amount of development going on since,
> >> the
> >> current git state including additionally e.g. some functionality lost
> >> initially between KDE4 and KF5 port replaced, fixes for crashes, support
> >> for newer ffmpeg versions and so on. There's also (popular?) demand for
> >> a new version, visible on e.g. the issue
> >> https://invent.kde.org/multimedia/amarok/-/ issues/4
> >> 
> >> The fact that there hasn't been a new version tagged since also causes
> >> some
> >> problems and disinformation to arise, with distributions packaging git at
> >> various dates and existence of bugs depending on the git checkout date
> >> and
> >> not the actual version number (see e.g.
> >> https://bugs.kde.org/show_bug.cgi?
> >> id=481384 and https://bugs.kde.org/show_bug.cgi?id=444408 )
> >> 
> >> Merge requests receive quite limited attention, and take a long time to
> >> get
> >> merged. E.g. my MR!53 https://invent.kde.org/multimedia/amarok/-/
> >> merge_requests/53 has been waiting in its current state since May 2023.
> >> The MR freshens up the codebase a bit (without altering functionality
> >> yet)
> >> and has received a considerable amount of testing (last year, 111 days of
> >> playing music by me; also other people have chimed in in the MR
> >> conversations). (Another merge request that does some similar work on
> >> e.g.
> >> OSD related functionality is pending at
> >> https://invent.kde.org/multimedia/amarok/-/ merge_requests/55 - it
> >> disables
> >> some things on Wayland, where the
> >> corresponding functionality cannot be implemented with KF5 libraries, I
> >> believe; I've been planning to give the remaining comments some more
> >> attention after the !53 is merged) There's also a recent simple crash fix
> >> MR!59 by me pending at
> >> https://invent.kde.org/multimedia/amarok/-/merge_requests/59
> >> 
> >> I also want to mention the recent nice work by Mihkel Tõnnov, whose MR!57
> >> https://invent.kde.org/multimedia/amarok/-/merge_requests/57 fixes build
> >> with recently released TagLib 2 and MR!60
> >> https://invent.kde.org/multimedia/ amarok/-/merge_requests/60 which ports
> >> things away from deprecated kcoreaddons_desktop_to_json.
> >> 
> >> 
> >> I tried applying for a KDE developer access back in late 2020, but didn't
> >> get it back then; I didn't refer to any supporter then though. I guess I
> >> could try again sometime if needed.
> >> 
> >> In addition to code, I've had a look at the bugs at bugs.kde.org. There
> >> are
> >> 643 open bugs at the moment. However, with a quick assessment, I figure
> >> somewhere between 200-400 could be easily closed as they're discussing a
> >> functionality removed since, or have otherwise become outdated. Having a
> >> new released version would naturally be nice here, too, but I've been
> >> planning to triage some of the most obviously outdated ones sometime
> >> soon.
> >> 
> >> 
> >> ------
> >> 
> >> So, to summarize, I'd say
> >> - Amarok is a very nice music player and (has been one for more than two
> >> full decades)
> >> 
> >> - It would benefit from more hands testing and reviewing the pending pull
> >> requests on invent.kde.org (no special requirements, aside from the
> >> skills
> >> to build Amarok from git - shout out to everyone who has been doing it -
> >> you rock!)
> >> 
> >> - It would be awesome to get some of the pending pull requests merged
> >> (KDE
> >> developer access required)
> >> 
> >> - People want a 3.0
> >> 
> >>    - but tagging and releasing of a 2.9.72 version would already go a
> >>    long
> >> 
> >> way, would be awesome and would help with backlog and history [or 2.9.76,
> >> as some distributions have been using 2.9.75 as version number for git
> >> builds] (KDE developer access and some confidence and extra understanding
> >> of related processes required).
> >> 
> >> - I'm planning to do a spring cleanup on bugs.kde.org sometime soon
> >> 
> >> - If someone wants to sponsor my application for a developer account,
> >> should I file one, give me a holler (probably should be a well-known
> >> Amarok or KDE contributor, or a famous rock star or something similar)
> >> 
> >> 
> >> I'm here on mailing list, on #amarok at libera.chat and monitoring https://
> >> invent.kde.org/multimedia/amarok (please do inform me if I'm missing some
> >> relevant forum), open to discussion and eager to keep on contributing.
> >> I'm happy to hear any comments (and should I get none, I guess I could
> >> use
> >> that on dev access application, too, to demonstrate that there actually
> >> is
> >> nobody around to sponsor it, which is also OK)
> >> 
> >> Wishing a nice Saturday to those who celebrate!
> >> Cheers
> >> Tuomas Nurmi
> >> (First appearing on Amarok Changelog at notes for 1.4.4, released Nov
> >> 2006)
> >> 
> >> Now playing - Amarok: Status Quo - The Party Ain't Over Yet






More information about the Amarok-devel mailing list