a-dekker / smpc

Official port of Qt/Qml based qmobilempd MPD Client. (From symbian)
Other
4 stars 7 forks source link

Newcontroller #12

Closed fuchsmich closed 4 years ago

fuchsmich commented 4 years ago

For your info: I started a rewrite of the c++ part. All the signals and slots (the communication between c++ and qml) will be moved or renamed. Therefore a need to rename them in qml. During this process I also started to reorganize the qml components. (see VolumeSlider or ProgressBar). I'm also finding (and removing) some code, which is not used anymore.

a-dekker commented 4 years ago

Moving parts to separate component files makes the main code more clean in most cases, so I am all for that.

fuchsmich commented 4 years ago

I will try to finish the code, which handles playback (play/pause, seek, volume, etc) and the playlist (add to/remove from playlist, etc). And then we can merge this part.

a-dekker commented 4 years ago

It seems the newcontroller branch is based on an old codebase, as all kind of old UI stuff reappears after compiling?

fuchsmich commented 4 years ago

For example? Here it looks fine. The branch newcontroller is based on your master branch. Would be horrible, if this doesn't work. EDIT: I synced my master branch with yours, and newcontroller is based on this master now.

a-dekker commented 4 years ago

Sorry, false alarm. Somehow this branch in my local repo was not up-to-date. Now it looks just fine.

fuchsmich commented 4 years ago

... phew ...

a-dekker commented 4 years ago

Currently the pulley menu is missing when I select an album? Makes playing an album difficult.

fuchsmich commented 4 years ago

Thanks for the hint, should be working again.

fuchsmich commented 4 years ago

Switches are invisible and just for demo. Icons have to be changed.

a-dekker commented 4 years ago

Switches are invisible and just for demo. Icons have to be changed.

It breaks the app at the moment, right?

fuchsmich commented 4 years ago

break? how? what?

But anyway, I'll put it in a different branch.

a-dekker commented 4 years ago

break? how? what?

But anyway, I'll put it in a different branch.

Got this after a git pull and compile (white screen):

[W] unknown:264 - file:///usr/share/harbour-smpc/qml/main.qml:264:5: Type ControlPanel unavailable 
         ControlPanel { 
         ^
[W] unknown:98 - file:///usr/share/harbour-smpc/qml/components/ControlPanel.qml:98:9: Type PlaybackControls unavailable 
             PlaybackControls {} 
             ^
[W] unknown:64 - file:///usr/share/harbour-smpc/qml/components/PlaybackControls.qml:64:5: SingleSwitch is not a type 
         SingleSwitch { 
         ^
a-dekker commented 4 years ago

How is this part progressing? Do you still want to make additional changes, or do you want me to (try) to review it and merge it?

fuchsmich commented 4 years ago

:grimacing: hmmm, I'm sorry. I don't know what to do right now. I'm afraid the best way would be to break everything and start reimplementing every functionality step by step. It's very hard to keep the app intact while rewriting the communication with mpd and the qml-interface.

I will think about this till Sunday. Maybe it's a better option to start a devel branch.

My aims are:

fuchsmich commented 4 years ago

Ok, I think I'll continue the current way of small steps and publish them soon. It's more motivating. This branch is now in a state, which should be working. So you can test it and then we can merge it into master.

I don't know, if you want to release it as well, because there is no change for user right now.

a-dekker commented 4 years ago

That's sound fine to me, staying motivated is the key ingredient :-). I have some small UI changes I want to make, so I could include that in a new release.

a-dekker commented 4 years ago

Adding files seems broken now:

unknown:43 - file:///usr/share/harbour-smpc/qml/pages/database/FileBrowserPage.qml:43: TypeError: Property 'addFiles' of object Playlist(0xb5abd90) is not a function

I would expect addFiles to be defined in src/playlist.cpp.

fuchsmich commented 4 years ago

Great. Do you think I should make this one big commit? EDIT: Oh cool, I see you integrated it already.

a-dekker commented 4 years ago

Yes, I already merged it. Too bad I encountered this "add files" regression later on. If you could have a look at it and create a small PR for that if possible.

a-dekker commented 4 years ago

It looks something else went wrong in some of the last commits: the now playing detail page no longer shows the artist and cover image.

fuchsmich commented 4 years ago

addFiles is fixed.

the now playing detail page no longer shows the artist and cover image.

Do you mean CurrentSong.qml? The Artistname shows up for me, but artwork doesn't.

a-dekker commented 4 years ago

I do miss the cover-art and artist image (so artwork I guess). Normally they swap at an interval, but both images are not displayed atm.

fuchsmich commented 4 years ago

Ok, I guess this takes some more time. I don't know much yet about the image code.

a-dekker commented 4 years ago

I am afraid I found another regression: selecting "Show artist" from a number of a playlist should show all related albums from the artist. But it does not show anything now.

a-dekker commented 4 years ago

I can't detect any regressions still present. So I added some small changes by myself and made a new release on Openrepos.

a-dekker commented 3 years ago

My aims are:

* keep the look and feel of the app

* copy modern c++ and qml technics from cantata and musikilo

* organize commonly used components (as said above)

* and keep in mind the revive of daedalus

Side question: what would be so interesting about reviving Daedalus? There are quite a few local music players nowadays. Would installing MPD with SMPC as a client not be much easier and save the hassle of maintaining two apps?

fuchsmich commented 3 years ago

Good question. I just like the interface of SMPC. But since @haasn talked about his config in #34 I'm also thinking about installing mpd locally.

fuchsmich commented 3 years ago

...but keeping portability in mind is always good, as it keeps the code cleaner IMO. Another idea is making a fork/version with kirigami (qtquick controls 2) interface (for other mobile OSes like ubports, mobian, etc.).

a-dekker commented 3 years ago

I also compiled and installed the latest MPD version on my device, and enabled socket activation. Works fine.