Music indicator #14

Closed
wants to merge 2 commits into
from

Conversation

Projects
None yet
5 participants
@ricardomv
Member

ricardomv commented Dec 14, 2014

idea for a media controler supporting mpris2 using kde plasma dataengine. Needs some work but the general idea and funcionality is there.

@iBelieve

This comment has been minimized.

Show comment
Hide comment
@iBelieve

iBelieve Dec 14, 2014

Member

Wow, this is great! Congratulations on adding the first fully working indicator, outside of the easy date/time indicator.

Member

iBelieve commented Dec 14, 2014

Wow, this is great! Congratulations on adding the first fully working indicator, outside of the easy date/time indicator.

@iBelieve

This comment has been minimized.

Show comment
Hide comment
@iBelieve

iBelieve Dec 14, 2014

Member

Just to confirm, the PlasmaCore.DataSource is coming from one of the KDE Frameworks 5? It would be nice to add that to the README.

Member

iBelieve commented Dec 14, 2014

Just to confirm, the PlasmaCore.DataSource is coming from one of the KDE Frameworks 5? It would be nice to add that to the README.

@ricardomv

This comment has been minimized.

Show comment
Hide comment
@ricardomv

ricardomv Dec 14, 2014

Member

oh i forgot i couldn't get the Progress working it might be a engine bug i get always the value 0.

i have also been looking into the Network indicator but without much success. Qt core libraries don't seem to be enough. And the plasma api seems a mess.

i think PlasmaCore.DataSource is available in plasma 4 so i think it's compatible with kde 4

Member

ricardomv commented Dec 14, 2014

oh i forgot i couldn't get the Progress working it might be a engine bug i get always the value 0.

i have also been looking into the Network indicator but without much success. Qt core libraries don't seem to be enough. And the plasma api seems a mess.

i think PlasmaCore.DataSource is available in plasma 4 so i think it's compatible with kde 4

@DrOptix

This comment has been minimized.

Show comment
Hide comment
@DrOptix

DrOptix Dec 14, 2014

I did not have time to see what dependencies this have, both primary and secondary, but I hope this will not add tons of KDE bloatware only to show that indicator. Don't get me wrong. A music indicator is a must have and I thank you for your PR.

DrOptix commented Dec 14, 2014

I did not have time to see what dependencies this have, both primary and secondary, but I hope this will not add tons of KDE bloatware only to show that indicator. Don't get me wrong. A music indicator is a must have and I thank you for your PR.

@boghison

This comment has been minimized.

Show comment
Hide comment
@boghison

boghison Dec 14, 2014

Contributor
Contributor

boghison commented Dec 14, 2014

@ricardomv

This comment has been minimized.

Show comment
Hide comment
@ricardomv

ricardomv Dec 14, 2014

Member

this depends at least on plasma-workspace and that has a lot of dependencies. I can try to use QDBus to create the interface but this would have to be in c++, and all the other indicators will be a lot harder to implement without depending on plasma-workspace (Sound/Network/Power)

Member

ricardomv commented Dec 14, 2014

this depends at least on plasma-workspace and that has a lot of dependencies. I can try to use QDBus to create the interface but this would have to be in c++, and all the other indicators will be a lot harder to implement without depending on plasma-workspace (Sound/Network/Power)

@DrOptix

This comment has been minimized.

Show comment
Hide comment
@DrOptix

DrOptix Dec 14, 2014

@ricardomv (cc: @ibeliever) QML might be all shiny and bright, but let's face it... C/C++ is the real deal when dealing with system resources and direct hardware access. If you ask me QML should be used only to display data in a nice format, when C/C++ should be used to prepare and/or process the data.

