kenellorando / cadence

All-in-one web radio suite with browser UI, music search, request, artwork, and real-time stream information.
https://cadenceradio.com
59 stars 17 forks source link

The currently playing song could not be found in the database. The database may not be populated. #264

Open myasnaya-dubina opened 1 month ago

myasnaya-dubina commented 1 month ago

Hello!

Check your app and stuck with the similar issue from this

https://github.com/kenellorando/cadence/issues/262

What i see in cadence docker log:

cadence     | 2024/07/30 16:03:13 WARN The currently playing song could not be found in the database. The database may not be populated. func=NowPlayingMetadata
cadence     | 2024/07/30 16:03:13 WARN The currently playing song could not be found in the database. The database may not be populated. func=NowPlayingAlbumArt

for now my stream on http://stream.igratelyfm.ru/

but UI is not working properly http://igratelyfm.ru/

What could be the reason? image image

myasnaya-dubina commented 1 month ago

Full log provided here from start containers

jopa@igratelyfm:~/radio/cadence$ docker compose --profile nginx up
[+] Running 9/6
 ✔ Network cadence_internal_services  Created                                                                                                                             0.0s
 ✔ Network cadence_external_services  Created                                                                                                                             0.1s
 ✔ Network cadence_stream_delivery    Created                                                                                                                             0.1s
 ✔ Container icecast2                 Created                                                                                                                             0.1s
 ✔ Container redis                    Created                                                                                                                             0.0s
 ✔ Container postgres                 Created                                                                                                                             0.1s
 ✔ Container liquidsoap               Created                                                                                                                             0.0s
 ✔ Container cadence                  Created                                                                                                                             0.0s
 ✔ Container nginx                    Created                                                                                                                             0.0s
