On Fri, Feb 12, 2010 at 07:21:13PM +1300, Ralph Versteegen wrote: > On 9 February 2010 12:04, James Paige <[email protected]> wrote: > > On Tue, Feb 09, 2010 at 11:49:37AM +1300, Ralph Versteegen wrote: > >> > >> Is it too late to delay release? I found a rather large bug in music > >> importation. > >> > >> Ralph > > > > Yep, it too late to hold ypsiliform+2 > > But I see absolutely no good reason why we couldn't release +3 tomorrow > > :) > > > > What is the import bug? > > > > --- > > James > > Calling oggenc and madplay doesn't work when Custom's path contains > spaces. In addition, the fix for the SHELL call to oggenc/madplay > causing gfx_sdl to lose track of the state of the keyboard didn't work > either (recall that this happens on windows only, when not compiling > with -s console). GLOW reported that trying to import an mp3 file into > his game (his Custom's path contained all kinds of spaces, commas and > exclamation marks) caused the import to loop, walked through several > of his songs, and overwrote them with whatever ogg file was first in > the directory! > > On testing, I managed to see SHELL cause SDL to get confused just > once, but GLOW reported that it happens most of the time on his > computer. As a workaround, I got him to switch to gfx_fb. > > The way that Windows' system() (which is all that a call to SHELL on > windows is) handles spaces and quotes is braindead (seems to be a > holdover from the DOS 1.0 or whatever days, type "cmd /?" to read > about it) - its behaviour changes depending whether the last character > in the string is a quote, and much other insanity - but I figured out > how to fix it, the patch is attached (didn't wrap it in #ifdefs). > However, I didn't check it in because it doesn't fix the root problem, > which is that SHELL just doesn't work well enough. I want some > alternative to SHELL which runs asynchronously, returns program output > simply, optionally runs hidden without popping up a console on > Windows, and returns the program exit code. Since FB doesn't have > anything like this, I think we'll have wrap platform specific system > calls and build our own.
Okay, that sounds agreeable... Maybe like a wrapper function that runs SHELL for Linux, but does some Windows API calls for Windows? For now we could at least detect spaces in the path and pop up a warning if we know the import is going to fail. --- James _______________________________________________ Ohrrpgce mailing list [email protected] http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
