Easy Blitzmax Streaming realtime audio with Raylib

Started by GW, June 20, 2019, 07:14:10

Previous topic - Next topic

GW

It's hard to understand what you're doing and what problems you're having. 
You said that your audio stream is setup to process 16bit, 2 channel audio. In that case you'll need to write short (2-byte) values to the buffer.
It would probably be best to create a short pointer to the buffer array to make writing easier.  the audio values are written in a left-channel, right-channel, left-channel... of short values. 

mainsworthy

#16
sorry I missed your reply before I posted  how do i set the channel position, this seems to be whats going wrong there is there  some sort of command like  fa_ChannelPosition(channel) to set the read  position of the audio player , or can i only read it?

.
OK, The sliders are position and value on each slider, got that

Im filling the buffer every time I have played a bufffer full, got that

the tune Im hearing seems to happen when I run out of data to fill buffer, kinda default driver tune.

but I still dont hear the buffer, to I need to do some math on the buffer data prior to putting it in bufffer like  Value%=Abs(Test.samples-127)

any help would be great!, but Im learning, I learn slow but once i know i know forever, never done audio its unbelievable, but fun

GW

Are you generating audio to play or are you playing audio from a file?

mainsworthy

#18
Quote from: GW on May 08, 2022, 21:18:44
Are you generating audio to play or are you playing audio from a file?

im trying to fill the buffer with a 2 channel 16bit audio stream and then play it, I am so new to this audio stuff. i know its 44 byte header aswell but after 10 cycles it would be ok anyway.   I know this is wrong buffer[Pos + fq] = GetAudio() * 30000  i need to set to begining or something, just realised its streaming so you cant set the position , its continouse

If fill = 1
   Local readpos:Int = fa_ChannelPosition(channel)
   Local Write:Int = readpos + FRAG * 1 - writepos
   Local frags:Int = Write / FRAG
   
      While frags > 0
       Pos = writepos Mod (FRAG * 8)

      For fq = 0 Until FRAG * 8
      If aut+(Pos) < end of wav -4
      buffer[Pos+fq] = modstore[aut+fq]
      aut = aut + 1
      buffer[Pos+fq+1] = modstore[aut+fq]
      aut = aut + 1
buffer[Pos+fq+2] = modstore[aut+fq]
      aut = aut + 1
   buffer[Pos+fq+3] = modstore[aut+fq]
      aut = aut + 1
      
    buffer[Pos + fq] = GetAudio() * 30000

         EndIf
      Next
   
      writepos:+FRAG
      frags:-1
   Wend
'score = 0

fill = 0

Return
EndIf

GW

Here is an basic example that uses the Raylib mod with the audio to stream for a 16bit stereo file.
The raylib drawing stuff is not needed to use the audio library. 
I would recommend that you make the most basic program you can to confirm that the streaming works correctly, then work on the other stuff.
Sample audio file can be downloaded here: http://www.gutterbox.com/download/sample.wav


SuperStrict
Framework brl.basic
Import brl.retro
Import ray.lib
Import ray.audio

Const BUFFERSIZE:Int = 2048 * 2

'// The Raylib drawing routines are optional.

InitWindow(500, 500, "stream")
InitAudioDevice()

Global my_stream:RAudioStream = InitAudioStream(44100, 16, 2)

Global a_writebuff:Short[BUFFERSIZE * 2]         
Global writeBuf:Short Ptr = Varptr a_writebuff[0]
Global BufPtr%
Global song:RWave = LoadWave("sample.wav")
Global songPtr:Short Ptr = song.Data

PlayAudioStream(my_stream)

SetMasterVolume(0.33)

While Not WindowShouldClose()
BeginDrawing()
ClearBackground(Black)

'// Audio stuff here //
'/////////
Local buffproc:Int = IsAudioStreamProcessed(my_stream) '// audio stream wants more data
If buffproc Then
For Local i:Int = 0 Until BUFFERSIZE * 2 Step 2
writeBuf[i] = songPtr[BufPtr]
writeBuf[i + 1] = songPtr[BufPtr + 1]
BufPtr:+2

BufPtr:Mod song.sampleCount*2
Next
UpdateAudioStream(my_stream, writeBuf, BUFFERSIZE * 2)
End If
'/////////

DrawText("song ptr: "+String(Int(BufPtr)), 10,10,20,Gray)
EndDrawing()
Wend



mainsworthy

Quote from: GW on May 08, 2022, 22:12:44
Here is an basic example that uses the Raylib mod with the audio to stream for a 16bit stereo file.
The raylib drawing stuff is not needed to use the audio library. 
I would recommend that you make the most basic program you can to confirm that the streaming works correctly, then work on the other stuff.
Sample audio file can be downloaded here: http://www.gutterbox.com/download/sample.wav


SuperStrict
Framework brl.basic
Import brl.retro
Import ray.lib
Import ray.audio

Const BUFFERSIZE:Int = 2048 * 2

'// The Raylib drawing routines are optional.

InitWindow(500, 500, "stream")
InitAudioDevice()

Global my_stream:RAudioStream = InitAudioStream(44100, 16, 2)

Global a_writebuff:Short[BUFFERSIZE * 2]         
Global writeBuf:Short Ptr = Varptr a_writebuff[0]
Global BufPtr%
Global song:RWave = LoadWave("sample.wav")
Global songPtr:Short Ptr = song.Data