Attaching to cadence, icecast2, liquidsoap, nginx, postgres, redis
redis       | 7:C 30 Jul 2024 15:47:02.459 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
redis       | 7:C 30 Jul 2024 15:47:02.460 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis       | 7:C 30 Jul 2024 15:47:02.460 * Redis version=7.4.0, bits=64, commit=00000000, modified=0, pid=7, just started
redis       | 7:C 30 Jul 2024 15:47:02.460 * Configuration loaded
redis       | 7:M 30 Jul 2024 15:47:02.460 * monotonic clock: POSIX clock_gettime
redis       | 7:M 30 Jul 2024 15:47:02.461 * Running mode=standalone, port=6379.
redis       | 7:M 30 Jul 2024 15:47:02.461 * Module 'RedisCompat' loaded from /opt/redis-stack/lib/rediscompat.so
redis       | 7:M 30 Jul 2024 15:47:02.462 * <search> Redis version found by RedisSearch : 7.4.0 - oss
redis       | 7:M 30 Jul 2024 15:47:02.462 * <search> RediSearch version 2.10.5 (Git=2.10-e2f28a9)
redis       | 7:M 30 Jul 2024 15:47:02.462 * <search> Low level api version 1 initialized successfully
redis       | 7:M 30 Jul 2024 15:47:02.462 * <search> gc: ON, prefix min length: 2, min word length to stem: 4, prefix max expansions: 200, query timeout (ms): 500, timeout policy: return, cursor read size: 1000, cursor max idle (ms): 300000, max doctable size: 1000000, max number of search results:  10000,
redis       | 7:M 30 Jul 2024 15:47:02.462 * <search> Initialized thread pools!
redis       | 7:M 30 Jul 2024 15:47:02.462 * <search> Enabled role change notification
redis       | 7:M 30 Jul 2024 15:47:02.462 * Module 'search' loaded from /opt/redis-stack/lib/redisearch.so
redis       | 7:M 30 Jul 2024 15:47:02.464 * <timeseries> RedisTimeSeries version 11202, git_sha=5643fd4d6fcb1e9cf084fb2deb9285b08f4a6672
redis       | 7:M 30 Jul 2024 15:47:02.464 * <timeseries> Redis version found by RedisTimeSeries : 7.4.0 - oss
redis       | 7:M 30 Jul 2024 15:47:02.464 * <timeseries> loaded default CHUNK_SIZE_BYTES policy: 4096
redis       | 7:M 30 Jul 2024 15:47:02.464 * <timeseries> loaded server DUPLICATE_POLICY: block
redis       | 7:M 30 Jul 2024 15:47:02.464 * <timeseries> loaded default IGNORE_MAX_TIME_DIFF: 0
redis       | 7:M 30 Jul 2024 15:47:02.464 * <timeseries> loaded default IGNORE_MAX_VAL_DIFF: 0.000000
redis       | 7:M 30 Jul 2024 15:47:02.464 * <timeseries> Setting default series ENCODING to: compressed
redis       | 7:M 30 Jul 2024 15:47:02.464 * <timeseries> Detected redis oss
redis       | 7:M 30 Jul 2024 15:47:02.464 * Module 'timeseries' loaded from /opt/redis-stack/lib/redistimeseries.so
redis       | 7:M 30 Jul 2024 15:47:02.464 * <ReJSON> Created new data type 'ReJSON-RL'
redis       | 7:M 30 Jul 2024 15:47:02.464 * <ReJSON> version: 20803 git sha: unknown branch: unknown
redis       | 7:M 30 Jul 2024 15:47:02.464 * <ReJSON> Exported RedisJSON_V1 API
redis       | 7:M 30 Jul 2024 15:47:02.464 * <ReJSON> Exported RedisJSON_V2 API
redis       | 7:M 30 Jul 2024 15:47:02.464 * <ReJSON> Exported RedisJSON_V3 API
redis       | 7:M 30 Jul 2024 15:47:02.464 * <ReJSON> Exported RedisJSON_V4 API
redis       | 7:M 30 Jul 2024 15:47:02.464 * <ReJSON> Exported RedisJSON_V5 API
redis       | 7:M 30 Jul 2024 15:47:02.464 * <ReJSON> Enabled diskless replication
redis       | 7:M 30 Jul 2024 15:47:02.464 * Module 'ReJSON' loaded from /opt/redis-stack/lib/rejson.so
redis       | 7:M 30 Jul 2024 15:47:02.464 * <search> Acquired RedisJSON_V5 API
redis       | 7:M 30 Jul 2024 15:47:02.465 * <bf> RedisBloom version 2.8.2 (Git=unknown)
redis       | 7:M 30 Jul 2024 15:47:02.465 * Module 'bf' loaded from /opt/redis-stack/lib/redisbloom.so
redis       | 7:M 30 Jul 2024 15:47:02.465 * <redisgears_2> Created new data type 'GearsType'
redis       | 7:M 30 Jul 2024 15:47:02.465 * <redisgears_2> Detected redis oss
redis       | 7:M 30 Jul 2024 15:47:02.465 # <redisgears_2> could not initialize RedisAI_InitError
redis       |
redis       | 7:M 30 Jul 2024 15:47:02.465 * <redisgears_2> Failed loading RedisAI API.
redis       | 7:M 30 Jul 2024 15:47:02.465 * <redisgears_2> RedisGears v2.0.20, sha='9b737886bf825fe29ddc2f8da81f73cbe0b4e858', build_type='release', built_for='Linux-ubuntu22.04.x86_64', redis_version:'7.4.0', enterprise:'false'.
redis       | 7:M 30 Jul 2024 15:47:02.466 * <redisgears_2> Registered backend: js.
redis       | 7:M 30 Jul 2024 15:47:02.466 * Module 'redisgears_2' loaded from /opt/redis-stack/lib/redisgears.so
redis       | 7:M 30 Jul 2024 15:47:02.467 * Server initialized
redis       | 7:M 30 Jul 2024 15:47:02.467 * Ready to accept connections tcp
icecast2    | [2024-07-30  15:47:02] WARN CONFIG/_parse_root Warning, serving of static files has been disabled in the config, this will also affect files used by the web interface (stylesheets, images).
icecast2    | [2024-07-30  15:47:02] WARN fserve/fserve_recheck_mime_types Cannot open mime types file /etc/mime.types
postgres    | The files belonging to this database system will be owned by user "postgres".
postgres    | This user must also own the server process.
postgres    |
postgres    | The database cluster will be initialized with locale "en_US.utf8".
postgres    | The default database encoding has accordingly been set to "UTF8".
postgres    | The default text search configuration will be set to "english".
postgres    |
postgres    | Data page checksums are disabled.
postgres    |
postgres    | fixing permissions on existing directory /var/lib/postgresql/data ... ok
postgres    | creating subdirectories ... ok
postgres    | selecting dynamic shared memory implementation ... posix
postgres    | selecting default max_connections ... 100
postgres    | selecting default shared_buffers ... 128MB
postgres    | selecting default time zone ... UTC
postgres    | creating configuration files ... ok
postgres    | running bootstrap script ... ok
postgres    | sh: locale: not found
postgres    | 2024-07-30 15:47:02.830 UTC [34] WARNING:  no usable system locales were found
liquidsoap  | 2024/07/30 15:47:02 >>> LOG START
liquidsoap  | 2024/07/30 15:47:02 [main:3] Liquidsoap 1.4.3
liquidsoap  | 2024/07/30 15:47:02 [main:3] Using: bytes=[distributed with OCaml 4.02 or above] pcre=[unspecified] sedlex=2.2 menhirLib=20201216 dtools=0.4.2 duppy=0.8.0 cry=0.6.5 mm=0.5.0 xmlplaylist=0.1.5 lastfm=0.3.2 ogg=0.5.2 vorbis=0.7.1 opus=0.1.3 speex=0.2.1 mad=0.4.6 flac=0.1.7 flac.ogg=0.1.7 dynlink=[distributed with Ocaml] lame=0.3.4 shine=0.2.1 gstreamer=0.3.0 frei0r=0.1.1 theora=0.3.1 gavl=0.1.6 ffmpeg=0.4.3 bjack=0.1.5 alsa=0.3.0 ao=0.2.1 samplerate=0.1.4 taglib=0.3.6 ssl=0.5.9 magic=0.7.3 camomile=[unspecified] inotify=2.3 yojson=[unspecified] faad=0.4.0 soundtouch=0.1.8 portaudio=0.2.1 pulseaudio=0.1.3 ladspa=0.1.5 sdl=0.9.1 camlimages=4.2.6 lo=0.1.2 gd=1.0a5
liquidsoap  | 2024/07/30 15:47:02 [gstreamer.loader:3] Loaded GStreamer 1.18.4 0
liquidsoap  | 2024/07/30 15:47:02 [dynamic.loader:3] Could not find dynamic module for fdkaac encoder.
liquidsoap  | 2024/07/30 15:47:02 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
liquidsoap  | 2024/07/30 15:47:02 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
liquidsoap  | 2024/07/30 15:47:02 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
liquidsoap  | 2024/07/30 15:47:02 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
liquidsoap  | 2024/07/30 15:47:02 [sandbox:3] Could not find binary bwrap, disabling sandboxing..
liquidsoap  | 2024/07/30 15:47:02 [video.converter:3] Using preferred video converter: gavl.
liquidsoap  | 2024/07/30 15:47:02 [audio.converter:3] Using samplerate converter: ffmpeg.
liquidsoap  | 2024/07/30 15:47:02 [music:3] Loading playlist...
liquidsoap  | 2024/07/30 15:47:02 [music:3] Playlist is a directory.
liquidsoap  | 2024/07/30 15:47:02 [music:3] Successfully loaded a playlist of 249 tracks.
liquidsoap  | 2024/07/30 15:47:02 [cadence1:3] Connecting mount cadence1 for source@icecast2...
liquidsoap  | 2024/07/30 15:47:02 [cadence1:3] Connection setup was successful.
liquidsoap  | 2024/07/30 15:47:02 [clock.wallclock_main:3] Streaming loop starts, synchronized with wallclock.
liquidsoap  | 2024/07/30 15:47:02 [decoder:3] Method "FFMPEG" accepted "/home/jopa/radio/music/PPK - ResuRection (Radio Edit).mp3".
liquidsoap  | 2024/07/30 15:47:02 [fallback_9371:3] Switch to fallback_9368.
liquidsoap  | 2024/07/30 15:47:02 [fallback_9368:3] Switch to mksafe.
liquidsoap  | 2024/07/30 15:47:02 [mksafe:3] Switch to safe_blank.
liquidsoap  | 2024/07/30 15:47:02 [decoder:3] Method "FFMPEG" accepted "/home/jopa/radio/music/Deadmau 5 - Clockwork (original mix).mp3".
liquidsoap  | 2024/07/30 15:47:02 [music:3] Prepared "/home/jopa/radio/music/PPK - ResuRection (Radio Edit).mp3" (RID 1).
liquidsoap  | 2024/07/30 15:47:02 [mksafe:3] Switch to music with transition.
liquidsoap  | 2024/07/30 15:47:02 [decoder:3] Method "FFMPEG" accepted "/home/jopa/radio/music/Eric Prydz, Floyd - Proper Education.mp3".
liquidsoap  | 2024/07/30 15:47:02 [ffmpeg:3] [mp3float @ 0x7019380c35c0] Could not update timestamps for skipped samples.
nginx       | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
nginx       | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
nginx       | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
nginx       | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
nginx       | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
nginx       | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
nginx       | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
nginx       | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
nginx       | /docker-entrypoint.sh: Configuration complete; ready for start up
postgres    | performing post-bootstrap initialization ... ok
postgres    | initdb: warning: enabling "trust" authentication for local connections
postgres    | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
postgres    | syncing data to disk ... ok
postgres    |
postgres    |
postgres    | Success. You can now start the database server using:
postgres    |
postgres    |     pg_ctl -D /var/lib/postgresql/data -l logfile start
postgres    |
postgres    | waiting for server to start....2024-07-30 15:47:03.252 UTC [40] LOG:  starting PostgreSQL 15.7 on x86_64-pc-linux-musl, compiled by gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309, 64-bit
postgres    | 2024-07-30 15:47:03.254 UTC [40] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
postgres    | 2024-07-30 15:47:03.260 UTC [43] LOG:  database system was shut down at 2024-07-30 15:47:03 UTC
postgres    | 2024-07-30 15:47:03.265 UTC [40] LOG:  database system is ready to accept connections
postgres    |  done
postgres    | server started
postgres    |
postgres    | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
postgres    |
postgres    | waiting for server to shut down....2024-07-30 15:47:03.348 UTC [40] LOG:  received fast shutdown request
postgres    | 2024-07-30 15:47:03.351 UTC [40] LOG:  aborting any active transactions
postgres    | 2024-07-30 15:47:03.352 UTC [40] LOG:  background worker "logical replication launcher" (PID 46) exited with exit code 1
postgres    | 2024-07-30 15:47:03.353 UTC [41] LOG:  shutting down
postgres    | 2024-07-30 15:47:03.355 UTC [41] LOG:  checkpoint starting: shutdown immediate
postgres    | 2024-07-30 15:47:03.365 UTC [41] LOG:  checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.004 s, sync=0.002 s, total=0.013 s; sync files=2, longest=0.001 s, average=0.001 s; distance=0 kB, estimate=0 kB
postgres    | 2024-07-30 15:47:03.368 UTC [40] LOG:  database system is shut down
postgres    |  done
postgres    | server stopped
postgres    |
postgres    | PostgreSQL init process complete; ready for start up.
postgres    |
postgres    | 2024-07-30 15:47:03.467 UTC [1] LOG:  starting PostgreSQL 15.7 on x86_64-pc-linux-musl, compiled by gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309, 64-bit
postgres    | 2024-07-30 15:47:03.467 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
postgres    | 2024-07-30 15:47:03.467 UTC [1] LOG:  listening on IPv6 address "::", port 5432
postgres    | 2024-07-30 15:47:03.472 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
postgres    | 2024-07-30 15:47:03.476 UTC [54] LOG:  database system was shut down at 2024-07-30 15:47:03 UTC
postgres    | 2024-07-30 15:47:03.481 UTC [1] LOG:  database system is ready to accept connections
cadence     | 2024/07/30 15:47:08 INFO Database population completed. func=postgresPopulate
cadence     | 2024/07/30 15:47:08 INFO Starting Cadence on port <:8080>. func=main
cadence     | 2024/07/30 15:47:22 WARN The currently playing song could not be found in the database. The database may not be populated. func=NowPlayingMetadata
cadence     | 2024/07/30 15:47:22 WARN The currently playing song could not be found in the database. The database may not be populated. func=NowPlayingAlbumArt
cadence     | 2024/07/30 15:47:35 INFO Request-by-ID by client 172.19.0.1:55012. func=Request
liquidsoap  | 2024/07/30 15:47:35 [server:3] New client: 172.18.0.5.
liquidsoap  | 2024/07/30 15:47:35 [decoder:3] Method "FFMPEG" accepted "/home/jopa/radio/music/Timur_Rodrigez_-_Out_In_Space_53300327.mp3".
cadence     | 2024/07/30 15:47:35 INFO Message from audio source server: 4
cadence     |  func=liquidsoapRequest
liquidsoap  | 2024/07/30 15:47:35 [server:3] Client 172.18.0.5 disconnected.
liquidsoap  | 2024/07/30 15:50:19 [music:3] Prepared "/home/jopa/radio/music/Deadmau 5 - Clockwork (original mix).mp3" (RID 2).
liquidsoap  | 2024/07/30 15:50:19 [request:3] Prepared "/home/jopa/radio/music/Timur_Rodrigez_-_Out_In_Space_53300327.mp3" (RID 4).
liquidsoap  | 2024/07/30 15:50:19 [fallback_9368:3] Switch to request with forgetful transition.
liquidsoap  | 2024/07/30 15:50:19 [ffmpeg:3] [mp3float @ 0x70193937c6c0] Could not update timestamps for skipped samples.
cadence     | 2024/07/30 15:50:21 INFO Now Playing: Out In Space by Тимур Родригез func=icecastMonitor
redis       | 7:M 30 Jul 2024 15:50:21.799 * <redisgears_2> Got a flush started event
cadence     | 2024/07/30 15:50:21 INFO Audio stream on: <stream.igratelyfm.ru/cadence1> func=icecastMonitor
postgres    | 2024-07-30 15:52:03.516 UTC [52] LOG:  checkpoint starting: time
postgres    | 2024-07-30 15:53:48.481 UTC [52] LOG:  checkpoint complete: wrote 1048 buffers (6.4%); 0 WAL file(s) added, 0 removed, 0 recycled; write=104.940 s, sync=0.016 s, total=104.965 s; sync files=370, longest=0.003 s, average=0.001 s; distance=4828 kB, estimate=4828 kB
liquidsoap  | 2024/07/30 15:53:52 [ffmpeg:3] [mp3float @ 0x70193937c6c0] Could not update timestamps for discarded samples.
liquidsoap  | 2024/07/30 15:53:53 [fallback_9368:3] Switch to mksafe with forgetful transition.
liquidsoap  | 2024/07/30 15:53:53 [ffmpeg:3] [mp3float @ 0x701938062f80] Could not update timestamps for skipped samples.
liquidsoap  | 2024/07/30 15:59:21 [decoder:3] Method "FFMPEG" accepted "/home/jopa/radio/music/Global Deejays - What A Feeling Flashdance(remix).mp3".
liquidsoap  | 2024/07/30 15:59:30 [music:3] Prepared "/home/jopa/radio/music/Eric Prydz, Floyd - Proper Education.mp3" (RID 3).
liquidsoap  | 2024/07/30 15:59:30 [ffmpeg:3] [mp3float @ 0x7019393e2800] Could not update timestamps for skipped samples.
liquidsoap  | 2024/07/30 16:02:41 [decoder:3] Method "FFMPEG" accepted "/home/jopa/radio/music/will.i.am - Heartbreaker.mp3".
liquidsoap  | 2024/07/30 16:02:51 [music:3] Prepared "/home/jopa/radio/music/Global Deejays - What A Feeling Flashdance(remix).mp3" (RID 0).
liquidsoap  | 2024/07/30 16:02:51 [ffmpeg:3] [mp3float @ 0x7019380a6340] Could not update timestamps for skipped samples.
cadence     | 2024/07/30 16:03:13 WARN The currently playing song could not be found in the database. The database may not be populated. func=NowPlayingMetadata
cadence     | 2024/07/30 16:03:13 WARN The currently playing song could not be found in the database. The database may not be populated. func=NowPlayingAlbumArt
liquidsoap  | 2024/07/30 16:06:33 [decoder:3] Method "FFMPEG" accepted "/home/jopa/radio/music/Lee Cabrera feat. Thomas Gold - Shake It (Move A Little Closer).mp3".
liquidsoap  | 2024/07/30 16:06:42 [music:3] Prepared "/home/jopa/radio/music/will.i.am - Heartbreaker.mp3" (RID 1).
liquidsoap  | 2024/07/30 16:06:42 [ffmpeg:3] [mp3float @ 0x7019392ba600] Could not update timestamps for skipped samples.
cadence     | 2024/07/30 16:10:58 WARN The currently playing song could not be found in the database. The database may not be populated. func=NowPlayingMetadata
cadence     | 2024/07/30 16:10:58 WARN The currently playing song could not be found in the database. The database may not be populated. func=NowPlayingAlbumArt
liquidsoap  | 2024/07/30 16:12:01 [decoder:3] Method "FFMPEG" accepted "/home/jopa/radio/music/Dj \208\157\208\184\208\187 & DJ ROMEO - 11. David Morales - How Would You Feel (Philippe B Remix).mp3".
liquidsoap  | 2024/07/30 16:12:11 [music:3] Prepared "/home/jopa/radio/music/Lee Cabrera feat. Thomas Gold - Shake It (Move A Little Closer).mp3" (RID 4).
liquidsoap  | 2024/07/30 16:12:11 [ffmpeg:3] [mp3float @ 0x701938220900] Could not update timestamps for skipped samples.
liquidsoap  | 2024/07/30 16:15:07 [decoder:3] Method "FFMPEG" accepted "/home/jopa/radio/music/Karlux Aka Pakito - The Riddle 2008 (Radio edit).mp3".
liquidsoap  | 2024/07/30 16:15:17 [music:3] Prepared "/home/jopa/radio/music/Dj \208\157\208\184\208\187 & DJ ROMEO - 11. David Morales - How Would You Feel (Philippe B Remix).mp3" (RID 2).
liquidsoap  | 2024/07/30 16:15:17 [ffmpeg:3] [mp3float @ 0x701938428180] Could not update timestamps for skipped samples.
cadence     | 2024/07/30 16:15:29 WARN The currently playing song could not be found in the database. The database may not be populated. func=NowPlayingMetadata
cadence     | 2024/07/30 16:15:29 WARN The currently playing song could not be found in the database. The database may not be populated. func=NowPlayingAlbumArt
za419 commented 1 month ago

