GithubHelp home page GithubHelp logo

sailfish-spotify / hutspot Goto Github PK

View Code? Open in Web Editor NEW
18.0 6.0 11.0 4.07 MB

Spotify Controller for SailfishOS. Documentation: https://sailfish-spotify.github.io/hutspot.

License: MIT License

QMake 0.71% JavaScript 13.09% QML 48.98% C++ 36.56% C 0.66%
sailfishos spotify

hutspot's Introduction

Hutspot

Hutspot is a Spotify 'controller' for Sailfish OS. You can browse/search albums, artists, playlists and tracks. Playing the music is done on an 'connect' device. It requires a premium Spotify account.

Documentation can be found at sailfish-spotify.github.io/hutspot

hutspot's People

Contributors

attah avatar dashinfantry avatar eson57 avatar fravaccaro avatar ksiazkowicz avatar lqs01 avatar poetaster avatar raketti avatar wdehoog avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

hutspot's Issues

search and wildcards

Spotify web-api search supports the '' wildcard. It does not seem to search for substrings so if for example you search for 'Gubai' you will not find 'Gubaidulina'. When searching for 'Gubai' you will find her.

Hutspot will append a '*' to the search string if not yet present to make searching easier but what if you want to search for a specific string? Then you don't want the wildcard to be added. Should hutspot never append a wildcard or somehow have it configurable?

player and the queue

Currently the player page also contains the queue as a list beneath the controls. Can/should they be seperated or combined otherwise?

Crash after disabling Discovery

