Pan in SDL_Perl, Alt. Audio Engines (Win32)

Discussion in 'Perl Misc' started by Veli-Pekka Tätilä, Feb 3, 2008.

  1. Hi,
    What options do I have in Win32 if I'd like to use an audio engine that
    can play multiple audio channels with volume and pan for each one? It
    should also have the ability to separately load and play files and would
    be cool if it could stream compressed music (ogg/mp3) from disk, too.
    Pitch shifting and basic delay and filter based audio effects would be
    nice extras.

    SDL looks Ok to me, however, there's no pan parameter in the PPM release
    () obtained via ActiveState (SDL-Perl 2.13). I read on the Web someone
    faced the very same problem under Unix and patched the pan support
    himself. Has that support migrated to any PPM binaries in Windows?
    Here's the thread I found about it:

    http://www.perlmonks.org/?node_id=598630

    The lack of per channel pan seems to be a common problem in SDL, in that
    the authors of the game GlTron have had to patch it in themselves, too:

    http://listas.apesol.org/pipermail/sdl-libsdl.org/2001-March/015788.html

    I'm also willing to try libs other than SDL and a bit of Googling
    brought up Allegro and Fmod 3, URLs:

    http://www.talula.demon.co.uk/allegro/

    http://www.fmod.org/

    It seems to me neither has XS or pure Perl bindings, based on searching
    CPAN and the ActiveState reps with Perl 5.8.8. I've taken a cursory look
    at the docs and it looks to me like one could write a Perl wrapper for
    the audio functions in the DLLs using Win32::API. This would then be
    Windows specific, though, and I'd need keyboard input, too. I reckon
    mixing SDL for input and some other engine for audio is looking for
    trouble in terms of timing and performance. My experience so far is that
    many of the Win32::* modules don't like threading, anything using
    Win32::OLE being one good example.

    Umm, this is the least liked option personally but howabout native APIs
    such as DirectSound? I couldn't find any Perl wrappers so far. From what
    I've understood, any OLE client can basically use DirectX. In stead I
    accidentally ran into a DirectSound library for the other P language
    implemented via COM, however I'd like to use Perl.

    If you're wondering why I'm not asking about graphics, that's because I
    don't need any. I'm toying around with a prototype idea for a freebie
    pure audio game for blind folks. Most devs doing these games use VB
    wrappers for DirectX or C++ but as I like Perl, I'm going to try that
    first. I could ask in the blind programming mailing list, but I'm one of
    two Perl users out there, and the other one is doing mainly Web apps. I
    asked about audio engines there before, and people recommended Fmod back
    then.

    --
    With kind regards Veli-Pekka Tätilä ()
    Accessibility, game music, synthesizers and programming:
    http://www.student.oulu.fi/~vtatila
     
    Veli-Pekka Tätilä, Feb 3, 2008
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Kurt

    Pan/Zoom Image class?

    Kurt, Oct 22, 2003, in forum: Python
    Replies:
    1
    Views:
    476
    Diez B. Roggisch
    Oct 22, 2003
  2. alex23
    Replies:
    0
    Views:
    426
    alex23
    Apr 2, 2008
  3. Czenek

    Pan/Zoom with Matplotlib

    Czenek, Oct 18, 2008, in forum: Python
    Replies:
    1
    Views:
    367
    Czenek
    Oct 18, 2008
  4. Replies:
    3
    Views:
    656
    edexter
    May 24, 2009
  5. Patrick Doyle
    Replies:
    9
    Views:
    137
    Charles Oliver Nutter
    Aug 18, 2008
Loading...

Share This Page