Compare commits
2 Commits
466a7cedca
..
0.1.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
f1da312b95
|
|||
|
37568aa0d1
|
@@ -0,0 +1,10 @@
|
|||||||
|
frontend:
|
||||||
|
cd solid-src; \
|
||||||
|
pnpm build
|
||||||
|
|
||||||
|
build: frontend
|
||||||
|
neu build
|
||||||
|
|
||||||
|
release: frontend
|
||||||
|
neu build --clean -r --embed-resources
|
||||||
|
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env xdg-open
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Version=1.5
|
||||||
|
Name=Vencoder
|
||||||
|
Exec=/usr/bin/vencoder
|
||||||
|
Terminal=false
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://raw.githubusercontent.com/neutralinojs/neutralinojs/main/schemas/neutralino.config.schema.json",
|
"$schema": "https://raw.githubusercontent.com/neutralinojs/neutralinojs/main/schemas/neutralino.config.schema.json",
|
||||||
"applicationId": "xyz.dailitation.linesofcodes.vencoder",
|
"applicationId": "xyz.dailitation.linesofcodes.vencoder",
|
||||||
"version": "1.0.0",
|
"version": "0.1.1",
|
||||||
"defaultMode": "window",
|
"defaultMode": "window",
|
||||||
"documentRoot": "/solid-src/dist/",
|
"documentRoot": "/solid-src/dist/",
|
||||||
"url": "/",
|
"url": "/",
|
||||||
@@ -17,6 +17,11 @@
|
|||||||
"storage.*",
|
"storage.*",
|
||||||
"debug.log"
|
"debug.log"
|
||||||
],
|
],
|
||||||
|
"dataLocation": "system",
|
||||||
|
"storageLocation": "system",
|
||||||
|
"logging": {
|
||||||
|
"writeToLogFile": false
|
||||||
|
},
|
||||||
"modes": {
|
"modes": {
|
||||||
"window": {
|
"window": {
|
||||||
"title": "Vencoder",
|
"title": "Vencoder",
|
||||||
@@ -40,4 +45,4 @@
|
|||||||
"devUrl": "http://localhost:5173"
|
"devUrl": "http://localhost:5173"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,8 @@
|
|||||||
"@types/node": "^24.5.2",
|
"@types/node": "^24.5.2",
|
||||||
"prettier": "3.6.2",
|
"prettier": "3.6.2",
|
||||||
"typescript": "~5.8.3",
|
"typescript": "~5.8.3",
|
||||||
"vite": "^7.1.6",
|
"vite": "^7.1.7",
|
||||||
"vite-plugin-solid": "^2.11.8"
|
"vite-plugin-solid": "^2.11.8"
|
||||||
},
|
},
|
||||||
"packageManager": "pnpm@10.17.0+sha512.fce8a3dd29a4ed2ec566fb53efbb04d8c44a0f05bc6f24a73046910fb9c3ce7afa35a0980500668fa3573345bd644644fa98338fa168235c80f4aa17aa17fbef"
|
"packageManager": "pnpm@10.17.1+sha512.17c560fca4867ae9473a3899ad84a88334914f379be46d455cbf92e5cf4b39d34985d452d2583baf19967fa76cb5c17bc9e245529d0b98745721aa7200ecaf7a"
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+105
-105
@@ -31,11 +31,11 @@ importers:
|
|||||||
specifier: ~5.8.3
|
specifier: ~5.8.3
|
||||||
version: 5.8.3
|
version: 5.8.3
|
||||||
vite:
|
vite:
|
||||||
specifier: ^7.1.6
|
specifier: ^7.1.7
|
||||||
version: 7.1.6(@types/node@24.5.2)
|
version: 7.1.7(@types/node@24.5.2)
|
||||||
vite-plugin-solid:
|
vite-plugin-solid:
|
||||||
specifier: ^2.11.8
|
specifier: ^2.11.8
|
||||||
version: 2.11.8(solid-js@1.9.9)(vite@7.1.6(@types/node@24.5.2))
|
version: 2.11.8(solid-js@1.9.9)(vite@7.1.7(@types/node@24.5.2))
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
@@ -295,113 +295,113 @@ packages:
|
|||||||
'@neutralinojs/lib@6.3.0':
|
'@neutralinojs/lib@6.3.0':
|
||||||
resolution: {integrity: sha512-5HOtqWwylQ5SD6G/QaLNOSfub+/+fh08tTJfsEslg5fYFVbcCdTS50byqWTvkjluW57KaeuCaFpALhT20bFhDQ==}
|
resolution: {integrity: sha512-5HOtqWwylQ5SD6G/QaLNOSfub+/+fh08tTJfsEslg5fYFVbcCdTS50byqWTvkjluW57KaeuCaFpALhT20bFhDQ==}
|
||||||
|
|
||||||
'@rollup/rollup-android-arm-eabi@4.52.0':
|
'@rollup/rollup-android-arm-eabi@4.52.2':
|
||||||
resolution: {integrity: sha512-VxDYCDqOaR7NXzAtvRx7G1u54d2kEHopb28YH/pKzY6y0qmogP3gG7CSiWsq9WvDFxOQMpNEyjVAHZFXfH3o/A==}
|
resolution: {integrity: sha512-o3pcKzJgSGt4d74lSZ+OCnHwkKBeAbFDmbEm5gg70eA8VkyCuC/zV9TwBnmw6VjDlRdF4Pshfb+WE9E6XY1PoQ==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [android]
|
os: [android]
|
||||||
|
|
||||||
'@rollup/rollup-android-arm64@4.52.0':
|
'@rollup/rollup-android-arm64@4.52.2':
|
||||||
resolution: {integrity: sha512-pqDirm8koABIKvzL59YI9W9DWbRlTX7RWhN+auR8HXJxo89m4mjqbah7nJZjeKNTNYopqL+yGg+0mhCpf3xZtQ==}
|
resolution: {integrity: sha512-cqFSWO5tX2vhC9hJTK8WAiPIm4Q8q/cU8j2HQA0L3E1uXvBYbOZMhE2oFL8n2pKB5sOCHY6bBuHaRwG7TkfJyw==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [android]
|
os: [android]
|
||||||
|
|
||||||
'@rollup/rollup-darwin-arm64@4.52.0':
|
'@rollup/rollup-darwin-arm64@4.52.2':
|
||||||
resolution: {integrity: sha512-YCdWlY/8ltN6H78HnMsRHYlPiKvqKagBP1r+D7SSylxX+HnsgXGCmLiV3Y4nSyY9hW8qr8U9LDUx/Lo7M6MfmQ==}
|
resolution: {integrity: sha512-vngduywkkv8Fkh3wIZf5nFPXzWsNsVu1kvtLETWxTFf/5opZmflgVSeLgdHR56RQh71xhPhWoOkEBvbehwTlVA==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@rollup/rollup-darwin-x64@4.52.0':
|
'@rollup/rollup-darwin-x64@4.52.2':
|
||||||
resolution: {integrity: sha512-z4nw6y1j+OOSGzuVbSWdIp1IUks9qNw4dc7z7lWuWDKojY38VMWBlEN7F9jk5UXOkUcp97vA1N213DF+Lz8BRg==}
|
resolution: {integrity: sha512-h11KikYrUCYTrDj6h939hhMNlqU2fo/X4NB0OZcys3fya49o1hmFaczAiJWVAFgrM1NCP6RrO7lQKeVYSKBPSQ==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@rollup/rollup-freebsd-arm64@4.52.0':
|
'@rollup/rollup-freebsd-arm64@4.52.2':
|
||||||
resolution: {integrity: sha512-Q/dv9Yvyr5rKlK8WQJZVrp5g2SOYeZUs9u/t2f9cQ2E0gJjYB/BWoedXfUT0EcDJefi2zzVfhcOj8drWCzTviw==}
|
resolution: {integrity: sha512-/eg4CI61ZUkLXxMHyVlmlGrSQZ34xqWlZNW43IAU4RmdzWEx0mQJ2mN/Cx4IHLVZFL6UBGAh+/GXhgvGb+nVxw==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [freebsd]
|
os: [freebsd]
|
||||||
|
|
||||||
'@rollup/rollup-freebsd-x64@4.52.0':
|
'@rollup/rollup-freebsd-x64@4.52.2':
|
||||||
resolution: {integrity: sha512-kdBsLs4Uile/fbjZVvCRcKB4q64R+1mUq0Yd7oU1CMm1Av336ajIFqNFovByipciuUQjBCPMxwJhCgfG2re3rg==}
|
resolution: {integrity: sha512-QOWgFH5X9+p+S1NAfOqc0z8qEpJIoUHf7OWjNUGOeW18Mx22lAUOiA9b6r2/vpzLdfxi/f+VWsYjUOMCcYh0Ng==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [freebsd]
|
os: [freebsd]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm-gnueabihf@4.52.0':
|
'@rollup/rollup-linux-arm-gnueabihf@4.52.2':
|
||||||
resolution: {integrity: sha512-aL6hRwu0k7MTUESgkg7QHY6CoqPgr6gdQXRJI1/VbFlUMwsSzPGSR7sG5d+MCbYnJmJwThc2ol3nixj1fvI/zQ==}
|
resolution: {integrity: sha512-kDWSPafToDd8LcBYd1t5jw7bD5Ojcu12S3uT372e5HKPzQt532vW+rGFFOaiR0opxePyUkHrwz8iWYEyH1IIQA==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm-musleabihf@4.52.0':
|
'@rollup/rollup-linux-arm-musleabihf@4.52.2':
|
||||||
resolution: {integrity: sha512-BTs0M5s1EJejgIBJhCeiFo7GZZ2IXWkFGcyZhxX4+8usnIo5Mti57108vjXFIQmmJaRyDwmV59Tw64Ap1dkwMw==}
|
resolution: {integrity: sha512-gKm7Mk9wCv6/rkzwCiUC4KnevYhlf8ztBrDRT9g/u//1fZLapSRc+eDZj2Eu2wpJ+0RzUKgtNijnVIB4ZxyL+w==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm64-gnu@4.52.0':
|
'@rollup/rollup-linux-arm64-gnu@4.52.2':
|
||||||
resolution: {integrity: sha512-uj672IVOU9m08DBGvoPKPi/J8jlVgjh12C9GmjjBxCTQc3XtVmRkRKyeHSmIKQpvJ7fIm1EJieBUcnGSzDVFyw==}
|
resolution: {integrity: sha512-66lA8vnj5mB/rtDNwPgrrKUOtCLVQypkyDa2gMfOefXK6rcZAxKLO9Fy3GkW8VkPnENv9hBkNOFfGLf6rNKGUg==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm64-musl@4.52.0':
|
'@rollup/rollup-linux-arm64-musl@4.52.2':
|
||||||
resolution: {integrity: sha512-/+IVbeDMDCtB/HP/wiWsSzduD10SEGzIZX2945KSgZRNi4TSkjHqRJtNTVtVb8IRwhJ65ssI56krlLik+zFWkw==}
|
resolution: {integrity: sha512-s+OPucLNdJHvuZHuIz2WwncJ+SfWHFEmlC5nKMUgAelUeBUnlB4wt7rXWiyG4Zn07uY2Dd+SGyVa9oyLkVGOjA==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rollup/rollup-linux-loong64-gnu@4.52.0':
|
'@rollup/rollup-linux-loong64-gnu@4.52.2':
|
||||||
resolution: {integrity: sha512-U1vVzvSWtSMWKKrGoROPBXMh3Vwn93TA9V35PldokHGqiUbF6erSzox/5qrSMKp6SzakvyjcPiVF8yB1xKr9Pg==}
|
resolution: {integrity: sha512-8wTRM3+gVMDLLDdaT6tKmOE3lJyRy9NpJUS/ZRWmLCmOPIJhVyXwjBo+XbrrwtV33Em1/eCTd5TuGJm4+DmYjw==}
|
||||||
cpu: [loong64]
|
cpu: [loong64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rollup/rollup-linux-ppc64-gnu@4.52.0':
|
'@rollup/rollup-linux-ppc64-gnu@4.52.2':
|
||||||
resolution: {integrity: sha512-X/4WfuBAdQRH8cK3DYl8zC00XEE6aM472W+QCycpQJeLWVnHfkv7RyBFVaTqNUMsTgIX8ihMjCvFF9OUgeABzw==}
|
resolution: {integrity: sha512-6yqEfgJ1anIeuP2P/zhtfBlDpXUb80t8DpbYwXQ3bQd95JMvUaqiX+fKqYqUwZXqdJDd8xdilNtsHM2N0cFm6A==}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rollup/rollup-linux-riscv64-gnu@4.52.0':
|
'@rollup/rollup-linux-riscv64-gnu@4.52.2':
|
||||||
resolution: {integrity: sha512-xIRYc58HfWDBZoLmWfWXg2Sq8VCa2iJ32B7mqfWnkx5mekekl0tMe7FHpY8I72RXEcUkaWawRvl3qA55og+cwQ==}
|
resolution: {integrity: sha512-sshYUiYVSEI2B6dp4jMncwxbrUqRdNApF2c3bhtLAU0qA8Lrri0p0NauOsTWh3yCCCDyBOjESHMExonp7Nzc0w==}
|
||||||
cpu: [riscv64]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rollup/rollup-linux-riscv64-musl@4.52.0':
|
'@rollup/rollup-linux-riscv64-musl@4.52.2':
|
||||||
resolution: {integrity: sha512-mbsoUey05WJIOz8U1WzNdf+6UMYGwE3fZZnQqsM22FZ3wh1N887HT6jAOjXs6CNEK3Ntu2OBsyQDXfIjouI4dw==}
|
resolution: {integrity: sha512-duBLgd+3pqC4MMwBrKkFxaZerUxZcYApQVC5SdbF5/e/589GwVvlRUnyqMFbM8iUSb1BaoX/3fRL7hB9m2Pj8Q==}
|
||||||
cpu: [riscv64]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rollup/rollup-linux-s390x-gnu@4.52.0':
|
'@rollup/rollup-linux-s390x-gnu@4.52.2':
|
||||||
resolution: {integrity: sha512-qP6aP970bucEi5KKKR4AuPFd8aTx9EF6BvutvYxmZuWLJHmnq4LvBfp0U+yFDMGwJ+AIJEH5sIP+SNypauMWzg==}
|
resolution: {integrity: sha512-tzhYJJidDUVGMgVyE+PmxENPHlvvqm1KILjjZhB8/xHYqAGeizh3GBGf9u6WdJpZrz1aCpIIHG0LgJgH9rVjHQ==}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rollup/rollup-linux-x64-gnu@4.52.0':
|
'@rollup/rollup-linux-x64-gnu@4.52.2':
|
||||||
resolution: {integrity: sha512-nmSVN+F2i1yKZ7rJNKO3G7ZzmxJgoQBQZ/6c4MuS553Grmr7WqR7LLDcYG53Z2m9409z3JLt4sCOhLdbKQ3HmA==}
|
resolution: {integrity: sha512-opH8GSUuVcCSSyHHcl5hELrmnk4waZoVpgn/4FDao9iyE4WpQhyWJ5ryl5M3ocp4qkRuHfyXnGqg8M9oKCEKRA==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rollup/rollup-linux-x64-musl@4.52.0':
|
'@rollup/rollup-linux-x64-musl@4.52.2':
|
||||||
resolution: {integrity: sha512-2d0qRo33G6TfQVjaMR71P+yJVGODrt5V6+T0BDYH4EMfGgdC/2HWDVjSSFw888GSzAZUwuska3+zxNUCDco6rQ==}
|
resolution: {integrity: sha512-LSeBHnGli1pPKVJ79ZVJgeZWWZXkEe/5o8kcn23M8eMKCUANejchJbF/JqzM4RRjOJfNRhKJk8FuqL1GKjF5oQ==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rollup/rollup-openharmony-arm64@4.52.0':
|
'@rollup/rollup-openharmony-arm64@4.52.2':
|
||||||
resolution: {integrity: sha512-A1JalX4MOaFAAyGgpO7XP5khquv/7xKzLIyLmhNrbiCxWpMlnsTYr8dnsWM7sEeotNmxvSOEL7F65j0HXFcFsw==}
|
resolution: {integrity: sha512-uPj7MQ6/s+/GOpolavm6BPo+6CbhbKYyZHUDvZ/SmJM7pfDBgdGisFX3bY/CBDMg2ZO4utfhlApkSfZ92yXw7Q==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [openharmony]
|
os: [openharmony]
|
||||||
|
|
||||||
'@rollup/rollup-win32-arm64-msvc@4.52.0':
|
'@rollup/rollup-win32-arm64-msvc@4.52.2':
|
||||||
resolution: {integrity: sha512-YQugafP/rH0eOOHGjmNgDURrpYHrIX0yuojOI8bwCyXwxC9ZdTd3vYkmddPX0oHONLXu9Rb1dDmT0VNpjkzGGw==}
|
resolution: {integrity: sha512-Z9MUCrSgIaUeeHAiNkm3cQyst2UhzjPraR3gYYfOjAuZI7tcFRTOD+4cHLPoS/3qinchth+V56vtqz1Tv+6KPA==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@rollup/rollup-win32-ia32-msvc@4.52.0':
|
'@rollup/rollup-win32-ia32-msvc@4.52.2':
|
||||||
resolution: {integrity: sha512-zYdUYhi3Qe2fndujBqL5FjAFzvNeLxtIqfzNEVKD1I7C37/chv1VxhscWSQHTNfjPCrBFQMnynwA3kpZpZ8w4A==}
|
resolution: {integrity: sha512-+GnYBmpjldD3XQd+HMejo+0gJGwYIOfFeoBQv32xF/RUIvccUz20/V6Otdv+57NE70D5pa8W/jVGDoGq0oON4A==}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@rollup/rollup-win32-x64-gnu@4.52.0':
|
'@rollup/rollup-win32-x64-gnu@4.52.2':
|
||||||
resolution: {integrity: sha512-fGk03kQylNaCOQ96HDMeT7E2n91EqvCDd3RwvT5k+xNdFCeMGnj5b5hEgTGrQuyidqSsD3zJDQ21QIaxXqTBJw==}
|
resolution: {integrity: sha512-ApXFKluSB6kDQkAqZOKXBjiaqdF1BlKi+/eqnYe9Ee7U2K3pUDKsIyr8EYm/QDHTJIM+4X+lI0gJc3TTRhd+dA==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@rollup/rollup-win32-x64-msvc@4.52.0':
|
'@rollup/rollup-win32-x64-msvc@4.52.2':
|
||||||
resolution: {integrity: sha512-6iKDCVSIUQ8jPMoIV0OytRKniaYyy5EbY/RRydmLW8ZR3cEBhxbWl5ro0rkUNe0ef6sScvhbY79HrjRm8i3vDQ==}
|
resolution: {integrity: sha512-ARz+Bs8kY6FtitYM96PqPEVvPXqEZmPZsSkXvyX19YzDqkCaIlhCieLLMI5hxO9SRZ2XtCtm8wxhy0iJ2jxNfw==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
@@ -568,8 +568,8 @@ packages:
|
|||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
rollup@4.52.0:
|
rollup@4.52.2:
|
||||||
resolution: {integrity: sha512-+IuescNkTJQgX7AkIDtITipZdIGcWF0pnVvZTWStiazUmcGA2ag8dfg0urest2XlXUi9kuhfQ+qmdc5Stc3z7g==}
|
resolution: {integrity: sha512-I25/2QgoROE1vYV+NQ1En9T9UFB9Cmfm2CJ83zZOlaDpvz29wGQSZXWKw7MiNXau7wYgB/T9fVIdIuEQ+KbiiA==}
|
||||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -630,8 +630,8 @@ packages:
|
|||||||
'@testing-library/jest-dom':
|
'@testing-library/jest-dom':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
vite@7.1.6:
|
vite@7.1.7:
|
||||||
resolution: {integrity: sha512-SRYIB8t/isTwNn8vMB3MR6E+EQZM/WG1aKmmIUCfDXfVvKfc20ZpamngWHKzAmmu9ppsgxsg4b2I7c90JZudIQ==}
|
resolution: {integrity: sha512-VbA8ScMvAISJNJVbRDTJdCwqQoAareR/wutevKanhR2/1EkoXVZVkkORaYm/tNVCjP/UDTKtcw3bAkwOUdedmA==}
|
||||||
engines: {node: ^20.19.0 || >=22.12.0}
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -893,73 +893,73 @@ snapshots:
|
|||||||
|
|
||||||
'@neutralinojs/lib@6.3.0':
|
'@neutralinojs/lib@6.3.0':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@rollup/rollup-darwin-x64': 4.52.0
|
'@rollup/rollup-darwin-x64': 4.52.2
|
||||||
'@rollup/rollup-linux-x64-gnu': 4.52.0
|
'@rollup/rollup-linux-x64-gnu': 4.52.2
|
||||||
|
|
||||||
'@rollup/rollup-android-arm-eabi@4.52.0':
|
'@rollup/rollup-android-arm-eabi@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-android-arm64@4.52.0':
|
'@rollup/rollup-android-arm64@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-darwin-arm64@4.52.0':
|
'@rollup/rollup-darwin-arm64@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-darwin-x64@4.52.0':
|
'@rollup/rollup-darwin-x64@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-freebsd-arm64@4.52.0':
|
'@rollup/rollup-freebsd-arm64@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-freebsd-x64@4.52.0':
|
'@rollup/rollup-freebsd-x64@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm-gnueabihf@4.52.0':
|
'@rollup/rollup-linux-arm-gnueabihf@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm-musleabihf@4.52.0':
|
'@rollup/rollup-linux-arm-musleabihf@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm64-gnu@4.52.0':
|
'@rollup/rollup-linux-arm64-gnu@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm64-musl@4.52.0':
|
'@rollup/rollup-linux-arm64-musl@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-linux-loong64-gnu@4.52.0':
|
'@rollup/rollup-linux-loong64-gnu@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-linux-ppc64-gnu@4.52.0':
|
'@rollup/rollup-linux-ppc64-gnu@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-linux-riscv64-gnu@4.52.0':
|
'@rollup/rollup-linux-riscv64-gnu@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-linux-riscv64-musl@4.52.0':
|
'@rollup/rollup-linux-riscv64-musl@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-linux-s390x-gnu@4.52.0':
|
'@rollup/rollup-linux-s390x-gnu@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-linux-x64-gnu@4.52.0':
|
'@rollup/rollup-linux-x64-gnu@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-linux-x64-musl@4.52.0':
|
'@rollup/rollup-linux-x64-musl@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-openharmony-arm64@4.52.0':
|
'@rollup/rollup-openharmony-arm64@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-win32-arm64-msvc@4.52.0':
|
'@rollup/rollup-win32-arm64-msvc@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-win32-ia32-msvc@4.52.0':
|
'@rollup/rollup-win32-ia32-msvc@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-win32-x64-gnu@4.52.0':
|
'@rollup/rollup-win32-x64-gnu@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rollup/rollup-win32-x64-msvc@4.52.0':
|
'@rollup/rollup-win32-x64-msvc@4.52.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@solidjs/router@0.15.3(solid-js@1.9.9)':
|
'@solidjs/router@0.15.3(solid-js@1.9.9)':
|
||||||
@@ -1120,32 +1120,32 @@ snapshots:
|
|||||||
|
|
||||||
prettier@3.6.2: {}
|
prettier@3.6.2: {}
|
||||||
|
|
||||||
rollup@4.52.0:
|
rollup@4.52.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/estree': 1.0.8
|
'@types/estree': 1.0.8
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@rollup/rollup-android-arm-eabi': 4.52.0
|
'@rollup/rollup-android-arm-eabi': 4.52.2
|
||||||
'@rollup/rollup-android-arm64': 4.52.0
|
'@rollup/rollup-android-arm64': 4.52.2
|
||||||
'@rollup/rollup-darwin-arm64': 4.52.0
|
'@rollup/rollup-darwin-arm64': 4.52.2
|
||||||
'@rollup/rollup-darwin-x64': 4.52.0
|
'@rollup/rollup-darwin-x64': 4.52.2
|
||||||
'@rollup/rollup-freebsd-arm64': 4.52.0
|
'@rollup/rollup-freebsd-arm64': 4.52.2
|
||||||
'@rollup/rollup-freebsd-x64': 4.52.0
|
'@rollup/rollup-freebsd-x64': 4.52.2
|
||||||
'@rollup/rollup-linux-arm-gnueabihf': 4.52.0
|
'@rollup/rollup-linux-arm-gnueabihf': 4.52.2
|
||||||
'@rollup/rollup-linux-arm-musleabihf': 4.52.0
|
'@rollup/rollup-linux-arm-musleabihf': 4.52.2
|
||||||
'@rollup/rollup-linux-arm64-gnu': 4.52.0
|
'@rollup/rollup-linux-arm64-gnu': 4.52.2
|
||||||
'@rollup/rollup-linux-arm64-musl': 4.52.0
|
'@rollup/rollup-linux-arm64-musl': 4.52.2
|
||||||
'@rollup/rollup-linux-loong64-gnu': 4.52.0
|
'@rollup/rollup-linux-loong64-gnu': 4.52.2
|
||||||
'@rollup/rollup-linux-ppc64-gnu': 4.52.0
|
'@rollup/rollup-linux-ppc64-gnu': 4.52.2
|
||||||
'@rollup/rollup-linux-riscv64-gnu': 4.52.0
|
'@rollup/rollup-linux-riscv64-gnu': 4.52.2
|
||||||
'@rollup/rollup-linux-riscv64-musl': 4.52.0
|
'@rollup/rollup-linux-riscv64-musl': 4.52.2
|
||||||
'@rollup/rollup-linux-s390x-gnu': 4.52.0
|
'@rollup/rollup-linux-s390x-gnu': 4.52.2
|
||||||
'@rollup/rollup-linux-x64-gnu': 4.52.0
|
'@rollup/rollup-linux-x64-gnu': 4.52.2
|
||||||
'@rollup/rollup-linux-x64-musl': 4.52.0
|
'@rollup/rollup-linux-x64-musl': 4.52.2
|
||||||
'@rollup/rollup-openharmony-arm64': 4.52.0
|
'@rollup/rollup-openharmony-arm64': 4.52.2
|
||||||
'@rollup/rollup-win32-arm64-msvc': 4.52.0
|
'@rollup/rollup-win32-arm64-msvc': 4.52.2
|
||||||
'@rollup/rollup-win32-ia32-msvc': 4.52.0
|
'@rollup/rollup-win32-ia32-msvc': 4.52.2
|
||||||
'@rollup/rollup-win32-x64-gnu': 4.52.0
|
'@rollup/rollup-win32-x64-gnu': 4.52.2
|
||||||
'@rollup/rollup-win32-x64-msvc': 4.52.0
|
'@rollup/rollup-win32-x64-msvc': 4.52.2
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
|
|
||||||
semver@6.3.1: {}
|
semver@6.3.1: {}
|
||||||
@@ -1190,7 +1190,7 @@ snapshots:
|
|||||||
|
|
||||||
validate-html-nesting@1.2.3: {}
|
validate-html-nesting@1.2.3: {}
|
||||||
|
|
||||||
vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.6(@types/node@24.5.2)):
|
vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.7(@types/node@24.5.2)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.28.4
|
'@babel/core': 7.28.4
|
||||||
'@types/babel__core': 7.20.5
|
'@types/babel__core': 7.20.5
|
||||||
@@ -1198,25 +1198,25 @@ snapshots:
|
|||||||
merge-anything: 5.1.7
|
merge-anything: 5.1.7
|
||||||
solid-js: 1.9.9
|
solid-js: 1.9.9
|
||||||
solid-refresh: 0.6.3(solid-js@1.9.9)
|
solid-refresh: 0.6.3(solid-js@1.9.9)
|
||||||
vite: 7.1.6(@types/node@24.5.2)
|
vite: 7.1.7(@types/node@24.5.2)
|
||||||
vitefu: 1.1.1(vite@7.1.6(@types/node@24.5.2))
|
vitefu: 1.1.1(vite@7.1.7(@types/node@24.5.2))
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
vite@7.1.6(@types/node@24.5.2):
|
vite@7.1.7(@types/node@24.5.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: 0.25.10
|
esbuild: 0.25.10
|
||||||
fdir: 6.5.0(picomatch@4.0.3)
|
fdir: 6.5.0(picomatch@4.0.3)
|
||||||
picomatch: 4.0.3
|
picomatch: 4.0.3
|
||||||
postcss: 8.5.6
|
postcss: 8.5.6
|
||||||
rollup: 4.52.0
|
rollup: 4.52.2
|
||||||
tinyglobby: 0.2.15
|
tinyglobby: 0.2.15
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 24.5.2
|
'@types/node': 24.5.2
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
|
|
||||||
vitefu@1.1.1(vite@7.1.6(@types/node@24.5.2)):
|
vitefu@1.1.1(vite@7.1.7(@types/node@24.5.2)):
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
vite: 7.1.6(@types/node@24.5.2)
|
vite: 7.1.7(@types/node@24.5.2)
|
||||||
|
|
||||||
yallist@3.1.1: {}
|
yallist@3.1.1: {}
|
||||||
|
|||||||
+36
-2
@@ -14,6 +14,7 @@ import {
|
|||||||
generateOutputCommand,
|
generateOutputCommand,
|
||||||
getAvailableCodecs,
|
getAvailableCodecs,
|
||||||
getLengthMicroseconds,
|
getLengthMicroseconds,
|
||||||
|
getPixelFormats,
|
||||||
playFile,
|
playFile,
|
||||||
videoFileExtensions,
|
videoFileExtensions,
|
||||||
type CodecInfo,
|
type CodecInfo,
|
||||||
@@ -60,6 +61,8 @@ function App() {
|
|||||||
const [outputopts, setOutputopts] = createSignal("");
|
const [outputopts, setOutputopts] = createSignal("");
|
||||||
const [audioCodec, setAudioCodec] = createSignal("copy");
|
const [audioCodec, setAudioCodec] = createSignal("copy");
|
||||||
const [audioEncoder, setAudioEncoder] = createSignal("");
|
const [audioEncoder, setAudioEncoder] = createSignal("");
|
||||||
|
const [pixelFormatList, setPixelFormatList] = createSignal([] as string[]);
|
||||||
|
const [pixelFormat, setPixelFormat] = createSignal("");
|
||||||
const logs: { [id: number]: string[] } = {};
|
const logs: { [id: number]: string[] } = {};
|
||||||
let supportedCodecs: CodecList = { vcodecs: [], acodecs: [] };
|
let supportedCodecs: CodecList = { vcodecs: [], acodecs: [] };
|
||||||
let ffmpegParams: FFmpegParams = {
|
let ffmpegParams: FFmpegParams = {
|
||||||
@@ -139,6 +142,8 @@ function App() {
|
|||||||
ffmpegParams.encoder = firstCodec.encoders[0];
|
ffmpegParams.encoder = firstCodec.encoders[0];
|
||||||
setSelectedCodec(firstCodec);
|
setSelectedCodec(firstCodec);
|
||||||
setSelectedEncoder(firstCodec.encoders[0]);
|
setSelectedEncoder(firstCodec.encoders[0]);
|
||||||
|
|
||||||
|
setPixelFormatList(await getPixelFormats());
|
||||||
});
|
});
|
||||||
|
|
||||||
onCleanup(() => {
|
onCleanup(() => {
|
||||||
@@ -231,7 +236,7 @@ function App() {
|
|||||||
|
|
||||||
function getAudioEncoders() {
|
function getAudioEncoders() {
|
||||||
const codec = audioCodec();
|
const codec = audioCodec();
|
||||||
const encoders = audioCodecList().find(
|
let encoders = audioCodecList().find(
|
||||||
(v) => v.shortName === codec,
|
(v) => v.shortName === codec,
|
||||||
)?.encoders;
|
)?.encoders;
|
||||||
|
|
||||||
@@ -239,6 +244,10 @@ function App() {
|
|||||||
setAudioEncoder(encoders[0]);
|
setAudioEncoder(encoders[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (encoders instanceof Array && encoders.length === 0) {
|
||||||
|
encoders = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
return encoders;
|
return encoders;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -265,10 +274,18 @@ function App() {
|
|||||||
encoder = undefined;
|
encoder = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let acodec = audioEncoder();
|
||||||
|
|
||||||
|
if (acodec === "") {
|
||||||
|
acodec = audioCodec();
|
||||||
|
}
|
||||||
|
|
||||||
|
const pixFmt = pixelFormat();
|
||||||
|
|
||||||
ffmpegParams = {
|
ffmpegParams = {
|
||||||
vcodec: selectedCodec()?.shortName ?? "",
|
vcodec: selectedCodec()?.shortName ?? "",
|
||||||
encoder,
|
encoder,
|
||||||
acodec: audioCodec(),
|
acodec,
|
||||||
abitrate: ffmpegParams.abitrate,
|
abitrate: ffmpegParams.abitrate,
|
||||||
crf: ffmpegParams.crf,
|
crf: ffmpegParams.crf,
|
||||||
doNotUseAn: ffmpegParams.doNotUseAn,
|
doNotUseAn: ffmpegParams.doNotUseAn,
|
||||||
@@ -283,6 +300,7 @@ function App() {
|
|||||||
input: inputopts(),
|
input: inputopts(),
|
||||||
output: outputopts(),
|
output: outputopts(),
|
||||||
},
|
},
|
||||||
|
pixelFormat: pixFmt === "" ? undefined : pixFmt,
|
||||||
};
|
};
|
||||||
|
|
||||||
setOutputCommand(generateOutputCommand(ffmpegParams));
|
setOutputCommand(generateOutputCommand(ffmpegParams));
|
||||||
@@ -542,6 +560,22 @@ function App() {
|
|||||||
</For>
|
</For>
|
||||||
</select>
|
</select>
|
||||||
</Show>
|
</Show>
|
||||||
|
<label for="pixelFormat">Pixel Format</label>
|
||||||
|
<select
|
||||||
|
name="pixelFormat"
|
||||||
|
id="pixelFormat"
|
||||||
|
class="k-dropdown"
|
||||||
|
title="This option is here for the people who knows what they're doing. Not all encoders will support every pixel format."
|
||||||
|
value={pixelFormat()}
|
||||||
|
oninput={(e) => setPixelFormat(e.target.value)}
|
||||||
|
>
|
||||||
|
<option value="">Same as source</option>
|
||||||
|
<For each={pixelFormatList()}>
|
||||||
|
{(item, _) => (
|
||||||
|
<option value={item}>{item}</option>
|
||||||
|
)}
|
||||||
|
</For>
|
||||||
|
</select>
|
||||||
</form>
|
</form>
|
||||||
<Switch fallback={<div></div>}>
|
<Switch fallback={<div></div>}>
|
||||||
<Match
|
<Match
|
||||||
|
|||||||
@@ -74,6 +74,28 @@ export async function getAvailableCodecs(): Promise<CodecList> {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function getPixelFormats(): Promise<string[]> {
|
||||||
|
const seperator = "-----";
|
||||||
|
const result = await Neutralino.os.execCommand("ffmpeg -pix_fmts");
|
||||||
|
const rawFormatList = result.stdOut
|
||||||
|
.substring(result.stdOut.indexOf(seperator) + seperator.length)
|
||||||
|
.split("\n");
|
||||||
|
let outputFormats = [];
|
||||||
|
|
||||||
|
for (let format of rawFormatList) {
|
||||||
|
format = format.trim();
|
||||||
|
const flags = format.substring(0, 5);
|
||||||
|
|
||||||
|
if (flags[1] !== "O") continue;
|
||||||
|
|
||||||
|
const parts = format.substring(6).split(/ +/);
|
||||||
|
|
||||||
|
outputFormats.push(parts[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return outputFormats;
|
||||||
|
}
|
||||||
|
|
||||||
export function playFile(path: string) {
|
export function playFile(path: string) {
|
||||||
Neutralino.os.execCommand(`ffplay "${path}"`);
|
Neutralino.os.execCommand(`ffplay "${path}"`);
|
||||||
}
|
}
|
||||||
@@ -114,6 +136,7 @@ export interface FFmpegParams {
|
|||||||
faststart?: boolean;
|
faststart?: boolean;
|
||||||
doNotUseAn?: boolean;
|
doNotUseAn?: boolean;
|
||||||
speed?: number;
|
speed?: number;
|
||||||
|
pixelFormat?: string;
|
||||||
/**
|
/**
|
||||||
* Extra parameters defined by users
|
* Extra parameters defined by users
|
||||||
*/
|
*/
|
||||||
@@ -156,8 +179,17 @@ export function generateOutputCommand(params: FFmpegParams) {
|
|||||||
globalopts += " " + params.useropts.global;
|
globalopts += " " + params.useropts.global;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (params.pixelFormat) {
|
||||||
|
if (params.outputopts === undefined) {
|
||||||
|
params.outputopts = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
params.outputopts = {
|
||||||
|
"pix_fmt": params.pixelFormat
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
if (params.outputopts !== undefined) {
|
if (params.outputopts !== undefined) {
|
||||||
console.log(params.outputopts);
|
|
||||||
for (const key of Object.keys(params.outputopts)) {
|
for (const key of Object.keys(params.outputopts)) {
|
||||||
outputopts += ` -${key} ${params.outputopts[key]}`.trimEnd();
|
outputopts += ` -${key} ${params.outputopts[key]}`.trimEnd();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user