I can't see anything useful in logs, but it's easy to reproduce.

  1. Open Settings
  2. Enable device discovery (I also enable Librespot since it's somehow stopping on app startup, weird)
  3. Exit settings (this one is pretty important)
  4. Open settings again and disable device discovery

Hutspot does not recognize phone.

Installed hotspot together with librespot. Trying to set device to the phone using librespot, however it is greyed out.usibg the authorization blob does nothing. So I can play on a speaker setup within spotify through hutspot without problems, but cannot play on the phone itself (sony xa2). If however I have spotify running on the phone then all of a sudden I can play on the phone through hutspot as it uses spotify as the player. What am I doibg wrong? (spotify logon ib through facebook). Thanks!

Various lists on MyStuff page

Currently the MyStuff page contains five sets: saved albums, saved tracks, playlists, followed artists and recently played tracks. Should it remain this way, should the UI be changed or should they be on different pages?

Play fails

When I try to play a track, I get "Play failed:404:Device not found".

  • I am logged in into my Spotify premium account and I can browse my playlists
  • I have revoked app's access and refreshed its token but still fails

Other suggestions?

Thank you

Proposal: change listview in GenreMoodPage into gridview

I have changed the listview in the genremoodpage into a gridview. This has two advantages:

  1. scrolling is limited
  2. you can have all genres in one page *)
    and one disadvantage:
  3. long genre names don't fit.
    *) Only when the retrieve genre call is changed so that all genres are retreived in one call (then you don't have to use the load previous/next set menu), this can be done by changing the line property int limit: app.searchLimit.value into property int limit: 45
    Here's the new page (with the original app.searchLimit.value):
    genremoodspage

librespot does not start at boot

When enabling the librespot service by changing the [Install] lines in the unit file and systemctl --user enable librespot it is supposed to start at boot. However this does not happen.
It keeps complaining with ENODEV (No such device) about the network sockets.

After logging in systemctl --user start librespot works though.

Alternative icon (just to share)

Although one of the basic forms of the Jolla Icon set is a circle, I find the standard circle icon rather boring. Made myself a nice alternative Sailfish Spotify icon (no gradient of whatever, just a plain simple icon). (You would say I could spend my time better ;-)
harbour-spotify

Navigation menu type result in losing access to settings

Changing the navigation menu type from the settings to anything else than the default one results in losing access to the settings page. Docked Panel with all icons for instance just loses all its icons and the only way to recover is to reset it directly using dconf write /hutspot/navigation_menu_type 3

Wrong order in MyStuff views

Might be broken somewhere else as well, it's really easy to see when browsing Saved Albums for example.

All data in the list is currently in alphabetical order, but what we get from Spotify actually isn't returned in that order. When you scroll past certain threshold, next page is loaded from the API, but since the data is displayed in alphabetical order, new data will be added, for example, under "A" section, making scrolling look/act broken.

Authentication not possible under SailfishOS due to new process invoking Captchas

Despite entering the correct credentials, HutSpot complains about the authentication having failed. Restartung the app reroutes me from the simple credential entering dialog to a website, where I should follow a captcha process. This doesn't work, since it states, that my browser is not actual and therefore the authentication process could not be completed.
So I am stuck at that point, not having any option to avoid that captcha. Long speech, short conclusion: At the moment, this app unfortunately is unusable.

Light ambience messes Now Playing screen

The dark ambience works nicely with Hutspot, but if a light ambience is used, the Now Playing screen isn't readable. I tried looking in to the qml, but couldn't find a clear indication on where the theme is defined (total noob here), I honestly don't know if this is something that is declared for each qml file separately or if it't inherited from somewhere.

Here's some screenshots of the Now Playing screen with light ambience:
https://imgur.com/a/gc0wUjn

Login is not possible

Hallo!

At the login page the login button doesn't work...seems to be a html/JavaScript problem...

Cheers Florian

Song / Playlist download

First of all I want to thank you for this project... Hutspot is awesome! I've been waiting for this for a long time (ever since Cutespot stopped being updated and ever before that actually...)!

This is not an issue but rather a question or feature suggestion/enhancement: Is there any way to download songs or playlists? I haven't found that option in the app nor any info on this in the documentation, and this is the only feature I'm missing from Hutspot right now.

Thanks and keep up the great work!

No login after update to SFOS 4.4.0.58

SFOS: 4.4.0.58
device: XA2

After update to SFOS 4.4.0.58 I had to login to hutspot again. This was not possible due to a white login page and due to a not working login over the standard browser of SF (see attached screenshot). I really hope that there is a workaround possible or an "easy" fix for you because I´m a huge fan of hutspot and would really miss it on my device. Thanks for your great work for SF. Greetings from Austria, broncheolus.

edit: I managed to reregister when starting hutspot from commandline (login page shows). After that hutspot works from commandline but still not from icon. I will investigate further.

edit: all the config folders seem to be empty (in .config and .local/share)

edit: Oh, is it the thing with sailjail disable and the .desktop file? One has to edit it, I think. But not knowing how, so next step to be solved. Just a little help would be appreciated. Thx.

photo_2022-04-03_16-57-59

No sound

When I play a track, the track plays, but there is no sound to hear

System: SailfishOS 3.0.1.14
App-version: sailfish_hutspot_20190110-1.11.1.jolla

Idea: Make Hutspot also a standalone player

In future, make Hutspot not only a controller, but also a standalone player on the device it is running at.

That would make the app more useful and complete and eventually makes it a replacement for other not native SailfishOS apps.

Design Ideas

First, I'd like to say that this project looks really promising. I'd love to see a good Spotify client on SFOS (especially when that damn Android app takes like 4 minutes to load, WHY).

As I understand, interface design is not something you focused on and, to be honest, it's not that good. The most confusing bit is that menu that appears after tapping on an icon next to "Playing", that took me some time to find.

Anyway, I'd love to help. Right now I have some issues with setting up your app under my SDK, so I focused on making mockups in QML and discussion.

Cover Page:

zrzut_ekranu_20180728_001
This one is pretty straight-forward, I'm not 100% sure on that "Spotify" row, but I want something that clearly indicates that this is a Spotify client, not some other app.

"Now Playing" Page

zrzut_ekranu_20180728_004
Clearly inspired by Spotify's "Now Playing" page, with a Sailfish twist. (Only) on this page, cover art will replace your current ambiance background. I suppose this is a bit against guidelines, but it just feels so cool IMHO. I don't know where to place them yet. Also, this won't be the main view anymore, it'll be attached to the browse view (which I haven't designed yet) so it's always accessible with a swipe. Tapping on "Listening to Jolla C" will bring up device selection. I couldn't find any speaker-like small icon in Sailfish Icon Reference so I put a play triangle there (this will be changed obviously).

If you're interested, I can work further on that and integrate it into your current code (since I already use QML for these mockups, this shouldn't be too hard).

aarch64 no longer compiles, openssl differences?

../hutspot/src/connect/spconnect.cpp: In constructor ‘SPConnect::SPConnect(QObject*)’:
../hutspot/src/connect/spconnect.cpp:41:17: error: invalid use of incomplete type ‘DH’ {aka ‘struct dh_st’}
     BN_rshift(dh->priv_key, dh->priv_key, 8);
                 ^~
In file included from /usr/include/openssl/crypto.h:25,
                 from /usr/include/openssl/bio.h:20,
                 from /usr/include/openssl/dh.h:17,
                 from ../hutspot/src/connect/spconnect.h:7,
                 from ../hutspot/src/connect/spconnect.cpp:1:
/usr/include/openssl/ossl_typ.h:106:16: note: forward declaration of ‘DH’ {aka ‘struct dh_st’}
 typedef struct dh_st DH;
                ^~~~~
../hutspot/src/connect/spconnect.cpp:41:31: error: invalid use of incomplete type ‘DH’ {aka ‘struct dh_st’}
     BN_rshift(dh->priv_key, dh->priv_key, 8);
                               ^~
In file included from /usr/include/openssl/crypto.h:25,
                 from /usr/include/openssl/bio.h:20,
                 from /usr/include/openssl/dh.h:17,
                 from ../hutspot/src/connect/spconnect.h:7,
                 from ../hutspot/src/connect/spconnect.cpp:1:
/usr/include/openssl/ossl_typ.h:106:16: note: forward declaration of ‘DH’ {aka ‘struct dh_st’}
 typedef struct dh_st DH;
                ^~~~~
../hutspot/src/connect/spconnect.cpp:44:12: error: invalid use of incomplete type ‘DH’ {aka ‘struct dh_st’}
     powm(dh->g, dh->priv_key, dh->p, dh->pub_key);
            ^~
In file included from /usr/include/openssl/crypto.h:25,
                 from /usr/include/openssl/bio.h:20,
                 from /usr/include/openssl/dh.h:17,
                 from ../hutspot/src/connect/spconnect.h:7,
                 from ../hutspot/src/connect/spconnect.cpp:1:
/usr/include/openssl/ossl_typ.h:106:16: note: forward declaration of ‘DH’ {aka ‘struct dh_st’}
 typedef struct dh_st DH;

App for the Jolla tablet

Hi, again

This is actually not an issue, but a suggestion - I just didn't know, where to open it...

I like the hutspot-app on my Jolla 1 very much, but I miss it on my Jolla tablet. Is there a chance, that you will make a port for the tablet, too?

Thank you for your excellent work :-)

Roland

[question] why Librespot?

I was wonder what was the reason for choosing Librespot, did you look at other options like spotifyd.

personally I don't care one way or another as long as there is an working native client for SailfishOS, I'm just curious

Recently played list is in wrong order

Recently played list shows the oldest items first and newest last. This is a small but relevant little detail as it's more intuitive to see what you've most recently listened to.

what kind of menu

Currently hutspot has two kind of menus:

  1. a docked panel with buttons, shown when pressing the 'burger' icon
  2. a page with a list of items, shown when pressing the 'burger' icon or as an attached page of the player

Which one shall hutspot use? How will it be shown? Are there any other ways a menu could be shown ?

404 after playing one song

Dear all,

After playing a song using Librespot, playing stops (404 error). Then I have to stop and restart Librespot for the next song. (latest versions).
Haven't success to start and authorize Librespot manually yet.

By the way: if in the settings automatically start/stop at launch/stop of Hutspot is enabled, I have to restart Librespot manually for success.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.