diff --git a/pkgs/applications/audio/faustPhysicalModeling/default.nix b/pkgs/applications/audio/faustPhysicalModeling/default.nix new file mode 100644 index 000000000000..f55cee957c77 --- /dev/null +++ b/pkgs/applications/audio/faustPhysicalModeling/default.nix @@ -0,0 +1,39 @@ +{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }: +stdenv.mkDerivation rec { + pname = "faustPhysicalModeling"; + version = "2.20.2"; + + src = fetchFromGitHub { + owner = "grame-cncm"; + repo = "faust"; + rev = version; + sha256 = "1mm93ba26b7q69hvabzalg30dh8pl858nj4m2bb57pznnp09lq9a"; + }; + + buildInputs = [ faust2jaqt faust2lv2 ]; + + buildPhase = '' + cd examples/physicalModeling + + for f in *MIDI.dsp; do + faust2jaqt -time -vec -double -midi -nvoices 16 -t 99999 $f + faust2lv2 -time -vec -double -gui -nvoices 16 -t 99999 $f + done + ''; + + installPhase = '' + mkdir -p $out/lib/lv2 $out/bin + mv *.lv2/ $out/lib/lv2 + for f in $(find . -executable -type f); do + cp $f $out/bin/ + done + ''; + + meta = with lib; { + description = "The physical models included with faust compiled as jack standalone and lv2 instruments"; + homepage = "https://github.com/grame-cncm/faust/tree/master-dev/examples/physicalModeling"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ magnetophon ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0a144574faab..c7f46590db63 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27449,6 +27449,8 @@ in faustlive = callPackage ../applications/audio/faust/faustlive.nix { }; + faustPhysicalModeling = callPackage ../applications/audio/faustPhysicalModeling { }; + faustStk = callPackage ../applications/audio/faustStk { }; fceux = callPackage ../misc/emulators/fceux { };