summaryrefslogtreecommitdiffstats
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)
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 773b09958ea7..8d990f3a3a88 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 21e748cc79de..9509eccabdc1 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 000000000000..035fbf095338
--- /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 000000000000..0d2bb17a75d4
--- /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 1ed5e48077b7..43539f1ee295 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 ];