From 3d80c852b1af53d05948705c887cf43b1cba3fd1 Mon Sep 17 00:00:00 2001 From: Chris Pastl <chris@crispybits.app> Date: Mon, 16 Oct 2023 18:03:12 +0200 Subject: [PATCH] Refactor: change type of 'trackDuration' to float --- CHANGELOG.md | 1 + src/functions.liq | 10 +++++----- src/in_soundcard.liq | 2 +- src/in_stream.liq | 2 +- tests/test_metadata_build.liq | 2 +- tests/test_metadata_duration.liq | 6 +++--- 6 files changed, 12 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f5822c..d31092e 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 9e5203f..fc33de4 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 94c8b31..508e3a1 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 207b21e..9bccbbb 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 e481242..e94e780 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 0caa269..a4075ba 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") -- GitLab