summary refs log tree commit diff
path: root/pkgs/tools/audio
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2019-11-24 17:25:07 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2019-11-24 17:25:07 +0000
commitd0d5136cce5e0cbe2305c53090bd4bd886114746 (patch)
tree70092947536a3c65e215df9df20e571e34652f7a /pkgs/tools/audio
parent9b090ccbca3f7dd26d91db06e96e8bf8282c37ca (diff)
parent195c263a812dec532656dcfd5d0360458cdc93fd (diff)
downloadnixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.tar
nixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.tar.gz
nixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.tar.bz2
nixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.tar.lz
nixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.tar.xz
nixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.tar.zst
nixpkgs-d0d5136cce5e0cbe2305c53090bd4bd886114746.zip
Merge remote-tracking branch 'upstream/master' into wrapper-pname-support
Diffstat (limited to 'pkgs/tools/audio')
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/beets/default.nix39
-rw-r--r--pkgs/tools/audio/bpm-tools/default.nix32
-rw-r--r--pkgs/tools/audio/essentia-extractor/default.nix41
-rw-r--r--pkgs/tools/audio/video2midi/default.nix4
5 files changed, 99 insertions, 21 deletions
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 773b09958ea..8d990f3a3a8 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2019.08.11";
+  version = "2019.10.13";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    sha256 = "0rkqmavg7iv9080jdqs0qz80nanhizv6jk0fg9d5xvq3gnmfvnj1";
+    sha256 = "1i2gpfrzi12smrlni25fcah6a8rb5l7p358r60jbysc2bpzxwd9l";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index 21e748cc79d..9509eccabdc 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -6,6 +6,7 @@
 # Attributes needed for tests of the external plugins
 , callPackage, beets
 
+, enableAbsubmit       ? stdenv.lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor ? null
 , enableAcousticbrainz ? true
 , enableAcoustid       ? true
 , enableBadfiles       ? true, flac ? null, mp3val ? null
@@ -17,9 +18,12 @@
 , enableKeyfinder      ? true, keyfinder-cli ? null
 , enableKodiupdate     ? true
 , enableLastfm         ? true
+, enableLoadext        ? true
 , enableMpd            ? true
+, enablePlaylist       ? true
 , enableReplaygain     ? true, bs1770gain ? null
 , enableSonosUpdate    ? true
+, enableSubsonicupdate ? true
 , enableThumbnails     ? true
 , enableWeb            ? true
 
@@ -30,6 +34,7 @@
 , bashInteractive, bash-completion
 }:
 
+assert enableAbsubmit    -> essentia-extractor            != null;
 assert enableAcoustid    -> pythonPackages.pyacoustid     != null;
 assert enableBadfiles    -> flac != null && mp3val != null;
 assert enableConvert     -> ffmpeg != null;
@@ -48,6 +53,7 @@ with stdenv.lib;
 
 let
   optionalPlugins = {
+    absubmit = enableAbsubmit;
     acousticbrainz = enableAcousticbrainz;
     badfiles = enableBadfiles;
     chroma = enableAcoustid;
@@ -60,21 +66,24 @@ let
     kodiupdate = enableKodiupdate;
     lastgenre = enableLastfm;
     lastimport = enableLastfm;
+    loadext = enableLoadext;
     mpdstats = enableMpd;
     mpdupdate = enableMpd;
+    playlist = enablePlaylist;
     replaygain = enableReplaygain;
     sonosupdate = enableSonosUpdate;
+    subsonicupdate = enableSubsonicupdate;
     thumbnails = enableThumbnails;
     web = enableWeb;
   };
 
   pluginsWithoutDeps = [
-    "absubmit" "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates"
-    "edit" "embedart" "export" "filefilter" "freedesktop" "fromfilename"
-    "ftintitle" "fuzzy" "hook" "ihate" "importadded" "importfeeds" "info"
-    "inline" "ipfs" "lyrics" "mbcollection" "mbsubmit" "mbsync" "metasync"
-    "missing" "permissions" "play" "plexupdate" "random" "rewrite" "scrub"
-    "smartplaylist" "spotify" "the" "types" "zero"
+    "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates" "edit" "embedart"
+    "export" "filefilter" "freedesktop" "fromfilename" "ftintitle" "fuzzy"
+    "hook" "ihate" "importadded" "importfeeds" "info" "inline" "ipfs" "lyrics"
+    "mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "permissions" "play"
+    "plexupdate" "random" "rewrite" "scrub" "smartplaylist" "spotify" "the"
+    "types" "zero"
   ];
 
   enabledOptionalPlugins = attrNames (filterAttrs (_: id) optionalPlugins);
