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

Reply via email to