Code Monkey home page Code Monkey logo

submusic's Introduction

SubMusic

Synchronize playlists from your own music server: Nextcloud - Subsonic - Ampache - Airsonic - Plex

Features:

  • Browse your online playlists and podcasts
  • Make playlists available offline
  • Make latest podcast episode available offline
  • Browse and play your songs offline by playlist, shuffle, play all at once
  • Enable podcast mode if you have podcast episodes in a playlist
  • Listening count is uploaded to your server next time you sync
  • Enjoy Album art (if available on server, not supported on all devices)

How to use

Set up Synced Playlists Choose from synced playlists Enjoy your music

How to set up

You need a music server supporting either the Ampache API or the Subsonic API and a compatible Garmin Watch. Check the Garmin App store.

== Nextcloud ==

In the connect iq app settings, choose 'Ampache API' for the 'API backend' option. Install, enable and open the owncloud/music app (v0.15.1 or higher). In Settings copy the URL for the Ampache endpoint and paste it into the connect iq app settings. The URL should look like the following: "https://example.nextcloud.com/apps/music/ampache", no trailing slash. Now enter a Description (e.g. "Garmin SubMusic") and Generate API password to enable a new access for the Ampache API endpoint. Enter your username and the generated password in the connect iq app settings.

The music app does not transcode music, so supported file types are MP3, MP4, ADTS and WAV files. Only MP3 has been tested, support for the other formats is in beta. Please report issues!

== Ampache ==

Requires Ampache version 4.2.0 or higher. For older versions you can enable the SubSonic backend in System settings in the Ampache web UI and select Subsonic API in the connect iq app settings. Choose Ampache API in the Connect IQ app settings and fill in the url, username and password accordingly.

== Subsonic/Airsonic ==

Supported. Just choose Subsonic API in the Connect IQ app settings and fill in the url, username and your password accordingly.

== Plex ==

Should be supported now including transcoding. Make sure you enable remote access inside Plex, then login through plex.tv and follow these instructions to obtain the server address and the API key. The Server Address should look like https://ip-adress.somehashvalue.plex.direct:32400/, where ip-address and somehashvalue are unique for your situation. Now head to Connect IQ app store, choose Plex API in the SubMusic app settings and fill in the Server Address and API key you found. Enjoy your music!

Known issues

Below a list of known 'issues'. These are problems that cannot be fixed by design of either the watch software or the API backends chosen.

General - 'Error -300' or 'Error 0': first check the server address for typos. If using HTTP, enable HTTPS on your server.

  • Do you use self-signed certificates? Install certificates signed by a certificate authority (CA) e.g. Let's Encrypt. Do you limit the TLS cipher suites to only the latest? Try enabling some older ones, see this issue.
  • Are you using default custom ports such as <address>:4040 or <address>:32400? This is not supported, so use ports 80 and 443 only!

SubSonic API - no more than ~25 songs on a playlist, due to Subsonic API and watch limitations. Do you get 'Error -402' during sync? Remove some songs from the playlist.

Nextcloud - does not support transcoding, so supported file types are MP3, MP4, ADTS and WAV files. Other file types will be skipped (shows a 'need sync' in playlist overview).

== Support ==

If you use the "Contact Developer" option, please make sure to attach your email address to the message so I can reply. You can also go to https://github.com/memen45/SubMusic on GitHub and open an issue.

submusic's People

Contributors

memen45 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar

submusic's Issues

Bug: Venu 2 skip forward 30 seconds

When track is playing “skip forward 30” function switches to the next track on my venu 2.
If the actual track is paused before skipping it works like expected and skips 30 seconds then track starts playing. If the track is paused again the function works again. If the track is playing the function will skip to the next track.

Suggestion: Is it possible to implement a “pause” command when skip 30 seconds is executed just before the skip is called?

navigation to sync - too many button presses

I create a new issue for this because it's annoying in daily usage.

As mentioned below I can't tell if it is specific to the watch, caused by the firmware or your app. I'd just like to give feedback, maybe I can learn some different access method or you know a way to improve this:

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.

Originally posted by @stefangweichinger in #6 (comment)

