ahh, now i see what happened ... well, doing it this way breaks mvbob without loading all of its support files like that, which is inconvenient for me (and probably only for me) when using anri-chan like a kit i can install on a given machine and immediately start encoding. but this is definitely better overall so i'm not going to change anything or recommend any change at this time. (i'll probably look into setting that variable in the registry that supposedly contains the path to the avisynth plugins directory.)
however things are not looking good on the wine front. while all of the anri-chan components seem to work properly, anri-chan itself does not. first of all as far as i can tell there is no support for | inside batch scripts. for some reason it works fine outside but nothing i do will make it work inside a batch - wine's cmd is treating it like bash would a semicolon. this may be because you're supposed to do like wine someprogram | wine someotherprogram in the unix shell instead (which works; i've already converted one of snow's encoding batches over to bash). possible rationale: batch language is an abomination and this forces people to use unix shell language instead.
i hacked together some replacement code (no |) for setting the desktop variable:
XCOPY /Y /Q "%anri_dir%anridesktoploc.bat" "%appdata%" > NUL
DEL %anri_tmp% > NUL
REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /V "Desktop" > %anri_tmp%
"%anri_dir%sed" -n s/.\+REG_SZ.\+\\\(.\+\)[^\\]*/\1/gp %anri_tmp% >> "%appdata%\anridesktoploc.bat"
CALL "%appdata%\anridesktoploc.bat" > NUL 2> NUL
DEL "%appdata%\anridesktoploc.bat" %anri_tmp%
but things like tee and
ECHO %projname%|findStr /c:"%%">nul
are probably totally out.
i've thought about this a bit and i can see two options:
1) tear down anri.bat to work in wine, save as anriwine.bat, check for wine environment on running anri.bat, if yes then switch to anriwine.bat.
pro: don't have to limit anri for windows's functionality due to wine.
con: maintaining two separate scripts is lame and probably not a good use of developer time.
- anriwine.bat will inevitably fall behind anri.bat.
- addresses symptom, not cause (batch language is a dead end).
2) completely reimplement anri-chan in unix shell language (bash).
pro: if all goes as planned (i.e. bash.exe is good), we'll end up with one version of anri-chan for all modern computer operating systems on x86 hardware.
- bash is much easier to maintain and to extend than nt batch.
- unix users don't lose out due to poor implementation of batch in wine.
con: "reimplement" is easier said than done. does anyone actually have time to do this? i'm not so sure even i do ...
thoughts? btw i tested nes mono and it appeared to be working fine ...