diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f5822cead7676edd0826b473b38772c816f8629..d31092e3f86eeb0c91454f06f6d579e1a679d494 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Configuration: Renamed environment variable `AURA_ENGINE_SERVER_TIMEOUT` to `AURA_ENGINE_SERVER_TIMEOUT` and configuration setting `telnet_server_timeout` to `server_timeout`. - Configuration: Increase default value for `server_timeout`, to avoid malfunctions when idle (aura#165) +- Use datatype float instead of int for `trackDuration` (#51) ### Fixed diff --git a/src/functions.liq b/src/functions.liq index 9e5203fe1423ddc34930445b91e95b7baac510c7..fc33de4388840f0612a5a930e4ccfd5062f67258 100644 --- a/src/functions.liq +++ b/src/functions.liq @@ -98,7 +98,7 @@ def build_metadata(json_string) = playlist_item: string, track_type: int, track_start: string?, - track_duration: int?, + track_duration: float?, track_title: string?, track_album: string?, track_artist: string? @@ -123,13 +123,13 @@ end # b.) as a fallback from the meta field "track_duration" # # Returns -# (int) duration in seconds +# (float) duration in seconds def get_meta_track_duration(meta) = - track_duration = int_of_float(request.duration(meta["filename"])) + track_duration = request.duration(meta["filename"]) if track_duration != -1 then track_duration else - int_of_string(meta["track_duration"]) + float_of_string(meta["track_duration"]) end end @@ -143,7 +143,7 @@ def post_playlog(api_url, data) = json_data.add("playlistId", int_of_string(list.assoc("playlist_id", data))) json_data.add("trackType", int_of_string(list.assoc("track_type", data))) json_data.add("trackStart", list.assoc("track_start", data)) - json_data.add("trackDuration", int_of_string(list.assoc("track_duration", data))) + json_data.add("trackDuration", float_of_string(list.assoc("track_duration", data))) json_data.add("trackTitle", list.assoc("track_title", data)) json_data.add("trackAlbum", list.assoc("track_album", data)) json_data.add("trackArtist", list.assoc("track_artist", data)) diff --git a/src/in_soundcard.liq b/src/in_soundcard.liq index 94c8b3113ac5d010fc4b8023b154a24ed5500c26..508e3a103957aac25dc194f34a6c19d7e0071d06 100644 --- a/src/in_soundcard.liq +++ b/src/in_soundcard.liq @@ -33,7 +33,7 @@ usage_set_track_metadata = "set_track_metadata { \ \"playlist_item\": \"\", \ \"track_type\": 2, \ \"track_start\": \"2022/02/22 22:02:22\", \ - \"track_duration\": 808, \ + \"track_duration\": 808.8, \ \"track_title\": \"Lorem Ipsum\", \ \"track_album\": \"\", \ \"track_artist\": \"\" \ diff --git a/src/in_stream.liq b/src/in_stream.liq index 207b21e3ff64bf199ec9a357899dd49c0103be3c..9bccbbb21b05a09ee5b7c93e17f2e88b5ea8e3e7 100644 --- a/src/in_stream.liq +++ b/src/in_stream.liq @@ -91,7 +91,7 @@ usage_set_track_metadata = "set_track_metadata { \ \"playlist_item\": \"\", \ \"track_type\": 1, \ \"track_start\": \"2022/02/22 22:02:22\", \ - \"track_duration\": 303, \ + \"track_duration\": 303.3, \ \"track_title\": \"Bar\", \ \"track_album\": \"\", \ \"track_artist\": \"Foo\" \ diff --git a/tests/test_metadata_build.liq b/tests/test_metadata_build.liq index e481242c17cee7eb3f61d63d7b4fc48f8efb3421..e94e7806bc1bc0e99908624fa6c3bd11c80c21b0 100755 --- a/tests/test_metadata_build.liq +++ b/tests/test_metadata_build.liq @@ -30,7 +30,7 @@ json_string = "{ \ \"playlist_item\": \"\", \ \"track_type\": 0, \ \"track_start\": \"2022/02/22 22:02:22\", \ - \"track_duration\": 303, \ + \"track_duration\": 303.3, \ \"track_title\": \"FooBar 2000\", \ \"track_album\": \"\", \ \"track_artist\": \"\" \ diff --git a/tests/test_metadata_duration.liq b/tests/test_metadata_duration.liq index 0caa269dcf6ecaff6ef99335057d2323a807447d..a4075ba40f9ff39f9c6e6a4246e3b37aa7529a1f 100755 --- a/tests/test_metadata_duration.liq +++ b/tests/test_metadata_duration.liq @@ -23,11 +23,11 @@ settings.frame.audio.samplerate.set(44100) %include "../src/functions.liq" -# Read duration from metadata field => 808 -metadata = [( "track_duration", "808" )] +# Read duration from metadata field => 808.8 +metadata = [( "track_duration", "808.8" )] duration = get_meta_track_duration(metadata) print("Track duration in meta 'track_duration': #{duration}") -assertEquals(duration, 808) +assertEquals(duration, 808.8) # Read duration from file => 207 input_fs = single(id="fs", "assets/audio.mp3")