1{
2 lib,
3 fetchFromGitHub,
4 pythonPackages,
5 opencv4,
6}:
7
8let
9 opencv4_ = pythonPackages.toPythonModule (
10 opencv4.override {
11 inherit pythonPackages;
12 enablePython = true;
13 enableFfmpeg = true;
14 }
15 );
16in
17pythonPackages.buildPythonApplication rec {
18 pname = "video2midi";
19 version = "0.4.9";
20
21 format = "other";
22
23 src = fetchFromGitHub {
24 owner = "svsdval";
25 repo = pname;
26 tag = version;
27 sha256 = "sha256-mjqlNUCEiP5dQS0a8HAejOJyEvY6jGFJFpVcnzU2Vds=";
28 };
29
30 propagatedBuildInputs = with pythonPackages; [
31 opencv4_
32 midiutil
33 pygame
34 pyopengl
35 ];
36
37 installPhase = ''
38 install -Dm755 v2m.py $out/bin/v2m.py
39 '';
40
41 meta = with lib; {
42 description = "Youtube synthesia video to midi conversion tool";
43 homepage = src.meta.homepage;
44 license = licenses.gpl3Only;
45 maintainers = [ ];
46 platforms = platforms.linux;
47 mainProgram = "v2m.py";
48 };
49}