Compare commits

..

2 commits

Author SHA1 Message Date
f4744f03c3 use api duration value as placeholder 2024-10-16 13:12:58 +02:00
6bdf5d7e5c use - for unknown duration 2024-10-16 13:07:14 +02:00
3 changed files with 10 additions and 1 deletions

View file

@ -243,7 +243,7 @@ class Playbin : GLib.Object {
this.current_song = song;
this.position = 0;
this.duration = 1;
this.duration = song.duration * 1000000000 - 1;
this.now_playing (false);
}

View file

@ -61,6 +61,7 @@ public class Subsonic.Song : Object {
public int64 track { get; private set; }
public int64 year { get; private set; }
public DateTime? starred { get; private set; }
public int64 duration { get; private set; }
public Song (Json.Reader reader) {
reader.read_member ("id");
@ -86,6 +87,10 @@ public class Subsonic.Song : Object {
reader.read_member ("year");
this.year = reader.get_int_value ();
reader.end_member ();
reader.read_member ("duration");
this.duration = reader.get_int_value ();
reader.end_member ();
}
}

View file

@ -135,6 +135,10 @@ class Ui.Window : Adw.ApplicationWindow {
}
[GtkCallback] private string format_timestamp (int64 ns) {
if (ns == 1) {
// treat 1 nanosecond as a sentinel value
return "-";
}
int64 ms = ns / 1000000;
int s = (int) (ms / 1000);
return "%02d:%02d".printf (s/60, s%60);