package Ġcom . so y wiz . k ps pe mu . h le . modules Ċ Ċ import Ġcom . so y wiz . k ds .* Ċ import Ġcom . so y wiz . k mem .* Ċ import Ġcom . so y wiz . kor au . sound .* Ċ import Ġcom . so y wiz . k ps pe mu .* Ċ import Ġcom . so y wiz . k ps pe mu . cpu .* Ċ import Ġcom . so y wiz . k ps pe mu . h le .* Ċ import Ġcom . so y wiz . k ps pe mu . mem .* Ċ import Ġkotlin . math .* Ċ Ċ class ĠMy Audio Stream ( hz : ĠInt , Ġn channels : ĠInt Ġ= Ġ 2 ) Ġ: ĠAudio Stream ( hz , Ġn channels ) Ġ{ ĊĠĠĠ Ġval Ġdeque Ġ= ĠAudio Samples Deque ( n channels ) ĊĠĠĠ Ġvar Ġclosed Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġread ( out : ĠAudio Samples , Ġoffset : ĠInt , Ġlength : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( closed ) Ġreturn Ġ- 1 ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdeque . read ( out , Ġoffset , Ġlength ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// println (" ĠĠ ĠAudio Stream . read Ġ-> Ġresult =$ result ") ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġclone (): ĠAudio Stream Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMy Audio Stream ( rate , Ġchannels ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġclosed Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstop () Ġ{ ĊĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Samples ( data : ĠShort Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdeque . write Inter leaved ( data , Ġ 0 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class Ġs ce Audio ( emulator : ĠEm ulator ) Ġ: ĠS ce Module ( emulator , Ġ" s ce Audio ", Ġ 0 x 4 0 0 1 0 0 1 1 , Ġ" pop s man . pr x ", Ġ" s ce P ops _ Manager ") Ġ{ ĊĠĠĠ Ġobject ĠAudio Format Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠS TER EO Ġ= Ġ 0 x 0 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMON O Ġ= Ġ 0 x 1 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠAudio Channel ( val Ġid : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġreserved : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar Ġstream Initialized Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġstream Ġby Ġlazy Ġ{ Ġstream Initialized Ġ= Ġtrue ; ĠMy Audio Stream ( 4 4 1 0 0 ) Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġaudio Format : ĠInt Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġline Ġ= ĠShort Array ( 0 ) ĊĠĠĠĠĠĠĠ Ġvar Ġline Ex Ġ= ĠShort Array ( 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġis Ster eo Ġget () Ġ= Ġaudio Format Ġ== ĠAudio Format . STER EO ĊĠĠĠĠĠĠĠ Ġval Ġshort s Per Samples Ġget () Ġ= Ġif Ġ( is Ster eo ) Ġ 2 Ġelse Ġ 1 ĊĠĠĠĠĠĠĠ Ġvar Ġvolume Left : ĠDouble Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġvar Ġvolume Right : ĠDouble Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġvar Ġsample Count : ĠInt Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline Ġ= ĠShort Array ( sample Count Ġ* Ġshort s Per Samples ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline Ex Ġ= ĠShort Array ( sample Count Ġ* Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġre configure ( audio Format : ĠInt Ġ= Ġthis . audio Format , Ġsample Count : ĠInt Ġ= Ġthis . sample Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . audio Format Ġ= Ġaudio Format ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . sample Count Ġ= Ġsample Count ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġensure Init Stream () Ġ= Ġstream ĊĠĠĠĠĠĠĠ Ġ// var Ġstarted Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġ// var Ġms Buffered Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġ// val Ġms Per Line : ĠInt Ġget () Ġ= Ġ(( sample Count . toDouble () Ġ* Ġ 1 0 0 0 . 0 ) Ġ/ Ġ 4 4 1 0 0 . 0 ). toInt () ĊĊĠĠĠĠĠĠĠ Ġfun Ġstop () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( stream Initialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstream . stop () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġchannels Ġ= Ġ( 0 Ġuntil Ġ 3 2 ). map Ġ{ ĠAudio Channel ( it ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstop Module () Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( channel Ġin Ġchannels ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . stop () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġlast Id Ġ= Ġ 0 ĊĠĠĠ Ġval Ġpool Ġ= ĠPool Ġ{ ĠAudio Channel ( last Id ++) Ġ} ĊĊĠĠĠ Ġfun Ġs ce Audio Ch Reserve ( channelId : ĠInt , Ġsample Count : ĠInt , Ġaudio Format : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" WIP : Ġs ce Audio Ch Reserve : Ġ$ channelId , Ġ$ sample Count , Ġ$ audio Format ") ĊĠĠĠĠĠĠĠ Ġval Ġactual Channel Id Ġ= Ġif Ġ( channelId Ġ>= Ġ 0 ) Ġchannel Id Ġelse Ġchannels . indexOf First Ġ{ Ġ! it . reserved Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= Ġchannels [ actual Channel Id ] ĊĠĠĠĠĠĠĠ Ġlogger . info Ġ{ Ġ" WIP : Ġs ce Audio Ch Reserve : Ġ$ channelId , Ġ$ sample Count , Ġ$ audio Format " Ġ} ĊĠĠĠĠĠĠĠ Ġchannel . ensure Init Stream () ĊĠĠĠĠĠĠĠ Ġ// channel . started Ġ= Ġtime Manager . getTime In Milliseconds Double () ĊĠĠĠĠĠĠĠ Ġ// channel . ms Buffered Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġchannel . reserved Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġchannel . re configure ( audio Format Ġ= Ġaudio Format , Ġsample Count Ġ= Ġsample Count ) ĊĠĠĠĠĠĠĠ Ġprintln (" Ġs ce Audio Ch Reserve Ġ---> Ġ$ actual Channel Id ") ĊĠĠĠĠĠĠĠ Ġreturn Ġactual Channel Id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġ_ s ce Audio Output P anned Blocking ( channelId : ĠInt , Ġleft Volume : ĠDouble , Ġright Volume : ĠDouble , Ġptr : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġ// println (" WIP : Ġs ce Audio Output P anned Blocking : ĠChannel Id ($ channelId ), ĠVolume s ($ left Volume , Ġ$ right Volume ), ĠPtr (${ ptr . hex 3 2 }) ") ĊĠĠĠĠĠĠĠ Ġlogger . trace Ġ{ Ġ" WIP : Ġs ce Audio Output P anned Blocking : ĠChannel Id ($ channelId ), ĠVolume s ($ left Volume , Ġ$ right Volume ), ĠPtr ($ ptr )" Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= Ġchannels [ channelId ] ĊĠĠĠĠĠĠĠ Ġmem . read ( ptr , Ġchannel . line , Ġ 0 , Ġchannel . line . size ) ĊĠĠĠĠĠĠĠ Ġif Ġ( channel . is Ster eo ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray copy ( channel . line , Ġ 0 , Ġchannel . line Ex , Ġ 0 , Ġmin ( channel . line . size , Ġchannel . line Ex . size )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġm Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( n Ġin Ġ 0 Ġuntil Ġchannel . sample Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsh Ġ= Ġchannel . line [ n ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . line Ex [ m ++] Ġ= Ġsh ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . line Ex [ m ++] Ġ= Ġsh ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġchannel . stream . add Samples ( channel . line Ex ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġs ce Audio Output P anned Blocking ( channelId : ĠInt , Ġleft Volume : ĠInt , Ġright Volume : ĠInt , Ġptr : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= Ġchannels [ channelId ] ĊĠĠĠĠĠĠĠ Ġ// println (" s ce Audio Output P anned Blocking ") ĊĠĠĠĠĠĠĠ Ġ// Ġ@ TODO : ĠVerify Ġwe Ġmultiply Ġby Ġdefault Ġchannel Ġvolumes ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ s ce Audio Output P anned Blocking ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( left Volume . short Volume ToDouble () Ġ* Ġchannel . volume Left ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( right Volume . short Volume ToDouble () Ġ* Ġchannel . volume Right ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġptr ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġs ce Audio Output Blocking ( channelId : ĠInt , Ġvolume : ĠInt , Ġptr : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= Ġchannels [ channelId ] ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ s ce Audio Output P anned Blocking ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvolume . short Volume ToDouble () Ġ* Ġchannel . volume Left , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvolume . short Volume ToDouble () Ġ* Ġchannel . volume Right , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġptr ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠInt . short Volume ToDouble () Ġ= Ġthis . toDouble () Ġ/ Ġ 3 2 7 6 7 . 0 ĊĊĠĠĠ Ġfun Ġs ce Audio Change Channel Volume ( channelId : ĠInt , Ġvolume Left : ĠInt , Ġvolume Right : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info () Ġ{ Ġ" s ce Audio Change Channel Volume Ġnot Ġimplemented ! Ġ$ volume Left , Ġ$ volume Right " Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= Ġchannels [ channelId ] ĊĠĠĠĠĠĠĠ Ġchannel . volume Left Ġ= Ġvolume Left . short Volume ToDouble () ĊĠĠĠĠĠĠĠ Ġchannel . volume Right Ġ= Ġvolume Right . short Volume ToDouble () ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġs ce Audio Set Channel Data Len ( channelId : ĠInt , Ġsample Count : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= Ġchannels [ channelId ] ĊĠĠĠĠĠĠĠ Ġchannel . re configure ( sample Count Ġ= Ġsample Count ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġs ce Audio Change Channel Config ( channelId : ĠInt , Ġformat : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= Ġchannels [ channelId ] ĊĠĠĠĠĠĠĠ Ġchannel . re configure ( audio Format Ġ= Ġformat ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġs ce Audio Output 2 Reserve ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 0 1 5 6 2 BA 3 ) ĊĠĠĠ Ġfun Ġs ce Audio Input Blocking ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 0 8 6 E 5 8 9 5 ) ĊĠĠĠ Ġfun Ġs ce Audio Output 2 Output Blocking ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 2 D 5 3 F 3 6 E ) ĊĠĠĠ Ġfun Ġs ce Audio SRC Ch Reserve ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 3 8 5 5 3 1 1 1 ) ĊĠĠĠ Ġfun Ġs ce Audio On esh ot Output ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 4 1 E FA DE 7 ) ĊĠĠĠ Ġfun Ġs ce Audio Output 2 Release ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 4 3 1 9 6 8 4 5 ) ĊĠĠĠ Ġfun Ġs ce Audio SRC Ch Release ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 5 C 3 7 C 0 AE ) ĊĠĠĠ Ġfun Ġs ce Audio Output 2 Change Length ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 6 3 F 2 8 8 9 C ) ĊĠĠĠ Ġfun Ġs ce Audio Output 2 Get Rest Sample ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 6 4 7 CE F 3 3 ) ĊĠĠĠ Ġfun Ġs ce Audio Input ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 6 D 4 BE C 6 8 ) ĊĠĠĠ Ġfun Ġs ce Audio Ch Release ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 6 FC 4 6 8 5 3 ) ĊĠĠĠ Ġfun Ġs ce Audio Input Init ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 7 DE 6 1 6 8 8 ) ĊĠĠĠ Ġfun Ġs ce Audio Wait Input End ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 8 7 B 2 E 6 5 1 ) ĊĠĠĠ Ġfun Ġs ce Audio Output ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 x 8 C 1 0 0 9 B 2 ) ĊĠĠĠ Ġfun Ġs ce Audio Poll Input End ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 xA 6 3 3 0 4 8 E ) ĊĠĠĠ Ġfun Ġs ce Audio Get Input Length ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 xA 7 0 8 C 6 A 6 ) ĊĠĠĠ Ġfun Ġs ce Audio Get Channel Rest Length ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 xB 0 1 1 9 2 2 F ) ĊĠĠĠ Ġfun Ġs ce Audio SR CO ut put Blocking ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 xE 0 7 2 7 0 5 6 ) ĊĠĠĠ Ġfun Ġs ce Audio Output P anned ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 xE 2 D 5 6 B 2 D ) ĊĠĠĠ Ġfun Ġs ce Audio Input Init Ex ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 xE 9 2 6 D 3 FB ) ĊĠĠĠ Ġfun Ġs ce Audio Get Channel Rest Len ( cpu : ĠC pu State ): ĠUnit Ġ= ĠUN IMPLEMENTED ( 0 xE 9 D 9 7 9 0 1 ) ĊĊĊĠĠĠ Ġoverride Ġfun Ġregister Module () Ġ{ ĊĠĠĠĠĠĠĠ Ġregister Function Int (" s ce Audio Ch Reserve ", Ġ 0 x 5 EC 8 1 C 5 5 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Ch Reserve ( int , Ġint , Ġint ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Int (" s ce Audio Change Channel Volume ", Ġ 0 xB 7 E 1 D 8 E 7 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ce Audio Change Channel Volume ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Suspend Int ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" s ce Audio Output P anned Blocking ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 x 1 3 F 5 9 2 BC , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsince Ġ= Ġ 1 5 0 ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġs ce Audio Output P anned Blocking ( int , Ġint , Ġint , Ġint ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Suspend Int (" s ce Audio Output Blocking ", Ġ 0 x 1 3 6 CA F 5 1 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ce Audio Output Blocking ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Int (" s ce Audio Set Channel Data Len ", Ġ 0 x CB 2 E 4 3 9 E , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ce Audio Set Channel Data Len ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Int (" s ce Audio Change Channel Config ", Ġ 0 x 9 5 FD 0 C 2 D , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ce Audio Change Channel Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Output 2 Reserve ", Ġ 0 x 0 1 5 6 2 BA 3 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Output 2 Reserve ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Input Blocking ", Ġ 0 x 0 8 6 E 5 8 9 5 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Input Blocking ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" s ce Audio Output 2 Output Blocking ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 x 2 D 5 3 F 3 6 E , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsince Ġ= Ġ 1 5 0 ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġs ce Audio Output 2 Output Blocking ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio SRC Ch Reserve ", Ġ 0 x 3 8 5 5 3 1 1 1 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio SRC Ch Reserve ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio On esh ot Output ", Ġ 0 x 4 1 E FA DE 7 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio On esh ot Output ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Output 2 Release ", Ġ 0 x 4 3 1 9 6 8 4 5 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Output 2 Release ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio SRC Ch Release ", Ġ 0 x 5 C 3 7 C 0 AE , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio SRC Ch Release ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Output 2 Change Length ", Ġ 0 x 6 3 F 2 8 8 9 C , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Output 2 Change Length ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" s ce Audio Output 2 Get Rest Sample ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 x 6 4 7 CE F 3 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsince Ġ= Ġ 1 5 0 ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġs ce Audio Output 2 Get Rest Sample ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Input ", Ġ 0 x 6 D 4 BE C 6 8 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Input ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Ch Release ", Ġ 0 x 6 FC 4 6 8 5 3 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Ch Release ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Input Init ", Ġ 0 x 7 DE 6 1 6 8 8 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Input Init ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Wait Input End ", Ġ 0 x 8 7 B 2 E 6 5 1 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Wait Input End ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Output ", Ġ 0 x 8 C 1 0 0 9 B 2 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Output ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Poll Input End ", Ġ 0 xA 6 3 3 0 4 8 E , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Poll Input End ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Get Input Length ", Ġ 0 xA 7 0 8 C 6 A 6 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Get Input Length ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" s ce Audio Get Channel Rest Length ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 xB 0 1 1 9 2 2 F , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsince Ġ= Ġ 1 5 0 ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġs ce Audio Get Channel Rest Length ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio SR CO ut put Blocking ", Ġ 0 xE 0 7 2 7 0 5 6 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio SR CO ut put Blocking ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Output P anned ", Ġ 0 xE 2 D 5 6 B 2 D , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Output P anned ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Input Init Ex ", Ġ 0 xE 9 2 6 D 3 FB , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Input Init Ex ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Function Raw (" s ce Audio Get Channel Rest Len ", Ġ 0 xE 9 D 9 7 9 0 1 , Ġsince Ġ= Ġ 1 5 0 ) Ġ{ Ġs ce Audio Get Channel Rest Len ( it ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