Merge pull request #5587 from nckx/keyfinder
Add libkeyfinder and keyfinder{,-cli} interfaces
This commit is contained in:
commit
057eac65d9
32
pkgs/applications/audio/keyfinder-cli/default.nix
Normal file
32
pkgs/applications/audio/keyfinder-cli/default.nix
Normal file
@ -0,0 +1,32 @@
|
||||
{ stdenv, fetchFromGitHub, libav, libkeyfinder }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "20150125";
|
||||
name = "keyfinder-cli-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "keyfinder-cli";
|
||||
owner = "EvanPurkhiser";
|
||||
rev = "3a6f598b3661fdba73ada81cd200a6e56c23ddca";
|
||||
sha256 = "05k4g9zdzi4q81p8lax9b2j4bcg1bpp04sdbza5i5pfz2fng2cf7";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Musical key detection for digital audio (command-line tool)";
|
||||
longDescription = ''
|
||||
This small utility is the automation-oriented DJ's best friend. By making
|
||||
use of Ibrahim Sha'ath's high quality libKeyFinder library, it can be
|
||||
used to estimate the musical key of many different audio formats.
|
||||
'';
|
||||
homepage = https://github.com/EvanPurkhiser/keyfinder-cli;
|
||||
license = with licenses; gpl3Plus;
|
||||
platforms = with platforms; linux;
|
||||
maintainers = with maintainers; [ nckx ];
|
||||
};
|
||||
|
||||
buildInputs = [ libav libkeyfinder ];
|
||||
|
||||
makeFlagsArray = "PREFIX=$(out)";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
}
|
42
pkgs/applications/audio/keyfinder/default.nix
Normal file
42
pkgs/applications/audio/keyfinder/default.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{ stdenv, fetchFromGitHub, libav_0_8, libkeyfinder, qt5, taglib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.25-17-gf670607";
|
||||
name = "keyfinder-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "is_KeyFinder";
|
||||
owner = "ibsh";
|
||||
rev = "f6706074435ac14c5238ee3f0dd22ac22d72af9c";
|
||||
sha256 = "1sfnywc6jdpm03344i6i4pz13mqa4i5agagj4k6252m63cqmjkrc";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Musical key detection for digital audio (graphical UI)";
|
||||
longDescription = ''
|
||||
KeyFinder is an open source key detection tool, for DJs interested in
|
||||
harmonic and tonal mixing. Designed primarily for electronic and dance
|
||||
music, it is highly configurable and can be applied to many genres. It
|
||||
supports a huge range of codecs thanks to LibAV, and writes to metadata
|
||||
tags using TagLib. It's intended to be very focused: no library
|
||||
management, no track suggestions, no media player. Just a fast,
|
||||
efficient workflow tool.
|
||||
'';
|
||||
homepage = http://www.ibrahimshaath.co.uk/keyfinder/;
|
||||
license = with licenses; gpl3Plus;
|
||||
platforms = with platforms; linux;
|
||||
maintainers = with maintainers; [ nckx ];
|
||||
};
|
||||
|
||||
# TODO: upgrade libav when "Audio sample format conversion failed" is fixed
|
||||
buildInputs = [ libav_0_8 libkeyfinder qt5 taglib ];
|
||||
|
||||
configurePhase = ''
|
||||
substituteInPlace is_KeyFinder.pro \
|
||||
--replace "keyfinder.0" "keyfinder" \
|
||||
--replace '$$[QT_INSTALL_PREFIX]' "$out"
|
||||
qmake
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
}
|
39
pkgs/development/libraries/libkeyfinder/default.nix
Normal file
39
pkgs/development/libraries/libkeyfinder/default.nix
Normal file
@ -0,0 +1,39 @@
|
||||
{ stdenv, fetchFromGitHub, boost, fftw, qt5 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.11.0-20141105";
|
||||
name = "libkeyfinder-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "libKeyFinder";
|
||||
owner = "ibsh";
|
||||
rev = "592ef1f3d3ada489f80814d5ccfbc8de6029dc9d";
|
||||
sha256 = "0xcqpizwbn6wik3w7h9k1lvgrp3r3w6yyy55flvnwwwgvkry48as";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Musical key detection for digital audio (C++ library)";
|
||||
homepage = http://www.ibrahimshaath.co.uk/keyfinder/;
|
||||
license = with licenses; gpl3Plus;
|
||||
platforms = with platforms; linux;
|
||||
maintainers = with maintainers; [ nckx ];
|
||||
};
|
||||
|
||||
buildInputs = [ fftw qt5 ];
|
||||
propagatedBuildInputs = [ boost ];
|
||||
|
||||
patchPhase = ''
|
||||
substituteInPlace LibKeyFinder.pro --replace "/usr/local" "$out"
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
qmake
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/include/keyfinder
|
||||
cp *.h $out/include/keyfinder
|
||||
'';
|
||||
}
|
@ -6228,6 +6228,8 @@ let
|
||||
|
||||
libkate = callPackage ../development/libraries/libkate { };
|
||||
|
||||
libkeyfinder = callPackage ../development/libraries/libkeyfinder { };
|
||||
|
||||
libksba = callPackage ../development/libraries/libksba { };
|
||||
|
||||
libmad = callPackage ../development/libraries/libmad { };
|
||||
@ -10403,6 +10405,10 @@ let
|
||||
|
||||
kermit = callPackage ../tools/misc/kermit { };
|
||||
|
||||
keyfinder = callPackage ../applications/audio/keyfinder { };
|
||||
|
||||
keyfinder-cli = callPackage ../applications/audio/keyfinder-cli { };
|
||||
|
||||
keymon = callPackage ../applications/video/key-mon { };
|
||||
|
||||
kid3 = callPackage ../applications/audio/kid3 {
|
||||
|
Loading…
Reference in New Issue
Block a user