Dear visitor, welcome to Jabaco - Community.
If this is your first visit here, please read the Help. It explains in detail how this page works.
To use all features of this page, you should consider registering.
Please use the registration form, to register here or read more information about the registration process.
If you are already registered, please login here.
Beads Buffer Question
Hi, I've asked this before as part of another thread but didn't get a response, so I thought I'd bump it as it's still a frustration for me.
Basically, I'm using the Java Beads audio DSP library and trying to fill a custom buffer for use by the waveplayer object. There's an example of using a custom buffer on page 126 of this tutorial. Here's the source for the sinewave buffer.
We need to extend the abstract base class BufferFactoryand override generateBuffer to fill a custom buffer.
In my general declarations on Form1 I'm writing this:
|
Jabaco Source
|
1
2
3
4
5
|
Import beads#*
Dim BufferClass As New MyBuffer
Dim ac As New AudioContext
Dim wPlayer As New WavePlayer(ac, 440, BufferClass.generateBuffer(4096))
|
I'm creating a class called MyBuffer with the superclass beads/BufferFactory and in that class writing:
|
Jabaco Source
|
1
2
3
4
5
6
7
8
9
10
11
12
|
Import beads#*
Public Function generateBuffer(bufferSize As Integer) As beads#buffer
Dim b As New Buffer(bufferSize)
For j = 0 To Ubound(b.buf)
b.buf(j) = Sin(2.0 * PI * j / bufferSize)
Next j
generateBuffer= b
End Function
Public Function getName As String
getName="MyBuffer"
End Function
|
The problem is that attempting to fill the buffer with b.buf(j) = ... does nothing. If I look at the buffer using Debug.Print(b.getValueIndex(aValue)), every element is 0.0.
Any idea what I'm doing wrong?