gnu: Add Amsynth.

Message ID 20160618201402.8602-1-rekado@elephly.net
State New
Headers

Commit Message

Ricardo Wurmus June 18, 2016, 8:14 p.m. UTC
  * gnu/packages/music.scm (amsynth): New variable.
---
 gnu/packages/music.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
  

Comments

Ludovic Courtès June 20, 2016, 8:10 a.m. UTC | #1
Ricardo Wurmus <rekado@elephly.net> skribis:

> * gnu/packages/music.scm (amsynth): New variable.

[...]

> +    (synopsis "Analog modelling synthesizer")

I’d write “modeling”, but that’s en_US I guess.

> +    (description
> +     "amsynth is an easy-to-use software synthesizer with a classic
> +subtractive synthesizer topology.  Its features include: dual
> +oscillators (sine/saw/square/noise) with hard sync; 12/24 dB/oct resonant
> +filter (low-pass/high-pass/band-pass/notch); mono/poly/legato keyboard modes;

Maybe commas instead of slashes (easier to read and to break)?

Otherwise LGTM, thanks!

Ludo’.
  

Patch

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 78542a6..7eea7d8 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -716,6 +716,48 @@  Editor.  It is compatible with Power Tab Editor 1.7 and Guitar Pro.")
 oscillators and stereo effects.")
     (license license:gpl2+)))
 
+(define-public amsynth
+  (package
+    (name "amsynth")
+    (version "1.6.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/amsynth/amsynth/releases/"
+                           "download/release-" version
+                           "/amsynth-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "07dp9dl38g9krjqxxh89l2z42z08yzrl57cx95b1l67xnxwjp5k3"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'set-flags
+           (lambda _
+             ;; Compile with C++11, required by gtkmm.
+             (setenv "CXXFLAGS" "-std=c++11")
+             #t)))))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("jack" ,jack-1)
+       ("lv2" ,lv2)
+       ("libsndfile" ,libsndfile)
+       ("gtk+" ,gtk+-2)
+       ("gtkmm" ,gtkmm-2)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://amsynth.github.io")
+    (synopsis "Analog modelling synthesizer")
+    (description
+     "amsynth is an easy-to-use software synthesizer with a classic
+subtractive synthesizer topology.  Its features include: dual
+oscillators (sine/saw/square/noise) with hard sync; 12/24 dB/oct resonant
+filter (low-pass/high-pass/band-pass/notch); mono/poly/legato keyboard modes;
+dual ADSR envelope generators for filter and amplitude; LFO which can modulate
+the oscillators, filter, and amplitude; distortion and reverb effects.")
+    (license license:gpl2+)))
+
 (define-public setbfree
   (package
     (name "setbfree")