summaryrefslogtreecommitdiff
path: root/lib/mpris
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mpris')
-rw-r--r--lib/mpris/config.vala.in1
-rw-r--r--lib/mpris/default.nix15
-rw-r--r--lib/mpris/meson.build1
-rw-r--r--lib/mpris/player.vala10
4 files changed, 26 insertions, 1 deletions
diff --git a/lib/mpris/config.vala.in b/lib/mpris/config.vala.in
index 767c4bd..f44c3dc 100644
--- a/lib/mpris/config.vala.in
+++ b/lib/mpris/config.vala.in
@@ -1,3 +1,4 @@
+[CCode (gir_namespace = "AstalMpris", gir_version = "@API_VERSION@")]
namespace AstalMpris {
public const int MAJOR_VERSION = @MAJOR_VERSION@;
public const int MINOR_VERSION = @MINOR_VERSION@;
diff --git a/lib/mpris/default.nix b/lib/mpris/default.nix
new file mode 100644
index 0000000..082c647
--- /dev/null
+++ b/lib/mpris/default.nix
@@ -0,0 +1,15 @@
+{
+ mkAstalPkg,
+ pkgs,
+ ...
+}:
+mkAstalPkg {
+ pname = "astal-mpris";
+ src = ./.;
+ packages = with pkgs; [gvfs json-glib];
+
+ libname = "mpris";
+ authors = "Aylur";
+ gir-suffix = "Mpris";
+ description = "Control mpris players";
+}
diff --git a/lib/mpris/meson.build b/lib/mpris/meson.build
index bf215c9..91185c8 100644
--- a/lib/mpris/meson.build
+++ b/lib/mpris/meson.build
@@ -25,6 +25,7 @@ config = configure_file(
input: 'config.vala.in',
output: 'config.vala',
configuration: {
+ 'API_VERSION': api_version,
'VERSION': meson.project_version(),
'MAJOR_VERSION': version_split[0],
'MINOR_VERSION': version_split[1],
diff --git a/lib/mpris/player.vala b/lib/mpris/player.vala
index c69eb21..e6d84bf 100644
--- a/lib/mpris/player.vala
+++ b/lib/mpris/player.vala
@@ -440,6 +440,9 @@ public class AstalMpris.Player : Object {
_loop_status = Loop.from_string(proxy.loop_status);
notify_property("loop-status");
}
+ } else {
+ _loop_status = Loop.UNSUPPORTED;
+ notify_property("loop-status");
}
if (rate != proxy.rate) {
@@ -452,6 +455,9 @@ public class AstalMpris.Player : Object {
_shuffle_status = Shuffle.from_bool(proxy.shuffle);
notify_property("shuffle-status");
}
+ } else {
+ _shuffle_status = Shuffle.UNSUPPORTED;
+ notify_property("shuffle-status");
}
if (volume != proxy.volume) {
@@ -498,8 +504,10 @@ public class AstalMpris.Player : Object {
}
private async void cache_cover() {
- if (art_url == null || art_url == "")
+ if (art_url == null || art_url == "") {
+ cover_art = null;
return;
+ }
var file = File.new_for_uri(art_url);
if (file.get_path() != null) {