maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [SFOS] SMPC - MusicPD (MPD) Client (https://talk.maemo.org/showthread.php?t=92319)

djselbeck 2014-01-08 20:11

SMPC - MusicPD (MPD) Client
 
Hello,

as I've just uploaded a big update for SMPC - MPD Client I would like to open this thread for support and maybe feature requests if there are any left :).

The features are:

The 1.1.0 version features a local database for metadata.
You can bulkdownload all your cover/artists pictures and have a nice media view in this application.

Swipe left in album/artist view for album/artist information

Features:
- album view
- artist view
- local metadata database
- filebrowser
- search
- basic playlist control
- multiple server profiles
- output control
- automatic reconnect to last connected server

So here is a link to openrepos:

https://openrepos.net/content/djselbeck/smpc

Source code of course:

https://github.com/djselbeck/smpc

and some screenshots:

https://openrepos.net/sites/default/...0108203526.jpg

https://openrepos.net/sites/default/...0108204130.jpg

https://openrepos.net/sites/default/...0102030923.png

https://openrepos.net/sites/default/...0119171102.png

https://openrepos.net/sites/default/...0119171532.png

PS: Updated version just commited to harbour.

n950 2014-01-08 22:48

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
is it possible to send music via bluetooth?

djselbeck 2014-01-08 23:22

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Nope it is just an MPD CLient. so basically it just controls what the server (usually on a PC) plays.

anthonie 2014-01-10 00:18

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Quote:

Originally Posted by djselbeck (Post 1404979)
Nope it is just an MPD CLient. so basically it just controls what the server (usually on a PC) plays.

Thanks! Looking good.

Any chance on playback being incorporated? As much as I love mpd and basically use it almost exclusively I do dislike having two screens open for control and playback. Also, afaik Sailfish has no internet radio player yet, so there is even more reason... :)

Again, thanks.

djselbeck 2014-01-10 12:14

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Just to be clear we are on the samepage ;), what you need is playback of an streaming output from your MPD server?

I'll have a look into this in the future but not right now, I need a small pause from developing smpc ;) the local db took quite some time.

anthonie 2014-01-11 00:37

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Quote:

Originally Posted by djselbeck (Post 1405384)
Just to be clear we are on the samepage ;), what you need is playback of an streaming output from your MPD server?

Well... Need. That's a gross overstatement, I guess. :D But I would admit it saves a lot of trouble if the client to control the MPD would be the same as the one that fetches the stream. Actually, it would kinda rock. Album art as the love child of a marriage between ncmpcpp, mpc and Qt.

Quote:

I'll have a look into this in the future but not right now, I need a small pause from developing smpc ;) the local db took quite some time.
And thanks for that.

Now we're on the topic of local db's anyway, is it correct searches (agin, thanks for those!) are not stored somewhere? It would make returning to previous search results a lot faster.

An oddity I noticed is the album art. I see some gibberish whilst in full screen, so I figured I did not have the artwork available (even though it was there when I selected the song), and then I go to multitask view, and the artwork appears as an overlay for the smpc instance. Don't know what's up with that.

An lastly (forgive me): I have a rather large collection on my server. You think it's possible to add an alphabetic fastscroll as used within Harmattan here and there? Scrolling right now is a bit cumbersome with almost a thousand artists and bands.

djselbeck 2014-01-11 08:42

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
About fast scrolling. It is already there. Try scrolling on the right side of the display. the fast scroll area is rather small to not colide with album/artist grid view elements.

About the artwork issue I'll have a look.

Searches are not stored locally. I don't think this is possible because I can't check if search results would have changed without getting the actual result from server, I think. I could try to optimize the result fetching a bit, maybe.

anthonie 2014-01-11 13:40

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Quote:

Originally Posted by djselbeck (Post 1405585)
About fast scrolling. It is already there. Try scrolling on the right side of the display. the fast scroll area is rather small to not colide with album/artist grid view elements.

Ah. That probably explains it: I run it on my N9. And while it scrolls, it just does so at a normal speed. No visual indicator either. Probably the rounded side of the screen that's playing up.

Quote:

About the artwork issue I'll have a look.
I could be something else as well. I've seen graphical glitches in the Gallery view as well but less consistent.

Quote:

Searches are not stored locally. I don't think this is possible because I can't check if search results would have changed without getting the actual result from server, I think. I could try to optimize the result fetching a bit, maybe.
Time-stamps could solve that problem and allow you to store the results locally, even in a flat file if you like. Make the search done on a MPD server identifiable by timestamp and compare it to the time of the latest db update.

The fetching itself seems pretty quick. But I have only tried it locally, so far.

djselbeck 2014-01-11 13:59

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Quote:

Originally Posted by anthonie (Post 1405627)
Ah. That probably explains it: I run it on my N9. And while it scrolls, it just does so at a normal speed. No visual indicator either. Probably the rounded side of the screen that's playing up.