newbie questions

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

  • my nextcloud is already at version 20.0 ... do you know if your app also works with this latest release of nextcloud?
  • I chose the ampache-API, is it preferable or not? I even uninstalled and reinstalled after switching over from the other API
  • as far as I understand I can use SubMusic by long-pressing Menu, then "Music" (in my case in german ;-)), then ... SubMusic? I only get "no local playlists" there. I don't know: does it authenticate at all, or whatever

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

Thanks for any help here!

Problem connecting to Airsonic

Hi,

i've been using SubMusic with Airsonic from https://github.com/airsonic/airsonic.github.io
I use the latest standalone version from last may.

My last working sync was in January, and was working perfectly. However I cannot make the latest 0.16-golf version to sync.
The test server function gives HTTP error 500. I can see by tracing the network that garmin connect on my iOS does connect, but it gets this error message from Airsonic.

The sync action loops endlessly. it displays "Syncing" with no variation
The playlist function gives "HTTP error 500".

I've tried reinstalling the server completely but it didn't help. I also noticed that I can only start the sync without any BT connection to the iOS device. All other tests requires that BT is connected.

is there something that has been changed lately that could break the sync?
Is is possible for my to get an older version to install manually on my Garmin Fenix 6 to see if it works?

Watch: Garmin Fenix Saphire 6 13.30
Submusic 0.16-golf
IOS 14.3, latest garmin connect
Airsonic latest version (April-may 2020)

Please advise for any log or test needed

thanks

Fail to connect Forerunner 945 to demo subsonic server.

SubMusic version: 0.1.5 - downloaded 2 days ago.
Device: Garmin Forerunner 945. S/W version 6.20

In order to test my Garmin connection , I use server:

Server: http://demo.subsonic.org
Username: android-guest
For API key - I enter the password for the demo service.

Errors

  1. Test Server option shows me -400 INVALID_HTTP_BODY_IN_NETWORK_RESPONSE without connecting to my WIFI. I do verify that I can successfully sync my watch via WIFI.
  2. Sync option connects to WIFI and shows infinite Syncing. I have the same problem on connecting to my local subsonic service with 1 song media file.
  3. It looks like Sync option keeps open WIFI connection and in this case Test Server option shows me ERROR::HTTP::404 NOT_FOUND.
  4. After watch restart and select Test Server option with disabled bluetooth I got '- 104 BLE_CONNECTION_UNAVAILABLE'. Why it tries to use bluetooth in stead of WIFI?

When using headphones, the next track works as a 30 second fast forward

Has installed today this application and it worked fine, but it have one annonyed issue. When I trying to control music via my headphones in standart music application double click on my headphones works as next track command, but in this application it works as fast forward on 30 seconds. Can you fix this?

Network Request Timed Out Errors When Fetching Playlists Or Testing Server

Hi, I updated the app a few weeks ago but when I try to fetch playlists from my server, I'm getting the Timed Out error screen. I've confirmed that my details and credentials are correct, as I am not seeing the same error when I Sync; In that case, my Garmin Vivoactive 3 Music connects to my WiFi and shows that the watch has successfully synced. The Timeouts are being shown even though there appears to be no attempt to connect to my WiFi network. I've tried removing all settings, deleting the application and reinstalling with no luck.

Sync Issue: FR955 + Plex

@memen45 -- I've got connectivity to the PMS (I can see playlists, and songs in playlists) when trying to sync, the watch connects to the wifi nicely, but give me an error after about 60 sec. GarminSdkError::0

"Radio Stations" in Ampache

Hi all,
thanks for your great work on this project. I have a small question/request.
Can I stream music via the "Radio Stations" in Ampache? I love Internet Radio und can't seem to find a way to get these working.
Version: Ampache 4.4.3-release
Thank you very much.

best regards

Sync not possible (GarminSdkError 0) while Server test is okay

I have installed SubMusic on my Fenix 7 and try so sync it with my Nextcloud Music server. I use the Ampache API of the music app and my server has TLS v1.2 and v1.3 with Let's Encrypt certificates.
The server test succeeds and I am able to fetch my playlists and to show the files in a playlist. But as soon as I try to sync the playlists, sync stops at 0% and the watch shows an GarminSdkError:0.
The README.md suggests that there may be a problem with the server path, but I have checked it multiple times and I would expect that would not able to see my playlists if the configuration was wrong.
My server logs do not show anything suspicious. No errors. Is there anything I can do to find the problem? Debug logs created on the watch?

