multi dispositivo con envío independientes por capa. está sucio con
trozos sn usar y statics, pero funciona.
This commit is contained in:
parent
fc274179ad
commit
a935d4e619
5 changed files with 128 additions and 106 deletions
|
@ -1,93 +1,99 @@
|
||||||
」゙ー撩答ゥラ<EFBFBD><EFBFBD>據巣⊿瞥劇рネナト<EFBFBD>国勵キコエッ埇ーカサヲュ<EFBFBD><EFBFBD>、ォ<EFBFBD><EFBFBD>隆ソーア<EFBFBD>ォ」ャウニヘ那ヤ販モ
|
」゙ー撩答ゥラ<EFBFBD><EFBFBD>據巣⊿瞥劇рネナト<EFBFBD>国勵キコエッ埇ーカサヲュ<EFBFBD><EFBFBD>、ォ<EFBFBD><EFBFBD>隆ソーア<EFBFBD>ォ」ャウニヘ那ヤ販モ
|
||||||
<EFBFBD>槤謠睩恲儸<EFBFBD>狫佸<EFBFBD>昐<EFBFBD>籙爁<EFBFBD>煮鷌謷毿蒺醮獶醛擤鍡粣嚪<EFBFBD>□<EFBFBD><EFBFBD>
|
霒逖亮揶温呢見狭嗣吢绦侅彝叫蝤臊隗颀蛄翕<EFBFBD><EFBFBD>邮<EFBFBD>磲<EFBFBD>
|
||||||
桂冫昒痵<EFBFBD><EFBFBD>䘏忐忳
|
些闯旱榆皾湏毄浊紫
|
||||||
傾娸眑泭眼儔<EFBFBD>蔔艘権𡵆善鷄☆𣄽洫<EFBFBD>◥挾生<EFBFBD><EFBFBD>笢硠郥朒覕蒘嗖屾<EFBFBD>捹珈陊<EFBFBD><EFBFBD>潯鼨貵桝鸕<EFBFBD>
|
^晾咻廖Ё悍Τ…<EFBFBD><EFBFBD>洓稔鼬晻勽<EFBFBD>灊晻<EFBFBD>犷姛崄堜<EFBFBD>
|
||||||
ㄑ𡵆ˇ蝦憐兢瑚庖陴敏怤昋窔<EFBFBD>ˆ鏽臍嗙睚晸稃<EFBFBD>彶娸眒厞闃
|
趔篪鞆帊嫍妷堈殔剝倽€煘潃洑櫂嫋晹拵憪<EFBFBD>爆<EFBFBD><EFBFBD>〈Еイ"<EFBFBD><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>鸁皸碤秆磗咤犪皭鏺<EFBFBD>
|
<EFBFBD>们翁讠<EFBFBD>闯肮舷闲耸扇瞧磐<EFBFBD>
|
||||||
<EFBFBD>瓙<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
蟹梗<EFBFBD>累谫谶衷窒已酗铐煦<EFBFBD>
|
||||||
𠼰圪敆<EFBFBD>翫蹢噸版豆戎云鴃瓰噬撒漸
|
麕负牴厄椆~镟<EFBFBD><EFBFBD>黯觚矧耩弾崒嫋
|
||||||
股澭勷蝤蚔迒侕圮蹣鼴藕謊葠<EFBFBD>
|
涱刳蕾謵潃煘潨洑渼棖晹搾憪<EFBFBD>
|
||||||
峸<EFBFBD><EFBFBD>ⅰ<EFBFBD><EFBFBD><EFBFBD>妰礼膦鳺鍷撗碯<EFBFBD>𩄍鈼拙
|
钾蝻栲盖<EFBFBD><EFBFBD>沧籴<EFBFBD>蓟夯胺蜂ǔ脖衔屯樦
|
||||||
<EFBFBD>迂飯<EFBFBD>胱倅<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𠯋<EFBFBD>
|
劢檪噸英灆仛侠圳仝咧砸弦研镱眄个
|
||||||
𠮩ハ<EFBFBD><EFBFBD>鍳悌酋隆豆戎丐鶵
|
麍陡鼬汊徉<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鲺酾<EFBFBD>
|
||||||
習踛檶言虞項斑陶蚔迒侕圮囀
|
銗质拊櫀増噯厔個潃煘潨洑殑
|
||||||
蚺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>マ椥軜桽敆旃瀁臅錒<EFBFBD>
|
咑膳诶烂艏爆<EFBFBD><EFBFBD>ЁЦ"<EFBFBD>烤骄<EFBFBD>
|
||||||
<EFBFBD><EFBFBD>働歇蠆𩄍栁咤𦭓艕鏵襙<EFBFBD><EFBFBD>
|
<EFBFBD>丕厉徉牠衔吞耸耸燮拍寐晾俾
|
||||||
垧梉砘鹹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
蠣劃僧晝喥弦研镱眍轹殍珂邃沐<EFBFBD>
|
||||||
課襛銖輕圻奶ㄑㄑˇ蝦遣凳楫
|
騼『鞖桢<EFBFBD>鲺趔痼鞆帊寢妶垱
|
||||||
庇檁☆<EFBFBD>𤂍窔<EFBFBD>冫鐘濫澀睚嗖訹<EFBFBD>
|
旟勰掱哑缽€洑櫂棖棖彃憪<EFBFBD><EFBFBD><EFBFBD>
|
||||||
贖<EFBFBD>簾<EFBFBD><EFBFBD>糓鼓灢鳿緪鳲飹<EFBFBD>𩄍栁咏𣿫
|
徽<EFBFBD>地<EFBFBD>敝<EFBFBD><EFBFBD>Ш垢范刀碑毕瓮趟怂<EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
栈及拷π咎淋圳儇自兹右研镱祜<EFBFBD>
|
||||||
见鍒澣<EFBFBD>糌笢膩囿岳圻圻縈<EFBFBD>蕪蝸擐
|
鴶憮殮凅晲檨灬<EFBFBD><EFBFBD><EFBFBD>赭梵蝰饛帉迼
|
||||||
宣恲甘岒彴葛鼓寊<EFBFBD>冫鏽擭嗙睚嗖稄忄
|
橍耋桚<EFBFBD>鷳鳊朦巼殭槜枙枒帒惎<EFBFBD><EFBFBD><EFBFBD>
|
||||||
蘑郁穢<EFBFBD>𡞵灿灖鳿緪魟僣<EFBFBD>𩄍栁帮<EFBFBD>
|
黑哐篡壑丿忒牷汗阜斗动脖衔吞事<EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㶴覶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
诤砍曰欢赶┈ゥ扰刈终杂杏田铐祀觇猁
|
||||||
<EFBFBD>耪<EFBFBD>椗媏僎岳圻奶<EFBFBD><EFBFBD>蕪蝦遜矰
|
魸潝汃枬嫓铉<EFBFBD><EFBFBD>鲺鲴铖饛帊寛迺
|
||||||
用斻芃倎眝昋岕<EFBFBD>囁鏽臏澀<EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD>螯撱摐煘潨洑洑嫋晹搾憮<EFBFBD>
|
||||||
汃<EFBFBD>紜╞狀襟瀁臅鍆鍆𡺤槼蜾摽栽
|
吭逸迅凶苴本<EFBFBD>烤郊垢ジ范荡吵嘤
|
||||||
<EFBFBD>恕匪錂蘟麔嚭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
墀檲煁帓重詴洕剨塘苒谫刈鬃扔已酗铑瑚
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鍳鮃鬥版牴戎不鴃瓰說撒犒仄項盔盛ヒ捈侕拏ナ苃葺謊袌椽詒<EFBFBD>
|
鴬潤掯羼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鲺趔驙<EFBFBD>
|
||||||
尌笣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>移灢鳿緛鸁瘔魬𩄍鈼翦犪皭鏵襡
|
濏<EFBFBD><EFBFBD>殝殯唴剝倎仢倽湜殭槜膲
|
||||||
<EFBFBD><EFBFBD><EFBFBD>樿觙<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鍳拳
|
敁挊尟<EFBFBD><EFBFBD><EFBFBD><EFBFBD>亥ぃ〗牽淼牷汗极兜闯<EFBFBD>衔刃耸扇燮拍呸晾邹淋圳弈字菰弦研珧盱腼蹊珑怿汊范泾<EFBFBD>箧<EFBFBD><EFBFBD><EFBFBD>
|
||||||
洮炕斯ぎ摳鰴撚噢儒犒潭玥斑陪玴迒侕圮<EFBFBD>
|
趔蝙鞚钛萋汌忠敊剝個湡灉攪殭槚姇敁拺惎<EFBFBD>
|
||||||
冫騰痵<EFBFBD><EFBFBD>怬<EFBFBD>㻑彶婟<EFBFBD>迖歞闉鍆澭𡺤槼蜾摳<EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD>吹裴<EFBFBD>敖牽看牷汉公兜床<EFBFBD>衔吞耸稍
|
||||||
𨯨檊樏緾公<EFBFBD>悔詗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
瞧盘咝<EFBFBD>殱埼勤氽帐赵變托镱祓腙殍珂邃<EFBFBD>
|
||||||
<EFBFBD>嫃窒沷嶋解═贀鈺嗂嶍朌瑣鴢項蓿拳玴昐侕圮ナ鼴<EFBFBD>
|
忉圜怙湩<EFBFBD>鑻┆瘁铖饗軕寢寠攪唴厽倎€煘潨泦
|
||||||
臏濘蟠<EFBFBD><EFBFBD>龰<EFBFBD><EFBFBD><EFBFBD>螻劓<EFBFBD>謻罻霙緪絮碯<EFBFBD><EFBFBD>榱厨║蘾纇
|
櫂棡墕笪蕾控蝠<EFBFBD><EFBFBD>牒沪アЬ<EFBFBD>疙〖缓袱范荡巢毕<EFBFBD>
|
||||||
<EFBFBD>足<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
吞寺遮<EFBFBD>攳哟灉媼熖<EFBFBD>喪酥沼囄研骐耢腙梏珂邃汊徉<EFBFBD>
|
||||||
歎蘙<EFBFBD>姿誚奶Ⅵ<EFBFBD>噢■遣兢毀馬陴敖眝昋゜
|
<EFBFBD><EFBFBD>骐槴Ъ鋮<EFBFBD>ぺ虧钰詻攪唽偀倎咽倽湜泤槜枙敁拺<EFBFBD>
|
||||||
痡<EFBFBD>嚊倎澀睖濛稃媌跂娸眒剞襡擫錴鳿緛<EFBFBD>
|
截麴<EFBFBD>淮Еゥ竣 竣疥缓垢贩┐巢坝瓮倘<EFBFBD>
|
||||||
<EFBFBD>蜈附櫡厨═錂蘣鵹韗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
劬灇惼艳晾哌淋圹倌种赵右诱箢盱牿殍玟<EFBFBD>
|
||||||
𣕑蠅恟<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𥲤悔炤垠豆戎孕鴃瓰鴃撒犖<EFBFBD>
|
鰰唤叠灬<EFBFBD><EFBFBD>澉鲷麸篌饛帊實枆垏嚈剝個<EFBFBD>
|
||||||
母膱貏鯢嗀昋岓堌冖懼擱澀睚嗍ˆ尌窔娸眑<EFBFBD>
|
嶈睦螝媱棖晻彃憫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>┄ェ工"牸烤郊<EFBFBD>
|
||||||
<EFBFBD>盒蕞恍蘡槼蝆灋<EFBFBD><EFBFBD>灋菍║蘾蘾濿嚫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
ㄏ珉忄霭牠衔屯资缮勤睦寐晾挢淋圳倌字兆<EFBFBD>
|
||||||
𡁶袤ペ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>姹閂哈筐坏鷏
|
困彸焊<EFBFBD><EFBFBD>桤驿<EFBFBD>忄嚆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>牾趔蝽饛帍<EFBFBD>
|
||||||
掄<EFBFBD><EFBFBD>活撒爾仄韌敞停玴迒岈桱ナ阹藕<EFBFBD><EFBFBD>
|
欬衷佑菂憺亐煙仠洓檮柪晹搾搾钞<EFBFBD><EFBFBD>┄Ё<EFBFBD>
|
||||||
抻<EFBFBD><EFBFBD>氻<EFBFBD>䍮玾旃闅臅膮纋豍槼蜾婦<EFBFBD>𩄍鐋咤岜<EFBFBD>
|
睹箐汴<EFBFBD>蓟焊し洞疮氨衔吞藶杖瞧拓寐聯<EFBFBD>
|
||||||
<EFBFBD>砠詮蟨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>玨
|
叹槃毸淖终障已扬蝻祀觊桄铢溷忾<EFBFBD><EFBFBD><EFBFBD>╃
|
||||||
閂囿岳圻<EFBFBD>
|
铏う垮埇<EFBFBD>鈸帊寠枆垎啓唭倎€煘虁洑檺嫋晳枎
|
||||||
不╮瓰噬朌犒虞項敞盛玴迒侕桱ナ鼴藕邀葠椽詀椥匊梊衵旃濿臅鍆氆豍╩蜾摳<EFBFBD>𩄍僰咤犪皭鐐襙<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>陵閂囿岳宋奶ㄑ<EFBFBD>蕪□遣兢毓筐陴救怤昋窔<EFBFBD>冫鏽蹟澀睚嗖稌儷笝娸眒唒鍙擫膦鳿义鳲皸<EFBFBD>碯栁咤犪皭<EFBFBD>
|
凁<EFBFBD><EFBFBD>浼贼<EFBFBD>沪イ⒕<EFBFBD>揪【缓垢范悒巢鼻彝趟险
|
||||||
摳艛<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
惹婆拿铝<EFBFBD>
|
||||||
悌洮版𡘾漸奴Ⅴ瓰噬朌犒葦
|
咿蒈圳儇酥赵右研矧盱腙殍珂<EFBFBD>汊徉<EFBFBD><EFBFBD>帑<EFBFBD><EFBFBD>鲺麸蝰饛帊寢枆垏唴剝倽€煘潨洑檮棖晹搾憪钞<EFBFBD><EFBFBD>┄Шイ"<EFBFBD>烤〖缓垢范胆巢毕瓮趟稚惹婆拿螺肋掭苒谫淖终杂已畜铐祀觊桤<EFBFBD>溷忉<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鲺梵蝰饛帊寳妷垏唴剝瀬€煘潨洑厴棖晹搾憣<EFBFBD><EFBFBD><EFBFBD>┄沪イ"<EFBFBD>竣
|
||||||
項斑盛𣜯捈巠尕ナ鼴葺謊葺
|
<EFBFBD>Ш垢范荡钞毕瓮兴噬熔婆拿蘖肋蘖苒谫<EFBFBD>
|
||||||
椽詀椥豽尕眣捈瀁臅癰頠燿
|
字赵右傊箢祆膂殍珂<EFBFBD>汊狳
|
||||||
槼蜾摳<EFBFBD>╬鈼咤噂皭鐐襝<EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>膂趑箢耩弾憣媻墧
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
噯厔儌亣優湝泦櫂棖墧捔檶
|
||||||
<EFBFBD><EFBFBD><EFBFBD>担惇牧庖圻奶縈<EFBFBD>縈
|
<EFBFBD><EFBFBD><EFBFBD>┋沪い><EFBFBD>烤〖洪堡
|
||||||
蝦遣兢銩庖硎敏怤昋窔奻ˆ
|
范荡巢庀彝退收惹婆孛铝烂
|
||||||
鏽臏澀渕濛覘媌笝娸恮栯闃
|
掭苒谫嬜收沼彝酗铐痣觊棼
|
||||||
擫膦鳿菽鸁蝆蝆𩄍栁翦╜謮
|
驽溷忉楚恺<EFBFBD><EFBFBD><EFBFBD>鲺梵簌饟
|
||||||
鏵襙<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
帊寢妷蹌殔厠倽€煘潃洓憳<EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>閦悌洮隆豆此
|
枙敁拺铆箔<EFBFBD>┑ěΕ福!Γ
|
||||||
不╮瓰飲朌跼葦項斑拳玴迖
|
窘蓟汗鞍<EFBFBD>党箔衔吞资扇勤
|
||||||
侕圮ナ芢葺檀葺椽詀臢趼桱
|
拍寐晾邹淋谝倌字赵弦研矧
|
||||||
衵旃瀁樘癰魰踖槼蜾灋<EFBFBD>𩄍<EFBFBD>
|
盱腙殍镧<EFBFBD>怅狳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
厨║蘾煮濿蹢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
豸篁耩噷憣妭墧噯厔焸亐焸
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祚降
|
潨洑櫂煉墧挌憣<EFBFBD><EFBFBD>藩┄Ш
|
||||||
囿岳圻閂縈礆縈蝦遣斥毓筐
|
イ"<EFBFBD>坊〖翰工范荡<EFBFBD>毕窝
|
||||||
陴救怤鐃窔奻ˆ鏽臏嗙睚剸
|
趟噬惹蚊孛蒙烂掭苒瀑刈稚
|
||||||
稌尌笝<EFBFBD>恮栯闃擫膦鐋緪<EFBFBD>
|
杂已酗驽痣脶棼驽溷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
皸<EFBFBD>𩄍籊翦<EFBFBD>灖鏵襙<EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>梵簌饟帊寢枆垏啓
|
||||||
<EFBFBD><EFBFBD><EFBFBD>龭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
剝倎€煐虁洓憳嫋晹搸憪<EFBFBD><EFBFBD>
|
||||||
<EFBFBD>鍳悌丙隆幸此不╮撚噬憫
|
<EFBFBD><EFBFBD>ě<EFBFBD>福)牐窘蓟<EFBFBD>阜订
|
||||||
犒虞項斑拳恄迖侕圮袸鼴蹬
|
闯脖衔艠资认捼拍寐堇咿堇
|
||||||
蚍<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>姘絕灢
|
圳儇字輥弦凶候盱腙蹊珂屮
|
||||||
鳿緪欘蹥襡碨鍡咤犪艕鏵鵯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
汊徉<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>牾趔蝽饛帊<EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
媻増噯謤焸€稚倽湜殔槚烂<EFBFBD>
|
||||||
蝦掛僎遣<EFBFBD>
|
搾憪<EFBFBD><EFBFBD>藩<EFBFBD>窈イ"綘捐霠
|
||||||
氖不╮瓰ⅤⅢ犒虞隆揚盛玴迒訧觕ナ鼴蹬醣葠椽詀臢屼梊衵捈
|
┢嚓蹉柔珉喱洀姙垿箓挏浹<EFBFBD>
|
||||||
𨯨儵鍆濊
|
晾咿廖善耸四侨右研箢盱牿殍珂<EFBFBD>汊狳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鲺趔<EFBFBD>
|
||||||
踖氂裻榱<EFBFBD>禔僰翦噂儓鏵襙<EFBFBD>
|
耩弾崒堒<EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
殨殫枱悡<EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD>
|
焵潨洑櫂嫋嫈搾憪<EFBFBD><EFBFBD><EFBFBD>┄Е工舰<EFBFBD>烤綘护垢范荡<EFBFBD><EFBFBD>瓮趟收
|
||||||
<EFBFBD>
|
谡谂拿螺
|
||||||
鍳悌洮版揮戎不╮迚噬撒此虞隆斑盛蚔迒匊圮ナ椔藕邀葠椽マ椥訧梊衵迖瀁艛鍆氆𡺤槼裻摳<EFBFBD>碯栁咤噂皭鐐襙<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祚閂楫岳宋
|
烂蘖芮谂厮稚韵彝旭铐祀觊<EFBFBD>
|
||||||
奶ㄑ<EFBFBD>蕪<EFBFBD>遣兢奎絕陴敝𠲍庋恀攰㑤媄<EFBFBD>
|
琥屮泾狳<EFBFBD>恺帑纟澉牾梵<EFBFBD>
|
||||||
衵<EFBFBD>
|
耢彃崘
|
||||||
睚嗢<EFBFBD>
|
嫋
|
||||||
椥笪囡蹉敆瀁臅鍆纇╒槼蜾榱<EFBFBD>僣栁咤齴
|
増噯厔儌潃煘潨洑檮棖晹彃憪<EFBFBD><EFBFBD><EFBFBD>胆Еジ"<EFBFBD>>郊沪垢范┐巢庇瓮趟稚惹瀑拿铝苓掭芮谫刈收杂彝酗铐痣觊棼驽溷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>澉鲺麸蝰饛拲寢姇垏唴槂倎€優潨泦櫂棖<EFBFBD>
|
||||||
靘鏵襙<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>斒<EFBFBD>
|
敁拺尟<EFBFBD><EFBFBD><EFBFBD>ě亥ぃⅰ牸弧航景豢剧ǔ<EFBFBD>
|
||||||
炬囿岳圻馱ㄑ□蕪蝦<EFBFBD>
|
]<EFBFBD>
|
||||||
犒虞<EFBFBD>
|
吞松<EFBFBD>
|
||||||
答遠救怤倓埡虰冫懼軀澀睚嗖ˆ隶笝娸眝
|
惹桥匮休懒掭苒谫淖日杂已畜铙祀觊桤<EFBFBD>
|
||||||
<EFBFBD>
|
邃忏<EFBFBD>礅<EFBFBD><EFBFBD><EFBFBD>黯轸眚耩弾崘嫈増噯厔<EFBFBD>
|
||||||
|
倎仢倧巼殗槜枙敁帒幆<EFBFBD><EFBFBD><EFBFBD>üΕぃⅰ<EFBFBD>
|
||||||
|
<EFBFBD>郊缓垢范ù巢币瓮趟咨惹曝拿铝肋掭苒谫暸<EFBFBD>
|
||||||
|
允右研镱耢腙轸珂邃<EFBFBD>
|
||||||
|
忉<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>黯轸睑麴弾崘嫈増噯厔焸焵煘潨泦
|
||||||
|
<EFBFBD>
|
||||||
|
|
|
@ -140,7 +140,7 @@ void libreMediaServerAudio::dmxInput(int layer, int channel, int value)
|
||||||
m_played.append(m_ola->getValue(layer, DMX_FILE));
|
m_played.append(m_ola->getValue(layer, DMX_FILE));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
} else if (channel >= HP_FREQ && channel <= HIGH_GAIN) {
|
} else if (channel >= HP_FREQ) {
|
||||||
m_mae.filterParamChanged(layer, m_dmxSettings.at(layer).audioDevice, channel, value);
|
m_mae.filterParamChanged(layer, m_dmxSettings.at(layer).audioDevice, channel, value);
|
||||||
#ifndef NOGUI
|
#ifndef NOGUI
|
||||||
if (m_ui) {
|
if (m_ui) {
|
||||||
|
|
|
@ -18,16 +18,15 @@ static void ma_writer_node_process_pcm_frames(ma_node* pNode, const float** ppFr
|
||||||
ma_writer_node* pWriteNode = (ma_writer_node*)pNode;
|
ma_writer_node* pWriteNode = (ma_writer_node*)pNode;
|
||||||
|
|
||||||
MA_ASSERT(pWriteNode != NULL);
|
MA_ASSERT(pWriteNode != NULL);
|
||||||
MA_ASSERT(ma_node_get_input_bus_count(&pWriteNode->baseNode) == 1);
|
MA_ASSERT(ma_node_get_input_bus_count(&pWriteNode->baseNode) == 2);
|
||||||
|
|
||||||
if (*pFrameCountIn > 0) {
|
if (*pFrameCountIn > 0) {
|
||||||
void *pWriteBuffer = NULL;
|
void *pWriteBuffer = NULL;
|
||||||
ma_pcm_rb_acquire_write(pWriteNode->pBuffer, pFrameCountIn, &pWriteBuffer);
|
ma_pcm_rb_acquire_write(pWriteNode->pBuffer, pFrameCountIn, &pWriteBuffer);
|
||||||
if (pWriteBuffer != NULL) {
|
if (pWriteBuffer != NULL) {
|
||||||
ma_copy_pcm_frames(pWriteBuffer, ppFramesIn[0], *pFrameCountIn, ma_format_f32, pWriteNode->channels);
|
ma_copy_pcm_frames(pWriteBuffer, ppFramesIn[1], *pFrameCountIn, ma_format_f32, pWriteNode->channels);
|
||||||
ma_pcm_rb_commit_write(pWriteNode->pBuffer, *pFrameCountIn);
|
ma_pcm_rb_commit_write(pWriteNode->pBuffer, *pFrameCountIn);
|
||||||
}
|
}
|
||||||
//ma_silence_pcm_frames(ppFramesOut[0], *pFrameCountOut, ma_format_f32, pWriteNode->channels);
|
|
||||||
}
|
}
|
||||||
//*pFrameCountOut = 0;
|
//*pFrameCountOut = 0;
|
||||||
ma_copy_pcm_frames(ppFramesOut[0], ppFramesIn[0], *pFrameCountOut, ma_format_f32, pWriteNode->channels);
|
ma_copy_pcm_frames(ppFramesOut[0], ppFramesIn[0], *pFrameCountOut, ma_format_f32, pWriteNode->channels);
|
||||||
|
@ -37,7 +36,7 @@ static ma_node_vtable g_ma_writer_node_vtable =
|
||||||
{
|
{
|
||||||
ma_writer_node_process_pcm_frames,
|
ma_writer_node_process_pcm_frames,
|
||||||
NULL,
|
NULL,
|
||||||
1,
|
2,
|
||||||
1,
|
1,
|
||||||
0
|
0
|
||||||
// MA_NODE_FLAG_CONTINUOUS_PROCESSING
|
// MA_NODE_FLAG_CONTINUOUS_PROCESSING
|
||||||
|
@ -48,6 +47,8 @@ MA_API ma_result ma_writer_node_init(ma_node_graph* pNodeGraph, const ma_writer_
|
||||||
{
|
{
|
||||||
ma_result result;
|
ma_result result;
|
||||||
ma_node_config baseConfig;
|
ma_node_config baseConfig;
|
||||||
|
ma_uint32 inputChannels[2]; // Equal in size to the number of input channels specified in the vtable.
|
||||||
|
ma_uint32 outputChannels[1];
|
||||||
|
|
||||||
if (pWriteNode == NULL || pConfig == NULL || pConfig->pBuffer == NULL \
|
if (pWriteNode == NULL || pConfig == NULL || pConfig->pBuffer == NULL \
|
||||||
|| (pConfig->channels > MA_MAX_NODE_BUS_COUNT) ) {
|
|| (pConfig->channels > MA_MAX_NODE_BUS_COUNT) ) {
|
||||||
|
@ -55,11 +56,13 @@ MA_API ma_result ma_writer_node_init(ma_node_graph* pNodeGraph, const ma_writer_
|
||||||
}
|
}
|
||||||
|
|
||||||
MA_ZERO_OBJECT(pWriteNode);
|
MA_ZERO_OBJECT(pWriteNode);
|
||||||
|
inputChannels[0] = pConfig->channels;
|
||||||
|
inputChannels[1] = pConfig->channels;
|
||||||
|
outputChannels[0] = pConfig->channels;
|
||||||
baseConfig = pConfig->nodeConfig;
|
baseConfig = pConfig->nodeConfig;
|
||||||
baseConfig.vtable = &g_ma_writer_node_vtable;
|
baseConfig.vtable = &g_ma_writer_node_vtable;
|
||||||
baseConfig.pInputChannels = &pConfig->channels;
|
baseConfig.pInputChannels = inputChannels;
|
||||||
baseConfig.pOutputChannels = &pConfig->channels;
|
baseConfig.pOutputChannels = outputChannels;
|
||||||
|
|
||||||
result = ma_node_init(pNodeGraph, &baseConfig, pAllocationCallbacks, &pWriteNode->baseNode);
|
result = ma_node_init(pNodeGraph, &baseConfig, pAllocationCallbacks, &pWriteNode->baseNode);
|
||||||
if (result != MA_SUCCESS) {
|
if (result != MA_SUCCESS) {
|
||||||
|
|
|
@ -183,13 +183,13 @@ ma_result MiniAudioEngine::createFilterBank(int id, uint layer)
|
||||||
cout << "ERROR " << result << ": Failed to attach high shelf filter node." << endl;
|
cout << "ERROR " << result << ": Failed to attach high shelf filter node." << endl;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
if (id == 0) {
|
if (id == 0) {
|
||||||
//result = ma_node_attach_output_bus(&fb->output, 1, endpoint, 0);
|
result = ma_node_attach_output_bus(&fb->output, 0, &m_sendToAux[id], 0);
|
||||||
if (result != MA_SUCCESS) {
|
if (result != MA_SUCCESS) {
|
||||||
cout << "ERROR " << result << ": Failed to attach output node to engine." << endl;
|
cout << "ERROR " << result << ": Failed to attach output node to engine." << endl;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
result = ma_node_attach_output_bus(&fb->output, 0, &m_sendToAux[id], 0);
|
result = ma_node_attach_output_bus(&fb->output, 1, &m_sendToAux[id], 1);
|
||||||
if (result != MA_SUCCESS) {
|
if (result != MA_SUCCESS) {
|
||||||
cout << "ERROR " << result << ": Failed to attach output node to aux send 1." << endl;
|
cout << "ERROR " << result << ": Failed to attach output node to aux send 1." << endl;
|
||||||
return result;
|
return result;
|
||||||
|
@ -204,7 +204,7 @@ ma_result MiniAudioEngine::setNodeGraph(int id) {
|
||||||
|
|
||||||
if (id == 0) {
|
if (id == 0) {
|
||||||
ma_node_graph *ng = ma_engine_get_node_graph(&m_engine[id]);
|
ma_node_graph *ng = ma_engine_get_node_graph(&m_engine[id]);
|
||||||
size_t sizeInFrames = SAMPLE_RATE / 10; // ma_get_bytes_per_frame(FORMAT, CHANNELS);
|
size_t sizeInFrames = SAMPLE_RATE; // ma_get_bytes_per_frame(FORMAT, CHANNELS);
|
||||||
result = ma_pcm_rb_init(FORMAT, CHANNELS, sizeInFrames, NULL, NULL, &aux1Buffer);
|
result = ma_pcm_rb_init(FORMAT, CHANNELS, sizeInFrames, NULL, NULL, &aux1Buffer);
|
||||||
if (result != MA_SUCCESS) {
|
if (result != MA_SUCCESS) {
|
||||||
printf("Failed to initialize ring buffer.\n");
|
printf("Failed to initialize ring buffer.\n");
|
||||||
|
@ -623,8 +623,20 @@ ma_result MiniAudioEngine::filterParamChanged(int layer, int audioDevice, int ch
|
||||||
cout << "ERROR " << result << ": Failed set gain high shelf filter node." << endl;
|
cout << "ERROR " << result << ": Failed set gain high shelf filter node." << endl;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
} else if (channel == SEND1) {
|
||||||
return (result);
|
ma_node_set_output_bus_volume(&fb->output, 0, pow((value / 255.0f), 2));
|
||||||
|
if (result != MA_SUCCESS) {
|
||||||
|
cout << "ERROR " << result << ": Failed set Send 1 Volume." << endl;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
} else if (channel == SEND2) {
|
||||||
|
ma_node_set_output_bus_volume(&fb->output, 1, pow((value / 255.0f), 2));
|
||||||
|
if (result != MA_SUCCESS) {
|
||||||
|
cout << "ERROR " << result << ": Failed set Send 2 Volume." << endl;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
return (result);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MiniAudioEngine::setBypass(int audioDevice, int layer, bool bypass)
|
bool MiniAudioEngine::setBypass(int audioDevice, int layer, bool bypass)
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#define MA_DEBUG_OUTPUT
|
#define MA_DEBUG_OUTPUT
|
||||||
#define MA_DISABLE_PULSEAUDIO
|
#define MA_DISABLE_PULSEAUDIO
|
||||||
#define MA_DEBUG_OUTPUT
|
#define MA_DEBUG_OUTPUT
|
||||||
|
#define MA_LOG_LEVEL_DEBUG DEBUG
|
||||||
#define MINIAUDIO_IMPLEMENTATION
|
#define MINIAUDIO_IMPLEMENTATION
|
||||||
#include "miniaudio.h"
|
#include "miniaudio.h"
|
||||||
#include "ma_writer_node.h"
|
#include "ma_writer_node.h"
|
||||||
|
|
Loading…
Add table
Reference in a new issue