about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBart Brouns <bart@magnetophon.nl>2016-11-01 14:43:16 +0100
committerBart Brouns <bart@magnetophon.nl>2016-11-02 13:42:45 +0100
commit4396ee953611b300f229ec33c05442769b19cf73 (patch)
treee9cfa450028927980dc9b8751b84764a466125f2
parent96e462cbe18a2f6ce5136a7136a54817a7b717ef (diff)
downloadnixlib-4396ee953611b300f229ec33c05442769b19cf73.tar
nixlib-4396ee953611b300f229ec33c05442769b19cf73.tar.gz
nixlib-4396ee953611b300f229ec33c05442769b19cf73.tar.bz2
nixlib-4396ee953611b300f229ec33c05442769b19cf73.tar.lz
nixlib-4396ee953611b300f229ec33c05442769b19cf73.tar.xz
nixlib-4396ee953611b300f229ec33c05442769b19cf73.tar.zst
nixlib-4396ee953611b300f229ec33c05442769b19cf73.zip
fmsynth: init at 2015-02-07
-rw-r--r--pkgs/applications/audio/fmsynth/default.nix48
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 51 insertions, 1 deletions
diff --git a/pkgs/applications/audio/fmsynth/default.nix b/pkgs/applications/audio/fmsynth/default.nix
new file mode 100644
index 000000000000..22944ffefe44
--- /dev/null
+++ b/pkgs/applications/audio/fmsynth/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, gtkmm2, lv2, lvtk, pkgconfig }:
+stdenv.mkDerivation rec {
+  name = "fmsynth-unstable-${version}";
+  version = "2015-02-07";
+  src = fetchFromGitHub {
+    owner = "Themaister";
+    repo = "libfmsynth";
+    rev = "9ffa1d2fea287f1209b210d2dbde2f0f60f37176";
+    sha256 = "1bk0bpr069hzx2508rgfbwpxiqgr7dmdkhqdywmd2i4rmibgrm1q";
+  };
+
+  buildInputs = [ gtkmm2 lv2 lvtk pkgconfig ];
+
+  buildPhase = ''
+    cd lv2
+    substituteInPlace GNUmakefile --replace "/usr/lib/lv2" "$out/lib/lv2"
+    make
+  '';
+
+  preInstall = "mkdir -p $out/lib/lv2";
+
+  meta = {
+    description = "a flexible 8 operator FM synthesizer for LV2";
+    longDescription = ''
+      The synth core supports:
+
+      - Arbitrary amounts of polyphony
+      - 8 operators
+      - No fixed "algorithms"
+      - Arbitrary modulation, every operator can modulate any other operator, even itself
+      - Arbitrary carrier selection, every operator can be a carrier
+      - Sine LFO, separate LFO per voice, modulates amplitude and frequency of operators
+      - Envelope per operator
+      - Carrier stereo panning
+      - Velocity sensitivity per operator
+      - Mod wheel sensitivity per operator
+      - Pitch bend
+      - Keyboard scaling
+      - Sustain, sustained keys can overlap each other for a very rich sound
+      - Full floating point implementation optimized for SIMD
+      - Hard real-time constraints
+    '';
+    homepage = https://github.com/Themaister/libfmsynth;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 262e4e058b39..64257f56b5e8 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7072,7 +7072,7 @@ in
 
   #GMP ex-satellite, so better keep it near gmp
   mpfr = callPackage ../development/libraries/mpfr/default.nix { };
-  
+
   mpfi = callPackage ../development/libraries/mpfi { };
 
   # A GMP fork
@@ -12770,6 +12770,8 @@ in
 
   fmit = qt5.callPackage ../applications/audio/fmit { };
 
+  fmsynth = callPackage ../applications/audio/fmsynth { };
+
   focuswriter = callPackage ../applications/editors/focuswriter { };
 
   font-manager = callPackage ../applications/misc/font-manager { };