10-01-2024, 06:45 PM
Quick note-
I found some time to revisit this thread today. Turns out I have no problem with the upmpdcli Tidal plugin if I use OAUTH2 authentication. Everything Just Works.
I'll try again on a clean system to make sure I wasn't making a mistake with PKCE before I post problem details and update my first post.
Quick synopsis with OAUTH2 method on a clean moOde install:
1. Enable your moOde player's "UPnP Client for MPD" renderer if you haven't already done so.
2. From the command line on your moOde player, Install the Python tidalapi module (Ignore the warning message you get when it's complete).
2. From the command line, ask to get OAUTH2 credentials (Note: unlike in my first post, this will now store the result with the correct ownership)
The response will be something like
Keep the comand-line terminal open (to see the followup) and use your web browser to visit the URL. You'll have to log into your Tidal account. Follow the prompts until you get to a "Your device was successfully linked to your account" screen. You're done with the browser.
Go back to the command line. You'll see a long response which begins with
You may wish to save the response in its entirety (it lists the credentials in two different forms in case you need to resurrect them later) but at this point you're done. Close the command line session.
I'm listening to a classic Wayne Shorter session I found on Tidal as I type this (ah, nostalgia). Using mConnectLite with my moOde player's UPnP-mediaserver selected as the Local Server, moOde UPnP selected as the "Play to" renderer.
Regards,
Kent
PS - if you have more than one moOde player in operation, you need do this on only one of them. It can be the UPnP mediaserver for any of them.
I found some time to revisit this thread today. Turns out I have no problem with the upmpdcli Tidal plugin if I use OAUTH2 authentication. Everything Just Works.
I'll try again on a clean system to make sure I wasn't making a mistake with PKCE before I post problem details and update my first post.
Quick synopsis with OAUTH2 method on a clean moOde install:
1. Enable your moOde player's "UPnP Client for MPD" renderer if you haven't already done so.
2. From the command line on your moOde player, Install the Python tidalapi module (Ignore the warning message you get when it's complete).
Code:
sudo python3 -m pip install tidalapi==0.7.6 --break-system-packages
2. From the command line, ask to get OAUTH2 credentials (Note: unlike in my first post, this will now store the result with the correct ownership)
Code:
sudo -u upmpdcli python3 /usr/share/upmpdcli/cdplugins/tidal/get_credentials.py -t OAUTH2 -f /var/cache/upmpdcli/tidal/credentials.json
The response will be something like
Code:
Authentication type is [OAUTH2]
Visit https://link.tidal.com/XXXXX to log in, the code will expire in 300 seconds
Keep the comand-line terminal open (to see the followup) and use your web browser to visit the URL. You'll have to log into your Tidal account. Follow the prompts until you get to a "Your device was successfully linked to your account" screen. You're done with the browser.
Go back to the command line. You'll see a long response which begins with
Code:
Writing the credentials to file [/var/cache/upmpdcli/tidal/credentials.json] ...
Credentials written to [/var/cache/upmpdcli/tidal/credentials.json]
Credentials file for type [OAUTH2] in json format:
...
You may wish to save the response in its entirety (it lists the credentials in two different forms in case you need to resurrect them later) but at this point you're done. Close the command line session.
I'm listening to a classic Wayne Shorter session I found on Tidal as I type this (ah, nostalgia). Using mConnectLite with my moOde player's UPnP-mediaserver selected as the Local Server, moOde UPnP selected as the "Play to" renderer.
Regards,
Kent
PS - if you have more than one moOde player in operation, you need do this on only one of them. It can be the UPnP mediaserver for any of them.