mirror of
https://github.com/mifi/lossless-cut.git
synced 2024-11-25 03:33:14 +01:00
Add trash source function
This commit is contained in:
parent
5bce03e29b
commit
3e3f046685
249
package-lock.json
generated
249
package-lock.json
generated
@ -4,10 +4,45 @@
|
|||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@sindresorhus/df": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@sindresorhus/df/-/df-2.1.0.tgz",
|
||||||
|
"integrity": "sha1-0gjPJ+BvC7R20U197M19cm6ao4k=",
|
||||||
|
"requires": {
|
||||||
|
"execa": "^0.2.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"execa": {
|
||||||
|
"version": "0.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/execa/-/execa-0.2.2.tgz",
|
||||||
|
"integrity": "sha1-4urUcsLDGq1vc/GslW7vReEjIMs=",
|
||||||
|
"requires": {
|
||||||
|
"cross-spawn-async": "^2.1.1",
|
||||||
|
"npm-run-path": "^1.0.0",
|
||||||
|
"object-assign": "^4.0.1",
|
||||||
|
"path-key": "^1.0.0",
|
||||||
|
"strip-eof": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"npm-run-path": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-9cMr9ZX+ga6Sfa7FLoL4sACsPI8=",
|
||||||
|
"requires": {
|
||||||
|
"path-key": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path-key": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-XVPVeAGWRsDWiADbThRua9wqx68="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "8.10.17",
|
"version": "8.10.29",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.17.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.29.tgz",
|
||||||
"integrity": "sha512-3N3FRd/rA1v5glXjb90YdYUa+sOB7WrkU2rAhKZnF4TKD86Cym9swtulGuH0p9nxo7fP5woRNa8b0oFTpCO1bg=="
|
"integrity": "sha512-zbteaWZ2mdduacm0byELwtRyhYE40aK+pAanQk415gr1eRuu67x7QGOLmn8jz5zI8LDK7d0WI/oT6r5Trz4rzQ=="
|
||||||
},
|
},
|
||||||
"abbrev": {
|
"abbrev": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
@ -151,7 +186,6 @@
|
|||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
|
||||||
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
|
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"array-uniq": "^1.0.1"
|
"array-uniq": "^1.0.1"
|
||||||
}
|
}
|
||||||
@ -159,8 +193,7 @@
|
|||||||
"array-uniq": {
|
"array-uniq": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
|
||||||
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
|
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"array-unique": {
|
"array-unique": {
|
||||||
"version": "0.2.1",
|
"version": "0.2.1",
|
||||||
@ -182,8 +215,7 @@
|
|||||||
"arrify": {
|
"arrify": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
|
||||||
"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
|
"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"asap": {
|
"asap": {
|
||||||
"version": "2.0.6",
|
"version": "2.0.6",
|
||||||
@ -1466,6 +1498,15 @@
|
|||||||
"which": "^1.2.9"
|
"which": "^1.2.9"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"cross-spawn-async": {
|
||||||
|
"version": "2.2.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz",
|
||||||
|
"integrity": "sha1-hF/wwINKPe2dFg2sptOQkGuyiMw=",
|
||||||
|
"requires": {
|
||||||
|
"lru-cache": "^4.0.0",
|
||||||
|
"which": "^1.2.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"cryptiles": {
|
"cryptiles": {
|
||||||
"version": "3.1.2",
|
"version": "3.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz",
|
||||||
@ -1607,6 +1648,30 @@
|
|||||||
"repeating": "^2.0.0"
|
"repeating": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dir-glob": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
|
||||||
|
"requires": {
|
||||||
|
"arrify": "^1.0.1",
|
||||||
|
"path-type": "^3.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"path-type": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
|
||||||
|
"requires": {
|
||||||
|
"pify": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pify": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
|
||||||
|
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"doctrine": {
|
"doctrine": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
|
||||||
@ -1635,9 +1700,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"electron": {
|
"electron": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.9",
|
||||||
"resolved": "https://registry.npmjs.org/electron/-/electron-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/electron/-/electron-2.0.9.tgz",
|
||||||
"integrity": "sha512-piSwY2P7L6NWx672MNdSvtGPdQP/mhwAg8ICN6ofTTItPkd7D6kNHBPkq+DXwZcXVH1EifYR9yD/l3Xw1haVpQ==",
|
"integrity": "sha512-xRefYuz6C65ahX8vDwIJxr1Y5ffFa106dugZEbl23yLKfrAG01lh5csBJ9hJwCBPLHp2zj/9PGoJ8dt5zlzOvQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "^8.0.24",
|
"@types/node": "^8.0.24",
|
||||||
"electron-download": "^3.0.1",
|
"electron-download": "^3.0.1",
|
||||||
@ -1901,6 +1966,11 @@
|
|||||||
"es6-symbol": "^3.1.1"
|
"es6-symbol": "^3.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"escape-string-applescript": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/escape-string-applescript/-/escape-string-applescript-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-dgvKg4Zo5Aj+XuUs5CyvfLRsUnM="
|
||||||
|
},
|
||||||
"escape-string-regexp": {
|
"escape-string-regexp": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||||
@ -3922,8 +3992,7 @@
|
|||||||
"ignore": {
|
"ignore": {
|
||||||
"version": "3.3.7",
|
"version": "3.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
|
"resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
|
||||||
"integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==",
|
"integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"imurmurhash": {
|
"imurmurhash": {
|
||||||
"version": "0.1.4",
|
"version": "0.1.4",
|
||||||
@ -4639,6 +4708,23 @@
|
|||||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz",
|
"resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz",
|
||||||
"integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg=="
|
"integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg=="
|
||||||
},
|
},
|
||||||
|
"mount-point": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mount-point/-/mount-point-3.0.0.tgz",
|
||||||
|
"integrity": "sha1-Zly57evoDREOZY21bDHQrvUaj5c=",
|
||||||
|
"requires": {
|
||||||
|
"@sindresorhus/df": "^1.0.1",
|
||||||
|
"pify": "^2.3.0",
|
||||||
|
"pinkie-promise": "^2.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@sindresorhus/df": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@sindresorhus/df/-/df-1.0.1.tgz",
|
||||||
|
"integrity": "sha1-xptm9S9vzdKHyAffIQMF2694UA0="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"mousetrap": {
|
"mousetrap": {
|
||||||
"version": "1.6.1",
|
"version": "1.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.1.tgz",
|
||||||
@ -4668,6 +4754,11 @@
|
|||||||
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
|
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"nice-try": {
|
||||||
|
"version": "1.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
|
||||||
|
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
|
||||||
|
},
|
||||||
"node-fetch": {
|
"node-fetch": {
|
||||||
"version": "1.7.3",
|
"version": "1.7.3",
|
||||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
|
||||||
@ -4810,8 +4901,7 @@
|
|||||||
"os-homedir": {
|
"os-homedir": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
|
||||||
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
|
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"os-locale": {
|
"os-locale": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
@ -4882,14 +4972,12 @@
|
|||||||
"p-map": {
|
"p-map": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
|
||||||
"integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
|
"integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"p-try": {
|
"p-try": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
|
||||||
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
|
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"parse-glob": {
|
"parse-glob": {
|
||||||
"version": "3.0.4",
|
"version": "3.0.4",
|
||||||
@ -5570,6 +5658,47 @@
|
|||||||
"glob": "^7.0.5"
|
"glob": "^7.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"run-applescript": {
|
||||||
|
"version": "3.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-3.2.0.tgz",
|
||||||
|
"integrity": "sha512-Ep0RsvAjnRcBX1p5vogbaBdAGu/8j/ewpvGqnQYunnLd9SM0vWcPJewPKNnWFggf0hF0pwIgwV5XK7qQ7UZ8Qg==",
|
||||||
|
"requires": {
|
||||||
|
"execa": "^0.10.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cross-spawn": {
|
||||||
|
"version": "6.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
|
||||||
|
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
|
||||||
|
"requires": {
|
||||||
|
"nice-try": "^1.0.4",
|
||||||
|
"path-key": "^2.0.1",
|
||||||
|
"semver": "^5.5.0",
|
||||||
|
"shebang-command": "^1.2.0",
|
||||||
|
"which": "^1.2.9"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"execa": {
|
||||||
|
"version": "0.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
|
||||||
|
"integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
|
||||||
|
"requires": {
|
||||||
|
"cross-spawn": "^6.0.0",
|
||||||
|
"get-stream": "^3.0.0",
|
||||||
|
"is-stream": "^1.1.0",
|
||||||
|
"npm-run-path": "^2.0.0",
|
||||||
|
"p-finally": "^1.0.0",
|
||||||
|
"signal-exit": "^3.0.0",
|
||||||
|
"strip-eof": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get-stream": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
|
||||||
|
"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"run-async": {
|
"run-async": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
|
||||||
@ -5634,6 +5763,19 @@
|
|||||||
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
|
||||||
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
|
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
|
||||||
},
|
},
|
||||||
|
"shebang-command": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
|
||||||
|
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
|
||||||
|
"requires": {
|
||||||
|
"shebang-regex": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shebang-regex": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
|
||||||
|
},
|
||||||
"shelljs": {
|
"shelljs": {
|
||||||
"version": "0.7.8",
|
"version": "0.7.8",
|
||||||
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz",
|
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz",
|
||||||
@ -5661,8 +5803,7 @@
|
|||||||
"slash": {
|
"slash": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
|
||||||
"integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
|
"integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"slice-ansi": {
|
"slice-ansi": {
|
||||||
"version": "0.0.4",
|
"version": "0.0.4",
|
||||||
@ -5981,6 +6122,42 @@
|
|||||||
"punycode": "^1.4.1"
|
"punycode": "^1.4.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"trash": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/trash/-/trash-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-f36TKwIaBiXm63xSrn8OTNghg5CYHBsFVJvcObMo76LRpgariuRi2CqXQHw1VzfeximD0igdGaonOG6N760BtQ==",
|
||||||
|
"requires": {
|
||||||
|
"escape-string-applescript": "^2.0.0",
|
||||||
|
"fs-extra": "^0.30.0",
|
||||||
|
"globby": "^7.1.1",
|
||||||
|
"p-map": "^1.2.0",
|
||||||
|
"p-try": "^1.0.0",
|
||||||
|
"pify": "^3.0.0",
|
||||||
|
"run-applescript": "^3.0.0",
|
||||||
|
"uuid": "^3.1.0",
|
||||||
|
"xdg-trashdir": "^2.1.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"globby": {
|
||||||
|
"version": "7.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
|
||||||
|
"integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
|
||||||
|
"requires": {
|
||||||
|
"array-union": "^1.0.1",
|
||||||
|
"dir-glob": "^2.0.0",
|
||||||
|
"glob": "^7.1.2",
|
||||||
|
"ignore": "^3.3.5",
|
||||||
|
"pify": "^3.0.0",
|
||||||
|
"slash": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pify": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
|
||||||
|
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"traverse": {
|
"traverse": {
|
||||||
"version": "0.3.9",
|
"version": "0.3.9",
|
||||||
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
|
||||||
@ -6178,6 +6355,36 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"xdg-basedir": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=",
|
||||||
|
"requires": {
|
||||||
|
"os-homedir": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xdg-trashdir": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/xdg-trashdir/-/xdg-trashdir-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-KcVhPaOu2ZurYNHSRTf1+ZHORkTZGCQ+u0JHN17QixRISJq4pXOnjt/lQcehvtHL5QAKhSzKgyjrcNnPdkPBHA==",
|
||||||
|
"requires": {
|
||||||
|
"@sindresorhus/df": "^2.1.0",
|
||||||
|
"mount-point": "^3.0.0",
|
||||||
|
"pify": "^2.2.0",
|
||||||
|
"user-home": "^2.0.0",
|
||||||
|
"xdg-basedir": "^2.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"user-home": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
|
||||||
|
"requires": {
|
||||||
|
"os-homedir": "^1.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"xmlbuilder": {
|
"xmlbuilder": {
|
||||||
"version": "8.2.2",
|
"version": "8.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bluebird": "^3.4.6",
|
"bluebird": "^3.4.6",
|
||||||
"classnames": "^2.2.5",
|
"classnames": "^2.2.5",
|
||||||
"electron": "^2.0.1",
|
"electron": "^2.0.9",
|
||||||
"electron-default-menu": "^1.0.0",
|
"electron-default-menu": "^1.0.0",
|
||||||
"electron-is-dev": "^0.1.2",
|
"electron-is-dev": "^0.1.2",
|
||||||
"execa": "^0.5.0",
|
"execa": "^0.5.0",
|
||||||
@ -69,6 +69,7 @@
|
|||||||
"react-hammerjs": "^0.5.0",
|
"react-hammerjs": "^0.5.0",
|
||||||
"read-chunk": "^2.0.0",
|
"read-chunk": "^2.0.0",
|
||||||
"strong-data-uri": "^1.0.4",
|
"strong-data-uri": "^1.0.4",
|
||||||
|
"trash": "^4.3.0",
|
||||||
"which": "^1.2.11"
|
"which": "^1.2.11"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ const Mousetrap = require('mousetrap');
|
|||||||
const _ = require('lodash');
|
const _ = require('lodash');
|
||||||
const Hammer = require('react-hammerjs');
|
const Hammer = require('react-hammerjs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
const trash = require('trash');
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const ReactDOM = require('react-dom');
|
const ReactDOM = require('react-dom');
|
||||||
@ -78,53 +79,45 @@ function withBlur(cb) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const localState = {
|
||||||
|
working: false,
|
||||||
|
filePath: '', // Setting video src="" prevents memory leak in chromium
|
||||||
|
html5FriendlyPath: undefined,
|
||||||
|
playing: false,
|
||||||
|
currentTime: undefined,
|
||||||
|
duration: undefined,
|
||||||
|
cutStartTime: 0,
|
||||||
|
cutStartTimeManual: undefined,
|
||||||
|
cutEndTime: undefined,
|
||||||
|
cutEndTimeManual: undefined,
|
||||||
|
fileFormat: undefined,
|
||||||
|
rotation: 360,
|
||||||
|
cutProgress: undefined,
|
||||||
|
};
|
||||||
|
|
||||||
|
const globalState = {
|
||||||
|
stripAudio: false,
|
||||||
|
includeAllStreams: false,
|
||||||
|
captureFormat: 'jpeg',
|
||||||
|
customOutDir: undefined,
|
||||||
|
keyframeCut: false,
|
||||||
|
};
|
||||||
|
|
||||||
class App extends React.Component {
|
class App extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
||||||
const localState = {
|
|
||||||
working: false,
|
|
||||||
filePath: '', // Setting video src="" prevents memory leak in chromium
|
|
||||||
html5FriendlyPath: undefined,
|
|
||||||
playing: false,
|
|
||||||
currentTime: undefined,
|
|
||||||
duration: undefined,
|
|
||||||
cutStartTime: 0,
|
|
||||||
cutStartTimeManual: undefined,
|
|
||||||
cutEndTime: undefined,
|
|
||||||
cutEndTimeManual: undefined,
|
|
||||||
fileFormat: undefined,
|
|
||||||
rotation: 360,
|
|
||||||
cutProgress: undefined,
|
|
||||||
};
|
|
||||||
|
|
||||||
const globalState = {
|
|
||||||
stripAudio: false,
|
|
||||||
includeAllStreams: false,
|
|
||||||
captureFormat: 'jpeg',
|
|
||||||
customOutDir: undefined,
|
|
||||||
keyframeCut: false,
|
|
||||||
};
|
|
||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
...localState,
|
...localState,
|
||||||
...globalState,
|
...globalState,
|
||||||
};
|
};
|
||||||
|
|
||||||
const resetState = () => {
|
|
||||||
const video = getVideo();
|
|
||||||
video.currentTime = 0;
|
|
||||||
video.playbackRate = 1;
|
|
||||||
this.setState(localState);
|
|
||||||
};
|
|
||||||
|
|
||||||
const load = (filePath, html5FriendlyPath) => {
|
const load = (filePath, html5FriendlyPath) => {
|
||||||
console.log('Load', { filePath, html5FriendlyPath });
|
console.log('Load', { filePath, html5FriendlyPath });
|
||||||
if (this.state.working) return alert('I\'m busy');
|
if (this.state.working) return alert('I\'m busy');
|
||||||
|
|
||||||
resetState();
|
this.resetState();
|
||||||
|
|
||||||
setFileNameTitle();
|
|
||||||
|
|
||||||
this.setState({ working: true });
|
this.setState({ working: true });
|
||||||
|
|
||||||
@ -259,6 +252,14 @@ class App extends React.Component {
|
|||||||
this.setState({ rotation });
|
this.setState({ rotation });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resetState() {
|
||||||
|
const video = getVideo();
|
||||||
|
video.currentTime = 0;
|
||||||
|
video.playbackRate = 1;
|
||||||
|
this.setState(localState);
|
||||||
|
setFileNameTitle();
|
||||||
|
}
|
||||||
|
|
||||||
toggleCaptureFormat() {
|
toggleCaptureFormat() {
|
||||||
const isPng = this.state.captureFormat === 'png';
|
const isPng = this.state.captureFormat === 'png';
|
||||||
this.setState({ captureFormat: isPng ? 'jpeg' : 'png' });
|
this.setState({ captureFormat: isPng ? 'jpeg' : 'png' });
|
||||||
@ -314,6 +315,15 @@ class App extends React.Component {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async deleteSourceClick() {
|
||||||
|
if (this.state.working || !confirm('Are you sure you want to move the source file to trash?')) return;
|
||||||
|
const { filePath } = this.state;
|
||||||
|
|
||||||
|
this.setState({ working: true });
|
||||||
|
await trash(filePath);
|
||||||
|
this.resetState();
|
||||||
|
}
|
||||||
|
|
||||||
async cutClick() {
|
async cutClick() {
|
||||||
if (this.state.working) return alert('I\'m busy');
|
if (this.state.working) return alert('I\'m busy');
|
||||||
|
|
||||||
@ -526,6 +536,12 @@ class App extends React.Component {
|
|||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
onClick={() => this.cutClick()}
|
onClick={() => this.cutClick()}
|
||||||
/>
|
/>
|
||||||
|
<i
|
||||||
|
title="Delete source file"
|
||||||
|
className="button fa fa-trash"
|
||||||
|
aria-hidden="true"
|
||||||
|
onClick={() => this.deleteSourceClick()}
|
||||||
|
/>
|
||||||
<i
|
<i
|
||||||
title="Set cut end to current position"
|
title="Set cut end to current position"
|
||||||
className="button fa fa-angle-right"
|
className="button fa fa-angle-right"
|
||||||
|
Loading…
Reference in New Issue
Block a user