diff options
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r-- | gnu/packages/music.scm | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index febd983023..7a9cb5f6de 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1697,6 +1697,38 @@ JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and follows a traditional multi-track tape recorder control paradigm.") (license license:gpl2+))) +(define-public ams-lv2 + (package + (name "ams-lv2") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/blablack/ams-lv2/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1392spswkhfd38fggf584wb3m8aqpg7csfrs9zxnzyvhgmp0fgqk")))) + (build-system waf-build-system) + (arguments `(#:tests? #f)) ; no tests + (inputs + `(("lv2" ,lv2) + ("lvtk" ,lvtk) + ("gtkmm" ,gtkmm-2) + ("gtk" ,gtk+-2) + ("cairo" ,cairo) + ("fftw" ,fftw))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://objectivewave.wordpress.com/ams-lv2/") + (synopsis "Port of Alsa Modular Synth internal modules into LV2") + (description "This set of LV2 plugins is a port of the internal modules +found in Alsa Modular Synth. These plugins are used to create modular +synthesizers and contain: VCO, VCF, VCA, LFO, slew limiter, envelopes, sample +and hold, etc.") + (license license:gpl2))) + (define-public gxtuner (package (name "gxtuner") @@ -2449,6 +2481,91 @@ filters, crossovers, simple gain plugins without zipper noise, switch box plugins, a switch trigger, a toggle switch, and a peakmeter.") (license license:gpl2+)))) +(define-public ingen + (let ((commit "fd147d0b888090bfb897505852c1f25dbdf77e18") + (revision "1")) + (package + (name "ingen") + (version (string-append "0.0.0-" revision "." + (string-take commit 9))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "http://git.drobilla.net/ingen.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1qmg79962my82c43vyrv5sxbqci9c7gc2s9bwaaqd0fcf08xcz1z")))) + (build-system waf-build-system) + (arguments + `(#:tests? #f ; no "check" target + #:configure-flags (list "--no-webkit") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-wscript + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "wscript" + ;; FIXME: Our version of lv2specgen.py does not behave as + ;; expected. Maybe this requires a development version of + ;; LV2. + (("lv2specgen.py") "touch ingen.lv2/ingen.html; echo") + ;; Add libraries to RUNPATH. + (("^(.+)target.*= 'src/ingen/ingen'," line prefix) + (string-append prefix + "linkflags=[\"-Wl,-rpath=" + out "/lib" "\"]," line))) + (substitute* '("src/wscript" + "src/server/wscript") + ;; Add libraries to RUNPATH. + (("bld.env.PTHREAD_LINKFLAGS" line) + (string-append line + " + [\"-Wl,-rpath=" out "/lib" "\"]"))) + (substitute* "src/client/wscript" + ;; Add libraries to RUNPATH. + (("^(.+)target.*= 'ingen_client'," line prefix) + (string-append prefix + "linkflags=[\"-Wl,-rpath=" + out "/lib" "\"]," line))) + (substitute* "src/gui/wscript" + ;; Add libraries to RUNPATH. + (("^(.+)target.* = 'ingen_gui.*" line prefix) + (string-append prefix + "linkflags=[\"-Wl,-rpath=" + out "/lib" "\"]," line)))) + #t))))) + (inputs + `(("boost" ,boost) + ("python-rdflib" ,python-rdflib) + ("python" ,python) + ("jack" ,jack-1) + ("lv2" ,lv2) + ("lilv" ,lilv) + ("raul" ,raul-devel) + ("ganv" ,ganv-devel) + ("suil" ,suil) + ("serd" ,serd) + ("sord" ,sord) + ("sratom" ,sratom) + ("gtkmm" ,gtkmm-2))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python-pygments" ,python-pygments))) + (home-page "http://drobilla.net/software/ingen") + (synopsis "Modular audio processing system") + (description "Ingen is a modular audio processing system for JACK and +LV2 based systems. Ingen is built around LV2 technology and a strict +separation of engine from user interface. The engine is controlled +exclusively through a protocol, and can execute as a headless process, with an +in-process GUI, or as an LV2 plugin. The GUI can run as a program which +communicates over a Unix or TCP/IP socket, or as an embeddable LV2 GUI which +communicates via LV2 ports. Any saved Ingen graph can be loaded as an LV2 +plugin on any system where Ingen is installed. This allows users to visually +develop custom plugins for use in other applications without programming.") + (license license:agpl3+)))) + (define-public python-discogs-client (package (name "python-discogs-client") |