On the other hand having plasma-workspace as a dependency it sound to me that Quantum has almost the whole KDE as a dependency. On Fedora 21 I have no plasma-workspace, but I have kde-workspace and kde-workspace-devel. Installing both of them would give me a lot of KDE stuff like:

 kactivities
 kactivities-libs
 kcm_colors
 kde-baseapps-common 
 kde-runtime
 kde-runtime-drkonqi
 kde-runtime-flags
 kde-runtime-libs
 kde-settings
 kde-settings-ksplash
 kde-settings-plasma
 kde-style-oxygen
 kde-workspace-libs
 kdelibs
 kdelibs-common
 kdelibs-devel
 kdelibs-webkit
 kdepimlibs
 kdepimlibs-akonadi
 kdepimlibs-gpgme
 kdepimlibs-kxmlrpcclient
 keyutils-libs-devel
 kgreeter-plugins
 konsole
 konsole-part
 krb5-devel
 kscreen
 ksysguard-libs
 kwin
 kwin-gles-libs
 kwin-libs
--- other deps ---

I know there are some development packages there, but installing only kde-workspace I get 237 megs of stuff, and when I install both kde-workspace and kde-workspace-devel I get 293 megs of additional stuff.

I don't know how the packaging is done on Arch and Ubuntu, but in my case installing kde-workspace I get a lot of unneeded crap.

DrOptix commented Dec 14, 2014

@ricardomv (cc: @ibeliever) QML might be all shiny and bright, but let's face it... C/C++ is the real deal when dealing with system resources and direct hardware access. If you ask me QML should be used only to display data in a nice format, when C/C++ should be used to prepare and/or process the data.

On the other hand having plasma-workspace as a dependency it sound to me that Quantum has almost the whole KDE as a dependency. On Fedora 21 I have no plasma-workspace, but I have kde-workspace and kde-workspace-devel. Installing both of them would give me a lot of KDE stuff like:

 kactivities
 kactivities-libs
 kcm_colors
 kde-baseapps-common 
 kde-runtime
 kde-runtime-drkonqi
 kde-runtime-flags
 kde-runtime-libs
 kde-settings
 kde-settings-ksplash
 kde-settings-plasma
 kde-style-oxygen
 kde-workspace-libs
 kdelibs
 kdelibs-common
 kdelibs-devel
 kdelibs-webkit
 kdepimlibs
 kdepimlibs-akonadi
 kdepimlibs-gpgme
 kdepimlibs-kxmlrpcclient
 keyutils-libs-devel
 kgreeter-plugins
 konsole
 konsole-part
 krb5-devel
 kscreen
 ksysguard-libs
 kwin
 kwin-gles-libs
 kwin-libs
--- other deps ---

I know there are some development packages there, but installing only kde-workspace I get 237 megs of stuff, and when I install both kde-workspace and kde-workspace-devel I get 293 megs of additional stuff.

I don't know how the packaging is done on Arch and Ubuntu, but in my case installing kde-workspace I get a lot of unneeded crap.

@iBelieve

This comment has been minimized.

Show comment
Hide comment
@iBelieve

iBelieve Dec 15, 2014

Member

Yeah, we shouldn't use the full KDE libs. Let's look into seeing what the KDE Frameworks have, since KDE worked really hard to split out everything into more manageable chunks.

For C++ stuff (notifications server, etc), we'll be building a separate QML extension module (so other projects can easily use it), and that would be the place to put any C++ code if we need to. Then we could still have a nice QML component for use in the UI.

Member

iBelieve commented Dec 15, 2014

Yeah, we shouldn't use the full KDE libs. Let's look into seeing what the KDE Frameworks have, since KDE worked really hard to split out everything into more manageable chunks.

For C++ stuff (notifications server, etc), we'll be building a separate QML extension module (so other projects can easily use it), and that would be the place to put any C++ code if we need to. Then we could still have a nice QML component for use in the UI.

@iBelieve

This comment has been minimized.

Show comment
Hide comment
@iBelieve

iBelieve Dec 15, 2014

Member

