its the multithreading that I'm the most concerned about. Atm i have to rely and very ugly tricks in batch files like this
Code:
copy %1 %1.thread1.png
echo tag > %1.1.tag
echo for /l %%%%r in (1,1,%2) do ( >%1.pngmix1.bat
echo pngout %1.thread1.png %1.tmp1.png /r /force /f6 /kp >>%1.pngmix1.bat
echo huffmix %1.thread1.png %1.tmp1.png %1.thread1.png >>%1.pngmix1.bat
echo del %1.tmp1.png >>%1.pngmix1.bat
echo ) >>%1.pngmix1.bat
echo del %1.1.tag >>%1.pngmix1.bat
echo exit >>%1.pngmix1.bat
copy %1 %1.thread2.png
echo tag > %1.2.tag
echo for /l %%%%r in (1,1,%2) do ( >%1.pngmix2.bat
echo pngout %1.thread2.png %1.tmp2.png /r /force /f6 /kp >>%1.pngmix2.bat
echo huffmix %1.thread2.png %1.tmp2.png %1.thread2.png >>%1.pngmix2.bat
echo del %1.tmp2.png >>%1.pngmix2.bat
echo ) >>%1.pngmix2.bat
echo del %1.2.tag >>%1.pngmix2.bat
echo exit >>%1.pngmix2.bat
copy %1 %1.thread3.png
echo tag > %1.3.tag
echo for /l %%%%r in (1,1,%2) do ( >%1.pngmix3.bat
echo pngout %1.thread3.png %1.tmp3.png /r /force /f6 /kp >>%1.pngmix3.bat
echo huffmix %1.thread3.png %1.tmp3.png %1.thread3.png >>%1.pngmix3.bat
echo del %1.tmp3.png >>%1.pngmix3.bat
echo ) >>%1.pngmix3.bat
echo del %1.3.tag >>%1.pngmix3.bat
echo exit >>%1.pngmix3.bat
copy %1 %1.thread4.png
echo tag > %1.4.tag
echo for /l %%%%r in (1,1,%2) do ( >%1.pngmix4.bat
echo pngout %1.thread4.png %1.tmp4.png /r /force /f6 /kp >>%1.pngmix4.bat
echo huffmix %1.thread4.png %1.tmp4.png %1.thread4.png >>%1.pngmix4.bat
echo del %1.tmp4.png >>%1.pngmix4.bat
echo ) >>%1.pngmix4.bat
echo del %1.4.tag >>%1.pngmix4.bat
echo exit >>%1.pngmix4.bat
Start %1.pngmix1.bat %1 %2
Start %1.pngmix2.bat %1 %2
Start %1.pngmix3.bat %1 %2
Start %1.pngmix4.bat %1 %2
:keepwait
Ping 127.0.0.1
if exist %1.?.tag goto keepwait
huffmix %1 %1.thread1.png %1
huffmix %1 %1.thread2.png %1
huffmix %1 %1.thread3.png %1
huffmix %1 %1.thread4.png %1
del %1.thread?.png
del %1.pngmix?.bat
I have to spawn sub batch files and make small tag files to keep score if a thread is done or not.
ugly ping test as delays the loops to check if threads are done
etc etc etc
This is off cause different kind of multithreading as my batch multithreads on a single/same file.