summaryrefslogtreecommitdiff
path: root/lib/cava
diff options
context:
space:
mode:
Diffstat (limited to 'lib/cava')
-rw-r--r--lib/cava/cava.c4
-rw-r--r--lib/cava/default.nix56
2 files changed, 58 insertions, 2 deletions
diff --git a/lib/cava/cava.c b/lib/cava/cava.c
index 1c5ef66..2934335 100644
--- a/lib/cava/cava.c
+++ b/lib/cava/cava.c
@@ -440,7 +440,7 @@ static void astal_cava_cava_get_property(GObject* object, guint property_id, GVa
g_value_set_int(value, self->bars);
break;
case ASTAL_CAVA_CAVA_PROP_VALUES:
- g_value_set_pointer(value, self->values);
+ g_value_set_boxed(value, self->values);
break;
case ASTAL_CAVA_CAVA_PROP_AUTOSENS:
g_value_set_boolean(value, self->autosens);
@@ -558,7 +558,7 @@ static void astal_cava_cava_class_init(AstalCavaCavaClass* class) {
* be 0.
*/
astal_cava_cava_properties[ASTAL_CAVA_CAVA_PROP_VALUES] =
- g_param_spec_pointer("values", "values", "a list of values", G_PARAM_READABLE);
+ g_param_spec_boxed("values", "values", "a list of values", G_TYPE_ARRAY, G_PARAM_READABLE);
/**
* AstalCavaCava:active:
*
diff --git a/lib/cava/default.nix b/lib/cava/default.nix
new file mode 100644
index 0000000..5472e8c
--- /dev/null
+++ b/lib/cava/default.nix
@@ -0,0 +1,56 @@
+{
+ mkAstalPkg,
+ pkgs,
+ ...
+}: let
+ libcava = pkgs.stdenv.mkDerivation rec {
+ pname = "cava";
+ version = "0.10.3";
+
+ src = pkgs.fetchFromGitHub {
+ owner = "LukashonakV";
+ repo = "cava";
+ rev = "0.10.3";
+ hash = "sha256-ZDFbI69ECsUTjbhlw2kHRufZbQMu+FQSMmncCJ5pagg=";
+ };
+
+ buildInputs = with pkgs; [
+ alsa-lib
+ libpulseaudio
+ ncurses
+ iniparser
+ sndio
+ SDL2
+ libGL
+ portaudio
+ jack2
+ pipewire
+ ];
+
+ propagatedBuildInputs = with pkgs; [
+ fftw
+ ];
+
+ nativeBuildInputs = with pkgs; [
+ autoreconfHook
+ autoconf-archive
+ pkgconf
+ meson
+ ninja
+ ];
+
+ preAutoreconf = ''
+ echo ${version} > version
+ '';
+ };
+in
+ mkAstalPkg {
+ pname = "astal-cava";
+ src = ./.;
+ packages = [libcava];
+
+ libname = "cava";
+ authors = "kotontrion";
+ gir-suffix = "Cava";
+ description = "Audio visualization library using cava";
+ }