Plasma.DataSource is available from the Plasma framework, which is a tier-3 framework, meaning it has a lot of dependencies. I can check on Arch later to see what the full dependencies are, but looking at the package (https://www.archlinux.org/packages/extra/x86_64/plasma-framework/), it might be manageable.

However, it would still be best not to depend on the entire Plasma UI framework, as that would require shipping it with the OS, and exposing stuff that shouldn't be there. If it's doable, we should see about writing a QML plugin in C++ to access the DBUS interface, and put it in the C++ library as described above.

Anyhow, I've created issue #16 so we can discuss implementing the music indicator without being tied to a specific pull request.

Member

iBelieve commented Dec 15, 2014

Plasma.DataSource is available from the Plasma framework, which is a tier-3 framework, meaning it has a lot of dependencies. I can check on Arch later to see what the full dependencies are, but looking at the package (https://www.archlinux.org/packages/extra/x86_64/plasma-framework/), it might be manageable.

However, it would still be best not to depend on the entire Plasma UI framework, as that would require shipping it with the OS, and exposing stuff that shouldn't be there. If it's doable, we should see about writing a QML plugin in C++ to access the DBUS interface, and put it in the C++ library as described above.

Anyhow, I've created issue #16 so we can discuss implementing the music indicator without being tied to a specific pull request.

@iBelieve iBelieve referenced this pull request Dec 15, 2014

Closed

Music Indicator #16

@iBelieve

This comment has been minimized.

Show comment
Hide comment
@iBelieve

iBelieve Dec 15, 2014

Member

On another note, for the network indicator, we can probably use libnm-qt. See #17.

Member

iBelieve commented Dec 15, 2014

On another note, for the network indicator, we can probably use libnm-qt. See #17.

@glenfordwilliams

This comment has been minimized.

Show comment
Hide comment
@glenfordwilliams

glenfordwilliams Dec 17, 2014

Contributor

are there any lighter alternatives to PlasmaCore.DataSource?

Contributor

glenfordwilliams commented Dec 17, 2014

are there any lighter alternatives to PlasmaCore.DataSource?

@iBelieve

This comment has been minimized.

Show comment
Hide comment
@iBelieve

iBelieve Dec 18, 2014

Member

@glenfordwilliams The lightest alternate is directly using DBus, which is what I believe @boghison is working on doing (see issue #16).

Member

iBelieve commented Dec 18, 2014

@glenfordwilliams The lightest alternate is directly using DBus, which is what I believe @boghison is working on doing (see issue #16).

@boghison

This comment has been minimized.

Show comment
Hide comment
@boghison

boghison Dec 23, 2014

Contributor

@ricardomv could you please switch to using our MPRIS implementation :) After all, part of it is your work ;)

Contributor

boghison commented Dec 23, 2014

@ricardomv could you please switch to using our MPRIS implementation :) After all, part of it is your work ;)

@ricardomv

This comment has been minimized.

Show comment
Hide comment
@ricardomv

ricardomv Dec 23, 2014

Member

@boghison sorry i don't have the time. If you want you can use this code and send me a pull request to my branch

Member

ricardomv commented Dec 23, 2014

@boghison sorry i don't have the time. If you want you can use this code and send me a pull request to my branch

@ricardomv

This comment has been minimized.

Show comment
Hide comment
@ricardomv

ricardomv Dec 23, 2014

Member

@boghison were do you have the repo with the QML plugin?

Member

ricardomv commented Dec 23, 2014

@boghison were do you have the repo with the QML plugin?

@iBelieve

This comment has been minimized.

Show comment
Hide comment
@iBelieve

iBelieve Dec 24, 2014

Member

@boghison @ricardomv I can take care of the implementing the indicator with the new library @boghison did, since I'm also working on a prototype of a unified notifications/widgets drawer.

@ricardomv It's at https://github.com/quantum-os/qml-desktop

Member

iBelieve commented Dec 24, 2014

@boghison @ricardomv I can take care of the implementing the indicator with the new library @boghison did, since I'm also working on a prototype of a unified notifications/widgets drawer.

@ricardomv It's at https://github.com/quantum-os/qml-desktop

@iBelieve

This comment has been minimized.

Show comment
Hide comment
@iBelieve

iBelieve Jan 23, 2015

Member

Closing now as we have a working music widget in the sidebar

Member

iBelieve commented Jan 23, 2015

Closing now as we have a working music widget in the sidebar

@iBelieve iBelieve closed this Jan 23, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment