Mercurial > codedump
annotate god.bat @ 130:7b9795a60e59 default tip
add FLAC tracknum utility
dumb piece of shit but it works
| author | Paper <paper@tflc.us> | 
|---|---|
| date | Thu, 30 Oct 2025 09:21:00 -0400 | 
| parents | 2e115eb60be8 | 
| children | 
| rev | line source | 
|---|---|
| 
103
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
1 @echo off | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
2 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
3 REM Welp, this was pointless. | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
4 REM | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
5 REM There's really no way to put raw PCM audio | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
6 REM in an MP4 container. MP4 is already a really | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
7 REM shitty format for a number of other reasons | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
8 REM (no real subtitle support, VERY limited codec | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
9 REM options, etc.), which is why I prefer using | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
10 REM Matroska for literally anything outside of | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
11 REM Vegas. | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
12 REM | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
13 REM However, I learned how to make an arguments | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
14 REM parser in fucking Batch out of all things, | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
15 REM so maybe there was a purpose for this after | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
16 REM all. | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
17 REM | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
18 REM TL;DR: I didn't even come close to solving the | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
19 REM problem this was meant to fix, and MP4 is a | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
20 REM godawful container. :D | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
21 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
22 setlocal EnableDelayedExpansion | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
23 call :argparser %* | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
24 if %count% LSS 3 goto usage | 
| 
104
 
2e115eb60be8
god.bat: does the file even exist?
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
103 
diff
changeset
 | 
25 if not exist "%inputmp4%" ( | 
| 
 
2e115eb60be8
god.bat: does the file even exist?
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
103 
diff
changeset
 | 
26 call :error "Input MP4 file doesn't exist!" | 
| 
 
2e115eb60be8
god.bat: does the file even exist?
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
103 
diff
changeset
 | 
27 goto usage | 
| 
 
2e115eb60be8
god.bat: does the file even exist?
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
103 
diff
changeset
 | 
28 ) | 
| 
 
2e115eb60be8
god.bat: does the file even exist?
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
103 
diff
changeset
 | 
29 if not exist "%inputwav%" ( | 
| 
 
2e115eb60be8
god.bat: does the file even exist?
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
103 
diff
changeset
 | 
30 call :error "Input WAV file doesn't exist!" | 
| 
 
2e115eb60be8
god.bat: does the file even exist?
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
103 
diff
changeset
 | 
31 goto usage | 
| 
 
2e115eb60be8
god.bat: does the file even exist?
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
103 
diff
changeset
 | 
32 ) | 
| 
 
2e115eb60be8
god.bat: does the file even exist?
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
103 
diff
changeset
 | 
33 if exist "%outputmp4%" call :warning "Output MP4 file already exists!" | 
| 
103
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
34 REM mp4 barely supports flac, matroska ftw | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
35 REM | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
36 REM vegas pro sucks and has barely any support | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
37 REM for different codecs in MP4s (see: yuv 4:4:4), | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
38 REM and really *only* supports AAC. this sucks, | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
39 REM cause AAC can be a bitch at times | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
40 if not defined acodec set "acodec=flac" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
41 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
42 ffmpeg -y -i "!inputmp4!" -i "!inputwav!" -c:v copy -c:a !acodec! ^ | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
43 -strict -2 -loglevel quiet -stats "!outputmp4!" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
44 goto cleanup | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
45 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
46 :usage | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
47 echo.Usage: | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
48 echo. %~n0.bat ^<input.mp4^> ^<input.wav^> ^<output.mp4^> [--acodec ^<codec^>] | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
49 echo. [--debug] | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
50 echo. | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
51 echo.Arguments: | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
52 echo. ^<input.mp4^>: input mp4 with at least 1 video stream | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
53 echo. ^<input.wav^>: input wav (or flac) | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
54 echo. ^<output.mp4^>: output mp4 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
55 echo. [--acodec ^<codec^>]: (optional) audio codec to use | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
56 echo. [--debug]: prints all commands to the terminal | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
57 echo. | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
58 REM we don't know if the user is running from a terminal or not... | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
59 echo.Press any key to exit... | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
60 pause 1>NUL 2>&1 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
61 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
62 :cleanup | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
63 REM this MIGHT fuck up someone's environment variables | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
64 REM i don't care :). deal with it | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
65 set "inputmp4=" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
66 set "inputwav=" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
67 set "outputmp4=" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
68 set "acodec=" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
69 set "count=" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
70 exit /b 0 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
71 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
72 REM -------------- Functions -------------- | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
73 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
74 :argparser | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
75 set "count=0" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
76 :argparser_loop | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
77 if not "x%~1x" == "xx" ( | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
78 set "var=%~1" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
79 if "!var:~0,2!"=="--" ( | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
80 if "!var!"=="--acodec" ( | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
81 shift | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
82 set "acodec=%~2" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
83 goto :argparser_end | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
84 ) | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
85 if "!var!"=="--debug" ( | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
86 @echo on | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
87 goto :argparser_end | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
88 ) | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
89 ) else ( | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
90 if %count% EQU 0 set "inputmp4=%~1" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
91 if %count% EQU 1 set "inputwav=%~1" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
92 if %count% EQU 2 set "outputmp4=%~1" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
93 set /a "count+=1" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
94 ) | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
95 :argparser_end | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
96 shift | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
97 goto :argparser_loop | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
98 ) | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
99 set "var=" | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
100 exit /b 0 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
101 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
102 :error | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
103 echo [ERROR]: %~1 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
104 exit /b 0 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
105 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
106 :warning | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
107 echo [WARNING]: %~1 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
108 exit /b 0 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
109 | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
110 :info | 
| 
 
1cc4f545a260
Add files via upload
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
111 echo [INFO]: %~1 | 
| 
104
 
2e115eb60be8
god.bat: does the file even exist?
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents: 
103 
diff
changeset
 | 
112 exit /b 0 | 
