aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/applications/audio/sndpeek/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/audio/sndpeek/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/audio/sndpeek/default.nix56
1 files changed, 56 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/audio/sndpeek/default.nix b/nixpkgs/pkgs/applications/audio/sndpeek/default.nix
new file mode 100644
index 00000000000..ecdafdaeadd
--- /dev/null
+++ b/nixpkgs/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 ];
+ };
+}