OK!
I've wrapped all XAL functionality to date, or all useful functionality at least.
a few notes:
there is a test file PyXAL_
Test.py in editor/ARCed/src
pitch shifting is still not there
WAV files do not set their duration when they are loaded. I implemented a calculation in the test file so we could do it our selves if we have too but that should really be fixed.
seek functionality is not there Blizz said that XAL is not in a position to do it properly for wav files so he isn't doing it yet
sound.readRawData return a 2 tuple of (size_in_bits_not_bytes, data_string)
I implemented a function to properly create a numpy array from the data in the test file, the 24 bit integers that were in the wav files I tested were a bitch to convert...
the function returns a 2d array of the left and right channel data I barrows FZero's waveform panel and implemented it in the test to demonstrate how to draw the left and right audio channels
an Image for you:
@FZer0 you should be able to implement most of the audio panel now just disable the position scroll bar so the user can't interact with it. you can still update it's position to match the offset of the music but disable user input.
as for setting pitch just comment out the liens where the pitch of the playing sound would be set
the play method accepts two arguments,
sound.play(float fade_time, bool looping)
so implanting looping is easy
and as I said I implemented a function to create an array form the raw data and demonstrated drawing the left and right audio channel in a graph.