I could be something else as well. I've seen graphical glitches in the Gallery view as well but less consistent.



Time-stamps could solve that problem and allow you to store the results locally, even in a flat file if you like. Make the search done on a MPD server identifiable by timestamp and compare it to the time of the latest db update.

The fetching itself seems pretty quick. But I have only tried it locally, so far.

If section/fast scrolling does not work you can try editing:

/usr/share/harbour-smpc/qml/components/SectionScroller.qml

and replace

Code:

Item {
    id: scroller
    height: parent.height
    width: parent.width/7

with
Code:

Item {
    id: scroller
    height: parent.height
    width: parent.width/5


anthonie 2014-01-11 15:09

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Works perfect now. _O_ Thanks.

djselbeck 2014-01-14 22:28

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
New update coming after testing phase:

Teaser:

https://openrepos.net/sites/default/...0119171102.png

djselbeck 2014-01-19 16:31

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
New version is uploaded to openrepos

this one features almost complete landscape support. Just try it by turning your device around :)

anthonie 2014-01-21 13:13

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Hi

Thanks for the update. Turns out, the artefacts in images is a bug on the N9. Apparently it's got something to do with Qt4 workarounds no longer present in Qt5.

https://github.com/romu70/sailfish-for-other/issues/4

djselbeck 2014-01-21 19:52

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Alright, sorry to hear this. Hope there will be an workaround soon.

Thanks for your feedback

equim 2014-01-21 21:45

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Thanks djselbeck, SMPC is awesome :)

Now all we (well, I) need is mpd running on my jolla!

Some suggestions:

1. Connecting to multiple servers at once? Maybe multiple instances? Taking this further it would be amazing to be able to automatically link tracks that are on multiple servers and have an option to play on all servers at the same time, or maybe even an option to automatically play / pause the relevant server when entering / leaving the room. Maybe track based on relative wifi signal strengths, bluetooth connections etc? Probably better as a tasker/llama integration ... so write tasker/llama for sailfish first ;)

2. Maybe provide an add server link (or pulley menu) on the connect screen (I went there first, settings was my second guess).

3. Ability to automatically (or easily) add a connection to a local MPD. Better yet if there's a link somewhere to install a local mpd and add the connection to it! So yeah, port mpd over for me, cheers.

4. Add a cancellable grace period progress bar thingy before auto-switching to the playlist (the auto-switch is a nice feature but it's possible you tap the screen as it's switching intending to choose a menu option only to end up changing track).

5. On artists / albums screens show those with album art first (possibly optional). More than half my albums don't have artwork so it all looks a bit ugly.

6. When there is an option to play / add track/album/albums and the track(s) are in the playlist already have an option to play from existing playlist position.

7. When viewing an album / artist there is an extra screen to the right for showing album / artist information. This screen is accessible even when there is no information available, leaving a blank screen. it would be better to either not have the screen in that case or show "no artist / album information could be found".

8. It would be nice to be able to slide a finger left / right over the collapsed now playing thing at the bottom of the screen to seek (only after moving finger a reasonable amount). Or maybe just allow swipe left over it to move forward to the now playing screen no matter where you are in the app?

9. Ability to fetch/view lyrics for a track.

10. Ability to re-arrange tracks in the playlist with press, hold and drag and/or a cut / copy and paste before/after action in the menu for each track. Same for albums.

11. Multiple selection (maybe by just tapping the track on the very left) to allow for bulk deletions / moves.

12. Ability to view tags for a track. Possibly also edit (if we have a local MPD).

Yeah, that's a lot I know. Just wanted to get these ideas out there rather than demand you do them!

Should I add these as issues to the github project?

Thanks again.

djselbeck 2014-01-22 21:07

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Hello,

first I like that you like SMPC this gives me great pleasure as it all started out of personal need :).

Also I think that locally running MPD would be nice and it shouldn't be that hard to realize.

For the list of feature request I think there are definitely some useful but also some which I simply don't see as useful :).

I see what I can do but I'll start my new job soon and my spare time will probably reduced then.

I'll probably start with an optional simplified view for artist/album.

towhatend 2014-08-25 19:25

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Hi!
I have been using the awesome app, but then I was having to send it to Jolla Care and the phone was being cleand. Now I canīt get it to work. Iīm using ifconfig to get my IP and MAC adress but I canīt connect. Can you help me? :)

djselbeck 2014-08-25 19:53

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Quote:

Originally Posted by towhatend (Post 1436806)
Hi!
I have been using the awesome app, but then I was having to send it to Jolla Care and the phone was being cleand. Now I canīt get it to work. Iīm using ifconfig to get my IP and MAC adress but I canīt connect. Can you help me? :)

MAC is optional for wake on lan. Have you tried connecting from your PC (with gmpc for example) via the same host ip address?

