From 8721c2699165586664bbd3a655217dd57edc44d3 Mon Sep 17 00:00:00 2001
From: Tobisaninfo <thinkdifferent055@gmail.com>
Date: Fri, 30 Sep 2016 13:37:15 +0200
Subject: [PATCH] Add device option to nawin

---
 PlayWallNativeWin/j4n/NativeAudio.dll         | Bin 6144 -> 6656 bytes
 PlayWallNativeWin/j4n/NativeAudio.j4n.jar     | Bin 1794 -> 1842 bytes
 PlayWallNativeWin/j4n/build.cmd               |   4 +--
 .../clr/nativeaudio/NativeAudio.generated.cs  |  27 ++++++++++++++++--
 .../j4n/jvm/nativeaudio/NativeAudio.java      |   6 ++++
 .../classes/nativeaudio/NativeAudio.class     | Bin 1256 -> 1421 bytes
 6 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/PlayWallNativeWin/j4n/NativeAudio.dll b/PlayWallNativeWin/j4n/NativeAudio.dll
index e85f118b0af0c8c9a03777d25938e76a635adcb1..fff208682998191bb5fd58c8100cada3dd37e35d 100644
GIT binary patch
delta 1957
zcmZoLXfT=3p%m)!E}Q`h9xx~=a5EY(FbFX)Ft9-c;|wOQ3ghE3U|{eE2{<q?bTCg;
z6y`}_VBle3V7Q{kz#ubOkx6HAB%?Z4iU0!xg8~BsgV5wIMr}rs$=ev!86_s)V^orK
zFaT+1VDMmIU|?ckW#Ca}U^v0ez`!{9p@8}10Hy;v=@11B%=zLB3|vKw3=9SN5)2Gn
zI($sb#gYsRT(!&$3@q9_Ow7enljE7Cm8C&qtPBh+Ow}M#EMJC!feXTBs%BweV9A%A
zJeOIsUXFo*OUn-;kuMKYBVNnKz`&wq1Qk;NDPUk=5H?_B5COZ7L6E5$WLv%>0|OVA
z5QByiNC_5sWn}qHQ1et67`ViZWuQh(c4ASeR|V-egE)&hpP7MyO$%%x6N51W0|PSy
zgP<6fwi=s;8Uq6tw-BR-Is*e2bG`=1`#ca+*}&do6OZ6x)6isK;4-?T#UO0J%%I1>
zz`(-5AP5%hm1JOG<Pzi77G+~+2OGvC#H69lz|X+7h+RB_n;opm=<(!Y7MsZ%SX68`
zurM$v*D)~2ure_G0kMNiiZb)ki$QTA!3Bw9<<MXT6)pw_P~<ARhkCj&Fff>KF)&P-
zEXb-33SE%<!RbYmfq{XGfq_Arfq_8~;w}b8C=E(aAT|@oXoibSAT}tKoniE5VPmjl
z0+9@iKbZL$vROdl8jN<#Yz*tc<ODFOzyuO`17@>=+4hWf^~`JxB8)mLYz&_mKx8pk
zI*KuqiHm`eA(n}Y;Wtw(6C1;I25%NFhLtQJ_7)Z;W-f-~V74YRh}{KdOEXI_urVxW
z0*P#72I<`oCeMM%lVH<cvBZLXzz_BYBSSqS10#a~0~>QKvm*nD4dT@@*D?n(Ff(v6
zFfu%3YGz<$FlT6IU}O+v2C?5Ubuln9yk_oWU}V_N(9RG5$}tRW5}%l*7#JDSAv}&|
zrb!G;4Ea#rR3=ddCWZ<y?-<8Y76k@ohE@<yf#Dd(UM5urW`;>1F2ga70A>(xK9m<b
z`8Jz${U>HN26hG>MUbQ07>pR~8Q2->p}g-bYz!O>E1<mn3?SYfC~r11h<66cGhz;5
z;9z(I<z<0+JW3EV*D+0E;9#(X^5!wbGH@`sLwTL`%%TjO3=vRn7=r)<7sCuNZyJLl
z%QOaVhD%^x8-oD@8v{2313273WH=Loyu%DCI(D;w^2-wzkoXR;><X~@iOe980tQZo
zPt1%Af(#%pOEP?7=3>xfsQ<()z+lJ#A}ztBBbf9AlYw9|5=<sCd}0=5$ON+s!DJ<v
zoCr3qkpUD%oeZGhKga+I^@9wc&_2iz%dE+8kU^Wlm|-DU<w=Ie%+?Gi8BQ?SGhAf&
zRL?BHa1(6MO0e`wh6T)w3@aH9vA8g-Wcb9w#;}rMCj*F_#>~dh$xzDR&#;k!n<a#y
zlcAZxpJ64#QHBVHMuy1@u?!y>s#r1@b}}R|fGn8DV$blA;R;J0!%Bwr3~USs!K5Ao
zH^T}BJqBThjSPAW(hT(%81xvF8E!J@F=#WqV$fqS29wrc(itr7&G3Oik0BT=5)CGk
z88{gA7_u3R81)#68SEJy7^)e186Cl70+`fe@M1_}C}Lm&XY!d$vl$o|R<g`zU|=}N
zw1k0yA(wdx0}}%i1M_5GPD4R(@eN8WP+T>+pHq~jjG2L9@-ogC>EhH9m(;S%<Wz?A
z)ROpsqWqN7<PyKc+*F3V$zoh~o8!2Om^ss7iYA}qEn#&nEKSUr?7$Z#&7R9p04_-x
z7$THQ%vUAOa-5@lAjMifd*<XFeAf2N3JiQK3XDvAtO|^bLWL~sjDnFY3Jijg%nA&=
zAVw*R0wW_2D?1a1U@R*GqhKrtGXnz$J3F&1ABSM<WPN@aRu%>ZS-#2M{C{;|btb4F
zkYQwC_@KwY@IioqAt=}-m`C87%IWob{?m1iw_HqlUc9+PfP+!U1X}xnyzU2LD@;@r
lV{$N<yi71-vw~Ow<7Pgg&&-?#kODWsV6&jud&Y?d>;U)2K34z$

delta 1768
zcmZoLX)u`3q4XjBZ8!rIJYY~#;AS*nU=UznU|@p?p3|SWDvYm2pMk+2B;dfn(7`-W
zQJ5!zfq{pCfx$(Ofk9@nB9qSKNJe$8EBp)$3<?Yk3<8t87_}LNCU0X@XB3-!k5Nf-
zgFZ+*1A_+x0|OHSE5imQ28Joz3=E8u3kA(52QVG*?*hv(2#RrOi?eBnGca&*3o&X)
zFfedwNHQ>Rv57};v1v##FmM??WX_jnVBjiZWMC-BmtkPw(&1xbE|z6r;HqV2U|`Ya
zVPY<pn{2}@tt<}`V`X4qVX6j^V)+UT3|tU4Q#A_%153W*<SJ%OJ|zYQE-gQZM85Lm
zjm*M+Dj*?Y14afB1_lOZ1_nW<YLMaistgQVTtW;QYB=Q8k>xi*jntSd%AzZ%3DRN)
zv6wlZnSo*Q1s0ph+^nj$6Id7+l<OE6{;)7Gd;qb7ONuh{(u+Z1_J$J@)XJg33_my_
zk)!M$>gmG3z`()9z|b=}msMR>9^y)Hv<WjXFmN(3FlaL{FbIOgCvRkxtiQs<2r`a=
zjp00_GYcDo4HJlDX8g^}&ydUlig0a4M`kvLO<-~|m{ev0iM$81IlycuFk75ag@ujb
zD+7ou1B=8m<}h(FFft@CaWVX3N?>ARxW(Yi!o@I)1;k#;qFT?)#jt|~B;5oS(qUF*
zW@C_JmSEswxD6HwV*rV)Vp3)1V%WkAQh5kWUIde87!sI3?gu3?1_nkj6ky<FZeVr<
zvl$r#7#f%xm;)J@88{gj8J;jTFfcNhGqf-;GKerYFyu2bd}L~8U}Sj5+|9tqu#2IE
zApn$A8QLViGD|TqGNeOz9BoYf3``85l)}K!#xa9Ql!1w%0xWloV;YMB12aP_ly`th
zm4TUI5|kIr4C2j)@)9N+vP;*0WoBbwXW&r;IlPU*h#`c5onaA__kx9ufrH^Rly`^$
z#JdmW&0_}f-avV#%$W=v3_MB@Q*yyP9Vl-jQ$GU-LnM?pouP<<gCQNt>#1iJW#D8e
zg>nrT*ciANKw<ZU2}DLAk@uNF*>VjFD5+m%0m<$L%Ps_~pTf+^@Rga7L68CDAxVa>
z%v=nb3}2ZA7!1LrC75&slb&EQ5KPubf~iD?ugszhnP7Gyn5+bo6T!wcGJwLrlK~XA
z2N^(NdXNDWmIoOUm^B#=GH5dxGb{wFJjqbR;>fU(A&$YF;UdEd25*Lw3`bc47;Z8=
zV|Hh_$#9w}gyA9B<d<M_Wj$EiN`}SEj0`IoHnT)BtYmo1!p5+YVGjd{oXO0_(8-X;
zkixK&fsZAVp_8G8A%$Tj!wH65hDL@Sh9ZWQ44W9(7!HC-JqB)u1q^x&!VD`J^cbWW
zPB7>(C^KAS&|}bMc*LN`U<@X$!K5=-Jk*=v1%n<#Fjy!WOeQlhFzPX6GiWjDF%&bH
zGdeI-Gqf@~g2@ChsmEZ=5YNEG0Lra%m?kqYFwA0^&cMKMglP@~149AxoXH0{%{3Z8
zg%K!0Kyf((IF=b08Q4Lk6;!m6d9o5$jEHl7UU7a-Dnoi|Nqj(2eoAR_iQnXzTy`Ac
zMVTe3KACx&uX2?zPY&TLntYZoLXLrffjyU@fWa7SilE4;E}iGj9&@$j-3`=KA5M1Q
zx3*zrXW|fyWMyC!jO1WeVBlk6U}WTDW?<l8QD9`^V^v^e6slxlXB3QOQD6{^WmaI|
z1u<$_6c`zKChy{xnS7i7uMVv40p)8MMh1oiJqCsZ0S1PkV3*+YcDDZ6JO_PuZ)##R
zJ(C``nMII;QD_OY76CbIABe3mQBjO(gZ^YQp^VLZBA=N#6(EJ>1^dl{67Lx&8n6QZ
DpZ6@A

diff --git a/PlayWallNativeWin/j4n/NativeAudio.j4n.jar b/PlayWallNativeWin/j4n/NativeAudio.j4n.jar
index 8f888bc0ebad18acd661a0d0ea694791d69778a4..c88e638822beb9a0d9f267ea0f963a89b43a4175 100644
GIT binary patch
delta 800
zcmZqT+r-Bk;LXe;!ob17!Eh<fZX&N0Gl=qP0#O^!M=*it$y&_%^}(^hmmNg*axdJt
zP(fa4J`?N3Eul?azXFa+ww;Pt7Unj??g8`UZQghNW|d6xJ^oMIUaq93pyr#q<vd@<
z#w|7}o4?Pgez$k`_jm8@?dyatn%SCbIQExR<y_#f^-Q{X?d3|p^AeJcTb8bnExkSG
zVua=kwn^J{QlCkx#&Lw7nBG$#c4pG)rJ{49e8Y2AuPvAzwsFt@Q*WPqHx_lfwJzMf
zWwz?WPenIY75zW4&dQ<9*Y*5<?pV#JJxWZB6~{|$r(Q2+cDuQHW3FaxAg?O_n%Lv_
zTPJ@xJnKu%6q8FE=L#e)_wy48a+|<+pY!#h+euU2#j7>R{J3{KFD`UbVeK~an7aB8
zuRNAm&WlYqNuD;V?D#gB+qn_#A4;Tuo-zD1d+FhOv9SzWw<VVcCg0{`zOsV#Qns;F
zZb2l+-xoVB){0c!XcX^|n<jFQaSDg<$BrpHJJwYA-3UrNV;j1IZ^e_94YMlOFgy)@
zARG9Y`P7;(+QJJiT8OiG&8(EauBH0nbQF)vi~4WtR22;s?`cZqrLE)XjXQGY&Ghb`
zqU*kARYOCrE)@S|x=;Pe6`z=lH_KM_UHtX6xBJl&4NtaZxe2#Kd@qG`mFzm0ajm!L
zhE{v2qWrysk-7P+ed8uiIo9m?Kyjhl(j$43Or~<4&{$I%A@#4yZ2Pa?8_!Rewq9MJ
zxaP9JeWpoE>J4vrZQv|#`(H8b@1lh&CO6-k{E0XBI~?(R!Ho7aMl;9u)5pvOFGv_)
zF-({veEB(x^Rk&1h0;fKoW6#h;Z=IZF37z_LS4*Jhga#{g`znTY#W_c7bc0i%)0jI
zh*U@EE@^eMh)M4*{<TPSn)tGs?@r#dqIBJuu3wHzY8BsJ-f!osqO_&K&Tc__`n=3P
zq2caD@t(VHy}F)}Be>i5P5X(iqE!mfF7=E7-s~KbzB~UcVq#$EWo2Lp@MdHZVSuOa
l$uC(gz$sdV%^pmrvAOeIO0)As=$X8m&5@0Zje&uI0RXYqY~ug`

delta 752
zcmdnQ*Tlyg;LXe;!ob17!Ekt`?L=NHW)S7o1fn*ck6;4PleL)j>w{wbg&jrqGJ9Xw
zd+IFkQzS~@?zU4|hoX5o#XJ?33MtxraN72^>2gl`thqOj{nNIWGqIDH|2OcMadg0v
zDeZITR-d0!{Qi#d{<`}AjxMvmTv{k1np^ek0*9@C^34q=H@{?6cF&Ce{Ht)gtbx?(
z73(fJo;FVG416Uj9+PhvRj6IBbYY&=_gPK(vvkFM^VjeC?^fdV`=_v5SftqkgTRMM
zD~_#=5|I79RbXb~^#h;ZCoQbhws_d3yjQoyq;zRO510AY+O^7Y-K7im6iG}i^l&eX
zJ<XxpTk^-C?ah^&Gf##nUgF&Lm~HwFpLgHP6pJKI^532GGUe~PEcV7aeQAx9*7{5N
z2D1vaefK}EUZ}6PM|qBj_|iX`uXayed~eM<)wN|W$}cA0?ia1vGG$t>+hXy?d!37)
z>^f;vR<+Z4WrhCqXRic&PN-N+xukVL-KZzp?buz@-rF9bO9Z#v37+h6bkX%>ufuwk
zeJ^+al;*otZBVd(*YOn<(_8;<?AcbV@_2>ZoBE>UhflU@=FiA9h}vD<)#=xE>B)g#
zjj6^Z^OqT=T())FthDmsY^i%&t16~U-@A9MY4fgSGI9A_>!oa^)XIcYW_q3IQHpX-
zd6+NWb#wg@J5_h%2wAB^R=l5>Q!bgb-4HM<nDfv+F2O!igV*n&H1Ge%y_XHHSsFY$
z80p~iAn`{14>i$V!{af`2Sp8PSq(yFy=0eTn$db?ZO=}}1Ai0}8pVD$x-xh-H@I)P
z!>_{}u`tJe0_%juSL+f)58PTCn;6!g`S;R<r762yuBC6X`!_dB>tx=+sp?<8d`jV~
ze|*v7BX^{EZ#D1iQ#W?r;19H0nd!piQqK_J&CYRmadJQrlPCkj3l;{30B=Sn5e9gA
ooh->_0ZySIZ1!M!8k;-c;gz<Y5KSOGlV7trvfW~3U|?VX074^GFaQ7m

diff --git a/PlayWallNativeWin/j4n/build.cmd b/PlayWallNativeWin/j4n/build.cmd
index 4c2f0e84..5f40ca80 100644
--- a/PlayWallNativeWin/j4n/build.cmd
+++ b/PlayWallNativeWin/j4n/build.cmd
@@ -4,7 +4,7 @@ if not exist target\classes mkdir target\classes
 
 
 echo compile classes
-javac -nowarn -d target\classes -sourcepath jvm -cp "d:\programmieren\git-java\playwall\playwallnativewin\j4n\jni4net-0.8.8.0-bin\lib\jni4net.j-0.8.8.0.jar"; "jvm\nativeaudio\LoopStream.java" "jvm\nativeaudio\NativeAudio.java" 
+javac -nowarn -d target\classes -sourcepath jvm -cp "d:\programmieren\git-java\playwall\playwallnativewin\j4n\jni4net.j-0.8.8.0.jar"; "jvm\nativeaudio\LoopStream.java" "jvm\nativeaudio\NativeAudio.java" 
 IF %ERRORLEVEL% NEQ 0 goto end
 
 
@@ -14,7 +14,7 @@ IF %ERRORLEVEL% NEQ 0 goto end
 
 
 echo NativeAudio.j4n.dll 
-csc /nologo /warn:0 /t:library /out:NativeAudio.j4n.dll /recurse:clr\*.cs  /reference:"D:\Programmieren\Git-Java\PlayWall\PlayWallNativeWin\j4n\NativeAudio.dll" /reference:"D:\Programmieren\Git-Java\PlayWall\PlayWallNativeWin\j4n\jni4net-0.8.8.0-bin\lib\jni4net.n-0.8.8.0.dll"
+csc /nologo /warn:0 /t:library /out:NativeAudio.j4n.dll /recurse:clr\*.cs  /reference:"D:\Programmieren\Git-Java\PlayWall\PlayWallNativeWin\j4n\NativeAudio.dll" /reference:"D:\Programmieren\Git-Java\PlayWall\PlayWallNativeWin\j4n\jni4net.n-0.8.8.0.dll"
 IF %ERRORLEVEL% NEQ 0 goto end
 
 
diff --git a/PlayWallNativeWin/j4n/clr/nativeaudio/NativeAudio.generated.cs b/PlayWallNativeWin/j4n/clr/nativeaudio/NativeAudio.generated.cs
index a869f90f..ea98eeed 100644
--- a/PlayWallNativeWin/j4n/clr/nativeaudio/NativeAudio.generated.cs
+++ b/PlayWallNativeWin/j4n/clr/nativeaudio/NativeAudio.generated.cs
@@ -49,7 +49,9 @@ namespace NativeAudio {
             methods.Add(global::net.sf.jni4net.jni.JNINativeMethod.Create(@__type, "isPlaying", "isPlaying6", "()Z"));
             methods.Add(global::net.sf.jni4net.jni.JNINativeMethod.Create(@__type, "setVolume", "setVolume7", "(F)V"));
             methods.Add(global::net.sf.jni4net.jni.JNINativeMethod.Create(@__type, "setLoop", "setLoop8", "(Z)V"));
-            methods.Add(global::net.sf.jni4net.jni.JNINativeMethod.Create(@__type, "unload", "unload9", "()V"));
+            methods.Add(global::net.sf.jni4net.jni.JNINativeMethod.Create(@__type, "setDevice", "setDevice9", "(Ljava/lang/String;)V"));
+            methods.Add(global::net.sf.jni4net.jni.JNINativeMethod.Create(@__type, "getDevices", "getDevices10", "()[Ljava/lang/String;"));
+            methods.Add(global::net.sf.jni4net.jni.JNINativeMethod.Create(@__type, "unload", "unload11", "()V"));
             methods.Add(global::net.sf.jni4net.jni.JNINativeMethod.Create(@__type, "__ctorNativeAudio0", "__ctorNativeAudio0", "(Lnet/sf/jni4net/inj/IClrProxy;)V"));
             return methods;
         }
@@ -152,7 +154,28 @@ namespace NativeAudio {
             }catch (global::System.Exception __ex){@__env.ThrowExisting(__ex);}
         }
         
-        private static void unload9(global::System.IntPtr @__envp, global::net.sf.jni4net.utils.JniLocalHandle @__obj) {
+        private static void setDevice9(global::System.IntPtr @__envp, global::net.sf.jni4net.utils.JniLocalHandle @__obj, global::net.sf.jni4net.utils.JniLocalHandle name) {
+            // (Ljava/lang/String;)V
+            // (LSystem/String;)V
+            global::net.sf.jni4net.jni.JNIEnv @__env = global::net.sf.jni4net.jni.JNIEnv.Wrap(@__envp);
+            try {
+            global::NativeAudio.NativeAudio @__real = global::net.sf.jni4net.utils.Convertor.StrongJp2C<global::NativeAudio.NativeAudio>(@__env, @__obj);
+            @__real.setDevice(global::net.sf.jni4net.utils.Convertor.StrongJ2CString(@__env, name));
+            }catch (global::System.Exception __ex){@__env.ThrowExisting(__ex);}
+        }
+        
+        private static global::net.sf.jni4net.utils.JniHandle getDevices10(global::System.IntPtr @__envp, global::net.sf.jni4net.utils.JniLocalHandle @__class) {
+            // ()[Ljava/lang/String;
+            // ()[LSystem/String;
+            global::net.sf.jni4net.jni.JNIEnv @__env = global::net.sf.jni4net.jni.JNIEnv.Wrap(@__envp);
+            global::net.sf.jni4net.utils.JniHandle @__return = default(global::net.sf.jni4net.utils.JniHandle);
+            try {
+            @__return = global::net.sf.jni4net.utils.Convertor.ArrayStrongC2JString(@__env, global::NativeAudio.NativeAudio.getDevices());
+            }catch (global::System.Exception __ex){@__env.ThrowExisting(__ex);}
+            return @__return;
+        }
+        
+        private static void unload11(global::System.IntPtr @__envp, global::net.sf.jni4net.utils.JniLocalHandle @__obj) {
             // ()V
             // ()V
             global::net.sf.jni4net.jni.JNIEnv @__env = global::net.sf.jni4net.jni.JNIEnv.Wrap(@__envp);
diff --git a/PlayWallNativeWin/j4n/jvm/nativeaudio/NativeAudio.java b/PlayWallNativeWin/j4n/jvm/nativeaudio/NativeAudio.java
index f8a496f0..ffd1aef7 100644
--- a/PlayWallNativeWin/j4n/jvm/nativeaudio/NativeAudio.java
+++ b/PlayWallNativeWin/j4n/jvm/nativeaudio/NativeAudio.java
@@ -55,6 +55,12 @@ public class NativeAudio extends system.Object {
     @net.sf.jni4net.attributes.ClrMethod("(Z)V")
     public native void setLoop(boolean loop);
     
+    @net.sf.jni4net.attributes.ClrMethod("(LSystem/String;)V")
+    public native void setDevice(java.lang.String name);
+    
+    @net.sf.jni4net.attributes.ClrMethod("()[LSystem/String;")
+    public native static java.lang.String[] getDevices();
+    
     @net.sf.jni4net.attributes.ClrMethod("()V")
     public native void unload();
     
diff --git a/PlayWallNativeWin/j4n/target/classes/nativeaudio/NativeAudio.class b/PlayWallNativeWin/j4n/target/classes/nativeaudio/NativeAudio.class
index e81585d278c3c21c56c80de6ccd3c9db5118c09d..95dcb66bfa41ce732ba8934419c2def276b6ae7a 100644
GIT binary patch
delta 303
zcmaFC*~_hT>ff$?3=9k=4CY)6Yz&6%3`SfGtPIAS46F<$><p&t3}zdZ_A=IU7N?fD
zq?TnSr!q2#YWQR&mL=-vB<7{-2bUCO=A~O}hA}b-Y4`+J7MG;vA`5b*!!#CybZSOp
z>ILc4j7HPT$iP;bmy@5E!pOi@QaSlG;~z%B%`cd08GTe37#a8&7#O%27#V~a7#ReL
z8B`fL8PpimF(ot@85uMgcrhh-88{iV7_=wXvnaE>FmN&GFz8NR$)Y0d!N9`c$-u;*
U$H2hA#Gnthh>d}f!GM7Q0MoBL!2kdN

delta 110
zcmeC>e!;19>ff$?3=9k=42E0`Yz*4$3_4s4tPHxG46F=#><s$s3<evO_A+h`V&Y(A
z<lh|4T+2AwiA98sfs;XnL3OeUt1`PC0~doDgZgAYRuyR{1{MZq1||j#1_lNu22BP&
O1_lN;21W)g1_l6PU=QX1

-- 
GitLab