about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorFrederik Rietdijk <freddyrietdijk@fridh.nl>2016-11-02 13:58:29 +0100
committerGitHub <noreply@github.com>2016-11-02 13:58:29 +0100
commite4d7515aef28cbfc465e2aac99d35aeb75fc34b2 (patch)
tree6667281370ad1571c1724f60e12bca46709ecd47 /pkgs/applications
parent1558b09a3271c57fbe6487f79965d69121b0b48e (diff)
parent4396ee953611b300f229ec33c05442769b19cf73 (diff)
Merge pull request #20054 from magnetophon/fmsynth
fmsynth: init at 2015-02-07
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/audio/fmsynth/default.nix48
1 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/applications/audio/fmsynth/default.nix b/pkgs/applications/audio/fmsynth/default.nix
new file mode 100644
index 0000000000000..22944ffefe44a
--- /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;
+  };
+}