Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 7 123 ... LastLast
Results 1 to 10 of 66
  1. #1
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    20,430

    How to get "Browse on Music Service..." links

    What if you had access to a "browseonlineartist" menu query which produced the following:

    Code:
    {
        "params": [
            "ab:bc:cd:ef:ae:d1",
            [
                "browseonlineartist",
                "items",
                "0",
                999,
                "artist_id:1975"
            ]
        ],
        "result": {
            "loop_loop": [
                {
                    "id": "0",
                    "name": "Auf Qobuz durchsuchen",
                    "type": "link",
                    "isaudio": 0,
                    "hasitems": 1
                },
                {
                    "id": "1",
                    "name": "Auf Spotify durchsuchen",
                    "type": "link",
                    "isaudio": 0,
                    "hasitems": 1
                },
                {
                    "id": "2",
                    "name": "Auf TIDAL durchsuchen",
                    "type": "link",
                    "isaudio": 0,
                    "hasitems": 1
                }
            ],
            "title": "browser artist online",
            "count": 3
        },
        "method": "slim.request",
        "id": 0
    }
    You could use this to add those items to the results list, or have a shortcut to the similar items in the "artistinfo" menu.

    Or you'd call it not only with the artist_id, but the service_id too:

    Code:
    {
        "method": "slim.request",
        "id": 0,
        "params": [
            "ab:bc:cd:ef:ae:d1",
            [
                "browseonlineartist",
                "items",
                "0",
                999,
                "service_id:tidal",
                "artist_id:1975"
            ]
        ],
        "result": {
            "count": 5,
            "loop_loop": [
                {
                    "id": "d19b7c73.0",
                    "name": "Alben",
                    "isaudio": 0,
                    "hasitems": 1
                },
                {
                    "id": "d19b7c73.1",
                    "name": "Singles & EPs",
                    "isaudio": 0,
                    "hasitems": 1
                },
                {
                    "id": "d19b7c73.2",
                    "name": "Kompilationen",
                    "isaudio": 0,
                    "hasitems": 1
                },
                {
                    "id": "d19b7c73.3",
                    "name": "Titel",
                    "isaudio": 0,
                    "hasitems": 1
                },
                {
                    "id": "d19b7c73.4",
                    "name": "Wiedergabelisten",
                    "isaudio": 0,
                    "hasitems": 1
                }
            ]
        }
    }
    In that case you'd get the browse menu directly. I'd only have to provide a query to get the list of service_id values.

    Thoughts?
    Michael

    "It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
    (LMS: Settings/Information)

  2. #2
    Senior Member
    Join Date
    Mar 2017
    Posts
    1,894
    Quote Originally Posted by mherger View Post
    What if you had access to a "browseonlineartist" menu query which produced the following:

    Code:
    {
        "params": [
            "ab:bc:cd:ef:ae:d1",
            [
                "browseonlineartist",
                "items",
                "0",
                999,
                "artist_id:1975"
            ]
        ],
        "result": {
            "loop_loop": [
                {
                    "id": "0",
                    "name": "Auf Qobuz durchsuchen",
                    "type": "link",
                    "isaudio": 0,
                    "hasitems": 1
                },
               ...
            ],
            "title": "browser artist online",
            "count": 3
        },
        "method": "slim.request",
        "id": 0
    }
    What command should be sent when clicking on one of those? [ "browseonlineartist", "items", "0", 999, "artist_id:1975", "item_id:0"] ???? Also, can the service ID also be sent? That way Material can use its corresponding icon/emblem.
    Material debug: 1. Launch via http: //SERVER:9000/material/?debug=json 2. Open browser's developer tools 3. Open console tab in developer tools 4. REQ/RESP messages sent to/from LMS will be logged here.

  3. #3
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    14,744
    +1.
    I'd definitely also want to see the serviceID and also have a way to identify which ID refers to which service.

    This would, btw, also be useful for albums to be able to show an icon with the album cover like you do in the web interface.

    And while you are at it, it would be even better to have additional "online" browse options:

    * albums
    * tracks
    * genres
    * playlists

    and to be able to supply a "search:"-String. That way one could implement the search yourself, that would be a huge step.
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

  4. #4
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    14,744
    And yes, it probably means I'd definitely also want the version with the extra serviceId-Parameter, if I can only get one of the two that would be the one, otherwise both alternatives have their use cases.
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

  5. #5
    Senior Member
    Join Date
    Mar 2017
    Posts
    1,894
    Quote Originally Posted by pippin View Post
    +1.
    I'd definitely also want to see the serviceID and also have a way to identify which ID refers to which service.

    This would, btw, also be useful for albums to be able to show an icon with the album cover like you do in the web interface.
    You can use the 'extid' for this - this is what Material uses.
    Material debug: 1. Launch via http: //SERVER:9000/material/?debug=json 2. Open browser's developer tools 3. Open console tab in developer tools 4. REQ/RESP messages sent to/from LMS will be logged here.

  6. #6
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    14,744
    Quote Originally Posted by cpd73 View Post
    You can use the 'extid' for this - this is what Material uses.
    How do I map that to a specific service? Is it fixed and global?
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

  7. #7
    Senior Member
    Join Date
    Mar 2017
    Posts
    1,894
    Quote Originally Posted by pippin View Post
    How do I map that to a specific service? Is it fixed and global?
    Material checks if the 'extid' startswith; 'spotify:' => spotify, 'qobuz:' => qobuz, 'wimp:' => tidal, 'deezer:' => deezer (but not sure if this last one is correct, or even supported yet).

    There's also some SVG images for these in Material's code that you can use/copy/modify/etc..
    Material debug: 1. Launch via http: //SERVER:9000/material/?debug=json 2. Open browser's developer tools 3. Open console tab in developer tools 4. REQ/RESP messages sent to/from LMS will be logged here.

  8. #8
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    20,430

    How to get "Browse on Music Service..." links

    > How do I map that to a specific service?

    I'm using Spotify style IDs: spotify:artist:blah, wimp:album:123 (yeah,
    I know... but internally we're still using the old name).

    --

    Michael

  9. #9
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    14,744
    Quote Originally Posted by cpd73 View Post
    Material checks if the 'extid' startswith; 'spotify:' => spotify, 'qobuz:' => qobuz, 'wimp:' => tidal, 'deezer:' => deezer (but not sure if this last one is correct, or even supported yet).
    Ah, thanks. Should have looked at them
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

  10. #10
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    20,430

    How to get "Browse on Music Service..." links

    > What command should be sent when clicking on one of those? [
    > "browseonlineartist", "items", "0", 999, "artist_id:1975", "item_id:0"]
    > ???? Also, can the service ID also be sent? That way Material can use
    > its corresponding icon/emblem.


    I think it should be simpler to use

    ["browseonlineartist", "items", "0", 999, "artist_id:1975",
    "service_id:tidal"]

    And I'll provide a command to get the list of available service_id
    values. If you want to try them out until I have that new query ready,
    you can use spotty/tidal/qobuz.

    --

    Michael

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •