X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/a8031e61925169d7e32f4715913305d3d03da4ca..4c76af04e014ca001ae97369c0f1100f9c1cdcbf:/gnu/packages/audio.scm diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index b1308b1dce..d3090edf61 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Alex Kost ;;; Copyright © 2015, 2016 Mark H Weaver -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2016, 2017 Alex Griffin ;;; Copyright © 2016 Nikita ;;; Copyright © 2016 Lukas Gradl @@ -32,6 +32,8 @@ ;;; Copyright © 2020 Guillaume Le Vaillant ;;; Copyright © 2020 Jonathan Frederickson ;;; Copyright © 2020 Giacomo Leidi +;;; Copyright © 2020 Vinicius Monego +;;; Copyright © 2020 Michael Rohleder ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,6 +58,7 @@ #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages bison) + #:use-module (gnu packages build-tools) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -70,6 +73,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnunet) ; libmicrohttpd @@ -106,12 +110,14 @@ #:use-module (gnu packages valgrind) #:use-module (gnu packages video) #:use-module (gnu packages vim) ;xxd + #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) @@ -126,6 +132,308 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) +(define-public opensles + (package + (name "opensles") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/KhronosGroup/OpenSL-ES-Registry") + (commit "ea5104bf37bf525c25e6ae2386586048179d0fda"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0j5bm7h3ahz66f23i9abwc0y10agfkpksnj6y078x2nichq66h4f")) + (patches + (search-patches "opensles-add-license-file.patch")))) + (build-system copy-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'clean + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/etc")) + (mkdir-p (string-append out "/include")) + (mkdir-p (string-append out "/share")) + (rename-file + (string-append out "/api/1.1/OpenSLES_IID.c") + (string-append out "/etc/OpenSLES_IID.c")) + (rename-file + (string-append out "/api/1.1/OpenSLES.h") + (string-append out "/include/OpenSLES.h")) + (rename-file + (string-append out "/api/1.1/OpenSLES_Platform.h") + (string-append out "/include/OpenSLES_Platform.h")) + (rename-file + (string-append out "/api/1.1/README.txt") + (string-append out "/share/README.txt")) + (rename-file + (string-append out "/LICENSE.txt") + (string-append out "/share/LICENSE.txt")) + (for-each delete-file-recursively + (list + (string-append out "/api") + (string-append out "/specs"))) + (for-each delete-file + (list + (string-append out "/CODE_OF_CONDUCT.md") + (string-append out "/index.php") + (string-append out "/README.md")))) + #t))))) + (synopsis "Embedded Audio Acceleration") + (description "OpenSLES is a royalty-free, cross-platform, +hardware-accelerated audio API tuned for embedded systems. It provides a +standardized, high-performance, low-latency method to access audio +functionality for developers of native applications on embedded mobile +multimedia devices, enabling straightforward cross-platform deployment of +hardware and software audio capabilities, reducing implementation effort, and +promoting the market for advanced audio.") + (home-page "https://www.khronos.org/opensles/") + (license (license:non-copyleft "file:///LICENSE.txt")))) + +(define-public wildmidi + (package + (name "wildmidi") + (version "0.4.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/Mindwerks/wildmidi") + (commit (string-append name "-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01f4a9c5xlap5a4pkfnlgkzk5pjlk43zkq6fnw615ghya04g6hrl")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No target + #:configure-flags + (list + "-DWANT_ALSA=ON" + "-DWANT_OSS=ON" + "-DWANT_OPENAL=ON"))) + (inputs + `(("alsa" ,alsa-lib) + ("openal" ,openal))) + (synopsis "Software Synthesizer") + (description "WildMIDI is a simple software midi player which has a core +softsynth library that can be use with other applications.") + (home-page "https://www.mindwerks.net/projects/wildmidi/") + (license + (list + ;; Library. + license:lgpl3+ + ;; Player. + license:gpl3+)))) + +(define-public webrtc-audio-processing + (package + (name "webrtc-audio-processing") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri + (string-append "http://freedesktop.org/software/pulseaudio/" + name "/" name "-" version ".tar.xz")) + (sha256 + (base32 "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0")))) + (build-system gnu-build-system) + (synopsis "WebRTC's Audio Processing Library") + (description "WebRTC-Audio-Processing library based on Google's +implementation of WebRTC.") + (home-page + "https://freedesktop.org/software/pulseaudio/webrtc-audio-processing/") + (license (license:non-copyleft "file:///COPYING")))) + +(define-public vo-aacenc + (package + (name "vo-aacenc") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri + (string-append "https://sourceforge.net/projects/opencore-amr/files/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "0dhghm3c8pqrriwwyj5x9i0yf52fmdfijbgqqkvqvwarldvp86p5")))) + (build-system gnu-build-system) + (synopsis "VisualOn AAC Encoder") + (description "VO-AACENC is the VisualOn implementation of Advanced Audio +Coding (AAC) encoder.") + (home-page "https://sourceforge.net/projects/opencore-amr/") + (license license:asl2.0))) + +(define-public tinyalsa + (package + (name "tinyalsa") + (version "1.1.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/tinyalsa/tinyalsa") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ajyvml5bnzvhiyyrn42gqwgg23ssxkfh09rvsnywhzxhd0xai4h")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No target + #:phases + (modify-phases %standard-phases + (delete 'configure)) + #:make-flags + (list + (string-append "PREFIX=" (assoc-ref %outputs "out"))))) + (synopsis "ALSA interfacing library") + (description "TinyALSA is a small library to interface with ALSA in the +Linux kernel.") + (home-page "https://github.com/tinyalsa/tinyalsa") + (license (license:non-copyleft "file:///NOTICE")))) + +(define-public libopenmpt + (package + (name "libopenmpt") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri + (string-append "https://download.openmpt.org/archive/libopenmpt/src/" + "libopenmpt-" version "+release.autotools.tar.gz")) + (sha256 + (base32 "1f155yf5v57dwhzb7z0kh67lckr3yq4x8040dm54qgbxw582la77")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--docdir=" (assoc-ref %outputs "out") + "/share/doc/" ,name "-" ,version)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'delete-static-libraries + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib"))) + (for-each delete-file (find-files lib "\\.a$")) + #t)))))) + (native-inputs + `(("doxygen" ,doxygen) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("alsa" ,alsa-lib) + ("flac" ,flac) + ("mpg123" ,mpg123) + ("portaudio" ,portaudio) + ("pulseaudio" ,pulseaudio) + ("sdl2" ,sdl2) + ("sndfile" ,libsndfile) + ("vorbis" ,libvorbis) + ("zlib" ,zlib))) + (synopsis "Audio tracking library") + (description "LibOpenMPT is a cross-platform C++ and C module playback +library. It is based on the player code of the Open ModPlug Tracker project.") + (home-page "https://openmpt.org/") + (license (license:non-copyleft "file:///LICENSE")))) + +(define-public libofa + (package + (name "libofa") + (version "0.9.3") + (source + (origin + (method url-fetch) + (uri + (string-append "https://storage.googleapis.com/" + "google-code-archive-downloads/v2/code.google.com/" + "musicip-libofa/" name "-" version ".tar.gz")) + (sha256 + (base32 "184ham039l7lwhfgg0xr2vch2xnw1lwh7sid432mh879adhlc5h2")) + (patches + (search-patches + "libofa-ftbfs-1.diff" + "libofa-curl.diff" + "libofa-ftbfs-2.diff")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("expat" ,expat))) + (propagated-inputs + `(("fftw" ,fftw))) + (synopsis "Open Fingerprint Architecture") + (description "LibOFA is an audio fingerprint library, created and provided +by MusicIP.") + (home-page "https://code.google.com/archive/p/musicip-libofa/") + (license license:gpl2+))) + +(define-public faac + (package + (name "faac") + (version "1.30") + (source + (origin + (method url-fetch) + (uri + (string-append "https://sourceforge.net/projects/faac/files/faac-src/" + "faac-1.30/faac-1_30.tar.gz/download")) + (sha256 + (base32 "1lmj0dib3mjp84jhxc5ddvydkzzhb0gfrdh3ikcidjlcb378ghxd")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (synopsis "Freeware Advanced Audio Coder") + (description "FAAC is an MPEG-4 and MPEG-2 AAC encoder.") + (home-page "https://www.audiocoding.com/faac.html") + (license + (list + ;; ISO MPEG-4 reference code. + license:gpl2+ + ;; Others. + license:lgpl2.0+)))) + +(define-public libtimidity + (package + (name "libtimidity") + (version "0.2.6") + (source + (origin + (method url-fetch) + (uri + (string-append "https://sourceforge.net/projects/" name "/files/" + name "/" version "/" name "-" version ".tar.gz")) + (sha256 + (base32 "0p2px0m907gi1zpdr0l9adq25jl89j85c11ag9s2g4yc6n1nhgfm")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f)) ; XXX: LibTiMidity could not be initialised + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("ao" ,ao))) + (synopsis "MIDI to WAVE converter library") + (description "LibTiMidity is a MIDI to WAVE converter library that uses +Gravis Ultrasound-compatible patch files to generate digital audio data from +General MIDI files.") + (home-page "http://libtimidity.sourceforge.net/") + (license + ;; This project is dual-licensed. + ;; Either of the following licenses can be exercised. + (list + license:lgpl2.1+ + license:artistic2.0)))) + (define-public vo-amrwbenc (package (name "vo-amrwbenc") @@ -400,7 +708,7 @@ engineers, musicians, soundtrack editors and composers.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/audacity/audacity.git") + (url "https://github.com/audacity/audacity") (commit (string-append "Audacity-" version)))) (file-name (git-file-name name version)) (sha256 @@ -473,7 +781,7 @@ engineers, musicians, soundtrack editors and composers.") ;; SSE instructions are available on Intel systems only. ,@(if (any (cute string-prefix? <> (or (%current-target-system) (%current-system))) - '("x64_64" "i686")) + '("x86_64" "i686")) '() '("--enable-sse=no")) ;; portmidi, libid3tag and libmad provide no .pc files, so @@ -555,18 +863,30 @@ tools.") "audiofile-Fix-index-overflow-in-IMA.cpp.patch" ;; CVE-2017-6827, CVE-2017-6828, CVE-2017-6832, CVE-2017-6835, ;; CVE-2017-6837: - "audiofile-Check-the-number-of-coefficients.patch" + "audiofile-check-number-of-coefficients.patch" ;; CVE-2017-6839: - "audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch" + "audiofile-overflow-in-MSADPCM.patch" ;; CVE-2017-6830, CVE-2017-6834, CVE-2017-6836, CVE-2017-6838: - "audiofile-Fix-multiply-overflow-sfconvert.patch" - "audiofile-signature-of-multiplyCheckOverflow.patch" + "audiofile-multiply-overflow.patch" + "audiofile-function-signature.patch" ;; CVE-2017-6831: "audiofile-Fail-on-error-in-parseFormat.patch" ;; CVE-2017-6833: - "audiofile-division-by-zero-BlockCodec-runPull.patch" + "audiofile-division-by-zero.patch" "audiofile-CVE-2018-13440.patch" "audiofile-CVE-2018-17095.patch")))) + (properties `((lint-hidden-cve . ("CVE-2017-6829" + + "CVE-2017-6827" "CVE-2017-6828" + "CVE-2017-6832" "CVE-2017-6835" + "CVE-2017-6837" + + "CVE-2017-6839" + + "CVE-2017-6830" "CVE-2017-6834" + "CVE-2017-6836" "CVE-2017-6838" + + "CVE-2017-6831" "CVE-2017-6833")))) (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib))) @@ -718,7 +1038,7 @@ tools (analyzer, mono/stereo tools, crossovers).") ;; Actually https://github.com/moddevices/caps-lv2.git, but it's ;; missing fixes for newer glibc, so using the origin of a pull ;; request regarding this issue: - (url "https://github.com/jujudusud/caps-lv2.git") + (url "https://github.com/jujudusud/caps-lv2") (commit "9c9478b7fbd8f9714f552ebe2a6866398b0babfb"))) (file-name (git-file-name name version)) (sha256 @@ -740,7 +1060,7 @@ tools (analyzer, mono/stereo tools, crossovers).") `(("lv2" ,lv2))) ;; home-page of the original LADSPA version: http://quitte.de/dsp/caps.html (home-page "https://github.com/moddevices/caps-lv2") - (synopsis "LV2 port of the CAPS audio plugin colection") + (synopsis "LV2 port of the CAPS audio plugin collection") (description "LV2 port of CAPS, a collection of audio plugins comprising basic virtual guitar amplification and a small range of classic effects, signal processors and @@ -754,7 +1074,7 @@ generators of mostly elementary and occasionally exotic nature.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ssj71/infamousPlugins.git") + (url "https://github.com/ssj71/infamousPlugins") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -793,7 +1113,7 @@ envelope follower, distortion effects, tape effects and more.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/swh/ladspa.git") + (url "https://github.com/swh/ladspa") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -823,7 +1143,7 @@ envelope follower, distortion effects, tape effects and more.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/swh/lv2.git") + (url "https://github.com/swh/lv2") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -861,6 +1181,76 @@ flanger), ringmodulator, distortion, filters, pitchshift, oscillators, emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.") (license license:gpl3+))) +(define-public tao + (package + (name "tao") + (version "1.0-beta-10May2006") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/taopm/Tao/" + "tao-" version "/" + "tao-" version ".tar.gz")) + (sha256 + (base32 + "156py3g6mmglldfd0j76bn7n242hdwf49diaprjpj7crp8vgf2pz")) + (patches + (search-patches "tao-add-missing-headers.patch" + "tao-fix-parser-types.patch")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "configure" + (("SHELL=/bin/sh") "")) + #t)))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("TAO_RELEASE=-beta") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-references + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "user-scripts/tao.in" + (("taoparse") + (string-append (assoc-ref outputs "out") "/bin/taoparse")) + (("grep") (which "grep")) + (("sed -f \\$distdir/user-scripts/") + (string-append (which "sed") " -f $distdir/")) + (("distdir=.*") + (string-append "distdir=" + (assoc-ref outputs "out") "/share/tao"))) + #t)) + (add-after 'install 'install-extra-files + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/tao/")) + (inc (string-append out "/include/tao/"))) + (mkdir-p share) + (mkdir-p inc) + (install-file "user-scripts/error.parse" share) + (copy-recursively "examples" (string-append share "examples")) + (for-each (lambda (file) (install-file file inc)) + (find-files "include" "\\.h")) + #t)))))) + (inputs + `(("audiofile" ,audiofile) + ("libxi" ,libxi) + ("libxmu" ,libxmu) + ("mesa" ,mesa) + ("glut" ,freeglut) + ("flex" ,flex) + ("bison" ,bison) + ("sed" ,sed) + ("grep" ,grep))) + (home-page "http://taopm.sourceforge.net/") + (synopsis "Sound Synthesis with Physical Models") + (description "Tao is a software package for sound synthesis using physical +models. It provides a virtual acoustic material constructed from masses and +springs which can be used as the basis for building quite complex virtual +musical instruments. Tao comes with a synthesis language for creating and +playing instruments and a C++ API for those who would like to use it as an +object library.") + (license license:gpl2+))) + (define-public csound (package (name "csound") @@ -869,7 +1259,7 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/csound/csound.git") + (url "https://github.com/csound/csound") (commit version))) (file-name (git-file-name name version)) (sha256 @@ -1255,16 +1645,16 @@ follower.") (define-public fluidsynth (package (name "fluidsynth") - (version "2.1.3") + (version "2.1.5") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/FluidSynth/fluidsynth.git") + (url "https://github.com/FluidSynth/fluidsynth") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0dv6jprz2bzasvk91x2rv2pqyyvxkc72s4r6vsqw723a3kqa5bhc")))) + "0ccpq4p1h1g53ng3961g3lh590qnwvpzwdzpl6ai4j6iazq0bh73")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no check target @@ -1315,22 +1705,22 @@ also play midifiles using a Soundfont.") (define-public faad2 (package (name "faad2") - (version "2.8.6") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/faac/faad2-src/faad2-" - (version-major+minor version) ".0/" - "faad2-" version ".tar.gz")) - (sha256 - (base32 - "089zqykqgmmysznvk0bi2pfvdqwclnn540d0zks83sv2pynpfjb5")))) + (version "2.8.8") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/faac/faad2-src/faad2-" + (version-major+minor version) ".0/" + "faad2-" version ".tar.gz")) + (sha256 + (base32 "0va284hndhn0ynm4lyn219qw4y8wa4agfkqgwlaji7bqp6nkyp4q")))) (build-system gnu-build-system) (home-page "https://www.audiocoding.com/faad2.html") (synopsis "MPEG-4 and MPEG-2 AAC decoder") (description - "FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR, -PS, and DAB+.") - (license license:gpl2))) + "FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR, -PS, and DAB+.") + (license license:gpl2+))) (define-public faust (package @@ -1339,7 +1729,7 @@ PS, and DAB+.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/grame-cncm/faust.git") + (url "https://github.com/grame-cncm/faust") (commit (string-append "v" (string-map (lambda (c) (if (char=? c #\.) #\- c)) @@ -1447,7 +1837,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.") (define-public guitarix (package (name "guitarix") - (version "0.38.1") + (version "0.41.0") (source (origin (method url-fetch) (uri (string-append @@ -1455,28 +1845,14 @@ patches that can be used with softsynths such as Timidity and WildMidi.") version ".tar.xz")) (sha256 (base32 - "0bw7xnrx062nwb1bfj9x660h7069ncmz77szcs8icpqxrvhs7z80")))) + "0qsfbyrrpb3bbdyq68k28mjql7kglxh8nqcw9jvja28x6x9ik5a0")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no "check" target - #:python ,python-2 #:configure-flags (list ;; Add the output lib directory to the RUNPATH. - (string-append "--ldflags=-Wl,-rpath=" %output "/lib")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-boost-includes - (lambda _ - (substitute* "src/headers/gx_internal_plugins.h" - (("namespace gx_jack" m) - (string-append "#include \n" m))) - (substitute* '("src/headers/gx_system.h" - "src/headers/gx_parameter.h" - "src/headers/gx_json.h") - (("namespace gx_system" m) - (string-append "#include \n" m))) - #t))))) + (string-append "--ldflags=-Wl,-rpath=" %output "/lib")))) (inputs `(("libsndfile" ,libsndfile) ("boost" ,boost) @@ -1487,8 +1863,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.") ("lilv" ,lilv) ("ladspa" ,ladspa) ("jack" ,jack-1) - ("gtkmm" ,gtkmm-2) - ("gtk+" ,gtk+-2) + ("gtkmm" ,gtkmm) + ("gtk+" ,gtk+) ("fftwf" ,fftwf) ("lrdf" ,lrdf) ("zita-resampler" ,zita-resampler) @@ -1498,7 +1874,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.") ("faust" ,faust) ("intltool" ,intltool) ("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("sassc" ,sassc))) (native-search-paths (list (search-path-specification (variable "LV2_PATH") @@ -1619,15 +1996,16 @@ especially for creating reverb effects. It supports impulse responses with 1, (package (name "jack") (version "0.125.0") - (source (origin - (method url-fetch) - (uri (string-append - "http://jackaudio.org/downloads/jack-audio-connection-kit-" - version - ".tar.gz")) - (sha256 - (base32 - "0i6l25dmfk2ji2lrakqq9icnwjxklgcjzzk65dmsff91z2zva5rm")))) + (source + (origin + (method url-fetch) + ;; jackaudio.org/downloads/jack-audio-connection-kit-0.125.0.tar.gz + ;; no longer exists (404). Use an unofficial mirror. + (uri (string-append "https://crux.ster.zone/downloads/" + "jack-audio-connection-kit/" + "jack-audio-connection-kit-" version ".tar.gz")) + (sha256 + (base32 "0i6l25dmfk2ji2lrakqq9icnwjxklgcjzzk65dmsff91z2zva5rm")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -1647,7 +2025,7 @@ especially for creating reverb effects. It supports impulse responses with 1, ("bdb" ,bdb))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://jackaudio.org/") + (home-page "https://jackaudio.org/") (synopsis "JACK audio connection kit") (description "JACK is a low-latency audio server. It can connect a number of @@ -1666,7 +2044,7 @@ synchronous execution of all clients, and low latency operation.") (define-public jack-2 (package (inherit jack-1) (name "jack2") - (version "1.9.13") + (version "1.9.14") (source (origin (method url-fetch) (uri (string-append "https://github.com/jackaudio/jack2/releases/" @@ -1675,7 +2053,7 @@ synchronous execution of all clients, and low latency operation.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1d1d403jn4366mqig6g8ghr8057b3rn7gs26b5p3rkal34j20qw2")))) + "0z11hf55a6mi8h50hfz5wry9pshlwl4mzfwgslghdh40cwv342m2")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no check target @@ -1685,6 +2063,10 @@ synchronous execution of all clients, and low latency operation.") (modify-phases %standard-phases (add-before 'configure 'set-linkflags (lambda _ + ;; Ensure -lstdc++ is the tail of LDFLAGS or the simdtests.cpp + ;; will not link with undefined reference to symbol + ;; '__gxx_personality_v0@@CXXABI_1.3' + (setenv "LDFLAGS" "-lstdc++") ;; Add $libdir to the RUNPATH of all the binaries. (substitute* "wscript" ((".*CFLAGS.*-Wall.*" m) @@ -1919,6 +2301,48 @@ with applications that support them (e.g. PulseAudio).") implementation of the Open Sound Control (@dfn{OSC}) protocol.") (license license:lgpl2.1+))) +(define-public rtaudio + (package + (name "rtaudio") + (version "5.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/thestk/rtaudio") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "156c2dgh6jrsyfn1y89nslvaxm4yifmxridsb708yvkaym02w2l8")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("jack" ,jack-1) + ("pulseaudio" ,pulseaudio))) + (synopsis "Common API for real-time audio I/O") + (description + "RtAudio is a set of C++ classes that provides a common API for real-time +audio input/output. It was designed with the following objectives: + +@itemize +@item object-oriented C++ design +@item simple, common API across all supported platforms +@item only one source and one header file for easy inclusion in programming +projects +@item allow simultaneous multi-api support +@item support dynamic connection of devices +@item provide extensive audio device parameter control +@item allow audio device capability probing +@item automatic internal conversion for data format, channel number +compensation, (de)interleaving, and byte-swapping +@end itemize") + (home-page "https://www.music.mcgill.ca/~gary/rtaudio/") + ;; License is expat with a non-binding request to send modifications to + ;; original developer. + (license license:expat))) + (define-public python-pyaudio (package (name "python-pyaudio") @@ -2023,21 +2447,21 @@ significantly faster and have minimal dependencies.") (version "1.18.0") (source (origin (method url-fetch) - (uri (string-append "http://lv2plug.in/spec/lv2-" + (uri (string-append "https://lv2plug.in/spec/lv2-" version ".tar.bz2")) (sha256 (base32 "0gs7401xz23q9vajqr31aa2db8dvssgyh5zrvr4ipa6wig7yb8wh")))) (build-system waf-build-system) (arguments - `(#:tests? #f ; no check target + `(#:tests? #f ; no check target #:configure-flags '("--no-plugins"))) (inputs ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins `(("libsndfile" ,libsndfile))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://lv2plug.in/") + (home-page "https://lv2plug.in/") (synopsis "LV2 audio plugin specification") (description "LV2 is an open specification for audio plugins and host applications. @@ -2100,7 +2524,7 @@ software.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/lvtk/lvtk.git") + (url "https://github.com/lvtk/lvtk") (commit version))) (file-name (git-file-name name version)) (sha256 @@ -2270,20 +2694,21 @@ different audio devices such as ALSA or PulseAudio.") (define-public qjackctl (package (name "qjackctl") - (version "0.5.9") + (version "0.6.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/" version "/qjackctl-" version ".tar.gz")) (sha256 (base32 - "1saywsda9m124rmjp7i3n0llryaliabjxhqhvqr6dm983qy7pypk")))) + "0zbb4jlx56qvcqyhx34mbagkqf3wbxgj84hk0ppf5cmcrxv67d4x")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no check target (inputs `(("jack" ,jack-1) ("alsa-lib" ,alsa-lib) + ("portaudio" ,portaudio) ("qtbase" ,qtbase) ("qtx11extras" ,qtx11extras))) (native-inputs @@ -2302,7 +2727,7 @@ into various outputs and to start, stop and configure jackd") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/orouits/qjackrcd.git") + (url "https://github.com/orouits/qjackrcd") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -2337,7 +2762,7 @@ background file post-processing.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/supercollider/supercollider.git") + (url "https://github.com/supercollider/supercollider") (commit (string-append "Version-" version)) ;; for nova-simd, nova-tt, hidapi, TLSF, oscpack (recursive? #t))) @@ -2510,9 +2935,12 @@ aimed at audio/musical applications.") ("automake" ,automake) ("pkg-config" ,pkg-config) ("libtool" ,libtool))) - (synopsis "Real-time library for sampling rate conversion") - (description "The @command{resample} software package contains free -sampling-rate conversion and filter design utilities.") + (synopsis "Sampling rate conversion and filter design utilities") + (description "This package contains the @command{resample} and +@command{windowfilter} command line utilities. The @command{resample} command +allows changing the sampling rate of a sound file, while the +@command{windowfilter} command allows designing Finite Impulse Response (FIR) +filters using the so-called @emph{window method}.") (home-page "https://ccrma.stanford.edu/~jos/resample/Free_Resampling_Software.html") (license license:lgpl2.1+))) @@ -2645,6 +3073,32 @@ that toolkit will work in all hosts that use Suil automatically. Suil currently supports every combination of Gtk, Qt, and X11.") (license license:isc))) +(define-public libebur128 + (package + (name "libebur128") + (version "1.2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jiixyj/libebur128") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n81rnm8dm1zmibkr2v3q79rsd609y0dbbsrbay18njcjva88p0g")))) + (build-system cmake-build-system) + (arguments + `(;; Tests require proprietary .wav files. See + ;; https://github.com/jiixyj/libebur128/issues/82. + #:tests? #f + #:configure-flags '("-DBUILD_STATIC_LIBS=OFF"))) + (home-page "https://github.com/jiixyj/libebur128") + (synopsis "Library implementing the EBU R 128 loudness standard") + (description + "@code{libebur128} is a C library that implements the EBU R 128 standard +for loudness normalisation.") + (license license:expat))) + (define-public timidity++ (package (name "timidity++") @@ -2786,17 +3240,31 @@ stretching and pitch scaling of audio. This package contains the library.") (define-public wavpack (package (name "wavpack") - (version "5.3.0") - (source (origin - (method url-fetch) - (uri (string-append "http://www.wavpack.com/" - "wavpack-" version ".tar.xz")) - (sha256 - (base32 - "01r351ggha9pdfk7p601dlxac4ka1q89lgnb6zqk00zf1fd3fi5l")))) + (version "5.3.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dbry/WavPack") + (commit "e4e8d191e8dd74cbdbeaef3232c16a7ef517e68d"))) + (sha256 + (base32 "1zj8svk6giy1abq3940sz32ygz7zldppxl47852zgn5wfm3l2spx")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-static"))) + '(#:configure-flags + (list "--disable-static") + #:phases + (modify-phases %standard-phases + (replace 'bootstrap + ;; Running ./autogen.sh would cause premature configuration. + (lambda _ + (invoke "autoreconf" "-vif") + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) (home-page "http://www.wavpack.com/") (synopsis "Hybrid lossless audio codec") (description @@ -2875,7 +3343,7 @@ Tracker 3 S3M and Impulse Tracker IT files.") (define-public soundtouch (package (name "soundtouch") - (version "2.1.2") + (version "2.2") (source (origin (method git-fetch) @@ -2884,7 +3352,7 @@ Tracker 3 S3M and Impulse Tracker IT files.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "174wgm3s0inmbnkrlnspxjwm2014qhjhkbdqa5r8rbfi0nzqxzsz")))) + (base32 "12i6yg8vvqwyk412lxl2krbfby6hnxld8qxy0k4m5xp4g94jiq4p")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -3055,8 +3523,11 @@ interface.") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/qsynth/qsynth/" version - "/qsynth-" version ".tar.gz")) + (uri (list + (string-append "mirror://sourceforge/qsynth/qsynth/" version + "/qsynth-" version ".tar.gz") + (string-append "mirror://sourceforge/qsynth/qsynth (attic)" + "/qsynth-" version ".tar.gz"))) (sha256 (base32 "18im4w8agj60nkppwbkxqnhpp13z5li3w30kklv4lgs20rvgbvl6")))) (build-system gnu-build-system) @@ -3084,7 +3555,7 @@ synthesizer written in C++.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/Themaister/RSound.git") + (url "https://github.com/Themaister/RSound") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -3123,7 +3594,7 @@ with a much different focus than most other audio daemons.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/johnhldavis/xjackfreak.git") + (url "https://github.com/johnhldavis/xjackfreak") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -3308,7 +3779,7 @@ point audio data.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/svend/cuetools.git") + (url "https://github.com/svend/cuetools") (commit version))) (file-name (git-file-name name version)) (sha256 @@ -3335,8 +3806,11 @@ machine-readable ASCII format.") (version "3.0.10") (source (origin (method url-fetch) - (uri (string-append "http://etree.org/shnutils/shntool/dist/src/" - "shntool-" version ".tar.gz")) + (uri (list + (string-append "http://etree.org/shnutils/shntool/dist/src/" + "shntool-" version ".tar.gz") + (string-append "mirror://debian/pool/main/s/shntool/shntool_" + version ".orig.tar.gz"))) (sha256 (base32 "00i1rbjaaws3drkhiczaign3lnbhr161b7rbnjr8z83w8yn2wc3l")))) @@ -3358,7 +3832,7 @@ use them split WAVE data into multiple files.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/foo86/dcadec.git") + (url "https://github.com/foo86/dcadec") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -3367,9 +3841,9 @@ use them split WAVE data into multiple files.") (build-system gnu-build-system) (arguments ;; Test files are missing: https://github.com/foo86/dcadec/issues/53 - '(#:tests? #f + `(#:tests? #f #:make-flags - (list "CC=gcc" + (list (string-append "CC=" ,(cc-for-target)) ;; Build shared library. "CONFIG_SHARED=1" (string-append "PREFIX=" (assoc-ref %outputs "out")) @@ -3436,7 +3910,7 @@ loudness of audio and video files to the same level.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/irungentoo/filter_audio.git") + (url "https://github.com/irungentoo/filter_audio") (commit commit))) (file-name (string-append name "-" version "-checkout")) (sha256 @@ -3444,8 +3918,8 @@ loudness of audio and video files to the same level.") "0hbb290n3wb23f2k692a6bhc23nnqmxqi9sc9j15pnya8wifw64g")))) (build-system gnu-build-system) (arguments - '(#:make-flags (list (string-append "PREFIX=" %output) - "CC=gcc") + `(#:make-flags (list (string-append "PREFIX=" %output) + (string-append "CC=" ,(cc-for-target))) #:tests? #f ; No tests #:phases (modify-phases %standard-phases @@ -3536,25 +4010,47 @@ mixers.") (define-public python2-pyalsaaudio (package-with-python2 python-pyalsaaudio)) +(define-public ldacbt + (package + (name "ldacbt") + (version "2.0.2.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/EHfive/ldacBT" + "/releases/download/v" version + "/ldacBT-" version ".tar.gz")) + (sha256 + (base32 + "1d65dms4klzql29abi15i90f41h523kl6mxrz9hi6p5vg37fxn2b")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; no check target + (home-page "https://github.com/EHfive/ldacBT/") + (synopsis "LDAC Bluetooth encoder and ABR library") + (description "This package provides an encoder for the LDAC +high-resolution Bluetooth audio streaming codec for streaming at up to 990 +kbps at 24 bit/96 kHz.") + (license license:asl2.0))) + (define-public bluez-alsa (package (name "bluez-alsa") - (version "2.0.0") + (version "3.0.0") (source (origin ;; The tarballs are mere snapshots and don't contain a ;; bootstrapped build system. (method git-fetch) (uri (git-reference - (url "https://github.com/Arkq/bluez-alsa.git") + (url "https://github.com/Arkq/bluez-alsa") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "08mppgnjf1j2733bk9yf0cny6rfxxwiys0s62lz2zd2lpdl6d9lz")))) + "1jlsgxyqfhncfhx1sy3ry0dp6p95kd4agh7g2b7g51h0c4cv74h8")))) (build-system gnu-build-system) (arguments `(#:configure-flags - (list (string-append "--with-alsaplugindir=" + (list "--enable-ldac" + (string-append "--with-alsaplugindir=" (assoc-ref %outputs "out") "/lib/alsa-lib") (string-append "--with-dbusconfdir=" @@ -3570,6 +4066,7 @@ mixers.") ("bluez" ,bluez) ("dbus" ,dbus) ("glib" ,glib) + ("ldacbt" ,ldacbt) ("libbsd" ,libbsd) ("ncurses" ,ncurses) ("ortp" ,ortp) @@ -3590,14 +4087,14 @@ on the ALSA software PCM plugin.") (define-public snd (package (name "snd") - (version "20.5") + (version "20.9") (source (origin (method url-fetch) (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/" "snd-" version ".tar.gz")) (sha256 (base32 - "1frg64q2d8cia6v7jia7kahzx0apwdl0z252mzlbwqdz5960nv90")))) + "0jxkycxn6jcbs4gklk9sk3gfr0y26dz1m71nxah9rnx80wnzj6hr")))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; no tests @@ -3654,7 +4151,7 @@ the Snd sources), Ruby, or Forth.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/lucianodato/noise-repellent.git") + (url "https://github.com/lucianodato/noise-repellent") (commit version))) (file-name (string-append name "-" version "-checkout")) (sha256 @@ -3699,7 +4196,7 @@ the following features: (origin (method git-fetch) (uri (git-reference - (url "https://github.com/dpayne/cli-visualizer.git") + (url "https://github.com/dpayne/cli-visualizer") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -3744,7 +4241,7 @@ representations.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/karlstav/cava.git") + (url "https://github.com/karlstav/cava") (commit version))) (file-name (git-file-name name version)) (sha256 @@ -3897,7 +4394,7 @@ library.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/FNA-XNA/FAudio.git") + (url "https://github.com/FNA-XNA/FAudio") (commit version))) (file-name (git-file-name name version)) (sha256 @@ -4002,10 +4499,79 @@ stream to one or more IceCast and/or ShoutCast servers.") (home-page "https://x42.github.io/libltc/") (license license:lgpl3+))) +(define-public ttaenc + (package + (name "ttaenc") + (version "3.4.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/tta/" + "tta/ttaenc-src" + "/ttaenc-" version "-src.tgz")) + (sha256 + (base32 + "1iixpr4b89g9g1hwn8ak8k8iflcww3r5f09a117qdidc2nqcijdj")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no tests + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "INSDIR=" (assoc-ref %outputs "out") "/bin")) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure + (add-before 'install 'make-bindir + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + #t)))))) + (synopsis "TTA lossless audio encoder") + (description + "TTA performs lossless compression on multichannel 8,16 and 24 bits +data of the Wav audio files. Being lossless means that no data- +quality is lost in the compression - when uncompressed, the data will +be identical to the original. The compression ratios of TTA depend on +the type of music file being compressed, but the compression size +will generally range between 30% - 70% of the original. TTA format +supports both of ID3v1/v2 and APEv2 tags.") + (home-page "http://tausoft.org/") + (license license:gpl2+))) + +(define-public libsoundio + (package + (name "libsoundio") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/andrewrk/libsoundio") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12l4rvaypv87vigdrmjz48d4d6sq4gfxf5asvnc4adyabxb73i4x")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ;no tests included + (inputs + `(("alsa-lib" ,alsa-lib) + ("jack" ,jack-1) + ("pulseaudio" ,pulseaudio))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://libsound.io") + (synopsis "C library for real-time audio input and output") + (description "@code{libsoundio} is a C library providing audio input and +output. The API is suitable for real-time software such as digital audio +workstations as well as consumer software such as music players.") + (license license:expat))) + (define-public redkite (package (name "redkite") - (version "0.8.1") + (version "1.0.3") (source (origin (method git-fetch) @@ -4014,14 +4580,14 @@ stream to one or more IceCast and/or ShoutCast servers.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "17kv2jc4jvn3sdicz3sf8dnf25wbvv7ijzkr0mm0sbrrjz6vrwz0")))) + (base32 "1m2db7c791fi33snkjwnvlxapmf879g5r8azlkx7sr6vp2s0jq2k")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no tests included (inputs `(("cairo" ,cairo))) (native-inputs - `(("pkg-config", pkg-config))) + `(("pkg-config" ,pkg-config))) (synopsis "Small GUI toolkit") (description "Redkite is a small GUI toolkit developed in C++17 and inspired from other well known GUI toolkits such as Qt and GTK. It is @@ -4034,18 +4600,18 @@ as is the case with audio plugins.") (define-public carla (package (name "carla") - (version "2.0.0") + (version "2.1.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/falkTX/Carla.git") + (url "https://github.com/falkTX/Carla") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0fqgncqlr86n38yy7pa118mswfacmfczj7w9xx6c6k0jav3wk29k")))) + "0c3y4a6cgi4bv1mg57i3qn5ia6pqjqlaylvkapj6bmpsw71ig22g")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target @@ -4076,6 +4642,7 @@ as is the case with audio plugins.") ("file" ,file) ("liblo" ,liblo) ("libsndfile" ,libsndfile) + ("gtk2" ,gtk+-2) ;needed for bridging GTK2 plugins in GTK3 hosts ("gtk+" ,gtk+) ("python-pyliblo" ,python-pyliblo) ("python-pyqt" ,python-pyqt) @@ -4147,7 +4714,7 @@ in the package.") (define-public libaudec (package (name "libaudec") - (version "0.2.2") + (version "0.2.4") (source (origin (method git-fetch) @@ -4157,16 +4724,18 @@ in the package.") (file-name (git-file-name name version)) (sha256 (base32 - "04mpmfmqc43asw0m3zxhb6jj4qms7x4jw7mx4xb1d3lh16xllniz")))) + "1570m2dfia17dbkhd2qhx8jjihrpm7g8nnyg6n4wif4vv229s7dz")))) (build-system meson-build-system) (arguments - `(#:configure-flags `("-Denable_tests=true -Denable_ffmpeg=true"))) + `(#:meson ,meson-0.55 + #:configure-flags + ;; Build the tests. + `("-Dtests=true"))) (inputs `(("libsamplerate" ,libsamplerate) - ("libsndfile" ,libsndfile) - ("ffmpeg" ,ffmpeg))) + ("libsndfile" ,libsndfile))) (native-inputs - `(("pkg-config", pkg-config))) + `(("pkg-config" ,pkg-config))) (synopsis "Library for reading and resampling audio files") (description "libaudec is a wrapper library over ffmpeg, sndfile and libsamplerate for reading and resampling audio files, based on Robin Gareus' @@ -4177,7 +4746,7 @@ libsamplerate for reading and resampling audio files, based on Robin Gareus' (define-public lv2lint (package (name "lv2lint") - (version "0.4.0") + (version "0.8.0") (source (origin (method git-fetch) @@ -4187,18 +4756,18 @@ libsamplerate for reading and resampling audio files, based on Robin Gareus' (file-name (git-file-name name version)) (sha256 (base32 - "1pspwqpzl2dw1hd9ra9yr53arqbbqjn7d7j0f7p9g3iqa76vblpi")))) + "1jrka0hsn4n1clri7zfkcl3c2vi52144lkpjm81l51ff8rqy8ks1")))) (build-system meson-build-system) (arguments `(#:configure-flags `("-Delf-tests=true" ; for checking symbol visibility "-Donline-tests=true"))) ; for checking URI existence (inputs - `(("curl", curl) - ("libelf", libelf) - ("lilv", lilv))) + `(("curl" ,curl) + ("libelf" ,libelf) + ("lilv" ,lilv))) (native-inputs - `(("pkg-config", pkg-config))) + `(("pkg-config" ,pkg-config))) (synopsis "LV2 plugin lint tool") (description "lv2lint is an LV2 lint-like tool that checks whether a given plugin and its UI(s) match up with the provided metadata and adhere @@ -4229,11 +4798,11 @@ to well-known best practices.") (modify-phases %standard-phases (delete 'configure)))) (inputs - `(("jalv", jalv) - ("lilv", lilv))) + `(("jalv" ,jalv) + ("lilv" ,lilv))) (native-inputs - `(("help2man", help2man) - ("pkg-config", pkg-config))) + `(("help2man" ,help2man) + ("pkg-config" ,pkg-config))) (synopsis "Documentation generator for LV2 plugins") (description "lv2toweb allows the user to create an xhtml page with information @@ -4272,6 +4841,38 @@ minimum.") (home-page "https://git.zrythm.org/cgit/ztoolkit/") (license license:agpl3+))) +(define-public libinstpatch + (package + (name "libinstpatch") + (version "1.1.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/swami/libinstpatch") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0psx4hc5yksfd3k2xqsc7c8lbz2d4yybikyddyd9hlkhq979cmjb")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ;there are no tests + (native-inputs + `(("glib:bin" ,glib "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("libsndfile" ,libsndfile))) + (home-page "http://www.swamiproject.org/") + (synopsis "Instrument file software library") + (description + "libInstPatch is a library for processing digital sample based MIDI +instrument \"patch\" files. The types of files libInstPatch supports are used +for creating instrument sounds for wavetable synthesis. libInstPatch provides +an object framework (based on GObject) to load patch files, which can then be +edited, converted, compressed and saved.") + (license license:lgpl2.1))) + (define-public ztoolkit-rsvg (package (inherit ztoolkit) @@ -4283,6 +4884,37 @@ minimum.") ,@(package-inputs ztoolkit))) (synopsis "ZToolkit with SVG support"))) +(define-public lsp-dsp-lib + (package + (name "lsp-dsp-lib") + (version "0.5.8") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/sadko4u/lsp-dsp-lib/" + "releases/download/lsp-dsp-lib-" version + "/lsp-dsp-lib-" version "-src.tar.gz")) + (sha256 + (base32 + "07w3d2i0z0xmvi1ngcgs7lc5a0da8jvf7rv4dnjk01md43b7fkh1")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags + (list (string-append "CC=" ,(cc-for-target))) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (invoke "make" "config" + (string-append "PREFIX=" (assoc-ref outputs "out")))))))) + (home-page "https://github.com/sadko4u/lsp-dsp-lib") + (synopsis "Digital signal processing library") + (description "The LSP DSP library provides a set of functions that perform +SIMD-optimized computing on several hardware architectures. All functions +currently operate on IEEE-754 single-precision floating-point numbers.") + (license license:lgpl3+))) + (define-public codec2 (package (name "codec2") @@ -4291,7 +4923,7 @@ minimum.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/drowe67/codec2.git") + (url "https://github.com/drowe67/codec2") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -4324,7 +4956,7 @@ digital radio.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/Ableton/link.git") + (url "https://github.com/Ableton/link") (commit (string-append "Link-" version)))) (file-name (git-file-name name version)) (sha256