@@ -102,13 +111,13 @@ let
 
 in pythonPackages.buildPythonApplication rec {
   pname = "beets";
-  version = "1.4.7";
+  version = "1.4.9";
 
   src = fetchFromGitHub {
     owner = "beetbox";
     repo = "beets";
     rev = "v${version}";
-    sha256 = "17gfz0g7pqm6wha8zf63zpw07zgi787w1bjwdcxdh1l3z4m7jc9l";
+    sha256 = "1qxdqbzvz97zgykzdwn78g2xyxmg0q2jdb12dnjnrwvhmjv67vi8";
   };
 
   propagatedBuildInputs = [
@@ -123,10 +132,14 @@ in pythonPackages.buildPythonApplication rec {
     pythonPackages.gst-python
     pythonPackages.pygobject3
     gobject-introspection
-  ] ++ optional enableAcoustid      pythonPackages.pyacoustid
+  ] ++ optional enableAbsubmit      essentia-extractor
+    ++ optional enableAcoustid      pythonPackages.pyacoustid
     ++ optional (enableFetchart
               || enableEmbyupdate
               || enableKodiupdate
+              || enableLoadext
+              || enablePlaylist
+              || enableSubsonicupdate
               || enableAcousticbrainz)
                                     pythonPackages.requests
     ++ optional enableConvert       ffmpeg
@@ -160,14 +173,6 @@ in pythonPackages.buildPythonApplication rec {
   patches = [
     ./replaygain-default-bs1770gain.patch
     ./keyfinder-default-bin.patch
-
-    # Fix Python 3.7 compatibility
-    (fetchpatch {
-      url = "https://github.com/beetbox/beets/commit/"
-          + "15d44f02a391764da1ce1f239caef819f08beed8.patch";
-      sha256 = "12rjb4959nvnrm3fvvki7chxjkipa0cy8i0yi132xrcn8141dnpm";
-      excludes = [ "docs/changelog.rst" ];
-    })
   ];
 
   postPatch = ''
diff --git a/pkgs/tools/audio/bpm-tools/default.nix b/pkgs/tools/audio/bpm-tools/default.nix
new file mode 100644
index 00000000000..035fbf09533
--- /dev/null
+++ b/pkgs/tools/audio/bpm-tools/default.nix
@@ -0,0 +1,32 @@
+{
+  stdenv,
+  fetchurl,
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bpm-tools";
+  version = "0.3";
+
+  src = fetchurl {
+    url = "http://www.pogo.org.uk/~mark/bpm-tools/releases/bpm-tools-${version}.tar.gz";
+    sha256 = "151vfbs8h3cibs7kbdps5pqrsxhpjv16y2iyfqbxzsclylgfivrp";
+  };
+
+  patchPhase = ''
+    patchShebangs bpm-tag
+    patchShebangs bpm-graph
+  '';
+
+  installFlags = [
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.pogo.org.uk/~mark/bpm-tools/";
+    description = "Automatically calculate BPM (tempo) of music files";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ doronbehar ];
+  };
+}
+
diff --git a/pkgs/tools/audio/essentia-extractor/default.nix b/pkgs/tools/audio/essentia-extractor/default.nix
new file mode 100644
index 00000000000..0d2bb17a75d
--- /dev/null
+++ b/pkgs/tools/audio/essentia-extractor/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl }:
+let
+  arch_table = {
+    "x86_64-linux" = "linux-x86_64";
+    "i686-linux" = "linux-i686";
+  };
+
+  sha_table = {
+    "x86_64-linux" =
+      "d9902aadac4f442992877945da2a6fe8d6ea6b0de314ca8ac0c28dc5f253f7d8";
+    "i686-linux" =
+      "46deb0a053b4910c4e68737a7b6556ff5360260c8f86652f91a0130445f5c949";
+  };
+
+  arch = arch_table.${stdenv.system};
+  sha = sha_table.${stdenv.system};
+in stdenv.mkDerivation rec {
+  pname = "essentia-extractor";
+  version = "2.1_beta2";
+
+  src = fetchurl {
+    url =
+      "ftp://ftp.acousticbrainz.org/pub/acousticbrainz/essentia-extractor-v${version}-${arch}.tar.gz";
+    sha256 = sha;
+  };
+
+  unpackPhase = "unpackFile $src ; export sourceRoot=.";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp streaming_extractor_music $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://acousticbrainz.org/download";
+    description = "AcousticBrainz audio feature extractor";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ lovesegfault ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/tools/audio/video2midi/default.nix b/pkgs/tools/audio/video2midi/default.nix
index 1ed5e48077b..43539f1ee29 100644
--- a/pkgs/tools/audio/video2midi/default.nix
+++ b/pkgs/tools/audio/video2midi/default.nix
@@ -8,7 +8,7 @@ let
   });
 in pythonPackages.buildPythonApplication rec {
   pname = "video2midi";
-  version = "0.3.9.1";
+  version = "0.3.9.6";
 
   format = "other";
 
@@ -16,7 +16,7 @@ in pythonPackages.buildPythonApplication rec {
     owner = "svsdval";
     repo = pname;
     rev = version;
-    sha256 = "1ndzhfng8z5080n1xkcavw21dm6rjz0x1954v9llifsdmf4cpn8y";
+    sha256 = "0x9b8hwl325gd6v9i60yh95gbn49nydpwyfqs92mbq8vvvq7x8fk";
   };
 
   propagatedBuildInputs = with pythonPackages; [ opencv3_ midiutil pygame pyopengl ];