Thanks for giving Cadence a try!

I was able to reproduce your error by intentionally adding a song with incomplete metadata to my music directory, and then by having Liquidsoap select it.

Here's the log: image

... The UI: image

And my (garbage) metadata, as read by mp3tag: image

Note that I intentionally left artist and title blank - If you leave all fields blank the song won't be listed in the database at all, so it wouldn't appear in search results (I'm not sure what exactly the required subset is, it's driven externally to this project).

Cadence uses the artist, title, and album art from the metadata tags in the currently playing song to populate both the database and the UI. I suspect that the files you have in your music directory do not have these tags set properly, and that causes the blank entries in the song library on the UI.

That then means that the automatic setting of the listen URL gets broken - Cadence fetches that from Icecast along with the currently playing song, but it checks if the title or artist are empty and discards the response if so. Therefore, when the currently playing song lacks that metadata, Cadence is unable to update its tracking of the current state of Icecast, including the URL, even if it has never done so before.

Thus, the UI gets no mountpoint back, which means it cannot then connect to the stream server.

I don't know if/how we'll want to fix the latter issue (allow Cadence to update the host info even if there's no info on the currently playing song, or at least if it does not currently have host info) - That's up to @kenellorando.

But, the workaround to that issue, and the fix for the broken song library display, is to go through and update the metadata tags on the songs in your library to make sure they at least have the artist and title set correctly.

For that, you can use Mp3tag on Windows, or on Linux you may either prefer a GUI like EasyTAG, or to simply run id3v2 on the command line - Or any other tool which does the same kind of job.