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]>
> >>>>> >> >>>>>> >>>>
> >>>>> >> >>>>>> >>>>
> >>>>> >> >>>>>> >>>
> >>>>> >> >>>>>> >>
> >>>>> >> >>>>>> >
> >>>>> >> >>>>>
> >>>>> >> >>>>>
> >>>>> >> >>>>
> >>>>> >> >>>
> >>>>> >> >>
> >>>>> >> >
> >>>>> >
> >>>>> >
> >>>>
> >>>>
> >>>
> >>
> >
>

Reply via email to