BlitzCoder Essentials
•
Home Page
•
About BlitzCoder
•
Contributors
•
Terms of Use
•
Email Us
Main Areas
•
BlitzCoder Chat
•
Discussions
•
Articles/Tutorials
•
Code Database
•
Link Database
•
Showcase Area
•
Worklogs
•
Competitions
Special Areas
•
Undocumented
Other Blitz Sites
•
Blitz Basic Home
•
Blitz Showcase
•
BlitzPlay Library
Forum Login
Username:
Password:
•
Register Now!
BlitzCoder Code Archives Page
Main Codes Page
"Mantra: audio3-1.bb function module"
, by alias jargon
publisher: 666 Network
program: Mantra
module: audio3-1.bb
purpose: realtime .wav .mp3 .m3u .pls demonic distortion
Code
Function loopaudio(tr) ;DebugLog Str(tr)+"/"+Str(track_max)+":"+track$(tr) ;DebugLog previous(tr)+":"+channel(tr)+"="+ChannelPlaying(channel(tr)) If Not(ChannelPlaying(channel(tr))=False) Then tweakaudio_delay tr previous(tr)=channel(tr) Return EndIf If previous(tr)=channel(tr) Then previous(tr)=channel(tr) FreeSound channel(tr) channel(tr)=PlayMusic(track$(tr)) EndIf tweakaudio_delay tr Return channel(tr) End Function Function tweakaudio_delay(tr) Local now=ms tweakpitch_now(tr)=now-tweakpitch_start(tr) tweakvolume_now(tr)=now-tweakvolume_start(tr) tweakpan_now(tr)=now-tweakpan_start(tr) If tweakpitch_now(tr)<0 Or tweakpitch_now(tr)>=tweakpitch_delay(tr) Then tweakpitch_start(tr)=now tweakpitch tr EndIf If tweakvolume_now(tr)<0 Or tweakvolume_now(tr)>=tweakvolume_delay(tr) Then tweakvolume_start(tr)=now tweakvolume tr EndIf If tweakpan_now(tr)<0 Or tweakpan_now(tr)>=tweakpan_delay(tr) Then tweakpan_start(tr)=now tweakpan tr EndIf End Function Function tweakaudio(tr) tweakpitch tr tweakvolume tr tweakpan tr End Function Function tweakpitch(tr) ChannelPitch channel(tr),tweakpitch_amp#(tr) End Function Function tweakvolume(tr) ChannelVolume channel(tr),tweakvolume_amp#(tr) End Function Function tweakpan(tr) ChannelPan channel(tr),tweakpan_amp#(tr) End Function Function tweakpitch_amp#(tr) Local sum#=0 Local layer=0 For layer=0 To tweak_max sum#=sum#+tweakpitch_preamp#(tr,layer) Next Return sum#/Float(tweak_max+1) End Function Function tweakvolume_amp#(tr) Local sum#=0 Local layer=0 For layer=0 To tweak_max sum#=sum#+tweakvolume_preamp#(tr,layer) Next Return sum#/Float(tweak_max+1) End Function Function tweakpan_amp#(tr) Local sum#=0 Local layer=0 For layer=0 To tweak_max sum#=sum#+tweakpan_preamp#(tr,layer) Next Return sum#/Float(tweak_max+1) End Function Function tweakpitch_preamp#(tr,layer) Return tweaklohi#(tweakpitch_lo#(tr,layer),tweakpitch_hi#(tr,layer),tweakpitch_ms#(tr,layer)) End Function Function tweakvolume_preamp#(tr,layer) Return tweaklohi#(tweakvolume_lo#(tr,layer),tweakvolume_hi#(tr,layer),tweakvolume_ms#(tr,layer)) End Function Function tweakpan_preamp#(tr,layer) Return tweaklohi#(tweakpan_lo#(tr,layer),tweakpan_hi#(tr,layer),tweakpan_ms#(tr,layer))*.8-.2 End Function Function tweaklohi#(lo#,hi#,ms#) Return Float((2-Cos(ms#))/2)*(hi#-lo#)+lo# End Function Function tweakms#(ratio#,offset) Return Float(ms)*ratio#+Float(offset) End Function Function tweakpitch_ms#(tr,layer) Return tweakms#(tweakpitch_ratio#(tr,layer),tweakpitch_offset(tr,layer)) End Function Function tweakvolume_ms#(tr,layer) Return tweakms#(tweakvolume_ratio#(tr,layer),tweakvolume_offset(tr,layer)) End Function Function tweakpan_ms#(tr,layer) Return tweakms#(tweakpan_ratio#(tr,layer),tweakpan_offset(tr,layer)) End Function
Copyright(c) 2000-2004, BlitzCoder. All Rights Reserved.
Code software created by Krylar's Kreations