towhatend 2014-08-26 11:17

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Quote:

Originally Posted by djselbeck (Post 1436808)
MAC is optional for wake on lan. Have you tried connecting from your PC (with gmpc for example) via the same host ip address?

Itīs working now, I was trying to connect with mopidy, with no sucess! With just MPD it works. Before I was sending my phone in mopidy was working as well. :)

djselbeck 2014-08-26 11:19

Re: SMPC - MusicPD (MPD) Client
 
I haven't tested mopidy for a long time but I know that it was working in qmobilempd(where all my network code came from). Strange. Didn't really changed much networking code

Is all not working, or just current playlist?

djselbeck 2014-08-26 20:45

Re: SMPC - MusicPD (MPD) Client
 
Hi,

can you try this version: here with mopidy please?

Thanks

towhatend 2014-08-26 21:16

Re: SMPC - MusicPD (MPD) Client
 
Quote:

Originally Posted by djselbeck (Post 1436894)
Hi,

can you try this version: here with mopidy please?

Thanks

Sadly, no change. =/

towhatend 2014-08-30 14:11

Re: SMPC - MusicPD (MPD) Client
 
Can it be some settings on my side? I canīt connect from my Raspberry pi either. It was also working before.

djselbeck 2014-11-28 22:16

Re: SMPC - MusicPD (MPD) Client
 
I just want to let you know, that i'm currently writing an local musicplayer with most of SMPCs gui. At the moment I cannot promise a release date but I can promise it will come.

djselbeck 2014-12-04 23:48

Re: SMPC - MusicPD (MPD) Client
 
Just an short update. I'm nearly done and also setup a small webpage for the upcoming musicplayer. I think the absolut worstcase of release date will probably be around christmas.

http://www.daedalus-music.org

mjtorn 2014-12-07 18:56

Re: SMPC - MusicPD (MPD) Client
 
Hi!

Is Daedalus the reason 1.1.8 isn't in the Jolla Store? I have this issue, enabled Warehouse to upgrade and it didn't work.

I share music off my desktop, NAS-style, to my Volumio Raspberry Pi and use SMPC to control it.

Whenever I buy and rip a new CD it doesn't show up in files. Because I rip my own collection, I can't be bothered with metadata, as I name them well enough.

Is there a way to refresh directory listings? Or is this a problem in my samba share?

Thanks!

djselbeck 2014-12-07 19:51

Re: SMPC - MusicPD (MPD) Client
 
No this is not the reason. I compiled 1.1.9 for the new opt-in sailfish. I've no idea if these files are compatible with the old version of Qt/Sailfish. If you want I can upload the 1.1.9 version rpm. But for the moment I don't want to distribute it, when I've not tested it on the old sailfish version

mjtorn 2014-12-07 19:55

Re: SMPC - MusicPD (MPD) Client
 
Quote:

Originally Posted by djselbeck (Post 1451032)
No this is not the reason. I compiled 1.1.9 for the new opt-in sailfish. I've no idea if these files are compatible with the old version of Qt/Sailfish. If you want I can upload the 1.1.9 version rpm. But for the moment I don't want to distribute it, when I've not tested it on the old sailfish version

I try to keep my phone vanilla, so I'd rather not do the opt-in. The player works pretty well, except for the NAS issue. Any hints for that?

Does it have a cache for files that can't be cleaned up or refreshed?

Thanks!

PS.
Really looking forward to Daedalus :)

djselbeck 2014-12-07 19:57

Re: SMPC - MusicPD (MPD) Client
 
Have you tried Settings->Update database? this orders MPD to update its database. There is no feedback of the action but it triggers the refresh of the database.

mjtorn 2014-12-08 05:28

Re: SMPC - MusicPD (MPD) Client
 
Quote:

Originally Posted by djselbeck (Post 1451034)
Have you tried Settings->Update database? this orders MPD to update its database. There is no feedback of the action but it triggers the refresh of the database.

Did not help... In the file browser I now have UPNP and RAMPLAY as well as the earlier NAS and WEBRADIO, so something happened.

I also went to database and chose clear complete database, which did now help - I still see only my original files, no additions.

Weird, huh? Do you have a files list to test against?

Thanks!

mjtorn 2014-12-08 05:34

Re: SMPC - MusicPD (MPD) Client
 
FWIW this is important to me because I have another Raspberry Pi coming in. It will run OpenELEC, which exports directories over samba. I'm hoping to have a copy of my record collection on it, so I can play music with (my current) Volumio RPi - and of course use SMPC to control it :)

djselbeck 2014-12-08 07:15

Re: SMPC - MusicPD (MPD) Client
 
I'm not sure i'm on the same page right now :).

What isn't working, is it the local database which only stores artist/album images or is it MPDs track database? if it is the MPD trackdatabase you just need to Select "Settings->Update database".

