diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix index fdb2b43d9735..831e8637bda2 100644 --- a/pkgs/applications/video/obs-studio/plugins/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/default.nix @@ -47,4 +47,6 @@ obs-websocket = throw "obs-websocket has been removed: Functionality has been integrated into obs-studio itself."; wlrobs = callPackage ./wlrobs.nix { }; + + waveform = callPackage ./waveform { }; } diff --git a/pkgs/applications/video/obs-studio/plugins/waveform/default.nix b/pkgs/applications/video/obs-studio/plugins/waveform/default.nix new file mode 100644 index 000000000000..ff5c52380de7 --- /dev/null +++ b/pkgs/applications/video/obs-studio/plugins/waveform/default.nix @@ -0,0 +1,43 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, obs-studio +, pkg-config +, fftwFloat +}: + +stdenv.mkDerivation rec { + pname = "waveform"; + version = "1.7.0"; + + src = fetchFromGitHub { + fetchSubmodules = true; + owner = "phandasm"; + repo = "waveform"; + rev = "v${version}"; + sha256 = "sha256-DR3+ZBbWoGybUvDwVXLvarp+IGsTPl9Y0mFe739Ar8E="; + }; + + nativeBuildInputs = [ cmake pkg-config ]; + + postFixup = '' + mkdir $out/lib $out/share + mv $out/${pname}/bin/64bit $out/lib/obs-plugins + mv $out/${pname}/data $out/share/obs + rm -rf $out/${pname} + ''; + + buildInputs = [ + obs-studio + fftwFloat + ]; + + meta = { + description = "Audio spectral analysis plugin for OBS"; + homepage = "https://github.com/phandasm/waveform"; + maintainers = with lib.maintainers; [ matthewcroughan ]; + license = lib.licenses.gpl3; + platforms = ["x86_64-linux"]; + }; +}