summary refs log tree commit diff
path: root/pkgs/applications/audio/sndpeek/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/audio/sndpeek/default.nix')
-rw-r--r--pkgs/applications/audio/sndpeek/default.nix56
1 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/applications/audio/sndpeek/default.nix b/pkgs/applications/audio/sndpeek/default.nix
new file mode 100644
index 00000000000..ecdafdaeadd
--- /dev/null
+++ b/pkgs/applications/audio/sndpeek/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, libsndfile, freeglut, alsaLib, mesa, libGLU, libX11, libXmu
+, libXext, libXi }:
+
+stdenv.mkDerivation rec {
+  pname = "sndpeek";
+  version = "1.4";
+
+  src = fetchurl {
+    url = "https://soundlab.cs.princeton.edu/software/sndpeek/files/sndpeek-${version}.tgz";
+    sha256 = "2d86cf74854fa00dcdc05a35dd92bc4cf6115e87102b17023be5cba9ead8eedf";
+  };
+  sourceRoot = "sndpeek-${version}/src/sndpeek";
+
+  # this patch adds -lpthread to the list of libraries, without it a
+  # symbol-not-found-error is thrown
+  patches = [ ./pthread.patch ];
+
+  buildInputs = [
+    freeglut
+    alsaLib
+    mesa
+    libGLU
+    libsndfile
+    libX11
+    libXmu
+    libXext
+    libXi
+  ];
+  buildFlags = "linux-alsa";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv sndpeek $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Real-time 3D animated audio display/playback";
+    longDescription = ''
+       sndpeek is just what it sounds (and looks) like:
+         * real-time 3D animated display/playback
+         * can use mic-input or wav/aiff/snd/raw/mat file (with playback)
+         * time-domain waveform
+         * FFT magnitude spectrum
+         * 3D waterfall plot
+         * lissajous! (interchannel correlation)
+         * rotatable and scalable display
+         * freeze frame! (for didactic purposes)
+         * real-time spectral feature extraction (centroid, rms, flux, rolloff)
+         * available on MacOS X, Linux, and Windows under GPL
+         * part of the sndtools distribution.
+    '';
+    homepage = https://soundlab.cs.princeton.edu/software/sndpeek/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.laikq ];
+  };
+}