store playback position

Does playback of music remember where you last stopped? For music this might not be relevant, for listening to podcasts it would be great if I could continue listening where I stopped yesterday. In my experience that is not the case right now. And with podcasts of multiple hours length this is kind of annoying. Try to fast forward 90 minutes on a watch while running :-P

Do you think/know if this might be related to some "this file is new, because it synced today" or so? Or does the music player on the Garmin watches simply not track "playback position"?

Originally posted by @stefangweichinger in #9 (comment)

SubMusic crashes on Venu 2S

I receive a "Media error occured" (in german: "Medienfehler") upon opening SubMusic on the watch.

I cannot open SubMusic on a Venu 2S:

  • Venu 2S, Firmware 3.24, Wi-Fi-Version 3.00, Connect IQ 4.0.0, TSC Version 17.36
  • Language: German
  • SubMusic Version: 0.1.8-india

I intend to use SubMusic with Ampache. But it doesn't matter if I configure a server address and credentials. No matter what I type, the app doesn't open: "Medienfehler".
I already tried uninstalling/reinstalling the app and restarting the watch.

Sync issue

I've got a sync issue which looks a bit like #30. I'm using SubMusic v0.1.24-yankee on a Venu watch with Ampache 5.3.1.

Initial sync always works fine and songs get transferred to the watch. Then, when auto-sync starts (when watch is plugged in), sync stays at 0%.

