ah ok. I haven't gotten anything to work so far with 1.2.8, so thought it was coming in 1.2.9.
cu, On Thu, Jul 17, 2008 at 10:36 AM, Forrest Voight <[EMAIL PROTECTED]> wrote: > I think it should be >=1.2.8. > There is support for MP3, OGG, MID, and MOD in 1.2.8. All 1.2.9 will add is > WAV. > > On Wed, Jul 16, 2008 at 7:43 PM, René Dudfield <[EMAIL PROTECTED]> wrote: >> hi, >> >> Aliens took out my brain and inserted a pumpkin instead... makes it >> kind of hard to code. >> >> I meant to update all of the version checks before release... but >> forgot about it. >> >> That check should be "> 1.2.8" right? Since we're hoping that the >> goodies will be in 1.2.9. >> >> I guess that means a rc3 is needed once the new version checks are >> in... there's that pygame.movie bug report to check out too. >> >> >> cu, >> >> >> On Thu, Jul 17, 2008 at 6:16 AM, Forrest Voight <[EMAIL PROTECTED]> wrote: >>> Rene: Why'd you change the version check and why did you change it like >>> this? >>> >>> /* >>> #if (MIX_MAJOR_VERSION*100*100 + MIX_MINOR_VERSION*100 + >>> MIX_PATCHLEVEL) > 010207 >>> */ >>> #if MIX_MAJOR_VERSION>=1 && MIX_MINOR_VERSION>=2 && MIX_PATCHLEVEL>=8 >>> >>> What is going to happen when SDL_mixer 1.3.0 comes out? >>> >>> On Tue, Jul 15, 2008 at 12:35 AM, Brian Fisher >>> <[EMAIL PROTECTED]> wrote: >>>> sweet, you rock. >>>> >>>> >>>> On Mon, Jul 14, 2008 at 9:27 PM, Forrest Voight <[EMAIL PROTECTED]> wrote: >>>>> >>>>> I submitted a patch to SDL_mixer to fix the mp3 problem. >>>>> >>>>> On Sat, Jul 12, 2008 at 7:29 PM, René Dudfield <[EMAIL PROTECTED]> wrote: >>>>> > hi, >>>>> > >>>>> > I changed the version check to 1.2.9 instead... since support is in >>>>> > sdl_mixer svn is getting better. >>>>> > >>>>> > The tests are disabled for loading from file-likes -- so all tests >>>>> > pass again (at least they do here). >>>>> > >>>>> > cheers, >>>>> > >>>>> > >>>>> > >>>>> > On Sun, Jul 13, 2008 at 6:58 AM, Forrest Voight <[EMAIL PROTECTED]> >>>>> > wrote: >>>>> >> I'm also able to play FLAC audio. >>>>> >> >>>>> >> I think the problem is that SDL_mixer detects MP3 files through the >>>>> >> first and second bytes (the first is '\xff'), and files with ID3 tags >>>>> >> have a special header first, so SDL_mixer defaults to mikmod decoding, >>>>> >> which determines it is invalid. >>>>> >> >>>>> >> So, some MP3 files work and some don't. I was able to find an MP3 file >>>>> >> without tags and it worked. This is an SDL_mixer bug. >>>>> >> >>>>> >> On Sat, Jul 12, 2008 at 4:44 PM, Forrest Voight <[EMAIL PROTECTED]> >>>>> >> wrote: >>>>> >>> Using SDL_mixer SVN, I'm able to load & play WAV and OGG. >>>>> >>> >>>>> >>> MP3 gives me the 'Module format not recognized' error. I'm looking >>>>> >>> into that now... >>>>> >>> >>>>> >>> On Sat, Jul 12, 2008 at 3:58 PM, Brian Fisher >>>>> >>> <[EMAIL PROTECTED]> wrote: >>>>> >>>> My automated build machines both use 1.2.8, and they both fail to >>>>> >>>> load mp3 >>>>> >>>> (what the test is currently trying) >>>>> >>>> >>>>> >>>> so it seems that 1.2.8 doesn't support MP3. This post seems to >>>>> >>>> indicate that >>>>> >>>> OGG and MOD should be supported: >>>>> >>>> >>>>> >>>> http://listas.apesol.org/pipermail/sdl-libsdl.org/2007-December/063633.html >>>>> >>>> I tried OGG on my Mac though, and it just seemed to hang :( I don't >>>>> >>>> have a >>>>> >>>> mod file to try at the moment. >>>>> >>>> >>>>> >>>> So Forrest, what formats were you able to load when you were testing >>>>> >>>> the >>>>> >>>> patch? >>>>> >>>> >>>>> >>>> >>>>> >>>> On Sat, Jul 12, 2008 at 12:13 PM, Forrest Voight <[EMAIL PROTECTED]> >>>>> >>>> wrote: >>>>> >>>>> >>>>> >>>>> Rene: what version of SDL_mixer are you using? >>>>> >>>>> >>>>> >>>>> I think I was wrong... SDL_mixer 1.2.8 supports OGG, MP3, MID, and >>>>> >>>>> MOD >>>>> >>>>> music. >>>>> >>>>> >>>>> >>>>> Only SVN supports WAV. >>>>> >>>>> >>>>> >>>>> On Sat, Jul 12, 2008 at 1:40 PM, Brian Fisher >>>>> >>>>> <[EMAIL PROTECTED]> >>>>> >>>>> wrote: >>>>> >>>>> > by svn version do you mean 1.3, or an upcoming bug-fix release of >>>>> >>>>> > 1.2? >>>>> >>>>> > >>>>> >>>>> > >>>>> >>>>> > On Sat, Jul 12, 2008 at 9:27 AM, Forrest Voight >>>>> >>>>> > <[EMAIL PROTECTED]> >>>>> >>>>> > wrote: >>>>> >>>>> >> >>>>> >>>>> >> The current sdl_mixer svn only supports mikmod. The svn version >>>>> >>>>> >> supports all of those formats. >>>>> >>>>> >> >>>>> >>>>> >> On Sat, Jul 12, 2008 at 4:55 AM, René Dudfield <[EMAIL >>>>> >>>>> >> PROTECTED]> >>>>> >>>>> >> wrote: >>>>> >>>>> >> > hi, >>>>> >>>>> >> > >>>>> >>>>> >> > I just wrote a test for it (see test/mixer_test.py). >>>>> >>>>> >> > >>>>> >>>>> >> > Unfortunately it doesn't seem to be able to load from a file >>>>> >>>>> >> > like >>>>> >>>>> >> > object for mp3, ogg, or wav files. >>>>> >>>>> >> > >>>>> >>>>> >> > Any ideas? >>>>> >>>>> >> > >>>>> >>>>> >> > >>>>> >>>>> >> > >>>>> >>>>> >> > ====================================================================== >>>>> >>>>> >> > ERROR: test_mixer_music__load (__main__.MixerModuleTest) >>>>> >>>>> >> > >>>>> >>>>> >> > >>>>> >>>>> >> > ---------------------------------------------------------------------- >>>>> >>>>> >> > Traceback (most recent call last): >>>>> >>>>> >> > File "test\mixer_test.py", line 207, in test_mixer_music__load >>>>> >>>>> >> > pygame.mixer.music.load(open(musfn)) >>>>> >>>>> >> > error: Module format not recognized >>>>> >>>>> >> > >>>>> >>>>> >> > >>>>> >>>>> >> > cu, >>>>> >>>>> >> > >>>>> >>>>> >> > On Thu, Jul 10, 2008 at 11:33 PM, René Dudfield >>>>> >>>>> >> > <[EMAIL PROTECTED]> >>>>> >>>>> >> > wrote: >>>>> >>>>> >> >> Cool, thanks. >>>>> >>>>> >> >> >>>>> >>>>> >> >> Committed revision 1482. >>>>> >>>>> >> >> >>>>> >>>>> >> >> On Wed, Jul 9, 2008 at 12:39 PM, Forrest Voight >>>>> >>>>> >> >> <[EMAIL PROTECTED]> >>>>> >>>>> >> >> wrote: >>>>> >>>>> >> >>> All we need to do is make RwopsFromPythonThreaded not try to >>>>> >>>>> >> >>> make a >>>>> >>>>> >> >>> standard rwop, because it shouldn't. >>>>> >>>>> >> >>> >>>>> >>>>> >> >>> And it is correct, RwopsFromPythonThreaded is obviously meant >>>>> >>>>> >> >>> to be >>>>> >>>>> >> >>> used like this (hence the threaded). >>>>> >>>>> >> >>> >>>>> >>>>> >> >>> Attached is the updated patch. >>>>> >>>>> >> >>> >>>>> >>>>> >> >>> Forrest >>>>> >>>>> >> >>> >>>>> >>>>> >> >>> On Tue, Jul 8, 2008 at 9:38 PM, René Dudfield >>>>> >>>>> >> >>> <[EMAIL PROTECTED]> >>>>> >>>>> >> >>> wrote: >>>>> >>>>> >> >>>> I guess we need to store a reference to the file object >>>>> >>>>> >> >>>> somewhere, >>>>> >>>>> >> >>>> and >>>>> >>>>> >> >>>> release the reference at cleanup. >>>>> >>>>> >> >>>> >>>>> >>>>> >> >>>> >>>>> >>>>> >> >>>> On Wed, Jul 9, 2008 at 9:40 AM, Brian Fisher >>>>> >>>>> >> >>>> <[EMAIL PROTECTED]> wrote: >>>>> >>>>> >> >>>>> Hmmm... from looking at the patch, it seems that it does >>>>> >>>>> >> >>>>> not fix >>>>> >>>>> >> >>>>> the >>>>> >>>>> >> >>>>> crash >>>>> >>>>> >> >>>>> that Forrest discovered (where the file object falls out of >>>>> >>>>> >> >>>>> scope >>>>> >>>>> >> >>>>> and gets >>>>> >>>>> >> >>>>> deleted so the rwobject ends up having bad pointers) - Is >>>>> >>>>> >> >>>>> that >>>>> >>>>> >> >>>>> correct >>>>> >>>>> >> >>>>> Forrest? >>>>> >>>>> >> >>>>> >>>>> >>>>> >> >>>>> If that is the case, it seems to me that the feature >>>>> >>>>> >> >>>>> implementation >>>>> >>>>> >> >>>>> isn't >>>>> >>>>> >> >>>>> finished yet, so the patch as sent is not ready to be >>>>> >>>>> >> >>>>> applied to >>>>> >>>>> >> >>>>> pygame >>>>> >>>>> >> >>>>> 1.8.1. >>>>> >>>>> >> >>>>> >>>>> >>>>> >> >>>>> I would imagine that in most cases, people wouldn't be >>>>> >>>>> >> >>>>> keeping >>>>> >>>>> >> >>>>> around a >>>>> >>>>> >> >>>>> python reference to the file object they would pass in >>>>> >>>>> >> >>>>> (cause it >>>>> >>>>> >> >>>>> loads the >>>>> >>>>> >> >>>>> music up in some other function or something), which means >>>>> >>>>> >> >>>>> most >>>>> >>>>> >> >>>>> attempts to >>>>> >>>>> >> >>>>> use this feature would get crashes and bad behavior as the >>>>> >>>>> >> >>>>> mixer >>>>> >>>>> >> >>>>> tries to >>>>> >>>>> >> >>>>> stream the music, but the file object falls out of scope - >>>>> >>>>> >> >>>>> and >>>>> >>>>> >> >>>>> the >>>>> >>>>> >> >>>>> crash >>>>> >>>>> >> >>>>> would happen at what seems like a random point in time. >>>>> >>>>> >> >>>>> >>>>> >>>>> >> >>>>> Also, as I said in an earlier email, I don't think this >>>>> >>>>> >> >>>>> patch is >>>>> >>>>> >> >>>>> exposing an >>>>> >>>>> >> >>>>> existing bug, I think it uses rwobject in a way that's not >>>>> >>>>> >> >>>>> intended, >>>>> >>>>> >> >>>>> as >>>>> >>>>> >> >>>>> other "load-from-file" pygame uses don't require the >>>>> >>>>> >> >>>>> file-object >>>>> >>>>> >> >>>>> to >>>>> >>>>> >> >>>>> exist >>>>> >>>>> >> >>>>> longer than it takes for the load function to return. >>>>> >>>>> >> >>>>> >>>>> >>>>> >> >>>>> >>>>> >>>>> >> >>>>> >>>>> >>>>> >> >>>>> On Tue, Jul 8, 2008 at 3:20 PM, René Dudfield >>>>> >>>>> >> >>>>> <[EMAIL PROTECTED]> >>>>> >>>>> >> >>>>> wrote: >>>>> >>>>> >> >>>>>> >>>>> >>>>> >> >>>>>> Cool, thanks. I'll try and patch it tonight (+ 9 hours). >>>>> >>>>> >> >>>>>> >>>>> >>>>> >> >>>>>> cu, >>>>> >>>>> >> >>>>>> >>>>> >>>>> >> >>>>>> On Wed, Jul 9, 2008 at 1:09 AM, Forrest Voight >>>>> >>>>> >> >>>>>> <[EMAIL PROTECTED]> >>>>> >>>>> >> >>>>>> wrote: >>>>> >>>>> >> >>>>>> > I did the version checks. >>>>> >>>>> >> >>>>>> > >>>>> >>>>> >> >>>>>> > There are currently no tests for pygame.mixer.music, but >>>>> >>>>> >> >>>>>> > I'll >>>>> >>>>> >> >>>>>> > try >>>>> >>>>> >> >>>>>> > to >>>>> >>>>> >> >>>>>> > make a test for this. >>>>> >>>>> >> >>>>>> > >>>>> >>>>> >> >>>>>> > Also, I found a bug in rwobject. It makes a standard >>>>> >>>>> >> >>>>>> > SDL_RWops >>>>> >>>>> >> >>>>>> > from >>>>> >>>>> >> >>>>>> > python file objects but doesn't hold a reference to >>>>> >>>>> >> >>>>>> > them. >>>>> >>>>> >> >>>>>> > This is shown by doing something like: >>>>> >>>>> >> >>>>>> > >>>>> >>>>> >> >>>>>> > pygame.mixer.music.load(open('x.mp3')) >>>>> >>>>> >> >>>>>> > >>>>> >>>>> >> >>>>>> > Then playing it, and pygame crashes. >>>>> >>>>> >> >>>>>> > This is not my patch's fault, it just exposes it. >>>>> >>>>> >> >>>>>> > >>>>> >>>>> >> >>>>>> > Forrest Voight >>>>> >>>>> >> >>>>>> > >>>>> >>>>> >> >>>>>> > On Tue, Jul 8, 2008 at 2:08 AM, René Dudfield >>>>> >>>>> >> >>>>>> > <[EMAIL PROTECTED]> >>>>> >>>>> >> >>>>>> > wrote: >>>>> >>>>> >> >>>>>> >> hi, >>>>> >>>>> >> >>>>>> >> >>>>> >>>>> >> >>>>>> >> I think this will have to wait until we put the version >>>>> >>>>> >> >>>>>> >> checks >>>>> >>>>> >> >>>>>> >> in and >>>>> >>>>> >> >>>>>> >> have unittests... ie for pygame 1.9. Unless someone >>>>> >>>>> >> >>>>>> >> can get >>>>> >>>>> >> >>>>>> >> around to >>>>> >>>>> >> >>>>>> >> it in the next week. >>>>> >>>>> >> >>>>>> >> >>>>> >>>>> >> >>>>>> >> >>>>> >>>>> >> >>>>>> >> cu, >>>>> >>>>> >> >>>>>> >> >>>>> >>>>> >> >>>>>> >> >>>>> >>>>> >> >>>>>> >> On Wed, Jun 18, 2008 at 2:44 PM, Forrest Voight >>>>> >>>>> >> >>>>>> >> <[EMAIL PROTECTED]> >>>>> >>>>> >> >>>>>> >> wrote: >>>>> >>>>> >> >>>>>> >>> OK, I'll work on unit tests and a version check. >>>>> >>>>> >> >>>>>> >>> >>>>> >>>>> >> >>>>>> >>> On Mon, Jun 16, 2008 at 11:52 AM, Lenard Lindstrom >>>>> >>>>> >> >>>>>> >>> <[EMAIL PROTECTED]> >>>>> >>>>> >> >>>>>> >>> wrote: >>>>> >>>>> >> >>>>>> >>>> Maybe the test could write a sine wave to a StringIO, >>>>> >>>>> >> >>>>>> >>>> load >>>>> >>>>> >> >>>>>> >>>> it, >>>>> >>>>> >> >>>>>> >>>> then >>>>> >>>>> >> >>>>>> >>>> use >>>>> >>>>> >> >>>>>> >>>> get_buffer (sound objects do have get_buffer now, >>>>> >>>>> >> >>>>>> >>>> right?*) >>>>> >>>>> >> >>>>>> >>>> to >>>>> >>>>> >> >>>>>> >>>> check >>>>> >>>>> >> >>>>>> >>>> it. >>>>> >>>>> >> >>>>>> >>>> >>>>> >>>>> >> >>>>>> >>>> Lenard >>>>> >>>>> >> >>>>>> >>>> >>>>> >>>>> >> >>>>>> >>>> * Sorry, I don't have access to latest Python/Pygame >>>>> >>>>> >> >>>>>> >>>> at the >>>>> >>>>> >> >>>>>> >>>> moment. >>>>> >>>>> >> >>>>>> >>>> >>>>> >>>>> >> >>>>>> >>>> Quoting René Dudfield <[EMAIL PROTECTED]>: >>>>> >>>>> >> >>>>>> >>>> >>>>> >>>>> >> >>>>>> >>>>> Hi, >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> nice patch! This will be very useful :) >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> Do you know which version of sdl_mixer allows rwops >>>>> >>>>> >> >>>>>> >>>>> for >>>>> >>>>> >> >>>>>> >>>>> music >>>>> >>>>> >> >>>>>> >>>>> (Mix_LoadMUS_RW)? Does it require an SDL_mixer >>>>> >>>>> >> >>>>>> >>>>> version >>>>> >>>>> >> >>>>>> >>>>> check? >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> Are you able to make make any unit tests for using >>>>> >>>>> >> >>>>>> >>>>> file >>>>> >>>>> >> >>>>>> >>>>> likes >>>>> >>>>> >> >>>>>> >>>>> with >>>>> >>>>> >> >>>>>> >>>>> the >>>>> >>>>> >> >>>>>> >>>>> music mixer? We're using unittests for all new code >>>>> >>>>> >> >>>>>> >>>>> now, >>>>> >>>>> >> >>>>>> >>>>> and >>>>> >>>>> >> >>>>>> >>>>> it'd >>>>> >>>>> >> >>>>>> >>>>> make us feel more safe about adding it in for the >>>>> >>>>> >> >>>>>> >>>>> 1.8.1 >>>>> >>>>> >> >>>>>> >>>>> release. >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> Not really sure how best to test it. I guess just >>>>> >>>>> >> >>>>>> >>>>> loading >>>>> >>>>> >> >>>>>> >>>>> the music >>>>> >>>>> >> >>>>>> >>>>> from different filename, and from a python file >>>>> >>>>> >> >>>>>> >>>>> object >>>>> >>>>> >> >>>>>> >>>>> would >>>>> >>>>> >> >>>>>> >>>>> be ok >>>>> >>>>> >> >>>>>> >>>>> for >>>>> >>>>> >> >>>>>> >>>>> now. >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> here's a start on a test for it... >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> data_fname = os.path.join('..', 'examples', 'data') >>>>> >>>>> >> >>>>>> >>>>> #note, I just added house_lo.ogg to svn. >>>>> >>>>> >> >>>>>> >>>>> oggfn = os.path.join(data_fname, 'house_lo.ogg') >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> pygame.mixer.music.load(oggfn) >>>>> >>>>> >> >>>>>> >>>>> pygame.mixer.music.load(open(oggfn)) >>>>> >>>>> >> >>>>>> >>>>> oggf = open(oggfn) >>>>> >>>>> >> >>>>>> >>>>> pygame.mixer.music.load(oggf) >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> cheers, >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>>> On Sat, Jun 14, 2008 at 9:53 AM, Forrest Voight >>>>> >>>>> >> >>>>>> >>>>> <[EMAIL PROTECTED]> >>>>> >>>>> >> >>>>>> >>>>> wrote: >>>>> >>>>> >> >>>>>> >>>>> > Thanks! >>>>> >>>>> >> >>>>>> >>>>> > >>>>> >>>>> >> >>>>>> >>>>> > On Fri, Jun 13, 2008 at 7:31 PM, Lenard Lindstrom >>>>> >>>>> >> >>>>>> >>>>> > <[EMAIL PROTECTED]> wrote: >>>>> >>>>> >> >>>>>> >>>>> >> This is interesting. I am having a look at it. No >>>>> >>>>> >> >>>>>> >>>>> >> promise >>>>> >>>>> >> >>>>>> >>>>> >> it can >>>>> >>>>> >> >>>>>> >>>>> >> go into >>>>> >>>>> >> >>>>>> >>>>> >> 1.8.1 though as this is supposed to be a bug fix. >>>>> >>>>> >> >>>>>> >>>>> >> >>>>> >>>>> >> >>>>>> >>>>> >> Lenard >>>>> >>>>> >> >>>>>> >>>>> >> >>>>> >>>>> >> >>>>>> >>>>> >> >>>>> >>>>> >> >>>>>> >>>>> >> Forrest Voight wrote: >>>>> >>>>> >> >>>>>> >>>>> >>> >>>>> >>>>> >> >>>>>> >>>>> >>> This patch re-adds support for playing (and >>>>> >>>>> >> >>>>>> >>>>> >>> queueing) >>>>> >>>>> >> >>>>>> >>>>> >>> music from >>>>> >>>>> >> >>>>>> >>>>> >>> python file-like objects. >>>>> >>>>> >> >>>>>> >>>>> >>> >>>>> >>>>> >> >>>>>> >>>>> >>> While support for WAV music streams is still in >>>>> >>>>> >> >>>>>> >>>>> >>> SDL_mixer >>>>> >>>>> >> >>>>>> >>>>> >>> svn, >>>>> >>>>> >> >>>>>> >>>>> >>> there >>>>> >>>>> >> >>>>>> >>>>> >>> is support for mp3, mikmod and other formats >>>>> >>>>> >> >>>>>> >>>>> >>> already. >>>>> >>>>> >> >>>>>> >>>>> >>> >>>>> >>>>> >> >>>>>> >>>>> >>> >>>>> >>>>> >> >>>>>> >>>>> >> >>>>> >>>>> >> >>>>>> >>>>> >> >>>>> >>>>> >> >>>>>> >>>>> > >>>>> >>>>> >> >>>>>> >>>>> >>>>> >>>>> >> >>>>>> >>>> >>>>> >>>>> >> >>>>>> >>>> >>>>> >>>>> >> >>>>>> >>>> -- >>>>> >>>>> >> >>>>>> >>>> Lenard Lindstrom >>>>> >>>>> >> >>>>>> >>>> <[EMAIL PROTECTED]> >>>>> >>>>> >> >>>>>> >>>> >>>>> >>>>> >> >>>>>> >>>> >>>>> >>>>> >> >>>>>> >>> >>>>> >>>>> >> >>>>>> >> >>>>> >>>>> >> >>>>>> > >>>>> >>>>> >> >>>>> >>>>> >>>>> >> >>>>> >>>>> >>>>> >> >>>> >>>>> >>>>> >> >>> >>>>> >>>>> >> >> >>>>> >>>>> >> > >>>>> >>>>> > >>>>> >>>>> > >>>>> >>>> >>>>> >>>> >>>>> >>> >>>>> >> >>>>> > >>>> >>>> >>> >> >