diff --git a/pkgs/development/python-modules/midiutil/default.nix b/pkgs/development/python-modules/midiutil/default.nix new file mode 100644 index 00000000000..0b9945f97d3 --- /dev/null +++ b/pkgs/development/python-modules/midiutil/default.nix @@ -0,0 +1,18 @@ +{ stdenv, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "MIDIUtil"; + version = "1.2.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "02m9sqv36zrzgz5zg2w9qmz8snzlm27yg3ways2hgipgs4xriykr"; + }; + + meta = with stdenv.lib; { + homepage = "https://github.com/MarkCWirt/MIDIUtil"; + description = "A pure python library for creating multi-track MIDI files"; + license = licenses.mit; + maintainers = [ maintainers.gnidorah ]; + }; +} diff --git a/pkgs/tools/audio/video2midi/default.nix b/pkgs/tools/audio/video2midi/default.nix new file mode 100644 index 00000000000..4452aea280a --- /dev/null +++ b/pkgs/tools/audio/video2midi/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, python2Packages, opencv3 }: + +let + opencv3_ = python2Packages.toPythonModule (opencv3.override { + enablePython = true; + pythonPackages = python2Packages; + enableFfmpeg = true; + }); +in stdenv.mkDerivation rec { + pname = "video2midi"; + version = "0.3.7"; + + src = fetchFromGitHub { + owner = "svsdval"; + repo = pname; + rev = version; + sha256 = "00ms9iqam3ml6fxf8djki3gyifn8sfzfkkfrdgrvs0sq47wrkc39"; + }; + + pythonPath = with python2Packages; [ opencv3_ midiutil pygame pyopengl ]; + nativeBuildInputs = with python2Packages; [ python wrapPython ]; + + installPhase = '' + install -Dm755 v2m.py $out/bin/v2m.py + wrapPythonPrograms + ''; + + meta = with stdenv.lib; { + description = "Youtube synthesia video to midi conversion tool"; + homepage = src.meta.homepage; + license = licenses.gpl3; + maintainers = [ maintainers.gnidorah ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 19ed5ddcaef..22ca8b33864 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6466,6 +6466,8 @@ in vfdecrypt = callPackage ../tools/misc/vfdecrypt { }; + video2midi = callPackage ../tools/audio/video2midi { }; + vifm = callPackage ../applications/misc/vifm { }; viking = callPackage ../applications/misc/viking { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 29d55da126f..a29e76020cb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2238,6 +2238,8 @@ in { python-mapnik = callPackage ../development/python-modules/python-mapnik { }; + midiutil = callPackage ../development/python-modules/midiutil {}; + misaka = callPackage ../development/python-modules/misaka {}; mt-940 = callPackage ../development/python-modules/mt-940 { };