Apache log shows those two lines again and again (like in #30).

192.168.X.X - - [04/May/2022:16:07:10 -0400] "GET /server/json.server.php?date=1651160598&id=13&client=SubMusic-v0.1.24-yankee&action=record_play&auth=XXXX HTTP/1.1" 200 103 "-" "Garmin Venu 2/8.11"
192.168.X.X - - [04/May/2022:16:07:10 -0400] "GET /server/json.server.php?auth=XXXX&timestamp=1651694829&action=handshake&user=XXXX&version=440000 HTTP/1.1" 200 512 "-" "Garmin Venu 2/8.11"

Looking at ampache log, I see the following (over and over again).

2022-05-04T20:11:27+00:00 [] (Ampache\Module\System\Dba) -> Database connection...
2022-05-04T20:11:27+00:00 [] (Ampache\Module\Api\Authentication\Gatekeeper) -> API session [XXXX]
2022-05-04T20:11:27+00:00 [] (Ampache\Module\Api\ApiHandler) -> API function [Ampache\Module\Api\Method\Api4\Handshake4Method]
2022-05-04T20:11:27+00:00 [] (Ampache\Module\Api\Method\Api4\Handshake4Method) -> Login4 Attempt, IP: 192.168.X.X Time: 1651695083 User: USER (3)
2022-05-04T20:11:27+00:00 [] (Ampache\Module\System\Session) -> Unable to read value from key  no data found
2022-05-04T20:11:27+00:00 [] (Ampache\Module\System\Session) -> Session created: YYYY
2022-05-04T20:11:27+00:00 [] (Ampache\Module\Api\Method\Api4\Handshake4Method) -> Login Success, passphrase matched
2022-05-04T20:11:27+00:00 [] (Ampache\Module\System\Session) -> XXXX has been extended to Wed, 04 May 2022 21:11:27 +0000 extension length 3600
2022-05-04T20:11:27+00:00 [] (Ampache\Module\System\Dba) -> Database connection...
2022-05-04T20:11:27+00:00 [] (Ampache\Module\Api\Authentication\Gatekeeper) -> API session [YYYY]
2022-05-04T20:11:27+00:00 [USER] (Ampache\Module\Api\ApiHandler) -> API function [Ampache\Module\Api\Method\Api4\RecordPlay4Method]
2022-05-04T20:11:27+00:00 [ampache] (log.lib) -> [Runtime Error] Undefined array key "user" in file /var/www/ampache-5.3.1/src/Module/Api/Api4.php(218)
2022-05-04T20:11:27+00:00 [ampache] (log.lib) -> [Runtime Error] Undefined array key "user" in file /var/www/ampache-5.3.1/src/Module/Api/Api4.php(218)
2022-05-04T20:11:27+00:00 [USER] (Ampache\Module\Api\Api4) -> 'user' required on record_play function call.
2022-05-04T20:11:27+00:00 [USER] (Ampache\Module\System\Session) -> YYYY has been extended to Wed, 04 May 2022 21:11:27 +0000 extension length 3600

Stream audio when wifi available

Up to now the workflow for listening to a desired song or playlist is:

  • Select playlists (know on which one the desired song resides)
  • Sync (interrupts watch usage for the duration of the playlist download)
  • Playlists -> myplaylist -> Songs -> mysong

If wifi is available (e.g. indoor sports), this could be simplified by including online available playlists in Playlists menu. Then we only have

  • Playlists -> myonlineplaylist -> Songs -> myonlinesong

This requires

  • Playlists menu to be fixed (include online playlists if wifi available, mark online playlists - e.g. dark grey font instead of black)
  • API implementation of methods (Ampache: unknown, Subsonic: HLS ? -> requires testing)
  • refIds will no longer work reliably, since HLS stream has to be requested for each play and cannot be stored. How to get the ContentRef to the player?
  • ...

There might be more issues, requires more testing with HLS and audio downloads in normal program flow.

Shuffle settings doesn't saved

I like to turn shuffle all in app settings. I noticed, that between my trainings shuffle all setting is always off. I have to change shuffle every training. Can you fix it?

error 200

Hi

I`m using Nextloud, downloaded couple MP3 podcasts, followed your guide.
Connect on my watch Garmin 5 PLus , can see and check my playlists and then when I want to synch it gives me blank screen with "200"

my link to ampache is http://.... although the web I access nextcloud through is https://

any idea what to do?

Some playlists won't syncronize with ampache (loop on request with action=playlist_songs)

Music server: Ampache
Device: Forerunner 245 music
App version: 0.2.2-eurotas

I have 2 playlists with 11 songs each. For the first one, the sync works correctly. For the other, it hangs indefinitely when I try to sync and never shows any progress. I checked the access.log of my reverse proxy and here's what I see. It seems like submusic is trying again and again to fetch the list of songs in the playlist.

192.168.1.50 - - [05/Aug/2022:18:40:37 +0200] "GET /server/json.server.php?action=playlist&filter=1&auth=BLA HTTP/1.1" 200 375 "-" "Garmin Forerunner 245 Music/10.40"
192.168.1.50 - - [05/Aug/2022:18:40:38 +0200] "GET /server/json.server.php?limit=20&action=playlist_songs&filter=1&offset=0&auth=BLA HTTP/1.1" 200 41778 "-" "Garmin Forerunner 245 Music/10.40"
192.168.1.50 - - [05/Aug/2022:18:40:38 +0200] "GET /server/json.server.php?auth=BLA&limit=20&action=playlist_songs&filter=1&offset=0 HTTP/1.1" 200 41770 "-" "Garmin Forerunner 245 Music/10.40"
192.168.1.50 - - [05/Aug/2022:18:40:39 +0200] "GET /server/json.server.php?auth=BLA&limit=20&action=playlist_songs&filter=1&offset=0 HTTP/1.1" 200 41778 "-" "Garmin Forerunner 245 Music/10.40"
192.168.1.50 - - [05/Aug/2022:18:40:39 +0200] "GET /server/json.server.php?auth=BLA&limit=20&action=playlist_songs&filter=1&offset=0 HTTP/1.1" 200 41778 "-" "Garmin Forerunner 245 Music/10.40"
192.168.1.50 - - [05/Aug/2022:18:40:40 +0200] "GET /server/json.server.php?auth=BLA&limit=20&action=playlist_songs&filter=1&offset=0 HTTP/1.1" 200 41778 "-" "Garmin Forerunner 245 Music/10.40"
192.168.1.50 - - [05/Aug/2022:18:40:41 +0200] "GET /server/json.server.php?auth=BLA&limit=20&action=playlist_songs&filter=1&offset=0 HTTP/1.1" 200 41778 "-" "Garmin Forerunner 245 Music/10.40"
...

I don't see anything wrong with what I get as a response from this request:
https://pastebin.com/Kmt4a0Uh

Any ideas ?

Sync unreliable on Fenix 6 Pro with airsonic-advanced

Description

Unable to complete sync with airsonic-advanced. Gets stuck on 0% when using the Automatic Sync on charge, and fails when using a manual sync with error "SubsonicError::null" (image attached). I don't see anything in the SubMusic logs after seeing this error.

Often has trouble connecting to WiFi when manual syncing too, but not always, no issue connecting to WiFi when selecting music provider (Music > Settings > Music Providor > SubMusic > [Searches here for WiFi, finds it without issue]. When leaving the watch to sync it will occasionally complete anyway.

After syncing fails some state seems to be retained, battery drains at 10x or so usual rate, and bluetooth connection loses a lot of range connecting to headphones (over 50% cut).

Test Environment

Airsonic

Airsonic-advanced 11.0.0-SNAPSHOT.20211001065822 – October 1, 2021 at 4:58:22 PM AEST (latest official docker image)
Running with reverse proxy and and HTTPS on my own domain

SubMusic

SubMusic 0.1.18-sierra

Phone

Android 11 Phone Connection

Watch

Garmin Fenix 6 Pro
SW: v19.20 (0fe794a)

WiFi

2.4GHz Connection, Visible SSID
UniFi AP
WPA2 Password
Alphanumeric Password

Supporting Images

image

Issue with auto sync

I use ampache backend with nextcloud. When I charge my watch, system start auto music synchronization. It starts but never ends, sync job running endlessly, always at 0%. And there is one way - manually cancel sync. Sometimes after this sync songs not playing. I see it in the list, but nothing plays.
Version: 0.1.3-delta, new version still not available in store.

Logs from my nextcloud instance:

[19/Jan/2021:22:46:24 +0300] "GET /index.php/apps/music/ampache/server/json.server.php?action=playlist&filter=3&auth=XXX HTTP/1.0" 200 89 "-" "Garmin Forerunner 645 Music/7.0"
[19/Jan/2021:22:46:24 +0300] "GET /index.php/apps/music/ampache/server/json.server.php?limit=20&action=playlist_songs&filter=3&offset=0&auth=XXX HTTP/1.0" 200 1299 "-" "Garmin Forerunner 645 Music/7.0"

Media Error Occured on fetching playlist

I just installed the app today and when I'm trying to sync I'm getting the error "Media Error Occured" when it's trying to fetch the playlist.

My setup is

server address: http://myhost.com:44
username: myuser
api key: mypassword

I'm running airsonic which works very well with all other subsonic clients: https://airsonic.github.io/

One thing that I found a bit weird is that on the config page, it shows "alpha 0.0.1" but as I installed today I think it should be 0.0.3 .

I'm using a vivoactive 4

Fenix 7 and Epix Gen 2 support

The new watches are out now, and it would be nice to be able to use this great app with them.

Would it take much work to add support for these watches? I would be willing to try it, given some pointers/guidance.

Thanks for all your work on this!

API Error

I am trying to connect my new Garmin Fenix 6X to my Airsonic server running on an unRAID docker.

I currently use the Audinaut app on my Android and I am able to fully connect to the server (HTTPS) address, username, and password.

To connect on that app, I turn off the token/salt authentication.

When I use the same server address, username, and password that is working on that app, I continue to get API errors (Unknown).

Do you know how I may be able to troubleshoot this?

My Airsonic has the credentials set for BCRYPT if that makes any difference. Do I need a different set of credentials to work with Submusic?

Thanks!

Add option for HTTP Authentication

I use HTTP Authentication for my subsonic installation rather than the standard subsonic username & password login, so that I can easily utilize fail2ban to throttle & block invalid login attempts.

I added SubMusic to my Venu 2 Plus, specified my server URL, username, and password, but I'm getting an error when I click Test Server:

GarminSdkError::-400
Error HTTP -->
GarminSdkError::"
INVALID_HTTP_BODY_IN_NETWORK_RESPONSE"

Subsonic itself supports HTTP Authentication, it would be great if SubMusic did too!

I am only theorizing that HTTP Authentication is the culprit here, I'm not familiar enough with Garmin Connect IQ Apps to debug further. I'd be happy to sponsor implementation of this feature though, if that is indeed the cause of the issue.

no sync : NC-20.0.2, SubMusic-0.0.21, Fenix 6xPro

Sorry to say, but I don't get music synced for a few days now. The problems might be older already, I didn't use your music provider app for quite a while.

Maybe it's related to the RC-firmware of the Fenix6, I don't know, I only want to mention that.

Current situation:

I use the subsonic API, "test server" on the watch works fine. I can fetch and select playlists.
"sync" just does time out. It stands there at "0%" for some minutes, then fails.
Nothing in my nextcloud-logs. There was something around external user authentication, but I removed that app and its config, that error is gone, no difference in the behavior of SubMusic.

This was the situation before and after upgrading to 0.0.21 right now (dec 9, 10:15h)

sync airsonic to garmin 245 music

Hi
I installed submusic through the phone app, but when I go into settings, i seem to only have options for API backend Subsonic annd Ampache. I was under the impression that I could use Airsonic as well - am I missing something? Couldn't find anyone asking the same question... Thanks

Feature: Sync n latest episodes

Currently, only the newest episode is synced. Add an option to keep the n latest episodes synced. User should be able to set the number of episodes to keep for each podcast individually.

Sync issue

Awesome watch app!

I'm having an issue with the latest version of SubMusic (0.1.15) and Ampache (4.4.3). When triggering a manual sync after a while, the sync doesn't work (it stays at 0% for a long time).

I had a look at the httpd access log, and I see multiple lines like this (multiple per seconds, then a break, and then it starts over).

192.168.x.x - - [14/Sep/2021:11:41:44 -0400] "GET /ampache/server/json.server.php?date=1631494914&id=21&client=SubMusic-v0.1.15-papa&action=record_play&auth=xxxxxx HTTP/1.1" 200 103 "-" "Garmin Venu 2/4.67"
192.168.x.x - - [14/Sep/2021:11:41:44 -0400] "GET /ampache/server/json.server.php?action=handshake&user=xxxxxx&timestamp=1631634104&auth=xxxxxx HTTP/1.1" 200 512 "-" "Garmin Venu 2/4.67"

The test works as expected and I can list the playlists and server configuration without any issue.

It syncs correctly after uninstalling the watch app and reinstalling it (with the same parameters, username and password).

Changing playlists requires watch reboot

With latest update (v0.1.1), I can no longer change playlists without a reboot of the watch. When I select a new playlist, it just restarts the current playlist. I have to reboot the watch, and then it will play the "last selected" playlist correctly, but will not change to a "newly selected" playlist without another watch reboot.

Using Sync'd playlists from Ampache. I am trying an application data reset now. Will update if that fixes.

Can't select playlists with Forunner 255s Music

Hi,

I like the principle of this application but I have a problem to recover playlists and podcasts.
Sync is working fine but I have nothing to sync 👎
When I want to select playlists or run the server test, I get this error:
IMG_20220731_093122

My Ampache server is a Debian with Nextcloud 24 and the Music module. I tested access from Android with Power Ampache or Substreamer without issue.

I tested with Ampache API ans Submusic API.

Do you have an idea to solve this problem?
Regards.

Feature request: Ability to browse entire music library

I'm using Airsonic (Advanced) to stream my music, and I have my music organized on disk by Artist / Album. There are times where I'd like to sync a specific album to my watch, but there's no way for me to do that in SubMusic unless I add it to a playlist first. It'd be great if the Play or Browse menu included an "All Music" option that would let me navigate my full music library and sync certain folders, not just playlists and podcasts.

No password field

Hello

there is a field for web server address, username and API key but no password ?

With thanks

dj

Save button in settings is unresponsive

I have tried older versions of your app and I could simply config the server info via the Garmin Connect IQ. Now, when I plug in all the info & I try to press save... nothing happens. I try to go back, but the popup shows up that I will discard the changes...

Did you change anything in the UI on the latest releases?

What I tried already:

  1. Instead of copy & paste the info... manually type it via a mouse and keyboard attached to the phone. Strange that the tooltip shows share when I hold the mouse on the Save button:
    photo5996810798590179804

  2. Different API keys from Nextcloud

  3. Both API options: Subsonic and Ampache

  4. Uninstall app & reboot Garmin watch & try it again

Any idea how to debug the issue? Can you reproduce the issue? Just try to change your settings and save them.

Software info

SubMusic Updated: March 30, 2022 && Version: 0.1.24-yankee
My phone info: S10e Android 10 One UI 2.5
Garmin watch: 745
Garmin Connect IQ version: 2.15
Nextcloud version 22.2.6

Sync doesn't run, keep on "searching for a wifi network"

Previously synced without problem. The app is connected (fetching playlist etc works well). I've added some music to a playlist previously synced and wish to sync again. The new musics files are showed well in "playlist", but when I want to sync again, the app doesn't pass the "searching for a wifi network" screen.

forerunner 245 music
up-to-date @home nextcloud

SubsonicAPI BADRESPONSE Error

Hi, I have tried setting up my Garmin Vivoactive 3 Music with the Subsonic API but when I try to sync with my Airsonic server, I get the error from the subject line. I am using Garmin Express on Windows to configure Submusic and have verified that I am using the same server address and credentials that I use in the Subsonic Android application. I have noticed that the configuration screen has an API Key field instead of a password field so I'm not sure if that is the cause of the issue, since the README states that I should be using my password when using the Subsonic API.

Support for Navidrome

Hi there,

I am using Navidrome which is a subsonic clone and has an api which is compatible to all subsonic players like dsub on my android.

But with submusic I only get the errormessage shown after selecting a Playlist and then try to show its songs or sync it:
20211130_144937.jpg

does not sync at all

When I try sync, it always got stuck at "Syncing SubMusic 0% Complete"

Environment:
Garmin 645 Music v7.00 (e036468)
Nextcloud 21.0.0 (Jail in TrueNAS-12.0-U2.1)
subsonic http://:/apps/music/subsonic (I'm not using https, can that cause the issue??)

Screenshot from 2021-04-09 23-18-24

Also, it seems it leaves the WiFi connection hanging around because the device battery drain really fast after I try to sync

Another consideration, is that initially, the sync attempt fail (-300 "NETWORK_REQUEST_TIMED_OUT"), to get around that, I need to open the device options settings -> music -> Music Providers -> SubMusic -> Settings (yes, again) -> Music -> Music Providers -> SubMusic -> Manage -> Music Providers -> SubMusic; seems like if I do it this way, is able to start wifi connection, at this point, I can test the server connection and it's fine, but sync does not seems to work at all.

Can't sync with SubMusic 0.1.19 and Ampache (4 and 5)

Since the update to SubMusic 0.1.19, I'm unable to sync any music to my Venu 2.

At first, I wasn't able to sync my song playlist using Ampache 4. I always got a "Media error occurred". So I installed Ampache 5.

I get a ApiError: BADRESPONSE when I try to select a playlist. I get the same error when trying to test the server. "Show server settings" shows the correct URL and the Ampache version.

Media Error Occurred

After I sync I often get an error 'Media Error Occurred' when swiping to start the media player (I have a Venu). After I get this error, I am unable to do anything with SubMusic and I can not even force a resync.

I am using Nextcloud 21.0.3 with the Music app version 1.2.1 using Ampache API.

I checked for the CIQ log file and found the following errors:

---
Error: Unhandled Exception
Time: 2021-07-29T11:46:11Z
Part-Number: 006-B3226-00
Firmware-Version: '6.10'
Language-Code: eng
ConnectIQ-Version: 4.0.3
Store-Id: 600bd75f-6ccf-4ca5-bc7a-0a4fcfdcf794
Store-Version: 45
Filename: B7RC4847
Appname: SubMusic
Stack: 
  - pc: 0x10005f31
  - pc: 0x10005c48
---
Error: Unhandled Exception
Time: 2021-07-29T11:46:14Z
Part-Number: 006-B3226-00
Firmware-Version: '6.10'
Language-Code: eng
ConnectIQ-Version: 4.0.3
Store-Id: 600bd75f-6ccf-4ca5-bc7a-0a4fcfdcf794
Store-Version: 45
Filename: B7RC4847
Appname: SubMusic
Stack: 
  - pc: 0x10005f31
  - pc: 0x10005c48

Let me know if there is more debugging I can do to help to isolate the issue.

Can't fetch or sync podcast episodes

Music server: Ampache
Device: Forerunner 245 music
App version: 0.2.3-lacedaemon

I have 5 different podcasts on my ampache server. From my watch, I can browse and see them. However, if I try to open the list of episodes, it doesn't work for any of them. I get the following error: ApiError:BADRESPONSE.
Here's what I see in nginx' access logs:

192.168.1.50 - - [15/Aug/2022:21:47:55 +0200] "GET /server/json.server.php?limit=5&action=podcast_episodes&filter=10&offset=0&auth=0200081158ddea0d93bcf70beb6546e4 HTTP/1.1" 200 20683 "-" "Garmin Forerunner 245 Music/10.40"

And here's the server response -> https://pastebin.com/s8vun8P4

Sync appears to work but then I just get an empty podcast locally.

Not sure where to go from here, I'd be happy to provide more info but I'm not sure how to get any log from the watch.

Playlist order not respected properly

Hi,
Thanks for your program. I was using one of the first versions and recently updated to the latest one using garmin connect.
I also decided to update my playlist to new ones.
On my new sync, the playlist order is not respected. It is not fully random, but some tracks are mixed and I have at most 2 or 3 tracks that do respect the playlist order.
Of course, if it was just mp3 sync, I would consider a bad tagging process (although all my tracks are perfectly tagged, including play order). But as this is a playlist, I don't understand the reason why it would change the order.

setup is using Airsonic on raspberry pi 3b+:

10.6.2-RELEASE – 3 may 2020

Server | Apache Tomcat/8.5.51, java 11.0.9.1, Linux (142,6 MB / 268,8 MB)

The setup didn't change between version when syncing was in the proper order.

please advice for any test or logs you might need.

thanks

Endless loop when not wifi network found

When trying to sync if me wifi is present. The app only show try again option but cannot exit the the retry. So unless wifi connection is successful you must restart the device

Playback progress (bookmark) sync support

I mainly listen to podcasts while running and I'd love to have a way to sync playback progress for longer episodes between my watch and other devices.

As I understand it the Subsonic API already has support for bookmarking so I was wondering if it would be possible to leverage that to sync playback progress when syncing the watch with a phone.

300 network request time_out

Hi,

I have my own local airsonic server which I use to synchronize music with my phone using audinaut app.

I just obtained a fenix 6s pro and I tried to do the same with your app but I have the following error:

300 network request time_out

I use a url like: http://192.168.0.1/airsonic, but I think the problem should be linked with connection to the server, because I don't see any request in my reverse proxy.

Do you have any idea how to debug ?

(BTW: thanks a lot for developing this app!)

Sync updated playlist problem

Hello 👋

First, thanks again for this app.

I use navidrone in my local server. Inside, I have a playlist with 20 songs which I update regularly with different songs.

The first time I upload the playlist to the watch everything goes flawlessly but when I want to update the playlist with different songs, then the submusic crashes and I can't use it anymore. I'm forced to delete the app, put the configuration and then sync my playlist again in the watch.

I've seen the same behavior in two watches so I think maybe it's a bug.

Best regards,

Testing server fails

When trying to connect to a Synology NAS, using this package on the NAS (https://github.com/ghenry22/subsonic-synology), I get a:
Error 400 HTTP GarminSdkError INVALID_HTTP_BODY_IN_NETWORK_RESPONSE on my Garmin

I am using https, with the local network URL of my NAS server and using my admin password as the API key

Docker

Hello,

I just got a garmin watch and found this reoo from their store.

Thanks for sharing the work, I've started to read the readme and feel like its quite complexe compare to if it wss dockerized.

Have you ever considered Docker ? If yes, what was the issue ?

Thanks a lot !

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.