PlayAudioStream(my_stream)

SetMasterVolume(0.33)

While Not WindowShouldClose()
BeginDrawing()
ClearBackground(Black)

'// Audio stuff here //
'/////////
Local buffproc:Int = IsAudioStreamProcessed(my_stream) '// audio stream wants more data
If buffproc Then
For Local i:Int = 0 Until BUFFERSIZE * 2 Step 2
writeBuf[i] = songPtr[BufPtr]
writeBuf[i + 1] = songPtr[BufPtr + 1]
BufPtr:+2

BufPtr:Mod song.sampleCount*2
Next
UpdateAudioStream(my_stream, writeBuf, BUFFERSIZE * 2)
End If
'/////////

DrawText("song ptr: "+String(Int(BufPtr)), 10,10,20,Gray)
EndDrawing()
Wend



Thanks GW im on it now.

mainsworthy

GW , its quite and a little slow, but I can now hear a Wav file, Thankyou so much. its all downhill from here


mainsworthy

#23


https://agamecreator.itch.io/the-search-for-extra-terrestrials-program   here is the link if you want to try it

Thanks MidiMaster, I cant believe it , I have been watching the Carrier signal play a tune, and I thought it was my Wav files, cant believe it, I learned so much. I would love to know how you stop a channel and restart it with the same name. I can stopchannel but it wont restart. any help will be grately recieved

I have discovered a new geek hobby, "The Search For Extra Terrestrial Inteligence" its great fun


Baggey

#24
Hi Guys, This is all cool! It's a good geek Hobby :-X

mainsworthy I cant get the link to work?

GW Ive followed what you've said. And as usual im missing something :-[

When i run or compile i get these errors?

Building BmaxAudioStreamRaylib
[100%] Linking:BmaxAudioStreamRaylib.exe
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/.bmx/BmaxAudioStreamRaylib.bmx.gui.release.win32.x86.o:BmaxAudioStreamRaylib.bmx.gui.release.win32.x86.c:(.text+0x411): undefined reference to `InitAudioStream'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/.bmx/BmaxAudioStreamRaylib.bmx.gui.release.win32.x86.o:BmaxAudioStreamRaylib.bmx.gui.release.win32.x86.c:(.text+0x517): undefined reference to `IsAudioBufferProcessed'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x92fd0): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x93010): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x93075): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x930a3): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x930ec): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x93112): more undefined references to `TraceLog' follow
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x93e95): undefined reference to `LoadFileData'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x93ea7): undefined reference to `GetFileExtension'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x941a0): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x941d0): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x941f4): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x9425d): undefined reference to `LoadFileData'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x9426f): undefined reference to `GetFileExtension'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x945b8): undefined reference to `IsFileExtension'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x947e7): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x94813): undefined reference to `IsFileExtension'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x948d9): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x9490b): undefined reference to `SaveFileData'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x94950): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x94973): undefined reference to `IsFileExtension'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x949a3): undefined reference to `SaveFileData'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x94d1b): undefined reference to `SaveFileText'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x94d43): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x94d68): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x956c6): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x95f79): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x95fb0): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x95fe6): undefined reference to `IsFileExtension'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x9606e): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x9618b): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x961b6): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x961d2): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x961ee): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x96224): more undefined references to `TraceLog' follow
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x96260): undefined reference to `IsFileExtension'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x963a4): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x963e0): undefined reference to `IsFileExtension'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x96480): undefined reference to `IsFileExtension'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x96537): undefined reference to `IsFileExtension'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x9660b): undefined reference to `IsFileExtension'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x96754): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x9676d): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x9678e): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x96d2f): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x96eaf): undefined reference to `TraceLog'
C:/BlitzMaxNG/MinGW32x86/bin/../lib/gcc/i686-w64-mingw32/12.2.0/../../../../i686-w64-mingw32/bin/ld.exe: C:/BlitzMaxNG/tmp/Raylib/src/.bmx/tRs_raudio.c.release.win32.x86.o:raudio.c:(.text+0x96ed2): more undefined references to `TraceLog' follow
collect2.exe: error: ld returned 1 exit status
Build Error: Failed to link C:/BlitzMaxNG/tmp/BmaxAudioStreamRaylib.exe
Process complete

Kind Regards Baggey
Running a PC that just Aint fast enough!? i7 4Ghz Quad core 24GB ram 1TB SSD and NVIDIA Quadro K620 . DID Technology stop! Or have we been assimulated!

ZX Spectrum 48k, C64, ORIC Atmos 48K, Enterprise 128K, The SID chip. Im Misunderstood!

GW

You should have an example in your "mod\ray.mod\examples\audio\" directory.  (audio_raw_stream.bmx)
See if that works for you. The api may have changed.

Baggey

Quote from: GW on April 23, 2023, 17:39:30You should have an example in your "mod\ray.mod\examples\audio\" directory.  (audio_raw_stream.bmx)
See if that works for you. The api may have changed.

Hi, yes it works fine! LOL the Sine wave is upside down? ???

Baggey
Running a PC that just Aint fast enough!? i7 4Ghz Quad core 24GB ram 1TB SSD and NVIDIA Quadro K620 . DID Technology stop! Or have we been assimulated!

ZX Spectrum 48k, C64, ORIC Atmos 48K, Enterprise 128K, The SID chip. Im Misunderstood!