memen45 / SubMusic

Sync music and podcasts to your Garmin watch from your own SubSonic or Ampache server
GNU General Public License v3.0
122 stars 13 forks source link

newbie questions #6

Closed stefangweichinger closed 4 years ago

stefangweichinger commented 4 years ago

I am at the start of using your app and can't get it working, so let me ask a few questions:

Maybe I misunderstand something, maybe my watch is the problem: Fenix 6X Pro, with current beta Firmware ...

Thanks for any help here!

stefangweichinger commented 4 years ago

maybe related somehow: https://github.com/owncloud/music/issues/790 ?

memen45 commented 4 years ago

For a new installation, naturally, there are no local playlists yet. You have to start a first sync manually which allows you to view and select playlists from the server. I do not know the specifics for your device, so for the vivoactive 4s you can sync as follows:

Now the watch will search for wifi networks and enter the sync menu for SubMusic. Here you can select playlists for sync or test the connection to the server. Subsequently, the sync can be started and the playlists will appear instead of the 'no local playlists' message.

If you later want to change the local playlists, you have to follow these same steps to open the sync menu. Automatic syncs are performed as well, depending on your watch settings (in my experience, mostly during charging).

Hope this helps!

(P.S.: Ampache API is recommended, it is more stable, faster and does not have playlist size limitations (Subsonic API has a limit of ~25 songs).

stefangweichinger commented 4 years ago

Thanks a lot for your reply. I am making progress, but it seems that my watch doesn't connect to my WIFI right now. Hm. Reentered WPA2 key on the watch: success with WIFI.

Finding your app on the F6 is a bit more tricky, I might write a small Howto later, when I got it working.

Right now when I test the server connection I always get:

Test Failed
200
... Invalid Login - invalid session token, code=>401

I regenerated the token in the Music App, and updated and synced the SubMusic app accordingly.

memen45 commented 4 years ago

So that is a success? Or do you still receive the error?

In case you still get the login error: make sure you use the correct username and the generated password from the music app.

If you still encounter the issue, please send me an email through the 'Contact Developer' link on the SubMusic app landing page!

stefangweichinger commented 4 years ago

I think I hit this issue, it was just opened: https://github.com/owncloud/music/issues/791

memen45 commented 4 years ago

Thanks for reporting the issue. I am still running Nextcloud 19, so I have not encountered the issue yet.

You might want to try Subsonic API as backend. Subsonic does not work with session tokens, so it might work and you can use it temporarily. You would have to select and sync playlists again when changing back to Ampache API later though.

stefangweichinger commented 4 years ago

Thanks for the suggestion. Server Test gives me a similar result:

Test Failed
-400
null

For my next run I copy files over via USB ;-) ... we'll see what happens with the mentioned issues.

memen45 commented 4 years ago

Sorry for the late reply, I thought about it once more and I think you have an incorrect url. The issue you referred to refers specifically to the Ampache backend and does not apply to the Subsonic backend of the music app. The -400 error indicates that the response was not in JSON format, which typically occurs when you have an incorrect url. Nextcloud will respond with an HTML page if you try to reach a non-existing url, so the watch will give

INVALID_HTTP_BODY_IN_NETWORK_RESPONSE -400 Response body data is invalid for the request type.

Make sure you use https://yournextcloudbaseurl.com/apps/music/subsonic

stefangweichinger commented 4 years ago

You were nearly right: the URL was correct, but I hadn't flipped the API setting!

Now the test works, and your app finds the first test playlist. As I don't use playlists elsewhere, my next step will be creating a list for the podcasts I want to sync and test syncing that. Looks promising now, thanks!

stefangweichinger commented 4 years ago

The "navigation to the sync"-issue is a bit annoying as well, maybe you can help here also. But it might work out as soon as there are valid playlists in the music repo, I will check that and report later.

I have a first list with 3 files, it's found by thew watch, but the sync is at 0% now for minutes already.

I try switching to Ampache API now.

stefangweichinger commented 4 years ago

Ampache API gives me the session token error again. Hm.

Aside from that:

I always have to switch between "My Music" and "SubMusic" as music provider to be able to access the sync-menu again. Otherwise it goes straight into "Playlists" from where I don't know how to get to syncing or testing.

This means many buttons to press each time ... Maybe it is related to the Firmware of the Fenix 6, I don't know.

memen45 commented 4 years ago

If you are syncing podcasts, please note that those files are usually large. The watch wifi speed is usually slow. Therefore it can take a long(!) time to sync (see #5). Please have patience during the sync as the progress is updated per file only (partial download progress is not available).

I have not tested such large files, so feedback is appreciated. It is possible the execution time limit is exceeded.

You can check changelog.md to see the changes. The improvements on the Ampache API are not related to your issue with nextcloud 20, since that is not something I can fix.

stefangweichinger commented 4 years ago

The biggest podcast in the lists right now is 168MB in size. #5 sounds like: be patient ... ;-)

stefangweichinger commented 4 years ago

btw: with subsonic API I also only saw the "half circle" in the Server Test. I browse through #5 right now. If you want I could also set up a test user for you ... in that case let me know where to mail the creds to.

memen45 commented 4 years ago

Send me an email through the 'Contact Developer' option in the Connect IQ app store and I can try and connect against your server.

stefangweichinger commented 4 years ago

done, thanks. (right now it sync via subsonic API, "0%" done so far)

stefangweichinger commented 4 years ago

Sync via subsonic API work now. Nice for a start ;-) Yes, WIFI is slow, but ok ...

My intended "workflow" is to download podcast episodes on my desktop PC, pull over some of them into my nextcloud music folder and then let things sync to the watch now and then.

gPodder would allow to sync stuff into a mounted MTP device as well, unfortunately libmtp doesn't yet know the Fenix 6X Pro (libmtp-1.16 in Fedora 33, I filed an issue but F33 doesn't yet provide libmtp-1.17). And sure, connecting the watch via USB isn't as comfortable ...

So things work for me right now, although as far as I understand, using the Ampache API would be better? Thanks.

memen45 commented 4 years ago

Yes, indeed Ampache API is recommended. Mainly because of the response size limitations of Subsonic API do not apply to Ampache API.

Great to hear it is working now for you! I will close this issue as the problem is in Nextcloud 20 and it will most likely not require any changes in this repository.

Thanks for reporting!

memen45 commented 3 years ago

Just a note: the issue with ampache should be fixed in Nextcloud 20.0.5, see https://github.com/owncloud/music/issues/791#issuecomment-749793180