If it is the local metadatabase for images, album/artist art will download automatically if new songs are played or you do it manually via Settings->Database settings->download artist images and download album images.

Sorry for the confusion. Perhaps I'll rename the settings a bit to make it more clear.

greetings

mjtorn 2014-12-08 16:32

Re: SMPC - MusicPD (MPD) Client
 
Quote:

Originally Posted by djselbeck (Post 1451070)
I'm not sure i'm on the same page right now :).

What isn't working, is it the local database which only stores artist/album images or is it MPDs track database? if it is the MPD trackdatabase you just need to Select "Settings->Update database".

Tried that, it's not that.

Quote:

Originally Posted by djselbeck (Post 1451070)
If it is the local metadatabase for images, album/artist art will download automatically if new songs are played or you do it manually via Settings->Database settings->download artist images and download album images.

Nothing as fancy.

When SMPC starts, I choose files -> NAS -> mjt music.

NAS is for my desktop's samba share, named mjt music.

I get a list of my flacs, which I rip with a naming scheme that doesn't need metadata. The directory structure is this:
Artist/AlbumYear-AlbumName
So no metadata required, that structure is all I need. It even matches how I store the CDs on shelves.

When I rip a new CD onto my samba share - the NAS from SMPC's point of view - it does not show up in the list. In other words, I see only the albums I had there when I first set this up.

Is that a clearer explanation?

So my original question was whether or not the "files" list is cached in some way - either on SMPC's or samba's part? Can that be forcibly refreshed?

Thanks!

anthonie 2014-12-08 17:41

Re: SMPC - MusicPD (MPD) Client
 
@mjtorn

On updating MPD

I don't know the details of your setup, but I run MPD remote on a Raspberry Pi. My collection contains some 40+ Gb, basicallly all my music is on the rPi's SD card.

Updating the database takes some time with my setup, when I would simply issue something like:
Code:

mpc update
MPD will then rescan and update the complete database.

A faster method would be to tell it to update only specific directories like

Code:

mpc update MUSIC/ROCK
Even than, it still is slow. Just as a test I moved a new record over to the raspberry, and it showed up in the library list some 20 minutes later.

TLDR: MPD updating it's database really is slow in itself when your collection is large.

djselbeck 2014-12-10 21:24

Re: SMPC - MusicPD (MPD) Client
 
Yep, it can be very slow. SMPC always issues complete db update :) when clicking update database in settings

mjtorn 2014-12-11 06:43

Re: SMPC - MusicPD (MPD) Client
 
I'm sure it is. Does the files list use it implicitly or is it only used if I build it with metadata? Because I'm still not using a database, only a files list.

It took a long time, restarting both SMPC and samba from time to time, but the discs I ripped eventually showed up in the list all by themselves.

Maybe I'll read the SMPC code myself to see if there's caching in the file list, because everyone else seems fixated on the database ;)

djselbeck 2014-12-11 06:49

Re: SMPC - MusicPD (MPD) Client
 
SMPC caches nothing but metadata (artist,albumimages and one text about album/artist).

During application execution phase SMPC recatches the filelist for every path when you open the files page. For example. if you open / in filebrowser it catches the data fresh from mpd. if you go back to the SMPC Homescreen it releases all data to not put pressure on the device memory. This is the case for all MPD datarelated pages. As soon as the page gets pushed away, SMPC frees the data. This allows a small memoryfootprint.

For MPD itself there is no differention of filelist and database. If you want to browse you files in MPD and ANY client you need an mpd database.

Valvar 2014-12-12 19:45

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Quote:

Originally Posted by djselbeck (Post 1405384)
Just to be clear we are on the samepage ;), what you need is playback of an streaming output from your MPD server?

I'll have a look into this in the future but not right now, I need a small pause from developing smpc ;) the local db took quite some time.

If this were to be implemented, I'd happily donate as much as I am able to from my student budget! It would make it possible to use SMPC as an alternative to spotify (but with lossless quality from out own servers instead :cool:).

djselbeck 2014-12-16 23:57

Re: SMPC - MusicPD (MPD) Client
 
First version of Daedalus released:

http://talk.maemo.org/showthread.php?t=94319

djselbeck 2014-12-17 13:12

Re: [SailfishOS] SMPC - MusicPD (MPD) Client
 
Quote:

Originally Posted by Valvar (Post 1451874)
If this were to be implemented, I'd happily donate as much as I am able to from my student budget! It would make it possible to use SMPC as an alternative to spotify (but with lossless quality from out own servers instead :cool:).

Actually I tried this. But at the moment it looks like qmultimedia is unable to play the streams of mpd. I've tried flac/mp3/wave. It looks like an gstreamer issue. I'll have a look into it in the future again.


All times are GMT. The time now is 05:18.

vBulletin® Version 3.8.8