From 2f5cfa1261372f54f6c5da2e96bed428a4d625bc Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Mon, 16 Nov 2015 00:05:03 +0000 Subject: [PATCH] miranda plugins einckecken --- Hyphen/Virtuoso.Hyphen/Virtuoso.Hyphen.sdf | Bin 393216 -> 393216 bytes .../Virtuoso.Hyphen/Virtuoso.Hyphen.v11.suo | Bin 131072 -> 139776 bytes Out/Plugins/IL/Speak.il | 1109 +++++++++-------- Out/Plugins/Speak.master.XML | 10 +- Out/Plugins/Speak.master.dll | Bin 337920 -> 339968 bytes Out/Plugins/Speak.master.pdb | Bin 321024 -> 321024 bytes Out/Plugins/XML/Speak.master.XML | 10 +- Speak/Speak/MainClass.cs | 59 +- Speak/Speak/Properties/AssemblyInfo.cs | 4 +- Speak/Speak/Speak.csproj | 2 +- Speak/Speak/Storage/Settings.cs | 12 + Speak/Speak/Structs/API.cs | 103 +- Speak/Speak/TTS/TextToSpeak.cs | 16 +- library/Managed/AutoConnect.dll | Bin 0 -> 6144 bytes 14 files changed, 731 insertions(+), 594 deletions(-) create mode 100644 library/Managed/AutoConnect.dll diff --git a/Hyphen/Virtuoso.Hyphen/Virtuoso.Hyphen.sdf b/Hyphen/Virtuoso.Hyphen/Virtuoso.Hyphen.sdf index 2a623095d1522f0ae2dc15332f1c3d14b001a67e..03538d3b33b352eb0965dfaa37730d1f5ce524db 100644 GIT binary patch delta 170 zcmZo@kZ5R-;5-&}W+DR+uukMuX7t#odzsNtpM`;eosogT4Tvp)QeU1kFl-0Xwm=#L zKdkdyabVEe%vtbVo^$8@s*6kv z3Jej=oD+A-1u+6ykr)kN!J-Aa;SpD`C`wZ4kQq=gtr1~x*F-|Y zYSN_2`e3i|ngkQFIt)}Lgss_5XIgP&(iz)Y(xz=DwKT;?F-AgC@IegpfA@iFlF6h_ zr+4K0!a)g(hs1Y3nG9FgsuYlD3}REI|Fh( z5OrZ#K_p}?at-n-AjS=hC)&*Mw}qG_%9Hn?@jbVdUfp_>qksa!y}O|#Z`M**zOV$! zHJ})HTjS3H`Fla-)sUA1oxhht^Zb%LJ2a@>0>~y12E6Kz1ssT3^()zFDUCj3WBOv2 zr_W|~!>HyWn!FXu8fKnlmaM1Q>Ei9IPfAq}L;W_}7G0z~1gRis9Bn9eX#gViOtX;j zPY~V(e*t3ae?|TtU=`uk`2kzpfa0dVfzaK8{JAIt-zmf<^acK9<+0Pzi`bZ<>GtxT zcQ#rzE7175hBcHHD)|tNU}}4#rFP0-wnv)Oi=ggu-;4>BoyNQ{GNULQeX6C^xY8G2 zxj|aB4qJMU-Hf`Qx$=`_adZVbsKstad{vetSwuykN^3;bAE6M5zwV?Z?j@$*kSkGP zx%F|(Ua#Sa6BNf=J4xXWPtZ~xd66>tFD}r}_}(Fk(f??3RrOP{ufM9grh2nAn^z7| zEbka1Bk#RPX6Jk>&1JUv#bNXvv=iYSn4L^)Z2lTKE=a|!53H0_vlw-zs1va^*?lu5 zRLT}E4x>+g(apuTJdEyzU>f9j^175mBLuFLHXb;mFIfSij@hfy?!6*tI~Ie*B;7Q@Wq z2FVK2GwZh?TVw=8QtM7yHWVWrSFpP3A zOj6KLTH*RAdy}g?z9%b>zRE+h9j<3|JuAK@j5VKOjCUmW_+CwtGu=w#%$8p4jqmGh zEWL@YFs{t)M*`ARtSi6CGv zxAjp6A;egoA&ps$4rg>CVkglXns*aF|J%c)q)-;O^XX8;mpf`csz*5f(V`>;BAmvmc=&xs*3fO$%;^T zmFLP#P21682Y41d2Yv#c2QPr1f}LO&Xa)|j8|(pl!9LIeoPdG-;6-o%aBvX31YQQO zfL3q_yb4|eZQ_0PIs_Lu0u;FD`~C~NujX&ioCALc1K=Ov1Mp8U2+o5GKa}EZ&_60oUN#b_+>|+YUj`Ge=G`PKi05<1J*9 zJ#rt(68+9sRq=$5?Xhdc;SlQc-Y#E7-A={R`ZnECs9h+$htN{GkJt9oOT6w38QJCo zN$7%~%5{4zaiXtvQ7eyskrsHy4^vKv=dDXrNbMaIB9Y9cqm)abo`R!d5wG%JAERcf zW0gIK0T(cSJkRE^2siGW5$E3)v9XMCQzx`g8xQ-@(ns=76-q0A$^mBUp&792fz4a z5h%M$B6`VV@1_Bn4-8Xc*maHX-5a$SMc0ip#03;c;;9wI2S(__pwYD+`(?6| zp}um9wcfVgYOAjAgk0^j}})yLjPcTFNX5nYi85o>Q0T fq{Qvx7`->a{LQY`ufH%g8?c$G5YI2iNkjhu5k7w@ delta 2721 zcmds(ZBUd|6vv)Fv|pJz5rXUmF60xSqiA6)=V?@sru3|eIt|*EI+@74Agi#300Fk0~;BxDZVW(Ojd3CTR^Z4!oS_;3l zKs2dM6yqLMHPk%FO_3tN1bPT19m<^NUfCaqa{LtEF!C{gWAk96!EG=OOh6A13Z!J@ z)4&1{3laebW+_TRVAx!Ug3}BZg9MNQ*dI!%C@%rwKpTu*gv|uvSVgveWzZ>ZR?J_q zCRlh9b^|B_C15RB4+_CLPzuVyMobMOWD5*!1^!B^k}@Pd=zYtW}CPb>Y%d;@s2r(wSZXTW#hdvF$<0|Q_X41x3D z0^l|V*dG83dl_5-KZ5Jn$_=SgRc(j27_g$VK@wnv-M1nNN!Xq^<}|JneWqpYb|dLd zA&?U%nxY1@dB}>PoK%seYK7fYu3a_N;maKqeRG$GVJTur_!EjmpSn!g`&;B*KP?v3 z3+IU;ktN&wlpOd$FOlqljc`-^q(*!&Fx<1lLc+S-AsyF9OQrJC7%h>9$0#c1ReRl* zhN`@VhAmrb>R&I~_Tu)87v%65SvYKns;S#nRkXIMw7&7Bx@`>^b@k%BCdK)XLwXZb zt80PYX|a<|G+Ii+1FIZ6W#kklMlEGp+)-0zw{(3t@omQ^E;MHyVQyMQ_-A8o)8*+9 zNr@>uEQLQlQq9p zrk#80o>|Ig$0^0YOOKBRl582LZ2ib8zC9I1?wq6?kM|Z?$(5_RtYn9L8s?sI-dWg$r^(@*;B|6XQpDAA>vwxwVJUQ*uq{`|J zx+3@ZDINVp$>qId_L#e>N}W>X89YQiIunb}ix4=Lfs-knos_}Plp^~(DOXyrQMsHLA&bX*jl3is zb5*Of-XMoFy+*oxlsJQ*YOa3TM=PW^PTehQeDnyBNLHg|{wTMMSG}rq#H(7*u2Bpy zDxClKh~gg&h|tWEt-n&H^!f?+V6>Vi^Tz1}uGfcWm)RR@>$YcAjOomN RGRo31%K8VlZ^s{G`V$#CmS_L~ diff --git a/Out/Plugins/IL/Speak.il b/Out/Plugins/IL/Speak.il index f977e6e..74a778c 100644 --- a/Out/Plugins/IL/Speak.il +++ b/Out/Plugins/IL/Speak.il @@ -64,7 +64,7 @@ .custom instance void [mscorlib]System.Reflection.AssemblyCompanyAttribute::.ctor(string) = ( 01 00 00 00 00 ) .custom instance void [mscorlib]System.Reflection.AssemblyProductAttribute::.ctor(string) = ( 01 00 05 53 70 65 61 6B 00 00 ) // ...Speak.. .custom instance void [mscorlib]System.Reflection.AssemblyDescriptionAttribute::.ctor(string) = ( 01 00 00 00 00 ) - .custom instance void [mscorlib]System.Reflection.AssemblyFileVersionAttribute::.ctor(string) = ( 01 00 07 31 2E 30 2E 30 2E 30 00 00 ) // ...1.0.0.0.. + .custom instance void [mscorlib]System.Reflection.AssemblyFileVersionAttribute::.ctor(string) = ( 01 00 07 31 2E 30 2E 31 2E 31 00 00 ) // ...1.0.1.1.. .custom instance void [mscorlib]System.Reflection.AssemblyTitleAttribute::.ctor(string) = ( 01 00 05 53 70 65 61 6B 00 00 ) // ...Speak.. .custom instance void [mscorlib]System.Reflection.AssemblyTrademarkAttribute::.ctor(string) = ( 01 00 00 00 00 ) .custom instance void [mscorlib]System.Runtime.InteropServices.ComVisibleAttribute::.ctor(bool) = ( 01 00 00 00 00 ) @@ -83,7 +83,7 @@ .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. .hash algorithm 0x00008004 - .ver 1:0:0:0 + .ver 1:0:1:1 } .mresource public Speak.Properties.Resources.resources { @@ -96,13 +96,13 @@ // WARNUNG: Die verwaltete Ressourcendatei "Speak.UI.PreviewForm.resources" wurde erstellt. } .module Speak.master.dll -// MVID: {751FC4A5-9566-42A3-81E1-DB9A97B9709E} +// MVID: {A6F86CF9-E663-41A8-BD56-D46ABB543032} .imagebase 0x10000000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000003 // ILONLY 32BITREQUIRED -// Image base: 0x00000000003A0000 +// Image base: 0x00000000008D0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -1230,7 +1230,7 @@ .line 53,53 : 13,123 '' IL_000e: ldloca.s hIcon IL_0010: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0015: ldsfld string Speak.Structs.API::MS_SKIN2_GETICON + IL_0015: ldstr "Skin2/Icons/GetIcon" IL_001a: ldsfld native uint [mscorlib]System.UIntPtr::Zero IL_001f: ldloca.s str IL_0021: call instance native int [Hyphen]Virtuoso.Miranda.Plugins.Native.UnmanagedStringHandle::get_IntPtr() @@ -1306,7 +1306,7 @@ .line 71,71 : 13,115 '' IL_00c9: ldarg.1 IL_00ca: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_00cf: ldsfld string Speak.Structs.API::MS_SKIN2_ADDICON + IL_00cf: ldstr "Skin2/Icons/AddIcon" IL_00d4: ldsfld native uint [mscorlib]System.UIntPtr::Zero IL_00d9: ldloc.1 IL_00da: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -1381,7 +1381,7 @@ bool) .line 89,89 : 13,91 '' IL_007b: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0080: ldsfld string Speak.Structs.API::MS_BB_SETBUTTONSTATE + IL_0080: ldstr "TabSRMM/ButtonsBar/SetButtonState" IL_0085: ldarg.1 IL_0086: ldloc.1 IL_0087: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -1553,7 +1553,7 @@ bool) .line 125,125 : 17,93 '' IL_0107: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_010c: ldsfld string Speak.Structs.API::MS_BB_ADDBUTTON + IL_010c: ldstr "TabSRMM/ButtonsBar/AddButton" IL_0111: ldsfld native int [mscorlib]System.IntPtr::Zero IL_0116: ldloc.s bbPtr IL_0118: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -1703,7 +1703,7 @@ IL_0094: stfld native int Speak.Structs.CSSData::hContact .line 162,162 : 21,58 '' IL_0099: ldloca.s css - IL_009b: ldsfld string Speak.Structs.API::PSS_MESSAGE + IL_009b: ldstr "/SendMsg" IL_00a0: stfld string Speak.Structs.CSSData::szProtoService .line 163,163 : 21,46 '' IL_00a5: ldloca.s css @@ -1736,7 +1736,7 @@ bool) .line 168,168 : 21,110 '' IL_00ed: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_00f2: ldsfld string Speak.Structs.API::MS_PROTO_CALLCONTACTSERVICE + IL_00f2: ldstr "Proto/CallContactService" IL_00f7: ldsfld native int [mscorlib]System.IntPtr::Zero IL_00fc: ldloc.s cmdPtr IL_00fe: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -1850,7 +1850,7 @@ bool) .line 198,198 : 17,96 '' IL_008a: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_008f: ldsfld string Speak.Structs.API::MS_BB_REMOVEBUTTON + IL_008f: ldstr "TabSRMM/ButtonsBar/RemoveButton" IL_0094: ldsfld native int [mscorlib]System.IntPtr::Zero IL_0099: ldloc.3 IL_009a: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -4061,11 +4061,11 @@ IL_0023: newobj instance void Speak.Fork.ContactManager/SettingOwner::.ctor(string) IL_0028: stsfld class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ISettingOwner Speak.Core.LogWindow::ownerHistoryPP .line 39,39 : 13,80 '' - IL_002d: ldsfld string Speak.Structs.API::MS_IEVIEW_WINDOW + IL_002d: ldstr "IEVIEW/NewWindow" IL_0032: call bool [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ServiceManager::ServiceExists(string) IL_0037: stsfld bool Speak.Core.LogWindow::isIEInstalled .line 40,40 : 13,81 '' - IL_003c: ldsfld string Speak.Structs.API::MS_HPP_EG_WINDOW + IL_003c: ldstr "History++/ExtGrid/NewWindow" IL_0041: call bool [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ServiceManager::ServiceExists(string) IL_0046: stsfld bool Speak.Core.LogWindow::isHPPInstalled .line 42,42 : 13,41 '' @@ -4515,7 +4515,7 @@ .try { IL_0019: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_001e: ldsfld string Speak.Structs.API::MS_DB_EVENT_GETBLOBSIZE + IL_001e: ldstr "DB/Event/GetBlobSize" IL_0023: ldarg.0 IL_0024: ldsfld native int [mscorlib]System.IntPtr::Zero IL_0029: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -4559,7 +4559,7 @@ bool) .line 42,42 : 17,96 '' IL_006d: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0072: ldsfld string Speak.Structs.API::MS_DB_EVENT_GET + IL_0072: ldstr "DB/Event/Get" IL_0077: ldarg.0 IL_0078: ldloc.0 IL_0079: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -4668,7 +4668,7 @@ IL_004e: stloc.s hist .line 68,68 : 17,115 '' IL_0050: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0055: ldsfld string Speak.Structs.API::MS_DB_EVENT_GETBLOBSIZE + IL_0055: ldstr "DB/Event/GetBlobSize" IL_005a: ldloc.s hist IL_005c: ldsfld native int [mscorlib]System.IntPtr::Zero IL_0061: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -4712,7 +4712,7 @@ bool) .line 80,80 : 17,88 '' IL_00a9: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_00ae: ldsfld string Speak.Structs.API::MS_DB_EVENT_GET + IL_00ae: ldstr "DB/Event/Get" IL_00b3: ldloc.s hist IL_00b5: ldloc.0 IL_00b6: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -4774,7 +4774,7 @@ bool) .line 99,99 : 17,93 '' IL_0129: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_012e: ldsfld string Speak.Structs.API::MS_DB_EVENT_ADD + IL_012e: ldstr "DB/Event/Add" IL_0133: ldarg.1 IL_0134: ldloc.0 IL_0135: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -4845,7 +4845,7 @@ .maxstack 8 .line 113,113 : 13,94 '' IL_0000: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0005: ldsfld string Speak.Structs.API::MS_DB_EVENT_DELETE + IL_0005: ldstr "DB/Event/Delete" IL_000a: ldarg.0 IL_000b: ldarg.1 IL_000c: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -4930,7 +4930,7 @@ bool) .line 133,133 : 17,93 '' IL_0074: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0079: ldsfld string Speak.Structs.API::MS_DB_EVENT_ADD + IL_0079: ldstr "DB/Event/Add" IL_007e: ldarg.0 IL_007f: ldloc.0 IL_0080: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -8928,7 +8928,7 @@ .maxstack 8 .line 555,555 : 13,95 '' IL_0000: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0005: ldsfld string Speak.Structs.API::MS_PROTO_ADDTOCONTACT + IL_0005: ldstr "Proto/AddToContact" IL_000a: ldarg.1 IL_000b: ldarg.0 IL_000c: ldfld native int Speak.Fork.ContactManager::rootName @@ -8947,7 +8947,7 @@ .maxstack 8 .line 560,560 : 13,125 '' IL_0000: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0005: ldsfld string Speak.Structs.API::MS_PROTO_ISPROTOONCONTACT + IL_0005: ldstr "Proto/IsProtoOnContact" IL_000a: ldarg.1 IL_000b: ldarg.0 IL_000c: ldfld native int Speak.Fork.ContactManager::rootName @@ -9088,7 +9088,7 @@ valuetype [Hyphen]Virtuoso.Miranda.Plugins.Native.StringEncoding) .line 592,592 : 17,98 '' IL_0027: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_002c: ldsfld string Speak.Structs.API::MS_MSG_SENDMESSAGE + IL_002c: ldstr "SRMsg/SendCommand" IL_0031: ldloc.0 IL_0032: ldloca.s str IL_0034: call instance native int [Hyphen]Virtuoso.Miranda.Plugins.Native.UnmanagedStringHandle::get_IntPtr() @@ -9146,7 +9146,7 @@ IL_009e: stfld native int Speak.Structs.CSSData::hContact .line 609,609 : 21,58 '' IL_00a3: ldloca.s css - IL_00a5: ldsfld string Speak.Structs.API::PSS_MESSAGE + IL_00a5: ldstr "/SendMsg" IL_00aa: stfld string Speak.Structs.CSSData::szProtoService .line 610,610 : 21,46 '' IL_00af: ldloca.s css @@ -9179,7 +9179,7 @@ bool) .line 615,615 : 21,110 '' IL_00f5: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_00fa: ldsfld string Speak.Structs.API::MS_PROTO_CALLCONTACTSERVICE + IL_00fa: ldstr "Proto/CallContactService" IL_00ff: ldsfld native int [mscorlib]System.IntPtr::Zero IL_0104: ldloc.3 IL_0105: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -9372,7 +9372,7 @@ IL_0008: stfld class Speak.Sites.ISite Speak.HPP.HistoryppHandler::site .line 45,45 : 13,116 '' IL_000d: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0012: ldsfld string Speak.Structs.API::MS_HPP_GETVERSION + IL_0012: ldstr "History++/GetVersion" IL_0017: ldsfld native int [mscorlib]System.IntPtr::Zero IL_001c: ldsfld native int [mscorlib]System.IntPtr::Zero IL_0021: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -23092,55 +23092,65 @@ .class public auto ansi beforefieldinit Speak.MainClass extends [Hyphen]Virtuoso.Hyphen.Mini.StandalonePlugin { + .field public static literal string VERSION = "1.0.1.1" .field private class Speak.Opt.Options option - .field private static class [mscorlib]System.Version VERSION + .field private valuetype [mscorlib]System.DateTime status_pause + .field private class [mscorlib]System.Collections.Generic.Dictionary`2 statusmodes .field private static initonly valuetype [mscorlib]System.Guid uuid .method private hidebysig specialname rtspecialname instance void .ctor() cil managed { - // Code size 41 (0x29) + // Code size 63 (0x3f) .maxstack 8 - .line 27,27 : 9,28 'd:\\Visual Studio 2012\\Projects\\miranda\\Speak\\Speak\\MainClass.cs' + .line 31,31 : 9,54 'd:\\Visual Studio 2012\\Projects\\miranda\\Speak\\Speak\\MainClass.cs' IL_0000: ldarg.0 - IL_0001: call instance void [Hyphen]Virtuoso.Hyphen.Mini.StandalonePlugin::.ctor() - .line 29,29 : 13,41 '' - IL_0006: ldarg.0 - IL_0007: newobj instance void Speak.Opt.Options::.ctor() - IL_000c: stfld class Speak.Opt.Options Speak.MainClass::option - .line 30,30 : 13,87 '' - IL_0011: ldarg.0 - IL_0012: ldfld class Speak.Opt.Options Speak.MainClass::option - IL_0017: ldarg.0 - IL_0018: ldftn instance void Speak.MainClass::option_hasUpdated(valuetype Speak.Opt.Options/EventChanged) - IL_001e: newobj instance void Speak.Opt.Options/ChangedEventHandler::.ctor(object, + IL_0001: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_0006: stfld valuetype [mscorlib]System.DateTime Speak.MainClass::status_pause + .line 32,32 : 9,99 '' + IL_000b: ldarg.0 + IL_000c: newobj instance void class [mscorlib]System.Collections.Generic.Dictionary`2::.ctor() + IL_0011: stfld class [mscorlib]System.Collections.Generic.Dictionary`2 Speak.MainClass::statusmodes + .line 34,34 : 9,28 '' + IL_0016: ldarg.0 + IL_0017: call instance void [Hyphen]Virtuoso.Hyphen.Mini.StandalonePlugin::.ctor() + .line 36,36 : 13,41 '' + IL_001c: ldarg.0 + IL_001d: newobj instance void Speak.Opt.Options::.ctor() + IL_0022: stfld class Speak.Opt.Options Speak.MainClass::option + .line 37,37 : 13,87 '' + IL_0027: ldarg.0 + IL_0028: ldfld class Speak.Opt.Options Speak.MainClass::option + IL_002d: ldarg.0 + IL_002e: ldftn instance void Speak.MainClass::option_hasUpdated(valuetype Speak.Opt.Options/EventChanged) + IL_0034: newobj instance void Speak.Opt.Options/ChangedEventHandler::.ctor(object, native int) - IL_0023: callvirt instance void Speak.Opt.Options::add_Changed(class Speak.Opt.Options/ChangedEventHandler) - .line 31,31 : 9,10 '' - IL_0028: ret + IL_0039: callvirt instance void Speak.Opt.Options::add_Changed(class Speak.Opt.Options/ChangedEventHandler) + .line 38,38 : 9,10 '' + IL_003e: ret } // end of method MainClass::.ctor .method family hidebysig virtual instance void AfterPluginInitialization() cil managed { - // Code size 108 (0x6c) + // Code size 125 (0x7d) .maxstack 3 - .line 38,38 : 13,60 '' + .line 45,45 : 13,60 '' IL_0000: ldarg.0 IL_0001: ldc.i4.0 IL_0002: call instance void Speak.MainClass::option_hasUpdated(valuetype Speak.Opt.Options/EventChanged) - .line 39,39 : 13,62 '' + .line 46,46 : 13,62 '' IL_0007: ldarg.0 IL_0008: ldc.i4.1 IL_0009: call instance void Speak.MainClass::option_hasUpdated(valuetype Speak.Opt.Options/EventChanged) - .line 40,40 : 13,60 '' + .line 47,47 : 13,60 '' IL_000e: ldarg.0 IL_000f: ldc.i4.2 IL_0010: call instance void Speak.MainClass::option_hasUpdated(valuetype Speak.Opt.Options/EventChanged) - .line 41,41 : 13,30 '' + .line 48,48 : 13,30 '' IL_0015: ldarg.0 IL_0016: call instance void Speak.MainClass::RegisterUpdate() - .line 42,42 : 13,89 '' - IL_001b: ldsfld string Speak.Structs.API::ME_OPT_INITIALISE + .line 49,49 : 13,89 '' + IL_001b: ldstr "Opt/Initialise" IL_0020: ldarg.0 IL_0021: ldfld class Speak.Opt.Options Speak.MainClass::option IL_0026: ldftn instance int32 Speak.Opt.Options::Opts(native uint, @@ -23151,8 +23161,8 @@ IL_0032: call void [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.EventManager::CreateEventHook(string, class [Hyphen]Virtuoso.Miranda.Plugins.Callback, class [Hyphen]Virtuoso.Miranda.Plugins.MirandaPlugin) - .line 43,43 : 13,80 '' - IL_0037: ldsfld string Speak.Structs.API::ME_DB_EVENT_ADDED + .line 50,50 : 13,80 '' + IL_0037: ldstr "DB/Event/Added" IL_003c: ldarg.0 IL_003d: ldftn instance int32 Speak.MainClass::Message(native uint, native int) @@ -23162,8 +23172,8 @@ IL_0049: call void [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.EventManager::CreateEventHook(string, class [Hyphen]Virtuoso.Miranda.Plugins.Callback, class [Hyphen]Virtuoso.Miranda.Plugins.MirandaPlugin) - .line 44,44 : 13,96 '' - IL_004e: ldsfld string Speak.Structs.API::ME_DB_CONTACT_SETTINGCHANGED + .line 51,51 : 13,96 '' + IL_004e: ldstr "DB/Contact/SettingChanged" IL_0053: ldarg.0 IL_0054: ldftn instance int32 Speak.MainClass::StatusChange(native uint, native int) @@ -23173,133 +23183,263 @@ IL_0060: call void [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.EventManager::CreateEventHook(string, class [Hyphen]Virtuoso.Miranda.Plugins.Callback, class [Hyphen]Virtuoso.Miranda.Plugins.MirandaPlugin) - .line 45,45 : 13,28 '' + .line 52,52 : 13,56 '' IL_0065: ldarg.0 - IL_0066: call instance void Speak.MainClass::SpeakWelcome() - .line 46,46 : 9,10 '' - IL_006b: ret + IL_0066: ldftn instance bool Speak.MainClass::StatusModeChange(object, + class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ProtocolStatusChangeEventArgs) + IL_006c: newobj instance void class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaEventHandler`1::.ctor(object, + native int) + IL_0071: call void [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.Protocol::add_StatusChanged(class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaEventHandler`1) + .line 53,53 : 13,28 '' + IL_0076: ldarg.0 + IL_0077: call instance void Speak.MainClass::SpeakWelcome() + .line 54,54 : 9,10 '' + IL_007c: ret } // end of method MainClass::AfterPluginInitialization + .method private hidebysig instance bool + StatusModeChange(object sender, + class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ProtocolStatusChangeEventArgs e) cil managed + { + // Code size 222 (0xde) + .maxstack 3 + .locals init ([0] valuetype [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.StatusMode old, + [1] valuetype [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.StatusMode neu, + [2] valuetype [mscorlib]System.DateTime CS$0$0000, + [3] valuetype [mscorlib]System.DateTime CS$0$0001) + .line 58,58 : 13,49 '' + IL_0000: ldc.i4 0x9c87 + IL_0005: stloc.0 + .line 59,59 : 13,42 '' + IL_0006: ldarg.2 + IL_0007: callvirt instance valuetype [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.StatusMode [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ProtocolStatusChangeEventArgs::get_NewStatus() + IL_000c: stloc.1 + .line 60,60 : 13,58 '' + IL_000d: ldarg.0 + IL_000e: ldfld class [mscorlib]System.Collections.Generic.Dictionary`2 Speak.MainClass::statusmodes + IL_0013: ldarg.2 + IL_0014: callvirt instance class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.Protocol [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ProtocolStatusChangeEventArgs::get_Protocol() + IL_0019: callvirt instance string [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.Protocol::get_Name() + IL_001e: callvirt instance bool class [mscorlib]System.Collections.Generic.Dictionary`2::ContainsKey(!0) + IL_0023: brfalse.s IL_0055 + + .line 62,62 : 17,52 '' + IL_0025: ldarg.0 + IL_0026: ldfld class [mscorlib]System.Collections.Generic.Dictionary`2 Speak.MainClass::statusmodes + IL_002b: ldarg.2 + IL_002c: callvirt instance class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.Protocol [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ProtocolStatusChangeEventArgs::get_Protocol() + IL_0031: callvirt instance string [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.Protocol::get_Name() + IL_0036: callvirt instance !1 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Item(!0) + IL_003b: stloc.0 + .line 63,63 : 17,52 '' + IL_003c: ldarg.0 + IL_003d: ldfld class [mscorlib]System.Collections.Generic.Dictionary`2 Speak.MainClass::statusmodes + IL_0042: ldarg.2 + IL_0043: callvirt instance class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.Protocol [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ProtocolStatusChangeEventArgs::get_Protocol() + IL_0048: callvirt instance string [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.Protocol::get_Name() + IL_004d: ldloc.1 + IL_004e: callvirt instance void class [mscorlib]System.Collections.Generic.Dictionary`2::set_Item(!0, + !1) + IL_0053: br.s IL_006c + + .line 67,67 : 17,55 '' + IL_0055: ldarg.0 + IL_0056: ldfld class [mscorlib]System.Collections.Generic.Dictionary`2 Speak.MainClass::statusmodes + IL_005b: ldarg.2 + IL_005c: callvirt instance class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.Protocol [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ProtocolStatusChangeEventArgs::get_Protocol() + IL_0061: callvirt instance string [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.Protocol::get_Name() + IL_0066: ldloc.1 + IL_0067: callvirt instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + .line 69,69 : 13,60 '' + IL_006c: call class Speak.Storage.Settings Speak.Storage.Settings::getInstance() + IL_0071: callvirt instance bool Speak.Storage.Settings::getActiveConnect() + IL_0076: brtrue.s IL_00a4 + + .line 71,71 : 17,76 '' + IL_0078: ldloc.0 + IL_0079: ldc.i4 0x9c87 + IL_007e: bne.un.s IL_00a4 + + IL_0080: ldloc.1 + IL_0081: ldc.i4 0x9c87 + IL_0086: beq.s IL_00a4 + + .line 73,73 : 21,68 '' + IL_0088: ldarg.0 + IL_0089: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_008e: stloc.2 + IL_008f: ldloca.s CS$0$0000 + IL_0091: ldc.r8 5. + IL_009a: call instance valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::AddSeconds(float64) + IL_009f: stfld valuetype [mscorlib]System.DateTime Speak.MainClass::status_pause + .line 76,76 : 13,63 '' + IL_00a4: call class Speak.Storage.Settings Speak.Storage.Settings::getInstance() + IL_00a9: callvirt instance bool Speak.Storage.Settings::getActiveDisconnect() + IL_00ae: brtrue.s IL_00dc + + .line 78,78 : 17,76 '' + IL_00b0: ldloc.0 + IL_00b1: ldc.i4 0x9c87 + IL_00b6: beq.s IL_00dc + + IL_00b8: ldloc.1 + IL_00b9: ldc.i4 0x9c87 + IL_00be: bne.un.s IL_00dc + + .line 80,80 : 21,68 '' + IL_00c0: ldarg.0 + IL_00c1: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_00c6: stloc.3 + IL_00c7: ldloca.s CS$0$0001 + IL_00c9: ldc.r8 5. + IL_00d2: call instance valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::AddSeconds(float64) + IL_00d7: stfld valuetype [mscorlib]System.DateTime Speak.MainClass::status_pause + .line 83,83 : 13,25 '' + IL_00dc: ldc.i4.1 + IL_00dd: ret + } // end of method MainClass::StatusModeChange + .method family hidebysig virtual instance void BeforePluginDisable() cil managed { - // Code size 44 (0x2c) + // Code size 50 (0x32) .maxstack 8 - .line 50,50 : 13,71 '' - IL_0000: ldsfld string Speak.Structs.API::ME_OPT_INITIALISE + .line 88,88 : 13,71 '' + IL_0000: ldstr "Opt/Initialise" IL_0005: ldarg.0 IL_0006: call void [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.EventManager::RemoveEventHook(string, class [Hyphen]Virtuoso.Miranda.Plugins.MirandaPlugin) - .line 51,51 : 13,71 '' - IL_000b: ldsfld string Speak.Structs.API::ME_DB_EVENT_ADDED + .line 89,89 : 13,71 '' + IL_000b: ldstr "DB/Event/Added" IL_0010: ldarg.0 IL_0011: call void [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.EventManager::RemoveEventHook(string, class [Hyphen]Virtuoso.Miranda.Plugins.MirandaPlugin) - .line 52,52 : 13,82 '' - IL_0016: ldsfld string Speak.Structs.API::ME_DB_CONTACT_SETTINGCHANGED + .line 90,90 : 13,82 '' + IL_0016: ldstr "DB/Contact/SettingChanged" IL_001b: ldarg.0 IL_001c: call void [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.EventManager::RemoveEventHook(string, class [Hyphen]Virtuoso.Miranda.Plugins.MirandaPlugin) - .line 53,53 : 13,46 '' - IL_0021: call class Speak.TTS.TextToSpeak Speak.TTS.TextToSpeak::getInstance() - IL_0026: callvirt instance void Speak.TTS.TextToSpeak::Stop() - .line 54,54 : 9,10 '' - IL_002b: ret + .line 91,91 : 13,44 '' + IL_0021: ldnull + IL_0022: call void [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.Protocol::remove_StatusChanged(class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaEventHandler`1) + .line 92,92 : 13,46 '' + IL_0027: call class Speak.TTS.TextToSpeak Speak.TTS.TextToSpeak::getInstance() + IL_002c: callvirt instance void Speak.TTS.TextToSpeak::Stop() + .line 93,93 : 9,10 '' + IL_0031: ret } // end of method MainClass::BeforePluginDisable .method private hidebysig instance int32 Message(native uint wParam, native int lParam) cil managed { - // Code size 38 (0x26) + // Code size 127 (0x7f) .maxstack 3 - .locals init ([0] class [mscorlib]System.Exception e) - .line 60,60 : 17,54 '' - .try - { - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: ldarg.2 - IL_0003: call instance void Speak.MainClass::exceptionmacher(native uint, - native int) - IL_0008: leave.s IL_0024 + .locals init ([0] class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.DatabaseEventInfo d, + [1] class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo c, + [2] class Speak.Storage.Settings s, + [3] class Speak.TTS.TextToSpeak tts, + [4] string text, + [5] string sig) + .line 97,97 : 13,72 '' + IL_0000: ldarg.2 + IL_0001: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.DatabaseEventInfo [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.DatabaseEventInfo::FromHandle(native int) + IL_0006: stloc.0 + .line 98,98 : 13,132 '' + IL_0007: ldloc.0 + IL_0008: callvirt instance valuetype [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.DatabaseEventType [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.DatabaseEventInfo::get_Type() + IL_000d: brtrue.s IL_007d - .line 76,76 : 13,32 '' - } // end .try - catch [mscorlib]System.Exception - { - IL_000a: stloc.0 - .line 78,78 : 17,68 '' - IL_000b: ldloc.0 - IL_000c: callvirt instance class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Exception::get_TargetSite() - IL_0011: callvirt instance string [mscorlib]System.Object::ToString() - IL_0016: ldloc.0 - IL_0017: callvirt instance string [mscorlib]System.Exception::get_Source() - IL_001c: call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, - string) - IL_0021: pop - IL_0022: leave.s IL_0024 + IL_000f: ldloc.0 + IL_0010: callvirt instance valuetype [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.DatabaseEventProperties [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.DatabaseEventInfo::get_Flags() + IL_0015: ldc.i4.2 + IL_0016: and + IL_0017: ldc.i4.2 + IL_0018: beq.s IL_007d - .line 80,80 : 13,22 '' - } // end handler - IL_0024: ldc.i4.0 - IL_0025: ret + .line 100,100 : 17,64 '' + IL_001a: ldarg.1 + IL_001b: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::FromHandle(native uint) + IL_0020: stloc.1 + .line 101,101 : 17,53 '' + IL_0021: call class Speak.Storage.Settings Speak.Storage.Settings::getInstance() + IL_0026: stloc.2 + .line 102,102 : 17,69 '' + IL_0027: ldloc.2 + IL_0028: ldloc.0 + IL_0029: callvirt instance string [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.DatabaseEventInfo::get_Data() + IL_002e: ldloc.1 + IL_002f: callvirt instance object [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::get_UniqueID() + IL_0034: callvirt instance string [mscorlib]System.Object::ToString() + IL_0039: callvirt instance bool Speak.Storage.Settings::canMessageRead(string, + string) + IL_003e: brfalse.s IL_007d + + .line 104,104 : 21,65 '' + IL_0040: call class Speak.TTS.TextToSpeak Speak.TTS.TextToSpeak::getInstance() + IL_0045: stloc.3 + .line 105,105 : 21,92 '' + IL_0046: ldloc.2 + IL_0047: callvirt instance string Speak.Storage.Settings::getSpeakString() + IL_004c: ldloc.1 + IL_004d: callvirt instance string [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::get_DisplayName() + IL_0052: ldloc.0 + IL_0053: callvirt instance string [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.DatabaseEventInfo::get_Data() + IL_0058: call string [mscorlib]System.String::Format(string, + object, + object) + IL_005d: stloc.s text + .line 106,106 : 21,53 '' + IL_005f: ldloc.s text + IL_0061: ldloc.0 + IL_0062: callvirt instance valuetype [mscorlib]System.DateTime [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.DatabaseEventInfo::get_Timestamp() + IL_0067: box [mscorlib]System.DateTime + IL_006c: call string [mscorlib]System.String::Concat(object, + object) + IL_0071: stloc.s sig + .line 108,108 : 21,42 '' + IL_0073: ldloc.3 + IL_0074: ldloc.s text + IL_0076: ldloc.s sig + IL_0078: callvirt instance void Speak.TTS.TextToSpeak::speak(string, + string) + .line 111,111 : 13,22 '' + IL_007d: ldc.i4.0 + IL_007e: ret } // end of method MainClass::Message - .method private hidebysig instance void - exceptionmacher(native uint wParam, - native int lParam) cil managed - { - // Code size 48 (0x30) - .maxstack 8 - .line 85,85 : 13,86 '' - IL_0000: ldstr "wp: " - IL_0005: ldarga.s wParam - IL_0007: constrained. [mscorlib]System.UIntPtr - IL_000d: callvirt instance string [mscorlib]System.Object::ToString() - IL_0012: ldstr "lp: " - IL_0017: ldarga.s lParam - IL_0019: constrained. [mscorlib]System.IntPtr - IL_001f: callvirt instance string [mscorlib]System.Object::ToString() - IL_0024: call string [mscorlib]System.String::Concat(string, - string, - string, - string) - IL_0029: call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string) - IL_002e: pop - .line 86,86 : 9,10 '' - IL_002f: ret - } // end of method MainClass::exceptionmacher - .method private hidebysig instance int32 StatusChange(native uint wParam, native int lParam) cil managed { - // Code size 147 (0x93) - .maxstack 3 + // Code size 189 (0xbd) + .maxstack 4 .locals init ([0] class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo c, [1] class Speak.Storage.Settings s, [2] class Speak.TTS.TextToSpeak tts, [3] string text, [4] valuetype [mscorlib]System.Nullable`1 CS$0$0000, - [5] valuetype [mscorlib]System.Nullable`1 CS$0$0001) - .line 90,90 : 13,60 '' + [5] valuetype [mscorlib]System.Nullable`1 CS$0$0001, + [6] valuetype [mscorlib]System.DateTime CS$0$0002, + [7] int64 CS$0$0003) + .line 116,116 : 13,60 '' IL_0000: ldarg.1 IL_0001: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::FromHandle(native uint) IL_0006: stloc.0 - .line 91,91 : 13,36 '' + .line 117,117 : 13,36 '' IL_0007: ldloc.0 IL_0008: callvirt instance object [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::get_UniqueID() IL_000d: brtrue.s IL_0011 - .line 93,93 : 17,26 '' + .line 119,119 : 17,26 '' IL_000f: ldc.i4.0 IL_0010: ret - .line 95,95 : 13,49 '' + .line 121,121 : 13,49 '' IL_0011: call class Speak.Storage.Settings Speak.Storage.Settings::getInstance() IL_0016: stloc.1 - .line 96,96 : 13,80 '' + .line 122,122 : 13,80 '' IL_0017: ldloc.1 IL_0018: ldloc.0 IL_0019: callvirt instance object [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::get_UniqueID() @@ -23312,45 +23452,62 @@ IL_0033: callvirt instance string [mscorlib]System.Object::ToString() IL_0038: callvirt instance bool Speak.Storage.Settings::hasChangedStatus(string, string) - IL_003d: brfalse.s IL_0091 + IL_003d: brfalse.s IL_00bb - .line 98,98 : 17,60 '' + .line 124,124 : 17,60 '' IL_003f: ldloc.1 IL_0040: ldloc.0 IL_0041: callvirt instance object [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::get_UniqueID() IL_0046: callvirt instance string [mscorlib]System.Object::ToString() IL_004b: callvirt instance bool Speak.Storage.Settings::canStatusRead(string) - IL_0050: brfalse.s IL_0091 + IL_0050: brfalse.s IL_00bb - .line 100,100 : 21,65 '' - IL_0052: call class Speak.TTS.TextToSpeak Speak.TTS.TextToSpeak::getInstance() - IL_0057: stloc.2 - .line 101,101 : 21,114 '' - IL_0058: ldloc.1 - IL_0059: ldloc.0 - IL_005a: callvirt instance valuetype [mscorlib]System.Nullable`1 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::get_Status() - IL_005f: callvirt instance string Speak.Storage.Settings::getStatusString(valuetype [mscorlib]System.Nullable`1) - IL_0064: ldloc.0 - IL_0065: callvirt instance string [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::get_DisplayName() - IL_006a: ldloc.0 - IL_006b: callvirt instance valuetype [mscorlib]System.Nullable`1 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::get_Status() - IL_0070: stloc.s CS$0$0001 - IL_0072: ldloca.s CS$0$0001 - IL_0074: constrained. valuetype [mscorlib]System.Nullable`1 - IL_007a: callvirt instance string [mscorlib]System.Object::ToString() - IL_007f: call string [mscorlib]System.String::Format(string, + .line 126,126 : 21,54 '' + IL_0052: ldarg.0 + IL_0053: ldfld valuetype [mscorlib]System.DateTime Speak.MainClass::status_pause + IL_0058: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_005d: call bool [mscorlib]System.DateTime::op_LessThanOrEqual(valuetype [mscorlib]System.DateTime, + valuetype [mscorlib]System.DateTime) + IL_0062: brfalse.s IL_00bb + + .line 128,128 : 25,69 '' + IL_0064: call class Speak.TTS.TextToSpeak Speak.TTS.TextToSpeak::getInstance() + IL_0069: stloc.2 + .line 129,129 : 25,118 '' + IL_006a: ldloc.1 + IL_006b: ldloc.0 + IL_006c: callvirt instance valuetype [mscorlib]System.Nullable`1 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::get_Status() + IL_0071: callvirt instance string Speak.Storage.Settings::getStatusString(valuetype [mscorlib]System.Nullable`1) + IL_0076: ldloc.0 + IL_0077: callvirt instance string [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::get_DisplayName() + IL_007c: ldloc.0 + IL_007d: callvirt instance valuetype [mscorlib]System.Nullable`1 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.ContactInfo::get_Status() + IL_0082: stloc.s CS$0$0001 + IL_0084: ldloca.s CS$0$0001 + IL_0086: constrained. valuetype [mscorlib]System.Nullable`1 + IL_008c: callvirt instance string [mscorlib]System.Object::ToString() + IL_0091: call string [mscorlib]System.String::Format(string, object, object) - IL_0084: stloc.3 - .line 102,102 : 21,40 '' - IL_0085: ldloc.2 - IL_0086: ldloc.3 - IL_0087: ldstr "" - IL_008c: callvirt instance void Speak.TTS.TextToSpeak::speak(string, + IL_0096: stloc.3 + .line 130,130 : 25,79 '' + IL_0097: ldloc.2 + IL_0098: ldloc.3 + IL_0099: ldloc.3 + IL_009a: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_009f: stloc.s CS$0$0002 + IL_00a1: ldloca.s CS$0$0002 + IL_00a3: call instance int64 [mscorlib]System.DateTime::get_Ticks() + IL_00a8: stloc.s CS$0$0003 + IL_00aa: ldloca.s CS$0$0003 + IL_00ac: call instance string [mscorlib]System.Int64::ToString() + IL_00b1: call string [mscorlib]System.String::Concat(string, + string) + IL_00b6: callvirt instance void Speak.TTS.TextToSpeak::speak(string, string) - .line 105,105 : 13,22 '' - IL_0091: ldc.i4.0 - IL_0092: ret + .line 134,134 : 13,22 '' + IL_00bb: ldc.i4.0 + IL_00bc: ret } // end of method MainClass::StatusChange .method private hidebysig instance void @@ -23364,15 +23521,15 @@ [3] int64 CS$0$0000, [4] int64 CS$0$0001, [5] int64 CS$0$0002) - .line 110,110 : 13,50 '' + .line 139,139 : 13,50 '' IL_0000: ldarg.1 IL_0001: ldc.i4.2 IL_0002: bne.un IL_008e - .line 112,112 : 17,61 '' + .line 141,141 : 17,61 '' IL_0007: call class Speak.TTS.TextToSpeak Speak.TTS.TextToSpeak::getInstance() IL_000c: stloc.0 - .line 113,113 : 17,78 '' + .line 142,142 : 17,78 '' IL_000d: ldloc.0 IL_000e: ldstr "engine" IL_0013: ldstr "speak_config" @@ -23380,7 +23537,7 @@ string) IL_001d: callvirt instance bool Speak.TTS.TextToSpeak::setVoice(string) IL_0022: pop - .line 114,114 : 17,99 '' + .line 143,143 : 17,99 '' IL_0023: ldloc.0 IL_0024: ldstr "volume" IL_0029: ldstr "speak_config" @@ -23392,7 +23549,7 @@ IL_003b: call int32 [mscorlib]System.Int32::Parse(string) IL_0040: callvirt instance bool Speak.TTS.TextToSpeak::setVolume(int32) IL_0045: pop - .line 115,115 : 17,95 '' + .line 144,144 : 17,95 '' IL_0046: ldloc.0 IL_0047: ldstr "rate" IL_004c: ldstr "speak_config" @@ -23404,7 +23561,7 @@ IL_005f: call int32 [mscorlib]System.Int32::Parse(string) IL_0064: callvirt instance bool Speak.TTS.TextToSpeak::setRate(int32) IL_0069: pop - .line 116,116 : 17,97 '' + .line 145,145 : 17,97 '' IL_006a: ldloc.0 IL_006b: ldstr "pitch" IL_0070: ldstr "speak_config" @@ -23416,28 +23573,28 @@ IL_0083: call int32 [mscorlib]System.Int32::Parse(string) IL_0088: callvirt instance bool Speak.TTS.TextToSpeak::setPitch(int32) IL_008d: pop - .line 118,118 : 13,50 '' + .line 147,147 : 13,50 '' IL_008e: ldarg.1 IL_008f: brtrue.s IL_009d - .line 120,120 : 17,53 '' + .line 149,149 : 17,53 '' IL_0091: call class Speak.Storage.Settings Speak.Storage.Settings::getInstance() IL_0096: stloc.1 - .line 121,121 : 17,37 '' + .line 150,150 : 17,37 '' IL_0097: ldloc.1 IL_0098: callvirt instance void Speak.Storage.Settings::ReadContactList() - .line 123,123 : 13,52 '' + .line 152,152 : 13,52 '' IL_009d: ldarg.1 IL_009e: ldc.i4.1 IL_009f: bne.un.s IL_00ad - .line 125,125 : 17,53 '' + .line 154,154 : 17,53 '' IL_00a1: call class Speak.Storage.Settings Speak.Storage.Settings::getInstance() IL_00a6: stloc.2 - .line 126,126 : 17,39 '' + .line 155,155 : 17,39 '' IL_00a7: ldloc.2 IL_00a8: callvirt instance void Speak.Storage.Settings::SetGlobalSettings() - .line 128,128 : 9,10 '' + .line 157,157 : 9,10 '' IL_00ad: ret } // end of method MainClass::option_hasUpdated @@ -23447,10 +23604,10 @@ // Code size 48 (0x30) .maxstack 4 .locals init ([0] class Speak.TTS.TextToSpeak tts) - .line 132,132 : 13,57 '' + .line 161,161 : 13,57 '' IL_0000: call class Speak.TTS.TextToSpeak Speak.TTS.TextToSpeak::getInstance() IL_0005: stloc.0 - .line 133,133 : 13,102 '' + .line 162,162 : 13,102 '' IL_0006: ldloc.0 IL_0007: ldstr "welcome_msg" IL_000c: ldstr "speak_config" @@ -23463,7 +23620,7 @@ object) IL_002a: callvirt instance void Speak.TTS.TextToSpeak::speak(string, string) - .line 134,134 : 9,10 '' + .line 163,163 : 9,10 '' IL_002f: ret } // end of method MainClass::SpeakWelcome @@ -23473,21 +23630,21 @@ // Code size 76 (0x4c) .maxstack 4 .locals init ([0] class [Hyphen]Virtuoso.Miranda.Plugins.ThirdParty.Updater.Update update) - .line 140,140 : 17,202 '' + .line 169,169 : 17,186 '' .try { IL_0000: ldarg.0 IL_0001: ldarg.0 IL_0002: callvirt instance class [System]System.Uri [Hyphen]Virtuoso.Miranda.Plugins.MirandaPlugin::get_HomePage() IL_0007: callvirt instance string [mscorlib]System.Object::ToString() - IL_000c: ldstr "files/miranda/speak_last.zip" + IL_000c: ldstr "files/speak_last.zip" IL_0011: call string [mscorlib]System.String::Concat(string, string) IL_0016: newobj instance void [System]System.Uri::.ctor(string) IL_001b: ldarg.0 IL_001c: callvirt instance class [System]System.Uri [Hyphen]Virtuoso.Miranda.Plugins.MirandaPlugin::get_HomePage() IL_0021: callvirt instance string [mscorlib]System.Object::ToString() - IL_0026: ldstr "files/miranda/speak_updater_version.txt" + IL_0026: ldstr "files/speak_updater_version.txt" IL_002b: call string [mscorlib]System.String::Concat(string, string) IL_0030: newobj instance void [System]System.Uri::.ctor(string) @@ -23497,19 +23654,19 @@ class [System]System.Uri, string) IL_003f: stloc.0 - .line 141,141 : 17,57 '' + .line 170,170 : 17,57 '' IL_0040: ldloc.0 IL_0041: call void [Hyphen]Virtuoso.Miranda.Plugins.ThirdParty.Updater.UpdaterPlugin::RegisterForUpdate(class [Hyphen]Virtuoso.Miranda.Plugins.ThirdParty.Updater.Update) IL_0046: leave.s IL_004b - .line 143,143 : 13,42 '' + .line 172,172 : 13,42 '' } // end .try catch [mscorlib]System.NotSupportedException { IL_0048: pop IL_0049: leave.s IL_004b - .line 144,144 : 9,10 '' + .line 173,173 : 9,10 '' } // end handler IL_004b: ret } // end of method MainClass::RegisterUpdate @@ -23519,7 +23676,7 @@ { // Code size 6 (0x6) .maxstack 8 - .line 157,157 : 19,38 '' + .line 181,181 : 19,38 '' IL_0000: ldstr "BlubbFish" IL_0005: ret } // end of method MainClass::get_Author @@ -23529,7 +23686,7 @@ { // Code size 6 (0x6) .maxstack 8 - .line 165,165 : 19,48 '' + .line 189,189 : 19,48 '' IL_0000: ldstr ".NET Speak Provider" IL_0005: ret } // end of method MainClass::get_Description @@ -23539,7 +23696,7 @@ { // Code size 2 (0x2) .maxstack 8 - .line 173,173 : 19,32 '' + .line 197,197 : 19,32 '' IL_0000: ldc.i4.0 IL_0001: ret } // end of method MainClass::get_HasOptions @@ -23550,8 +23707,8 @@ { // Code size 11 (0xb) .maxstack 8 - .line 181,181 : 19,62 '' - IL_0000: ldstr "http://dev.blubbfish.net" + .line 205,205 : 19,66 '' + IL_0000: ldstr "http://miranda.blubbfish.net" IL_0005: newobj instance void [System]System.Uri::.ctor(string) IL_000a: ret } // end of method MainClass::get_HomePage @@ -23561,7 +23718,7 @@ { // Code size 6 (0x6) .maxstack 8 - .line 189,189 : 19,34 '' + .line 213,213 : 19,34 '' IL_0000: ldstr "Speak" IL_0005: ret } // end of method MainClass::get_Name @@ -23570,11 +23727,12 @@ instance class [mscorlib]System.Version get_Version() cil managed { - // Code size 6 (0x6) + // Code size 11 (0xb) .maxstack 8 - .line 197,197 : 19,34 '' - IL_0000: ldsfld class [mscorlib]System.Version Speak.MainClass::VERSION - IL_0005: ret + .line 221,221 : 19,47 '' + IL_0000: ldstr "1.0.1.1" + IL_0005: newobj instance void [mscorlib]System.Version::.ctor(string) + IL_000a: ret } // end of method MainClass::get_Version .method public hidebysig specialname virtual @@ -23582,7 +23740,7 @@ { // Code size 6 (0x6) .maxstack 8 - .line 205,205 : 19,46 '' + .line 229,229 : 19,46 '' IL_0000: ldstr "dev@blubbfish.net" IL_0005: ret } // end of method MainClass::get_AuthorEmail @@ -23592,7 +23750,7 @@ { // Code size 6 (0x6) .maxstack 8 - .line 213,213 : 19,45 '' + .line 237,237 : 19,45 '' IL_0000: ldstr bytearray (32 00 30 00 31 00 33 00 20 00 A9 00 20 00 42 00 // 2.0.1.3. ... .B. 6C 00 75 00 62 00 62 00 46 00 69 00 73 00 68 00 ) // l.u.b.b.F.i.s.h. IL_0005: ret @@ -23605,7 +23763,7 @@ // Code size 26 (0x1a) .maxstack 2 .locals init ([0] valuetype [mscorlib]System.Guid[] CS$0$0000) - .line 221,221 : 19,46 '' + .line 245,245 : 19,46 '' IL_0000: ldc.i4.1 IL_0001: newarr [mscorlib]System.Guid IL_0006: stloc.0 @@ -23623,7 +23781,7 @@ { // Code size 2 (0x2) .maxstack 8 - .line 229,229 : 19,28 '' + .line 253,253 : 19,28 '' IL_0000: ldc.i4.0 IL_0001: ret } // end of method MainClass::get_ReplacesDefaultModule @@ -23634,7 +23792,7 @@ { // Code size 6 (0x6) .maxstack 8 - .line 237,237 : 19,31 '' + .line 261,261 : 19,31 '' IL_0000: ldsfld valuetype [mscorlib]System.Guid Speak.MainClass::uuid IL_0005: ret } // end of method MainClass::get_UUID @@ -23642,23 +23800,13 @@ .method private hidebysig specialname rtspecialname static void .cctor() cil managed { - // Code size 30 (0x1e) + // Code size 16 (0x10) .maxstack 8 - .line 150,150 : 9,66 '' - IL_0000: ldc.i4.0 - IL_0001: ldc.i4.8 - IL_0002: ldc.i4.0 - IL_0003: ldc.i4.0 - IL_0004: newobj instance void [mscorlib]System.Version::.ctor(int32, - int32, - int32, - int32) - IL_0009: stsfld class [mscorlib]System.Version Speak.MainClass::VERSION - .line 240,240 : 9,94 '' - IL_000e: ldstr "65BC8980-1028-40A4-A52F-440C48035E02" - IL_0013: newobj instance void [mscorlib]System.Guid::.ctor(string) - IL_0018: stsfld valuetype [mscorlib]System.Guid Speak.MainClass::uuid - IL_001d: ret + .line 264,264 : 9,94 '' + IL_0000: ldstr "65BC8980-1028-40A4-A52F-440C48035E02" + IL_0005: newobj instance void [mscorlib]System.Guid::.ctor(string) + IL_000a: stsfld valuetype [mscorlib]System.Guid Speak.MainClass::uuid + IL_000f: ret } // end of method MainClass::.cctor .property instance string Author() @@ -24078,7 +24226,7 @@ bool) .line 163,163 : 13,89 '' IL_00e6: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_00eb: ldsfld string Speak.Structs.API::MS_OPT_ADDPAGE + IL_00eb: ldstr "Opt/AddPage" IL_00f0: ldarg.1 IL_00f1: ldloc.1 IL_00f2: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -24166,7 +24314,7 @@ bool) .line 181,181 : 13,92 '' IL_01c5: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_01ca: ldsfld string Speak.Structs.API::MS_OPT_ADDPAGE + IL_01ca: ldstr "Opt/AddPage" IL_01cf: ldarg.1 IL_01d0: ldloc.3 IL_01d1: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -24254,7 +24402,7 @@ bool) .line 199,199 : 13,90 '' IL_02a9: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_02ae: ldsfld string Speak.Structs.API::MS_OPT_ADDPAGE + IL_02ae: ldstr "Opt/AddPage" IL_02b3: ldarg.1 IL_02b4: ldloc.s cmdPtrEngine IL_02b6: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -26118,7 +26266,7 @@ .line 575,575 : 33,138 '' IL_0298: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_029d: ldsfld string Speak.Structs.API::MS_DB_CONTACT_FINDFIRST + IL_029d: ldstr "DB/Contact/FindFirst" IL_02a2: ldsfld native int [mscorlib]System.IntPtr::Zero IL_02a7: ldsfld native int [mscorlib]System.IntPtr::Zero IL_02ac: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -26244,7 +26392,7 @@ .line 608,608 : 35,155 '' IL_0394: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0399: ldsfld string Speak.Structs.API::MS_DB_CONTACT_FINDNEXT + IL_0399: ldstr "DB/Contact/FindNext" IL_039e: ldloc.s hContact IL_03a0: call native int [mscorlib]System.IntPtr::op_Explicit(int32) IL_03a5: ldsfld native int [mscorlib]System.IntPtr::Zero @@ -26972,7 +27120,7 @@ IL_000d: pop .line 760,760 : 13,118 '' IL_000e: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0013: ldsfld string Speak.Structs.API::MS_DB_CONTACT_FINDFIRST + IL_0013: ldstr "DB/Contact/FindFirst" IL_0018: ldsfld native int [mscorlib]System.IntPtr::Zero IL_001d: ldsfld native int [mscorlib]System.IntPtr::Zero IL_0022: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -27011,7 +27159,7 @@ .line 772,772 : 25,136 '' IL_0052: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0057: ldsfld string Speak.Structs.API::MS_PROTO_GETCONTACTBASEPROTO + IL_0057: ldstr "Proto/GetContactBaseProto" IL_005c: ldloc.1 IL_005d: call native int [mscorlib]System.IntPtr::op_Explicit(int32) IL_0062: ldsfld native int [mscorlib]System.IntPtr::Zero @@ -27125,7 +27273,7 @@ IL_0131: pop .line 796,796 : 15,134 '' IL_0132: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0137: ldsfld string Speak.Structs.API::MS_DB_CONTACT_FINDNEXT + IL_0137: ldstr "DB/Contact/FindNext" IL_013c: ldloc.0 IL_013d: call native int [mscorlib]System.IntPtr::op_Explicit(int32) IL_0142: ldsfld native int [mscorlib]System.IntPtr::Zero @@ -35491,223 +35639,93 @@ IL_0073: ret } // end of method Settings::getStatusString + .method public hidebysig instance bool + getActiveConnect() cil managed + { + // Code size 17 (0x11) + .maxstack 8 + .line 162,162 : 13,80 '' + IL_0000: ldstr "active_connect" + IL_0005: ldstr "speak_config" + IL_000a: ldc.i4.0 + IL_000b: call bool Speak.Opt.Options::readDBBool(string, + string, + bool) + IL_0010: ret + } // end of method Settings::getActiveConnect + + .method public hidebysig instance bool + getActiveDisconnect() cil managed + { + // Code size 17 (0x11) + .maxstack 8 + .line 169,169 : 13,83 '' + IL_0000: ldstr "active_disconnect" + IL_0005: ldstr "speak_config" + IL_000a: ldc.i4.0 + IL_000b: call bool Speak.Opt.Options::readDBBool(string, + string, + bool) + IL_0010: ret + } // end of method Settings::getActiveDisconnect + } // end of class Speak.Storage.Settings .class private abstract auto ansi sealed beforefieldinit Speak.Structs.API extends [mscorlib]System.Object { - .field public static string MS_SYSTEM_GETVERSION - .field public static string MS_DB_EVENT_ADD - .field public static string MS_DB_EVENT_GET - .field public static string MS_DB_EVENT_DELETE - .field public static string MS_DB_EVENT_GETBLOBSIZE - .field public static string MS_DB_TIME_TIMESTAMPTOLOCAL - .field public static string MS_PROTO_ADDTOCONTACT - .field public static string MS_PROTO_ISPROTOONCONTACT - .field public static string MS_PROTO_REGISTERMODULE - .field public static string MS_PROTO_CHAINSEND - .field public static string MS_PROTO_CHAINRECV - .field public static string MS_PROTO_CALLCONTACTSERVICE - .field public static string MS_PROTO_GETCONTACTBASEPROTO - .field public static string PS_SETSTATUS - .field public static string PS_GETSTATUS - .field public static string PSR_MESSAGE - .field public static string PSR_MESSAGEW - .field public static string PSS_MESSAGE - .field public static string PSS_MESSAGEW - .field public static string MS_MSG_SENDMESSAGE - .field public static string ME_MSG_WINDOWEVENT - .field public static string MS_SKIN2_ADDICON - .field public static string MS_SKIN2_GETICON - .field public static string MS_SKIN2_GETICONBYHANDLE - .field public static string ME_SKIN2_ICONSCHANGED - .field public static string MS_BB_ADDBUTTON - .field public static string MS_BB_REMOVEBUTTON - .field public static string MS_BB_GETBUTTONSTATE - .field public static string MS_BB_SETBUTTONSTATE - .field public static string ME_MSG_TOOLBARLOADED - .field public static string ME_MSG_BUTTONPRESSED - .field public static string ME_IEVIEW_OPTIONSCHANGED - .field public static string ME_DB_CONTACT_SETTINGCHANGED - .field public static string ME_DB_EVENT_ADDED - .field public static string MS_UTILS_OPENURL - .field public static string ME_OPT_INITIALISE - .field public static string MS_OPT_ADDPAGE - .field public static string MS_GC_NEWSESSION - .field public static string MS_MSG_GETWINDOWCLASS - .field public static string MS_PROTO_ENUMPROTOS - .field public static string MS_PROTO_ENUMPROTOCOLS - .field public static string MS_PROTO_ENUMACCOUNTS - .field public static string MS_IEVIEW_WINDOW - .field public static string ME_HPP_RICHEDIT_ITEMPROCESS - .field public static string MS_HPP_EG_WINDOW - .field public static string MS_HPP_GETVERSION - .field public static string MS_DB_GETPROFILEPATH - .field public static string MS_DB_GETPROFILENAME - .field public static int32 CALLSERVICE_NOTFOUND - .field public static string MS_DB_CONTACT_FINDFIRST - .field public static string MS_DB_CONTACT_FINDNEXT - .method private hidebysig specialname rtspecialname static - void .cctor() cil managed - { - // Code size 511 (0x1ff) - .maxstack 1 - .line 7,7 : 9,81 'd:\\Visual Studio 2012\\Projects\\miranda\\Speak\\Speak\\Structs\\API.cs' - IL_0000: ldstr "Miranda/System/GetVersion" - IL_0005: stsfld string Speak.Structs.API::MS_SYSTEM_GETVERSION - .line 9,9 : 9,63 '' - IL_000a: ldstr "DB/Event/Add" - IL_000f: stsfld string Speak.Structs.API::MS_DB_EVENT_ADD - .line 10,10 : 9,63 '' - IL_0014: ldstr "DB/Event/Get" - IL_0019: stsfld string Speak.Structs.API::MS_DB_EVENT_GET - .line 11,11 : 9,69 '' - IL_001e: ldstr "DB/Event/Delete" - IL_0023: stsfld string Speak.Structs.API::MS_DB_EVENT_DELETE - .line 12,12 : 9,79 '' - IL_0028: ldstr "DB/Event/GetBlobSize" - IL_002d: stsfld string Speak.Structs.API::MS_DB_EVENT_GETBLOBSIZE - .line 13,13 : 9,87 '' - IL_0032: ldstr "DB/Time/TimestampToLocal" - IL_0037: stsfld string Speak.Structs.API::MS_DB_TIME_TIMESTAMPTOLOCAL - .line 16,16 : 9,75 '' - IL_003c: ldstr "Proto/AddToContact" - IL_0041: stsfld string Speak.Structs.API::MS_PROTO_ADDTOCONTACT - .line 17,17 : 9,83 '' - IL_0046: ldstr "Proto/IsProtoOnContact" - IL_004b: stsfld string Speak.Structs.API::MS_PROTO_ISPROTOONCONTACT - .line 18,18 : 9,79 '' - IL_0050: ldstr "Proto/RegisterModule" - IL_0055: stsfld string Speak.Structs.API::MS_PROTO_REGISTERMODULE - .line 19,19 : 9,69 '' - IL_005a: ldstr "Proto/ChainSend" - IL_005f: stsfld string Speak.Structs.API::MS_PROTO_CHAINSEND - .line 20,20 : 9,69 '' - IL_0064: ldstr "Proto/ChainRecv" - IL_0069: stsfld string Speak.Structs.API::MS_PROTO_CHAINRECV - .line 21,21 : 9,87 '' - IL_006e: ldstr "Proto/CallContactService" - IL_0073: stsfld string Speak.Structs.API::MS_PROTO_CALLCONTACTSERVICE - .line 22,22 : 9,89 '' - IL_0078: ldstr "Proto/GetContactBaseProto" - IL_007d: stsfld string Speak.Structs.API::MS_PROTO_GETCONTACTBASEPROTO - .line 24,24 : 9,58 '' - IL_0082: ldstr "/SetStatus" - IL_0087: stsfld string Speak.Structs.API::PS_SETSTATUS - .line 25,25 : 9,58 '' - IL_008c: ldstr "/GetStatus" - IL_0091: stsfld string Speak.Structs.API::PS_GETSTATUS - .line 27,27 : 9,60 '' - IL_0096: ldstr "/RecvMessage" - IL_009b: stsfld string Speak.Structs.API::PSR_MESSAGE - .line 28,28 : 9,61 '' - IL_00a0: ldstr "/RecvMessageW" - IL_00a5: stsfld string Speak.Structs.API::PSR_MESSAGEW - .line 29,29 : 9,56 '' - IL_00aa: ldstr "/SendMsg" - IL_00af: stsfld string Speak.Structs.API::PSS_MESSAGE - .line 30,30 : 9,57 '' - IL_00b4: ldstr "/SendMsgW" - IL_00b9: stsfld string Speak.Structs.API::PSS_MESSAGEW - .line 32,32 : 9,71 '' - IL_00be: ldstr "SRMsg/SendCommand" - IL_00c3: stsfld string Speak.Structs.API::MS_MSG_SENDMESSAGE - .line 33,33 : 9,76 '' - IL_00c8: ldstr "MessageAPI/WindowEvent" - IL_00cd: stsfld string Speak.Structs.API::ME_MSG_WINDOWEVENT - .line 35,35 : 9,71 '' - IL_00d2: ldstr "Skin2/Icons/AddIcon" - IL_00d7: stsfld string Speak.Structs.API::MS_SKIN2_ADDICON - .line 36,36 : 9,71 '' - IL_00dc: ldstr "Skin2/Icons/GetIcon" - IL_00e1: stsfld string Speak.Structs.API::MS_SKIN2_GETICON - .line 37,37 : 9,87 '' - IL_00e6: ldstr "Skin2/Icons/GetIconByHandle" - IL_00eb: stsfld string Speak.Structs.API::MS_SKIN2_GETICONBYHANDLE - .line 38,38 : 9,75 '' - IL_00f0: ldstr "Skin2/IconsChanged" - IL_00f5: stsfld string Speak.Structs.API::ME_SKIN2_ICONSCHANGED - .line 40,40 : 9,80 '' - IL_00fa: ldstr "TabSRMM/ButtonsBar/AddButton" - IL_00ff: stsfld string Speak.Structs.API::MS_BB_ADDBUTTON - .line 41,41 : 9,85 '' - IL_0104: ldstr "TabSRMM/ButtonsBar/RemoveButton" - IL_0109: stsfld string Speak.Structs.API::MS_BB_REMOVEBUTTON - .line 42,42 : 9,89 '' - IL_010e: ldstr "TabSRMM/ButtonsBar/GetButtonState" - IL_0113: stsfld string Speak.Structs.API::MS_BB_GETBUTTONSTATE - .line 43,43 : 9,89 '' - IL_0118: ldstr "TabSRMM/ButtonsBar/SetButtonState" - IL_011d: stsfld string Speak.Structs.API::MS_BB_SETBUTTONSTATE - .line 44,44 : 9,87 '' - IL_0122: ldstr "TabSRMM/ButtonsBar/ModuleLoaded" - IL_0127: stsfld string Speak.Structs.API::ME_MSG_TOOLBARLOADED - .line 45,45 : 9,88 '' - IL_012c: ldstr "TabSRMM/ButtonsBar/ButtonPressed" - IL_0131: stsfld string Speak.Structs.API::ME_MSG_BUTTONPRESSED - .line 47,47 : 9,81 '' - IL_0136: ldstr "IEVIEW/OptionsChanged" - IL_013b: stsfld string Speak.Structs.API::ME_IEVIEW_OPTIONSCHANGED - .line 48,48 : 9,89 '' - IL_0140: ldstr "DB/Contact/SettingChanged" - IL_0145: stsfld string Speak.Structs.API::ME_DB_CONTACT_SETTINGCHANGED - .line 50,50 : 9,67 '' - IL_014a: ldstr "DB/Event/Added" - IL_014f: stsfld string Speak.Structs.API::ME_DB_EVENT_ADDED - .line 52,52 : 9,65 '' - IL_0154: ldstr "Utils/OpenURL" - IL_0159: stsfld string Speak.Structs.API::MS_UTILS_OPENURL - .line 54,54 : 9,67 '' - IL_015e: ldstr "Opt/Initialise" - IL_0163: stsfld string Speak.Structs.API::ME_OPT_INITIALISE - .line 55,55 : 9,61 '' - IL_0168: ldstr "Opt/AddPage" - IL_016d: stsfld string Speak.Structs.API::MS_OPT_ADDPAGE - .line 57,57 : 9,65 '' - IL_0172: ldstr "GChat/NewChat" - IL_0177: stsfld string Speak.Structs.API::MS_GC_NEWSESSION - .line 59,59 : 9,79 '' - IL_017c: ldstr "MessageAPI/WindowClass" - IL_0181: stsfld string Speak.Structs.API::MS_MSG_GETWINDOWCLASS - .line 61,61 : 9,71 '' - IL_0186: ldstr "Proto/EnumProtos" - IL_018b: stsfld string Speak.Structs.API::MS_PROTO_ENUMPROTOS - .line 62,62 : 9,77 '' - IL_0190: ldstr "Proto/EnumProtocols" - IL_0195: stsfld string Speak.Structs.API::MS_PROTO_ENUMPROTOCOLS - .line 63,63 : 9,75 '' - IL_019a: ldstr "Proto/EnumAccounts" - IL_019f: stsfld string Speak.Structs.API::MS_PROTO_ENUMACCOUNTS - .line 65,65 : 9,68 '' - IL_01a4: ldstr "IEVIEW/NewWindow" - IL_01a9: stsfld string Speak.Structs.API::MS_IEVIEW_WINDOW - .line 67,67 : 9,98 '' - IL_01ae: ldstr "History++/RichEdit/ItemProcessEvent" - IL_01b3: stsfld string Speak.Structs.API::ME_HPP_RICHEDIT_ITEMPROCESS - .line 68,68 : 9,79 '' - IL_01b8: ldstr "History++/ExtGrid/NewWindow" - IL_01bd: stsfld string Speak.Structs.API::MS_HPP_EG_WINDOW - .line 69,69 : 9,73 '' - IL_01c2: ldstr "History++/GetVersion" - IL_01c7: stsfld string Speak.Structs.API::MS_HPP_GETVERSION - .line 71,71 : 9,73 '' - IL_01cc: ldstr "DB/GetProfilePath" - IL_01d1: stsfld string Speak.Structs.API::MS_DB_GETPROFILEPATH - .line 72,72 : 9,73 '' - IL_01d6: ldstr "DB/GetProfileName" - IL_01db: stsfld string Speak.Structs.API::MS_DB_GETPROFILENAME - .line 74,74 : 9,80 '' - IL_01e0: ldc.i4 0x80000000 - IL_01e5: stsfld int32 Speak.Structs.API::CALLSERVICE_NOTFOUND - .line 75,75 : 9,79 '' - IL_01ea: ldstr "DB/Contact/FindFirst" - IL_01ef: stsfld string Speak.Structs.API::MS_DB_CONTACT_FINDFIRST - .line 76,76 : 9,77 '' - IL_01f4: ldstr "DB/Contact/FindNext" - IL_01f9: stsfld string Speak.Structs.API::MS_DB_CONTACT_FINDNEXT - IL_01fe: ret - } // end of method API::.cctor - + .field public static literal string MS_SYSTEM_GETVERSION = "Miranda/System/GetVersion" + .field public static literal string MS_DB_EVENT_ADD = "DB/Event/Add" + .field public static literal string MS_DB_EVENT_GET = "DB/Event/Get" + .field public static literal string MS_DB_EVENT_DELETE = "DB/Event/Delete" + .field public static literal string MS_DB_EVENT_GETBLOBSIZE = "DB/Event/GetBlobSize" + .field public static literal string MS_DB_TIME_TIMESTAMPTOLOCAL = "DB/Time/TimestampToLocal" + .field public static literal string MS_PROTO_ADDTOCONTACT = "Proto/AddToContact" + .field public static literal string MS_PROTO_ISPROTOONCONTACT = "Proto/IsProtoOnContact" + .field public static literal string MS_PROTO_REGISTERMODULE = "Proto/RegisterModule" + .field public static literal string MS_PROTO_CHAINSEND = "Proto/ChainSend" + .field public static literal string MS_PROTO_CHAINRECV = "Proto/ChainRecv" + .field public static literal string MS_PROTO_CALLCONTACTSERVICE = "Proto/CallContactService" + .field public static literal string MS_PROTO_GETCONTACTBASEPROTO = "Proto/GetContactBaseProto" + .field public static literal string PS_SETSTATUS = "/SetStatus" + .field public static literal string PS_GETSTATUS = "/GetStatus" + .field public static literal string PSR_MESSAGE = "/RecvMessage" + .field public static literal string PSR_MESSAGEW = "/RecvMessageW" + .field public static literal string PSS_MESSAGE = "/SendMsg" + .field public static literal string PSS_MESSAGEW = "/SendMsgW" + .field public static literal string MS_MSG_SENDMESSAGE = "SRMsg/SendCommand" + .field public static literal string ME_MSG_WINDOWEVENT = "MessageAPI/WindowEvent" + .field public static literal string MS_SKIN2_ADDICON = "Skin2/Icons/AddIcon" + .field public static literal string MS_SKIN2_GETICON = "Skin2/Icons/GetIcon" + .field public static literal string MS_SKIN2_GETICONBYHANDLE = "Skin2/Icons/GetIconByHandle" + .field public static literal string ME_SKIN2_ICONSCHANGED = "Skin2/IconsChanged" + .field public static literal string MS_BB_ADDBUTTON = "TabSRMM/ButtonsBar/AddButton" + .field public static literal string MS_BB_REMOVEBUTTON = "TabSRMM/ButtonsBar/RemoveButton" + .field public static literal string MS_BB_GETBUTTONSTATE = "TabSRMM/ButtonsBar/GetButtonState" + .field public static literal string MS_BB_SETBUTTONSTATE = "TabSRMM/ButtonsBar/SetButtonState" + .field public static literal string ME_MSG_TOOLBARLOADED = "TabSRMM/ButtonsBar/ModuleLoaded" + .field public static literal string ME_MSG_BUTTONPRESSED = "TabSRMM/ButtonsBar/ButtonPressed" + .field public static literal string ME_IEVIEW_OPTIONSCHANGED = "IEVIEW/OptionsChanged" + .field public static literal string ME_DB_CONTACT_SETTINGCHANGED = "DB/Contact/SettingChanged" + .field public static literal string ME_DB_EVENT_ADDED = "DB/Event/Added" + .field public static literal string MS_UTILS_OPENURL = "Utils/OpenURL" + .field public static literal string ME_OPT_INITIALISE = "Opt/Initialise" + .field public static literal string MS_OPT_ADDPAGE = "Opt/AddPage" + .field public static literal string MS_GC_NEWSESSION = "GChat/NewChat" + .field public static literal string MS_MSG_GETWINDOWCLASS = "MessageAPI/WindowClass" + .field public static literal string MS_PROTO_ENUMPROTOS = "Proto/EnumProtos" + .field public static literal string MS_PROTO_ENUMPROTOCOLS = "Proto/EnumProtocols" + .field public static literal string MS_PROTO_ENUMACCOUNTS = "Proto/EnumAccounts" + .field public static literal string MS_IEVIEW_WINDOW = "IEVIEW/NewWindow" + .field public static literal string ME_HPP_RICHEDIT_ITEMPROCESS = "History++/RichEdit/ItemProcessEvent" + .field public static literal string MS_HPP_EG_WINDOW = "History++/ExtGrid/NewWindow" + .field public static literal string MS_HPP_GETVERSION = "History++/GetVersion" + .field public static literal string MS_DB_GETPROFILEPATH = "DB/GetProfilePath" + .field public static literal string MS_DB_GETPROFILENAME = "DB/GetProfileName" + .field public static literal int32 CALLSERVICE_NOTFOUND = int32(0x80000000) + .field public static literal string MS_DB_CONTACT_FINDFIRST = "DB/Contact/FindFirst" + .field public static literal string MS_DB_CONTACT_FINDNEXT = "DB/Contact/FindNext" + .field public static literal string ME_CLIST_STATUSMODECHANGE = "CList/StatusModeChange" } // end of class Speak.Structs.API .class public auto ansi sealed Speak.Structs.StatusModes @@ -36645,78 +36663,135 @@ .method private hidebysig instance void Speaker() cil managed { - // Code size 95 (0x5f) + // Code size 218 (0xda) .maxstack 4 .locals init ([0] string text, - [1] class [mscorlib]System.Exception e) - IL_0000: br.s IL_0056 + [1] string voice, + [2] int32 vol, + [3] int32 rate, + [4] class [mscorlib]System.Exception e) + IL_0000: br IL_00ce .line 49,49 : 17,34 '' - IL_0002: ldstr "" - IL_0007: stloc.0 + IL_0005: ldstr "" + IL_000a: stloc.0 .line 52,52 : 21,44 '' .try { - IL_0008: ldarg.0 - IL_0009: ldfld class [System]System.Collections.Generic.Queue`1 Speak.TTS.TextToSpeak::quene - IL_000e: callvirt instance !0 class [System]System.Collections.Generic.Queue`1::Dequeue() - IL_0013: stloc.0 - IL_0014: leave.s IL_0019 + IL_000b: ldarg.0 + IL_000c: ldfld class [System]System.Collections.Generic.Queue`1 Speak.TTS.TextToSpeak::quene + IL_0011: callvirt instance !0 class [System]System.Collections.Generic.Queue`1::Dequeue() + IL_0016: stloc.0 + IL_0017: leave.s IL_001c .line 54,54 : 17,50 '' } // end .try catch [mscorlib]System.InvalidOperationException { - IL_0016: pop - IL_0017: leave.s IL_0019 + IL_0019: pop + IL_001a: leave.s IL_001c .line 55,55 : 17,32 '' } // end handler - IL_0019: ldloc.0 - IL_001a: ldstr "" - IL_001f: call bool [mscorlib]System.String::op_Inequality(string, + IL_001c: ldloc.0 + IL_001d: ldstr "" + IL_0022: call bool [mscorlib]System.String::op_Inequality(string, string) - IL_0024: brfalse.s IL_004c + IL_0027: brfalse IL_00c4 - .line 59,59 : 25,41 '' + .line 59,59 : 25,46 '' .try { - IL_0026: ldarg.0 - IL_0027: ldfld class [System.Speech]System.Speech.Synthesis.SpeechSynthesizer Speak.TTS.TextToSpeak::syn - IL_002c: ldloc.0 - IL_002d: callvirt instance void [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::Speak(string) - IL_0032: leave.s IL_0056 + IL_002c: ldarg.0 + IL_002d: ldfld class [System.Speech]System.Speech.Synthesis.SpeechSynthesizer Speak.TTS.TextToSpeak::syn + IL_0032: ldloc.0 + IL_0033: callvirt instance void [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::Speak(string) + IL_0038: leave IL_00ce - .line 61,61 : 21,40 '' + .line 61,61 : 21,49 '' } // end .try + catch [mscorlib]System.OutOfMemoryException + { + IL_003d: pop + .line 63,63 : 25,60 '' + IL_003e: ldarg.0 + IL_003f: ldfld class [System.Speech]System.Speech.Synthesis.SpeechSynthesizer Speak.TTS.TextToSpeak::syn + IL_0044: callvirt instance class [System.Speech]System.Speech.Synthesis.VoiceInfo [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::get_Voice() + IL_0049: callvirt instance string [System.Speech]System.Speech.Synthesis.VoiceInfo::get_Name() + IL_004e: stloc.1 + .line 64,64 : 25,51 '' + IL_004f: ldarg.0 + IL_0050: ldfld class [System.Speech]System.Speech.Synthesis.SpeechSynthesizer Speak.TTS.TextToSpeak::syn + IL_0055: callvirt instance int32 [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::get_Volume() + IL_005a: stloc.2 + .line 65,65 : 25,50 '' + IL_005b: ldarg.0 + IL_005c: ldfld class [System.Speech]System.Speech.Synthesis.SpeechSynthesizer Speak.TTS.TextToSpeak::syn + IL_0061: callvirt instance int32 [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::get_Rate() + IL_0066: stloc.3 + .line 66,66 : 25,41 '' + IL_0067: ldarg.0 + IL_0068: ldnull + IL_0069: stfld class [System.Speech]System.Speech.Synthesis.SpeechSynthesizer Speak.TTS.TextToSpeak::syn + .line 67,67 : 25,60 '' + IL_006e: ldarg.0 + IL_006f: newobj instance void [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::.ctor() + IL_0074: stfld class [System.Speech]System.Speech.Synthesis.SpeechSynthesizer Speak.TTS.TextToSpeak::syn + .line 68,68 : 25,46 '' + IL_0079: ldarg.0 + IL_007a: ldloc.1 + IL_007b: call instance bool Speak.TTS.TextToSpeak::setVoice(string) + IL_0080: pop + .line 69,69 : 25,45 '' + IL_0081: ldarg.0 + IL_0082: ldloc.2 + IL_0083: call instance bool Speak.TTS.TextToSpeak::setVolume(int32) + IL_0088: pop + .line 70,70 : 25,44 '' + IL_0089: ldarg.0 + IL_008a: ldloc.3 + IL_008b: call instance bool Speak.TTS.TextToSpeak::setRate(int32) + IL_0090: pop + .line 71,71 : 25,45 '' + IL_0091: ldarg.0 + IL_0092: ldfld class [System]System.Collections.Generic.Queue`1 Speak.TTS.TextToSpeak::quene + IL_0097: ldloc.0 + IL_0098: callvirt instance void class [System]System.Collections.Generic.Queue`1::Enqueue(!0) + IL_009d: leave.s IL_00ce + + .line 73,73 : 21,40 '' + } // end handler catch [mscorlib]System.Exception { - IL_0034: stloc.1 - .line 63,63 : 25,169 '' - IL_0035: ldloc.1 - IL_0036: callvirt instance string [mscorlib]System.Exception::get_Message() - IL_003b: ldloc.1 - IL_003c: callvirt instance string [mscorlib]System.Exception::get_Source() - IL_0041: ldc.i4.0 - IL_0042: ldc.i4.s 16 - IL_0044: call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, + IL_009f: stloc.s e + .line 75,75 : 25,188 '' + IL_00a1: ldloc.s e + IL_00a3: callvirt instance string [mscorlib]System.Object::ToString() + IL_00a8: ldstr "Fehler in: " + IL_00ad: ldloc.s e + IL_00af: callvirt instance string [mscorlib]System.Exception::get_Source() + IL_00b4: call string [mscorlib]System.String::Concat(string, + string) + IL_00b9: ldc.i4.0 + IL_00ba: ldc.i4.s 16 + IL_00bc: call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, string, valuetype [System.Windows.Forms]System.Windows.Forms.MessageBoxButtons, valuetype [System.Windows.Forms]System.Windows.Forms.MessageBoxIcon) - IL_0049: pop - IL_004a: leave.s IL_0056 + IL_00c1: pop + IL_00c2: leave.s IL_00ce - .line 68,68 : 21,39 '' + .line 80,80 : 21,39 '' } // end handler - IL_004c: ldc.i4 0x12c - IL_0051: call void [mscorlib]System.Threading.Thread::Sleep(int32) + IL_00c4: ldc.i4 0x12c + IL_00c9: call void [mscorlib]System.Threading.Thread::Sleep(int32) .line 47,47 : 13,27 '' - IL_0056: ldarg.0 - IL_0057: ldfld bool Speak.TTS.TextToSpeak::runner - IL_005c: brtrue.s IL_0002 + IL_00ce: ldarg.0 + IL_00cf: ldfld bool Speak.TTS.TextToSpeak::runner + IL_00d4: brtrue IL_0005 - .line 71,71 : 9,10 '' - IL_005e: ret + .line 83,83 : 9,10 '' + IL_00d9: ret } // end of method TextToSpeak::Speaker .method public hidebysig instance void @@ -36725,36 +36800,36 @@ { // Code size 66 (0x42) .maxstack 2 - .line 80,80 : 13,43 '' + .line 92,92 : 13,43 '' IL_0000: ldarg.0 IL_0001: ldfld class [mscorlib]System.Collections.Generic.List`1 Speak.TTS.TextToSpeak::last IL_0006: ldarg.2 IL_0007: callvirt instance bool class [mscorlib]System.Collections.Generic.List`1::Contains(!0) IL_000c: brtrue.s IL_0026 - .line 82,82 : 17,37 '' + .line 94,94 : 17,37 '' IL_000e: ldarg.0 IL_000f: ldfld class [mscorlib]System.Collections.Generic.List`1 Speak.TTS.TextToSpeak::last IL_0014: ldarg.2 IL_0015: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) - .line 83,83 : 17,37 '' + .line 95,95 : 17,37 '' IL_001a: ldarg.0 IL_001b: ldfld class [System]System.Collections.Generic.Queue`1 Speak.TTS.TextToSpeak::quene IL_0020: ldarg.1 IL_0021: callvirt instance void class [System]System.Collections.Generic.Queue`1::Enqueue(!0) - .line 85,85 : 13,33 '' + .line 97,97 : 13,33 '' IL_0026: ldarg.0 IL_0027: ldfld class [mscorlib]System.Collections.Generic.List`1 Speak.TTS.TextToSpeak::last IL_002c: callvirt instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() IL_0031: ldc.i4.s 10 IL_0033: ble.s IL_0041 - .line 87,87 : 17,34 '' + .line 99,99 : 17,34 '' IL_0035: ldarg.0 IL_0036: ldfld class [mscorlib]System.Collections.Generic.List`1 Speak.TTS.TextToSpeak::last IL_003b: ldc.i4.0 IL_003c: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::RemoveAt(int32) - .line 89,89 : 9,10 '' + .line 101,101 : 9,10 '' IL_0041: ret } // end of method TextToSpeak::speak @@ -36767,14 +36842,14 @@ [1] class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1 voices, [2] class [System.Speech]System.Speech.Synthesis.InstalledVoice item, [3] class [mscorlib]System.Collections.Generic.IEnumerator`1 CS$5$0000) - .line 97,97 : 13,51 '' + .line 109,109 : 13,51 '' IL_0000: newobj instance void class [mscorlib]System.Collections.Generic.List`1::.ctor() IL_0005: stloc.0 - .line 98,98 : 13,102 '' + .line 110,110 : 13,102 '' IL_0006: newobj instance void [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::.ctor() IL_000b: call instance class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1 [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::GetInstalledVoices() IL_0010: stloc.1 - .line 99,99 : 45,51 '' + .line 111,111 : 45,51 '' IL_0011: ldloc.1 IL_0012: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1::GetEnumerator() IL_0017: stloc.3 @@ -36782,17 +36857,17 @@ { IL_0018: br.s IL_0032 - .line 99,99 : 22,41 '' + .line 111,111 : 22,41 '' IL_001a: ldloc.3 IL_001b: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() IL_0020: stloc.2 - .line 101,101 : 17,46 '' + .line 113,113 : 17,46 '' IL_0021: ldloc.0 IL_0022: ldloc.2 IL_0023: callvirt instance class [System.Speech]System.Speech.Synthesis.VoiceInfo [System.Speech]System.Speech.Synthesis.InstalledVoice::get_VoiceInfo() IL_0028: callvirt instance string [System.Speech]System.Speech.Synthesis.VoiceInfo::get_Name() IL_002d: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) - .line 99,99 : 42,44 '' + .line 111,111 : 42,44 '' IL_0032: ldloc.3 IL_0033: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() IL_0038: brtrue.s IL_001a @@ -36808,7 +36883,7 @@ IL_003f: ldloc.3 IL_0040: callvirt instance void [mscorlib]System.IDisposable::Dispose() IL_0045: endfinally - .line 103,103 : 13,24 '' + .line 115,115 : 13,24 '' } // end handler IL_0046: ldloc.0 IL_0047: ret @@ -36820,18 +36895,18 @@ // Code size 59 (0x3b) .maxstack 2 .locals init ([0] bool CS$1$0000) - .line 113,113 : 13,29 '' + .line 125,125 : 13,29 '' IL_0000: ldarg.1 IL_0001: ldstr "" IL_0006: call bool [mscorlib]System.String::op_Equality(string, string) IL_000b: brfalse.s IL_000f - .line 114,114 : 17,30 '' + .line 126,126 : 17,30 '' IL_000d: ldc.i4.0 IL_000e: ret - .line 117,117 : 17,45 '' + .line 129,129 : 17,45 '' .try { IL_000f: ldarg.0 @@ -36840,17 +36915,17 @@ IL_0016: callvirt instance void [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::SelectVoice(string) IL_001b: leave.s IL_0022 - .line 119,119 : 13,30 '' + .line 131,131 : 13,30 '' } // end .try catch [mscorlib]System.Exception { IL_001d: pop - .line 121,121 : 17,30 '' + .line 133,133 : 17,30 '' IL_001e: ldc.i4.0 IL_001f: stloc.0 IL_0020: leave.s IL_0039 - .line 123,123 : 13,49 '' + .line 135,135 : 13,49 '' } // end handler IL_0022: ldarg.0 IL_0023: ldfld class [System.Speech]System.Speech.Synthesis.SpeechSynthesizer Speak.TTS.TextToSpeak::syn @@ -36861,7 +36936,7 @@ string) IL_0038: ret - .line 124,124 : 9,10 '' + .line 136,136 : 9,10 '' IL_0039: ldloc.0 IL_003a: ret } // end of method TextToSpeak::setVoice @@ -36871,7 +36946,7 @@ { // Code size 38 (0x26) .maxstack 8 - .line 133,133 : 13,44 '' + .line 145,145 : 13,44 '' IL_0000: ldarg.1 IL_0001: ldc.i4.s 100 IL_0003: bgt.s IL_0009 @@ -36880,16 +36955,16 @@ IL_0006: ldc.i4.0 IL_0007: bge.s IL_000b - .line 134,134 : 17,30 '' + .line 146,146 : 17,30 '' IL_0009: ldc.i4.0 IL_000a: ret - .line 135,135 : 13,38 '' + .line 147,147 : 13,38 '' IL_000b: ldarg.0 IL_000c: ldfld class [System.Speech]System.Speech.Synthesis.SpeechSynthesizer Speak.TTS.TextToSpeak::syn IL_0011: ldarg.1 IL_0012: callvirt instance void [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::set_Volume(int32) - .line 136,136 : 13,46 '' + .line 148,148 : 13,46 '' IL_0017: ldarg.0 IL_0018: ldfld class [System.Speech]System.Speech.Synthesis.SpeechSynthesizer Speak.TTS.TextToSpeak::syn IL_001d: callvirt instance int32 [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::get_Volume() @@ -36903,7 +36978,7 @@ { // Code size 49 (0x31) .maxstack 8 - .line 146,146 : 13,40 '' + .line 158,158 : 13,40 '' IL_0000: ldarg.1 IL_0001: ldc.i4.s 100 IL_0003: bgt.s IL_0009 @@ -36912,26 +36987,26 @@ IL_0006: ldc.i4.0 IL_0007: bge.s IL_000b - .line 147,147 : 17,30 '' + .line 159,159 : 17,30 '' IL_0009: ldc.i4.0 IL_000a: ret - .line 148,148 : 13,29 '' + .line 160,160 : 13,29 '' IL_000b: ldarg.1 IL_000c: ldc.i4.5 IL_000d: div IL_000e: starg.s rate - .line 149,149 : 13,30 '' + .line 161,161 : 13,30 '' IL_0010: ldarg.1 IL_0011: ldc.i4.s 10 IL_0013: sub IL_0014: starg.s rate - .line 150,150 : 13,34 '' + .line 162,162 : 13,34 '' IL_0016: ldarg.0 IL_0017: ldfld class [System.Speech]System.Speech.Synthesis.SpeechSynthesizer Speak.TTS.TextToSpeak::syn IL_001c: ldarg.1 IL_001d: callvirt instance void [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::set_Rate(int32) - .line 151,151 : 13,42 '' + .line 163,163 : 13,42 '' IL_0022: ldarg.0 IL_0023: ldfld class [System.Speech]System.Speech.Synthesis.SpeechSynthesizer Speak.TTS.TextToSpeak::syn IL_0028: callvirt instance int32 [System.Speech]System.Speech.Synthesis.SpeechSynthesizer::get_Rate() @@ -36945,7 +37020,7 @@ { // Code size 2 (0x2) .maxstack 8 - .line 162,162 : 13,25 '' + .line 174,174 : 13,25 '' IL_0000: ldc.i4.1 IL_0001: ret } // end of method TextToSpeak::setPitch @@ -36955,15 +37030,15 @@ { // Code size 19 (0x13) .maxstack 8 - .line 167,167 : 13,39 '' + .line 179,179 : 13,39 '' IL_0000: ldarg.0 IL_0001: ldfld class [mscorlib]System.Threading.Thread Speak.TTS.TextToSpeak::workerThread IL_0006: callvirt instance void [mscorlib]System.Threading.Thread::Abort() - .line 168,168 : 13,33 '' + .line 180,180 : 13,33 '' IL_000b: ldarg.0 IL_000c: ldc.i4.0 IL_000d: stfld bool Speak.TTS.TextToSpeak::runner - .line 169,169 : 9,10 '' + .line 181,181 : 9,10 '' IL_0012: ret } // end of method TextToSpeak::Stop @@ -38530,7 +38605,7 @@ valuetype [Hyphen]Virtuoso.Miranda.Plugins.Native.StringEncoding) .line 55,55 : 13,90 '' IL_0009: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_000e: ldsfld string Speak.Structs.API::MS_UTILS_OPENURL + IL_000e: ldstr "Utils/OpenURL" IL_0013: ldc.i4.1 IL_0014: newobj instance void [mscorlib]System.IntPtr::.ctor(int32) IL_0019: ldloc.0 @@ -38554,7 +38629,7 @@ .locals init ([0] int32 ts) .line 61,61 : 13,127 '' IL_0000: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0005: ldsfld string Speak.Structs.API::MS_DB_TIME_TIMESTAMPTOLOCAL + IL_0005: ldstr "DB/Time/TimestampToLocal" IL_000a: ldarg.0 IL_000b: newobj instance void [mscorlib]System.UIntPtr::.ctor(uint32) IL_0010: ldsfld native int [mscorlib]System.IntPtr::Zero @@ -38598,7 +38673,7 @@ IL_0013: stloc.2 .line 71,71 : 13,96 '' IL_0014: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_0019: ldsfld string Speak.Structs.API::MS_PROTO_ENUMPROTOCOLS + IL_0019: ldstr "Proto/EnumProtocols" IL_001e: ldloc.1 IL_001f: ldloc.2 IL_0020: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, @@ -38720,7 +38795,7 @@ IL_0000: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() IL_0005: ldstr "{0}{1}" IL_000a: ldarg.0 - IL_000b: ldsfld string Speak.Structs.API::PS_GETSTATUS + IL_000b: ldstr "/GetStatus" IL_0010: call string [mscorlib]System.String::Format(string, object, object) @@ -38754,7 +38829,7 @@ IL_0009: stloc.1 .line 111,111 : 13,106 '' IL_000a: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_000f: ldsfld string Speak.Structs.API::MS_MSG_GETWINDOWCLASS + IL_000f: ldstr "MessageAPI/WindowClass" IL_0014: ldloc.1 IL_0015: ldloc.0 IL_0016: newobj instance void [mscorlib]System.IntPtr::.ctor(int32) @@ -38923,7 +38998,7 @@ .line 152,152 : 21,140 '' IL_0035: call class [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::get_Current() - IL_003a: ldsfld string Speak.Structs.API::MS_SYSTEM_GETVERSION + IL_003a: ldstr "Miranda/System/GetVersion" IL_003f: ldsfld native int [mscorlib]System.IntPtr::Zero IL_0044: ldsfld native int [mscorlib]System.IntPtr::Zero IL_0049: callvirt instance int32 [Hyphen]Virtuoso.Miranda.Plugins.Infrastructure.MirandaContext::CallService(string, diff --git a/Out/Plugins/Speak.master.XML b/Out/Plugins/Speak.master.XML index 441df3d..3d0b502 100644 --- a/Out/Plugins/Speak.master.XML +++ b/Out/Plugins/Speak.master.XML @@ -965,16 +965,16 @@ MainClass of Speak - - - Run after the Plugin Initialisation - - Get Version + + + Run after the Plugin Initialisation + + Get Author diff --git a/Out/Plugins/Speak.master.dll b/Out/Plugins/Speak.master.dll index f07c2109aa46591e34ff03ab229f44db70cb126b..f066fc8ea5761e04cdcb14797b01e3c099081f56 100644 GIT binary patch delta 66706 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%0Axvze|LGO{W{!TBV;!If4Axbz;9Zg-`x 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 delta 46187 zcmb5X4P1|B`#*l2*HtNsJ}M=p@{myE`QZ+IJdF*DF-0gunTMi0OccXnv2xLwEtU;q zi`6{D#MtZ}`!m_iJ$Bn}Hg>axY;3k+zxQ#S$0whAzwh_|`u{(#*Sq67kMlU6j`KK= z^Wl0Z_q0#$X`h0~`gsjB>zASL4RilYyswYY#lyWquMq3qeCsdK{`}Jg@kVZ?EkgfR ztataVzx1!X`Yr)U8-5-sAQzLKVt@JWtwFEet#`J%EU;>CQ2j`6@0myI`MCW1*`5d9 zt#Pe)n>zpZy!ksO{jF-nzxG)Xy@w2No$9J-)Ao*B@|5s8gv$?r z!$6g}Yw1(8hKUZOc^UGKfSR<-xdY3QbD&jH_fYFdPsrghgfZ7I;vrfH)L zO)CbP)Yr5bK&yJ1mI};;+(FfU|fffFmb`~fP(6onuF-5c2m2M;1KnZ~v%;s)-n>bF@Q zAoK?sTL#c?9U6EZaQr^QMI7q06Q$h))|)F!+PD^zD$R-#|6WT``e(poJ zPyE_yL*30WTe>7r!y>?K_HDFy=5(87@wldjlG-RP1=R7QVjQxQC%K;?St_1nDb87T zlUewN&ty_I#cl$1j-`q_atiwQ$3Ia{)F6_jIA>Y19*68_vxfE}S+XjUol)Q1v88tm z8KFaDY_mTGlL#3niBOz#cAn6ILw5P7VdZA+mLPNL8<9C=3XX{4cJ*JOOvpqi6N+=r zggVzDJ2Z2DZ<3|XCRvJemL=PeR3ST+YiH6$Fuz20c%OTsi%NSKC; zbH-#*4%xigC2x@|SsKYwoU<$qJ%{YA_c9xiEDcGLrMMJrG_LqZgTNvD%#?eTBus;Y zgelHBV;aj2*}-9lb4ixQILRLLGGE-%+pL0e$;usKt(UiKL1JY6Bt~)0S<*;#$W|{K zolUYdf=QO*oMp-FIAm|tv#%jpaz`XfaV*;zLCa^<3H!LVTT8;^OGp_0#34+g+6q&= zU+&mbD^6ubT}4IuaBXuz-*&-hVJ z#gZd%jwPqy$f=}bpW~DhISrDfIA>XMSq|CdV=FR9mRuRh zQk=7FFdUFWHevCrIhiC(o|c3u(pi|il|y*LF9}^qmb@6rQk=6ac}a)tfA-&;O|s-Y zNtWWAWy$p`*=M80?TI%RkTA^&ButUc!gkCbj*NdEFrpdBl7l8$igT7dYbI~=$)QX!tsJs9U+nxV$Xbq_Z&1MGoPkdH?nzS(>9rmg1acY1VMauG?F9nPh1;Az6xZmZfQ0$@)f%vfme# zk}yppB;3(vcG%wAJhnZyGBiRzFV^oECuW-;?(j3ycZ{&E&f@Q@Z@*yu^)tP9KF?R# zbS3}oZ}^!vc8+pf#_hr-DNzci` z-8{C}(=`X8E6sCz+k36ttfv1!Ey}je^w<|7i&KTC*>zv%dTu&giMG_7wXdaXE)tZQ z8~3%em2!gSTBwcI4XOf1^myq(ZdG|oKdb2f^UsPpF+X`@7zoF`;J(oIXfqCxjwsjJP zl`Y*?LZb5n+NT6 z+)jsDx~>NIo|$myiR>nD*MK|RJbq}XC^H*;(AM)6gkLCS?TO2Vzd81UHX*7FB&%y~ z+E3715-`^45utT3k5~Da}+Gweu?Xl-si zGC)W3KL48@xc+E_h&9_D%@JG7T}Q`@Q~2A=4E-=x+%uCud_@d5Z+-Zzcwuj!W4m-% z-k)FjnGZjrG4RaCQ}Fk_kI5e2``FKnK0)?*=Y*eGa)Rvm&WY*x+vrn2bLJ;Bdg$u1 zbw$#{{!Y?#bM@!HE*8{kMiK?K$tM}r{!vz zMd>s zITw*D3x}iEg3fu`@|=X=xFF>9x$rmR&b70u3^L{EfT{v%5KDv#$Fb_7fW9?MR-R=_wP!y&W)d@l!o*%SVc=i9m+gk|}ylUr&;S4cj4!Ox>QpK=gd7qjB1kC}TRRv5C= za-*4f`GPmpx%c*k&O%&Pte7vo#kcA*6_+>U@g1U>xdE4VWX4NKbL`6?sw{CIfcsc+ zTU`v&-PV~~-U~DnFM8`<>&)2~yLs33ZhH`FHh5NFOXaOMW9)7*;`-gv3Jkq`9l9F(G35l1&HNf_hx_d8Jw#% zC=#y(=wBvs>2G}JXC4FN$3*k1E8(^u6IDf8u)(F6wyT45H{FcA=WEWq8lZno<4_rDFnU%&5K;%~3-=sMv$t74_!Md|@b=I7sqy9FdsrDVea zdbk;SjZBDImv}8ePfjxDUkkS-TLP*cRKHZY?0{(IN>xggTMr0-Ic$Y+7pdm0YkjEE zk=G;j`N`(E>m9^=bMv(}aNpjxt;wqC)JP=M(#&($`=G2w-$&__CYyb~Cu^sI^S=+! zXHPbFd>?L`Jz1r3jN=*R*WWi2GtA*N{-*bTTyT|EW0mOry|0=2p8$Q|WOMm{92r%E zF?@>o!+&VdHTvGqjJXk@FP&mOf1`zM>69lOff-7BL7t1${ms%F?zR{HqWvc3-S2(O z(>Hu=uW%x&4mJJ-^X?71zSzYq{m$1Max*}`FvXmFGu-2XL(bfK!^ceg!&}Uhooa-S z`S5l)>8JK)q%NkK&3~YZ^}B~P#}5IzZK}EEhjwnZssB@F1pOGGkDF?C|1sP)&Jy_l z-WgEM`kDa!<7sAKO$(2YVO!LNfmYSxYfv?Z4yh4Uki0$3{AUf-%;#2=yEa|P%i-U{ z!6e=CwmCQs6P|?$ntT&=-Njo0diiwor(5Af=H7~9#pm7*(EpxhzIMBX$KPSlPb%<# z>xOF4^G<+%FU=fvhidWaohZHj4D;xnaJTw1{wLiGs}0a6%rK|bhTA4s0!la7h-h<^ zq0+iw4jF1QS1;@GIBeF#VN`R>N3|_&qtNYEy?6}HF+1IDCgzyK@A?PNakhw|vy!J{ znMuvZPF|a1F1y>_c7LWyO2%jP$x_YPug3!8}=ic*?aY6)PNg!tn zu?91FsF5>T)M`e+#_{L+BH5Cf2k!eQ;1#ZIIL(Pst z8!V6S5k9iYO~iZbW3f$&7hO-pV-A#S>WTiC`sC;J#0QwApA}m}Dwfp$>v43Zb>P+90dyqY<~Q$wO$3tvYx%5Z<~rT{dqZ=EB{}^$k!><=$zl zg5{*l_Y|@4OVh;>hPHciAk}Lxin!lyx@+N55 zf=u~&6Y-|UuN>teD~fbqxz=Aag5lBnuN~}7e&#Qxd34Mo`xaV|YV)uFwD}q4wNShg z;>}`SQ>&Po02Bi=s^1hkF3*x9nxZBbSR~vMDQyaoxCWI+n~KT0>o_dJ2g^s9!m-CZ zER%yoOV{z>KPQv3L^pr6gvFhWx_w|YOl`2d`n=vu)&?QB=ZY#D28)3@jJ9%g2v%R> zapi=-5duJlI40o$~2PwUelwpDgHwn^cZc<9l0; zc(1p3QpM=MshU{zE%}@HiZiRsj}hI4NL0#+A=MCxW0V zb!w9Mn&DnqFjj;MF}AWYp6cC2{yz!g-=y5KaiXgsE>>QhAo}U9bI>K%W$PpnqF>)c z8An~xN4 zye2<*U5}|t(R3>6v;Yx1qpP%YegaC3iMPMapeZSJrC_hkBt+&oQ$ zh*#v1X`&g(rD@1j9ahbe!PAlJ5~O}b4#K7F6{p0s^vYLjK3Zz!t2H03t@0(-e9c^G zL6tAB(j~2;@};Om!@N^5e)6%7^^uV{8{^AiPcCOZxy;9U^iUl8762l0F8dlYLMvGyy` zYKV#>^41GTeL^;!DF*1!{=}JLu6U*L+)VMT;kFUA{A#P(-^%gnu;wCg?#R{Y0{b-i zDRCq?zsURP0tXecV}|h4zuGDTcVN;=%D|Dr9eF$h4Jgk*!N1UTd$F$aR)*-J%h2a_ z7x!4HI$9?G0_WZ@Q?y~zJ1l2q!YC#q`{B|$`lySzfCw3y3F{t*m`vd~t~)GyWg!V} z2)j*}a!ruv${YW`dd*lV_hgCgIx+?gESe9cA*<%|;ijis6%yJaYr3gSpD*6Q8JO}4 z(Tl`w_<@iY#oOeEPQEA(5Y1gIeu5{Nmo0kGvFp1_L|eD_QHkdh_*kW~(Nf`R=%YO= zn=FIZ)3XX>_;L|W6h~PPumr&on@oI31nBt%q;9y=qLuKu$B4DJKz{X-XlL77@MKKT z26ctCL6y;Mg^P?{ff2gGY3IE{+81L=O3Uo>{TLCx2=~GSBV%$)5=$&Y5wcwXRFXO|MmYrb4+>}IWAi-*S##lU6)a6d2^+p zV~nCa#JsUycF04%Z#do;Q!Qa)){0EqJyeH$58Y0t-w@e!op?rOt`irF3Ph-DF%0ODEL<-_yhtJfy+fPU zN0lQBgssjZ7p@n+o|_=*@ut$Cy!$(iqXOY7%hwA}n}hGz+OC&p*29CYmp2v3D29~; zn4%qf(_%T)gg1Q+S@x9~rf8%0eN!G?kKw$}6yEX%@-#DR95)JzrN;(HzYghnvJ)``Wn8gvv2Ao3BQsMnGgG9k2yxlPP;k#8OeV#}BEZ&e+mkUtb>AqD z7mN1#v~6--5xT>DljzR3J&NU^O{hyL>QXFcZ4&Km#ZGCdfkkSB9@~Ujtw>&dM^}?w zkreOhO+&DM$J7^ug{UV|#nFq_UZN&7`|4A`<~G3vYGHPH(B?s^UF zEt01cx%nEJT_jy!chcp^*HO={sOKwk(d%_9qGEZ7_-|VEzv|2nD*^v4@Jr>;lDfrl zv0O>~ZQ$>ayPf$riC+c&E@|6bw`iuJT$D4A^X0gVjuVu1A>qhrd zWb_s>Ow5x@wuom140Ma=;c=1$K9|R%b)U-6H$;Fy%X*b!GCN$EQVRPN#d7Ud@o%h5 zX1xh+vD^frmu|QG!<9F!iTEzX?2^H6i2<|IQI7&(CvXzD0z3qKTjR6<7ziW*3xN$l z8E_i72Dpb~*AB!2@jxb!4{QUffb&2N;L--23UqB#XzyIKO|;T~e1+%oj@xOGzYQK3 z3!XLG=(d9VcpF^2cfR~-8{L4A5Q);;=gW!PtyoFH&iQgrtscX(Y9lAL4uM*Ke1+!y z5tQYO9oR!5uXTH1spUK19^2|%vi1^8fcLeTN$p!BS++vddc}M(9 zES4X?E8aqAdYQmos>-uv!owIvkB`ug8W4*zMguc}JfIY)0?q?B0IjX21pv{&XkaFg z2b2N_fokAJTRcqnPf_%~2z46?1^Jkyay}>+;-sadnn{RU7 z2jX>_eZiZp66MjWif^I-tDO0P&7nCxWQpOz--_`|&92M&+{pF+LF^;sAMD2%a z+l5?Y;xQ|m_l}W1rT=l!R#Zs)aasvhE=I^bho1VOUmg&N*2DtwKqin6lmjP$8-Ugx zW)1WN;($~j4=4qyfb&2N;1UTrpeGOyqyzcDHsB<11$YSfMrl4;WE92{kO*V~`BB!h zjt5TDE|v8ec}6tH_O9}o&&661NDn*E&l}i=6bFH7peCyFr?X-prRs4G<}_R0`9jcr zPj?yp1$N6;_%OQV-G5lC!^+X;MF-0Er3+$$(VL#PpkFlL(gAh^L<7TssX#Wc0Vo4b z09SwqKtRVr`}aj(i62nFk6&4ee(qluIs7kC(Sja4q90W{x+B^OBm$X0KCrE0g?+9l z`Uckc9E@+uMj8H%aBK$;%am`hULK8zmp96F&Jkx2Aw$2xqVipN|C>5beOPw;H$3d~ zNO4w9_;=mT?y%fS{ITHwEKmJg*#C!xH@urRWuw`lB2dO$ffqoLBd)+rysLN{h<8?9 zAH%iyS)RKhdW2V@73YB(z#ZBP1$qK;z)WBTur0dK{>6cB>9Aq8eEB5 zHL;EYan})ec+IlcXRllO1M#aoeO>6ZwLkm4_>;(go{8(E_>Vp5?(U-eux# zULb!_ye{|Q#S)SsTup$5uwX<^5`Ep z4U(o`^#E5|1Lu$9*;$oFwBwvup{nm3e-1`TLJ$+5om07IzI?8uOQ&w z^i{6>lRNzK&p)vj#beQKVXsw)@B%iJor#ceBmUg+MaIrU_bj>|uAi4Km`^&nK)ezBRHO6>ZtTI>R1 zNw2lIrsi09}DN zAQe~vlmPpH)4(<0ArRCZa=>U{Ca?i01I`0AfJ=`;d-oz2-B+}gelB`@(YDg=q8}o6 z@`tM)Y$F{xe$#Q(gR#nq3}<2zZocfs-yIjg;P?}Gt=hGo|QZ$HD#_@{dT+Q z|J{)8oK=#m%E7G52=~E})doja&t)cOX3ZOrnmn6slUg?ngHU`V(oq_R9BrJaR+Fsb zI$8a;?jk11t3!>Z2JWcI40qk%m3AJJWT*PNk1Tc9UA!WYM?dhsw;H|-B64PZ-BX@- z$BBOJ7{f&t)Ysc}Uu^B={;Go;Y+ZYhf#Ww56>l@12h!EXEJq<$IF9Vm0@RUb9o*+BOUrnqdx zc_Qv07fjn#YH5-@*Fg8TM9Nv@q>~7lT@pPr5&z$P?C6-hdJw?RxsPX|eHSzoP3mfP4w*}I`0 z`CFFA|b^}%x8AvrDQNGi#ZoBkX)jjZ#j~nVu^ht@bNh3XmZ}2#z9L-9SVGVU3 zw|U5JMxr%I{6)}FiPK6D9>Og>QT~7&+1ERAbhI(1f$Zz8H*ufOijl{CG40Rs*4z9g zfg|Ug4dfmq(6bZe-@UDc0C~O8c(Pdh0u{0TElvpFK-87vZefg(#xLQAC=bOEc3r)#fi9<4|5tUL8Ak=OU!vk|@VD z)_eXXRR=D$gi|$lYS>;(nA;Mar%;Dle}dEyU`c|+-M7F#&9LI2@`6Fh&m))I2+$Bv z4=qUZ!Y@L}^{uBlS0HXj0y!L^&9v@=+QT7AL$?iRLr^5o^#jHBG8fs?wlKE` zC^kd6BS0fTY5ZcBlKTQ^2YJay5AzSID`Pa6jV*61v`E@(4#hGu7oDPEy_DMo6!U3r z7%1k-Tx6?ZPR#YfQw9p7Ks(gsmV|gU0SPUf&P>L{K$?c%?K_Wi>w^wMm~uzua$7LJ z6=)p7Hp&}6FD(?02n^)wCYCP9>8J@vXwlLxbzh{)#ll~E9@Gne9a<{@Pt6-bGp$oq zn))oQ!MWu&LNp$OvpQfBD9w#YpfpuX1|0=D6_lR;hURitf=&Z11Wl9nCVFs)UGvlC z0uiXGs@*(V$iLiOF-WST?)DzG*{klqWAMq4x4mB4;0u|Ac9N`wYHSAN+$d3{vOJg3T+tm z$%uSJ#zJTU-UwV`i1u5TAilR1KP+$I>%~^n&$do z{Xr&A?6Hcy-C{@AvElY+H`N0hqX7^Pt>eSd9Ss0~zs2uc$A@2Q7@&uGwy5KztBgOf z1fQ_yTWpydpu2f?s1we%xJ@ru!clc>TW(E78kayZL|Cho#~VQbBd6tA=tH`!JwpC54=O*p-n^x=T!g=2YQW(emj964A^L3 z2#^ls0cF4m;4*Lz@WmD<5*Pv`0l7diun#y5)BrBMwDDRfx~eA-52OPHz)s)Rt1=ghIIvp{A_{l5Hb?d1BE0?V)3)aijDd9S4&slPg3wrFK-#m2XSY|(tV z20?cC?B@ggHSUW7_LwAh=FUMDS#h^DGArpsVWWI=oB zsD|~l?Cg!6Pgp^{EY_S}sKr0Lp;Vz%}3@;2Vp< z2@C;}fQ3K-uoE~ITVbCsiu&pw(U{2XjB})meXSzf_tTHGptl6+7XVz0MbiKmJB$+O z3JkN?>9nY!;oJF70YUzKfa-R{4#;A4m@*}E&RlDO?1K1sfMh$Ga&SXqU=Ae_8XkGK zHVTNSv#30sq?GkIa_681q*yMid=< zS`!8qFS&6Dqk*~OsC*w>Oa(HL7RXs2Zai9G3#heL5o0}ftG>>fxZJ8 z47v{#h36gx4Fx?38V33WC??L_%b=KAa=!;{4GI@a8{XWU-*Ev`!h>*X9n=uC9l`;i z?Lk|BMuJ9yMuBz*#lj&s78GMH_i0eHGIum6w39m#v^!`jC|qyuTu^w;+-y+zpWIcT z7$Ug^ps?1Q+}CgcQ_0;1Y6sl|Iso(_=s?hqKnH=I27L=n3=!o&tt3rE5n zP+9`<;{ht1!UF(1Q_7F7sUnoeaLr?oRhxkbOy-E8pbk*xBs?6Q^kn*@*PH3*4otPf zAnmw)bD+OI10&pe;30Q_{yAL8vjZ)+a(JLMs9O%w>6VQ-$O`?T$dtkQbQ*qf12H9C z8LVa&D=_RS%SpWTlqKF^h(+cp@-L9ORPjSC!S{w*g}wSTyh-%a`a~3k>vy8K2@W{^ddP}z?MEL)|K7WH`^xTbn_&jDnh|NvM`m-+E}sBI#avjVzxoD(dUN83x(wp`wg z*GHn?1|;ZF?gu%sEDUpLCd~xhrXPG&?uo~epsJN{m(|%g$T^*$(;FHxX&g+?eVmR* z=wFrV#_3ID&v825jFFSZVfO!z#S0Jo4`)f|8QV}|yn+5i!HEBSoc^@lqCocTMvWb> zkK*n20I18cI#>ZwG;+&$eGOIR_GTkc4ouV|sLa`kdVebC{Y3qnw)C1l{Xzk6xSI$d z7Dy%61C#;>fs1n4SpBI36Ls9Zm@T_Z(&<^tkR;u@F=#E#s*|jxSxBl3VGk5VQ}s|cdbVmbZYxbi|9}pjs@HPE&@XijgA3LWJ0eBz z@3s>e92-(-pHVbT4|R=4`afmsX?jT8KR2q*B;~vm_i_07}Gm|9srsD{rgv<`V zNs3s1r$c5;v1+S2gG-r95!CK-Xe||KNZuhs{A=J(1)rKSmeV?nel=OU98;m&@F>Sa z2qr<07TIf9unC_hu9in;==P5PT~o)ghXzxnUw=iczp1F{J{k3b-t8}m9L@7~QPR*@ z-7gJ^evySQ;N;Q;d0qx6`WLPY9sE#HYwF&wYP!a0xXw+Vnm$RkHk?cZ#q;00& z?tf`{5Rbs{x~y^Pjm#IxL9_H;|4X73oT!siqM1nahTQ$XC#vB@)Lh4J77|rUzuEs+ zNsiu(b5o*NwAKA)BheRf$!y*6G`T}zKS6|+eplqF+4=yyujw^Mf7$CaILZVC&fM?z z(tUDh!9vwQ{jCEZj8bb&N&F_@(~8O;l)_jBS}QA35Ur@N`m*>mvT0@24U`sCSR7e= zEQ+j!)bpSn!Jh~U7nBPE^KJoyj+C#Y>ppGBC6IkbV5PZ>uiIex+6*fYb*7dC?ml@p zU2oPFD_CoF_Q$VSG6za{H@pl=U63a?&DEQE zyus3)=uoKbdKSiZ!4lp8>J8zIpwxdwpj4!kzs=QK>eZXnNzR*KdqLYjA&Ttei%s%q zZ#~fVHuzNLPSD1nyJXfpz2%7Lp;+PqQ-Os*0k9J|2Al_K02g$75YQDE222IAfekPKk;!xs%`aoBObwd(qFJ{EE1^R4*{*9M-|m&QU&akDG$EYzQ) z1Or~ApzOF<{}K~ly=?tgynpa#w*D4P>A88B(hn|CryW)xVyR9~&b+kLT1Nh;NWYg* zOlpp`Rp<(e%IP{{nZ?gprdzKkQ0_&`ok~ha03})ZU0LqPo7SOL zRwrLl%gYs3LoKP&6_(VWEA)A^B(>_Bx6&!g2hM@iRZcM%odZK&c8WRpvTnU)k!R`k zjv|v*TMJ^V)Eldqb_sof9&k_qq?T(F2D9{s#2hxFjU>i^coCj_I zwDAc5qJe=xB9IB>1Es)0pc=RVxMMRB3Je4ifn1;%CPm$N;fG{7AHB zAubAla^NIz1JFicJrBeHNx(v&1lR{$1Zn|a_@GE24oC&^D(@ESo#?csTil0)VM~P1Kg%$cm0HsL24>%3n0BCs-1at-BfK*_GJib|c8-Y(DNg`=V$Es`BGP8NLInPf$AetIXe_M+hmk?dau@5B_jFI& za29bae-}yHJ`~|nu6x@SJ0*ve;N25+l8-CteUa=_Zsl|`m51Ec1B-P@Il zeNh%Bp}L`C4R;8CtyVy`~PdW5wKT20)G-f6mA{xHr6lm&a~QK98> z%U;}tZoOQ#8*lV&xDEM5G_=mtv~J7g{P9NThWX%SgBOc@^Onm4uxLM2T4X> znSKz=<}2mWgZf~-aHSlPY$PJrmWPn*&#UB!M1$V)F)8?Xl{}h=LarQw)jr0u(%}YB zF|0u!9fCP#OTQ0v`pky(rrt{Z0J=T>vivF;y;br7iaPyrVd0e-zuD> zfF7M<3?qKhJ4kx63Q40@%WsZZkC`_+f=%^)OedFD^Ff--IimZ)w^tS&(H{%)s2!%E zl=2VtQn<;=QOEQhI=O-0Kf>|IM{oxpW6WZ#kBCFRtoWGjlvsmXXj9eOH{~De*)*6t zoX~&4kf{v+M1M_(c~yS&sg8HEZY;0-;-tPskbd{z>o79^Gn~IbpO3SQz{={+^lQT7 zXG<$WYhc}bsXmQUENJcaY5nii@B?S`uY^b7YSNt0eAMG?WoPxS)Xs0u>fh*ST*DP; z#N}!|B8R?MN55hq5i?slkO%ApjsX{eTEH6{qX-}thzBx(d|(?;1zZCj0={E0Ljps9 zBp@5u0PF)!1NQ*Wc*p<)<8kUf6&Li$!D65sI1O9_9s<4z5KJhvk1P7ZTCa}(!dj4i zsz{fA=>Po)@<52k1L;6Munjnt;J5?Qpy;1EJ;zM*W6_sZejP8u6{mk`-B0=WODk`% zaI3LWUc`rJJJXj9=@$W9L}oRB%Q&pDfEXYiNC)zPZ9vty3i~QibQuRzv?vL{(%>?d z2B0`N>@2evik|fOpx(R=f@#++T;dQ2Sg1Pfgxop@Z+ZlMjmKRYJFi^Mql_AqQ6!44 zD1}_HmTVtiQFXtHTSAT}$OBMkm+{CHhz5oMQ-R#^N+FexzSCFJCgtVpRvve*TgP&h z`QPgYg!L5uFZ2ZS4Qn0v-VOa9b-d!6y7g3Z?RAWxm>(?dz50W-Xb16=0Y6%ccIz45 z{2#6K*7XB*{cMd@S&LO&V@0EE+}ORPa=K+z=hs`-p1_jIzWpSV8@H`3!+UoemG+a7 zwN}EM+PZv;?&|B&GArAicdc0K+WRN#8m+-==s#f&+AY`qM612ZPk+*Hy5~3^_N|8Q zilM7A-~@0PxCeM9qVIu$Kq9aZC;;dVeHCyKs0G|7Xj&*R5J&`afnwkwPz}@q?h|2G zKrE01ES!j2>l<)U2Al-00CW%+0CWY00jWSPPy*}&P6O8fEeUc!S6~=0703oQ0A;|5 zB)W}w;IaNs^tg5RqvlWAxbFX(aaLe@XrLQ(gMFSN|59XtVbFGWuVKYCbFs)viu~we zynwi|t`_;&)rxEHX0&zN1H*sqX~%ttSKSO(*BtuNBK^{V%SmWI;GT@l0?-v04a@{q z042aa;52XzcnAbdh8z$Fqyo7>F;EVi1a1Iy`Vk8B1mb{HAQ!-|vPlF+zI^0mw9)@P zUxqg{niIvH&0%PR+0ejOW#-F|8X6tKzMt=yaSYoPB&8dAp`brAKhVth(?_;yWOT=d zetaXOY>Fq|8yWO~`ll2O!Ncwd@*Vs44LN(VXd>gh4R1Xh559XF?QG!-9A&6=^E_#{ z8T3UGdC}X5bnnm6@@`)jUy0L7Z<~Wf6E`ZOJxP&mGa~hg3*hE-%a#QW1Hg6Y>2D2Cq4fD^zC>Vv81L!c`V2c!adKq+tnxC}g;>TuNc4m2_5 zlV@7sZgTJsPx+j_@-ds1F=9nkPhSl zr9c&M9;g9aroq_&F~DeGCa?l10m^}sz-8bb;5i+#KnyS%NCk3%4M5p+JZEkg;I zE9+$OjLzgVD(7`JR*T+_r!bTZ=k zzB~1h{IENj0e$XK#`LiI;ME?Mvhhhr>D|-P_Vk`cis(%rz@;A*+Y{Lh1EvBCfdZfm zI00M%9ss^CV4wp-UT~OTgQ6ItmF~JmhQ}D;M6tEsBbLZVG5GT65*ggbXbEEPW6<3^ zvk%67)*AUyAESjWYmFM*j=kJcdA|?#AWNNgt(mjZ<1*(y`9joE*{LtGT`EWRHSFXD zHuS}yZuE-$s4oU}qgVdhTja<`eGPwXy8QYnrxDlBh;TaquY2$n%j@#}FX#6oPeT!C z#Ap4CFQ}qhVvWChsC)%ZO$+bhCG1?gQKln@4*iW0Z5^*hh9X@O6q5~X0Lp+9z%}3@ z;9F@MY>XF01C76vZCLL-T^?xJL6Qhog+W z^k|TkIB&G^L*4ZlgI*}C40_&}PtOxU(64f5ywO;9qSlDI^v9Bo9oDA9s%7>ROGbK5HKy@n)8Ful&vBpRirMLR zA5kVZPo*zyR(?6vxa61P`0o8dXzduZbRMVyJZE8$12Mp8AQQ+3wgFYZMW7bI+@pm8 zF~Ddb9moU9fD^zq;342U2fYFe0g`}hV8a~Tf!l|R(?AX2f;l@97zj)SvVmt%# z1w1oQF(3vQ4a}4oi;cZ{uY4Jvjj0yYao;>rmS?nf67z;;UY0YM+DbmgPHM zXfhFWU+pON+!dU^*eTm|{oFlkb|!|4_smjtHmMp2jc3 zI;avO^6h-bHuA$|hMz|-OV)7{xOSNlt543i-q9Ym9JNNPCoacSOigW!E%46eh9}x+ z2~?B7i|Q@rhjfiLHGIkFuCG?Sq?f=ez%^ch%6|z{b+O`~ApRSQUrT&c37fzEGg{Sy zb>Wu;tU#X?1LeSZpayV>@h)t@|2Fa-PxBbprV3)@)YqWf`8SzEzeHT`L_H{l#*Q} z`>uv(Kd(My<-P_Qx>}^32#H-|#5RdV`J;iEzzU!QD9^00&k#lVsL&`B&;gGh@-XXjl2SCdyj zYZv)t0SQ(PC^Sau{T=V~(qii#a&*r^F90#XXdoTP19k$(fQvva;ErW%C=fHh(B7_S zgQ~#>YkBqY2CE_+H(HaexzV`a&hdJ0C`uWPRH;BNPz;mCxI(~%R($Ffq_6GkPhSlr3+~m|6UZmX}IU)w#MqBfu`MjPPv+_c8YF_ zSJZEeq8IuqI^2u-u8KD8pr{vibudvaAyUy(r~rjMu#+P?AxhD(5zG&_XpS~$m||@9 zR@5t0(XX-OrG$N;KcWJ=IHI!x6deNxP2n+E-4RVmQZ%chqFXWch<^(UI-)C+6+MF` z6ov0&5hrk;O1p`@5i!={?11QIXu}fdq3Cu5C|nq;=mc)*nK%_b<*8^G%!lMsSVQ}{ z!o3D5zK5acrT&U8ql%$?Z4B3N$q*HB!9~%nofO?QP*M9#McWQmbbGX-zx_?oZefb9 zWWFD|mMU~4RMB33itZY!=xRjDhi@64c+J&gn-O9!?4=@7nsWjUU&RuTGP=$x4<4<; zcD9uiwv{lMhHP?na~E%BlUc?J8N?&nPNvinhf} zL>1gPQPEp$a3TqhFjGVtJG(yIM@v`(o49~r)<1X@ttDf38@0t*(kQ^Dk6)GY%3d?AG`H2T+#d7B0JNS87kdzwwWlVDKiwm z7gI0p0zcNkrYX=rRbUgV+?DC21jQf3bOMjTQ==7sGt;flsqoriil(sfU1F!Y(XRNH zVijH1PtoK)igwH4i~WC7jMYqoc^cT%Rq=z_29EG3=)|_*%3f`Il#+{L;}c9Tuv4-# z9nQ9MyoHjNwY!XkIcIvRP%j?Dw_2+3n6`@2Kh7dGo#XJP&MJI_$7V0C)r5tLe`=(n zTf-Es;C?D({#_os!)`p5+ zny%<>rX#sOcJUC~&;3?msR_*cW95u@jpjKwSzs9(!rDlc(W9w~e!~1uSdV@_ihqX3 z-Vq*q-FWO>3Q_SMY`IHVb8ESOTJw-OGs%+6(YABPdhl30&MnCDP#N9g_>nx8jrSjko(W~g-gn<^U2V?eOnW;ewj%0}_Y(<;1O=~njG zZP;=?VaqthmT@6f38ght)XQ7Z-CWpiZo_@{SqY6*{2?~&k?mD@KYR82ja0ZPS7v0I z3Wq5R%h6KUQm*m{?8Y6kO!cI;mX+woL*JE0be}Ah(cKA(7P2J`XG@A=OY#`5;?vlY zj-;sYEm0PZ&13D-^dN$3L_yy z+1O9f-Iifs1+1&^N;V+ZE>^gmwwechYc6=Z!y@BVf<>%=LDKdf>brG-Vz*`EN@43+ z!b3Y_jEe8YL-qn2{1NsU9xYV-7`CS0SpOG76@Pm@MQ^e7Y-H>4Q1XqnU>-@yypY2u z^xlJ2FJc2(#QML*h7rbwv4r(Aiw$EfkMy=|Xklz1W7q{1vVCml$?y@Y<4glpzvMtg zGn75#XouJ!lGz|mjZgy1*f5g0V&{0S+02HqnGNo0Dq5lj3Ooy8e!8NjM`IPgnoXt~o6IHF)CI2SO@Ae~Yk{JNIQ`db zN*j|D{}Gv*FKWD+ZEAnAifAp9_Z$9gn{xgaxC1|7OX|c8orR>-;4rxr;yJtQDma{r zAI^F?7p?dn0~8&@_LAYyD|_kvtfw#@LB|Iw`EG1S*Eu|a;~#N&zZ$AJ+5|Q*k0B~y z@?b?1S}D4kEo%@@OBvijoqDMF-&lSYTUZ#cTPCpnyx6jqk>1emMLa||Thj>?d6P|W zBMaUSlAj&GN;QlNy2Ta~#vOT%Te6y4vYAK5O;&UikNHdN1vjz$NS43F8nbhLH@Tu= zs2x@CcoU1}Xt%hhj&p`v*@AYnF9_xg6K1M}Ynd+M_?z5ykJvI-qOnv!Rv$%|afKfR zs_=H6Uv9RgFibq_c@?pdO}%ia3a@1+Q^6D7CtaD({{Cz38o^^UncaERSeAngQbpQw z{=M3(@W`f$_9Bg=e696##kkL7z{WKVo2~f!*&W+?A-svb>hA6;KC6MEeYn81=Tta> zc$Z^9tCH*$u)S2cGEOIkse%T{tyP#K(x$3l;S5DPalOu{ z^0nQ;iXU80(Q{FXrcGD$E_co{?o2OG94(4FF`1p+61KowJOGAsQ?UjS=_Qq-1%*}^N(~?1qmMVgSdq${)&HUvZB3ssHCt} zZscCQWmoaLxg$=sLm1_2QCy=8p0Dgo?~YOl(zxb*xF^qW21|Il*vc)w>7(Q;xGRsd z23Pk`d^>mTxdAHN3qHv@Ze7AH_*&VI<{GI44zVUSXR5I4P(`l~R`gb=qG^7LKAO#x zZDKQz?~y#-cd;#GFx}NllMRj;!8u`E;|lKk1P%wY$`-K=T%V*02;&xbv3F{kr1)c) ze~E2lKij}+*6=4&mE77WMO~HG%F&i^K}T4{n^+?itdYCSzsnh~!DYg3Ma6kG!0W>!RlP%s>0n=xQjM{ z^*xdWGT5?~v7U!=hj-%&7PgWzPN3o*^HfH?8Yw!Q$8y>r6~4*omf2KzC08VYN5Cy# z#lOH6y~_0%-dXX3nO-+kIGKC$lCpy-+ALQ6S~iRey!2VZ&Lf!p|7spmVXRpjTgq^j z3yW3-G-XY0Y^lPoPsP6nRAJwcmM3a4-nr18A5nua3yyIJG2 zl2!OV8+>c-!Rzb-qF8PW_joTg9pDBgkL^O%P%!sY7B_ek7wG4r3K-f$QTmz%Rp9s# zMR)N?I`otZFJpSDl?rzYQ1rJ3ik`E^0GvrMn?kQt72(QsHy6-}jel)N6~8?}(F~@a zaD^std?A~_A=cb>Hi7NjlY@Ay?4kyeGdsdvXy>lG#VzvS1l>GTfn(TKE^t?7j8pur zoPKzi3UBP7XfK`^w{n;6=FxBWR`I*h#j@m6Bfp+Yn7ih#+hoU+#smCg>WEWD0v=~s ze#)4bL!V}<0!{+wfh)iRAVSBJQ9wGd0Vo3w0w;jWzzu-DuI!0Q2LP>rA;4%L3BWgj zwE|!ta11yN)B^MYiGe^Okm`bcYCbNu0p-AXpayV(F?j>@y@+7|eYqtMC<877ni~oR z0)SQkeJ6M(un<@Q>;z5&wZKEbx1Oej0+B!*kO-s#`SoC>#keR3P6FqFE5HN5#a;gX znGu+C!X3|z0r*ma<_QD<(Lf9^1Xux-0Q-Q8K!GR1z&_v@a1nS2xWlRX0+9fHWHk;* z1@eJnpd6?IP67{rpoZv$hS1P3TucSh0eVv}4=4pr0M)={;06!?Ult9-07<|KpaeJu zTmxzWci4t65DG*BaX==J3*-aafRn&^fZi){vB83a-~=OpSYQ|s4`c%yfP=sZ;2uDq zJ!=KT0HcAKz(Sw|I0n=L4*_2+4SND{Kq62D&^yalfCqpJMph6I3k=J_pLie}$OFoN zYTz<}4_auRKr3JfkOV9QN`Pa)Mc^7x3p@lu;R+&wfj}IP3eYzk@_}tY6>tTp0fPMT zglGARE{KlmcbI3E(nt5AbY;9tUE8A;4&0Ca@4F0rmkGfro&5 z5X{IIw%!v+1Tx9)fo(uJPz9U>YJiAfR00?V!~@yDhX2#onSe)CWqJHn)h)7+#4J=G z2}>YB10n(;3raSE2(kqTix?mw2@sYLFe;+mz^ARYMg(!Vv4I%c4SNtni(T|UBi+&t z-NUC*V!JUd`Z?Xq;D%-t8`Sxoci*cjm~r06;r{C^_nv$1dGA%dRNVvZg*u^AP&X9E zWhWaN3r&P7p>@y}XeV?4IsttQUF@HQ7XyesR0vf-RZuh30(C%#_0M1PWhC{@WNc_2 zR0rLy_rK<=9ojJn4X6uJ^fnKwgN{L+&?)E))SVS9e%*JU=Nh-}N#Zc(1dWDDA*p{- z2OWftL7mVU{b{G~s!8jv!F^~avTA`<)!_aZ)G<06q zyy5GeR(CB~13d;EgU&$RP`2LshA(5o&JhF&Itsl5eGFZMqDK-Zs1O_f z1JF^(tq^e$96g#4K!wnFXc^R^*SyKk0M6^JZ~AhJ+VjX0=nT{i$>uh3&`1&{NQHs0;c8Iu9ila;`!-(CEUgWk-I~ zJG=B|eIyZl_C zRPTP5-;~Qdpw|U`;)bC4bF?$npNL?!`ij%MhSn2J&xg<@e7H2vNJ#@ceqlk zd}V!&Y+Y$|4bRaf)UNJm?soLOZ1o*>zp-}5HdC*857#Kug=-%I!>$o`*ZiVwK7MVD zF}JM^&l!riyVI!VMp*?kXly1-u4{(x=o4@^jK?GO$JOY$V^xyhX6k|OOVqfB z62SL45kgTL6CSSJ7Qb;&naJ4Y{+_XaQG?Ti+)dG@S_iXi({r; zXWh#F^pnQRqPpG^TlRT0-pW_h+(<05`4iUGlL)S^;W@gCgO8r|4UN(*@A~=<$&bi~ z(WFa>B|G7pn)R-=&DUjvRZ8AYTg7(9E^F_q7`_>xfQ)fNr@VBjCw)Z*mbeK@g1BPI zz!JUb5-~ZE?u6!JBhF)|_|C6#NtTvq&wod{#nQRrcSLNvHI>wyyLxSeTSn$|xj1Yyp5!di4Rjd}PiaxWnzb5fR;)wG`Ixmva ztpoJVEESVTUbv^AoOX!b;cT{{Gj=|?;i{YxmH#8}4c`PJKjH#XN@^Bam*&0UIl2)^ zBc2Virq-;epAx+K8{a~YXH@XP^S;kK_D&b&QYLdiTDcn#R@qHh`H*0XGy2)kRf$;R z3R16J*IeMf7wUmEcBhrd*yYyrruxR&GpFE&dj=W4adk|@`tG&$Z>(<~Plb%i2B#E< zxt1E4V-vCH@=2oHxvu1bG;RQDB9{KBEsp<=qzQ>5mOUpt?p?|gfLDLLLxJ;BTz?`ih1&J8wy?;GOvjC`q0 zE%5|Z50&KAlQPs5!R%<&$IC_lMX?x;mAs9(BCTY_3iYa3m62BHtbJa@@LjfeH> z#OXAa6fM+mTw=}XT6E%x_R17bs+7X*j*RExZxF~QC8>Ia`^jNY828e`p++UV8A z$!d_!PF9IGyFrjot632Rg4`4{d^=ro^T}9u+`VLMmUUT4pNQ1ltG6br-rl}S|0-Ff zr}rfzv&`gk^T|}Vn>xS#YqIL^rTsoxrRIOal_~48Dl)DsM&`H@k(ez}`lb}sKfi?x z42?l%y16waTKI0U7I_a6K7*!2>$Vh?>OByxe?uSX2W(w4MgjTh`k5W0KSS=NP3Wak z$7~^;O`j8~bW>p$RdW3_GN+G-EWIc;dL-AcbQ?P1D2Pavx>)^SFTzz98=gu5x#GIf z8LN-YYtr;jLdO^jB%HLZ%;impaywqrv;dLRh(WD zP*+O3nb+xEoDQbX*|X){gFCIRIDG`Ue{8%=Lrxb5#z(8(!RS==pFU4b@XItc$K$P8 zqHoGjo8#T=V)d;&T{DogW7u>R?Oj|G{7Z&P@h1{u*Dui-tG~@uS^dVkrwJDj_pZ|{ zV!2f7-Cz6qct!+g4ph&0JOy^IX$6kOVsgv1kPgS#_bFX<))y1UCD|1n)N9WAQu-Yf z4R@@F%duD%>rGiI!&9t3q>T8;DV%1-)^KM-b#o;(JUhU7`4M+Gc?XRd*N_dxPUrdD z;oPy?In#=*TcuD^D7J>@bcLUxxN(*hOX|*9-B4S9Ye-+&d`BP0U440eMBk1+A8Xyk zGXlq;CTwspY_Re+?h~%Q;XC@o)Eyv`yM#T!OsTyjd=m@9cl5cd82w5bZ|nR zdfV@*3--TW{fk#0o2(LpXNuI%qV)}VXx%+QP4atcgRf3j_jnU8d(%;-Z=R+Gq?I`< zHiom#T`@_A>rEo{9jKy{@pDft6%)6}p7X6q zjSXbC8yOib-_;!z%%86QthQE+-(IQW($-tnLw8w$SMRoBCY(v*BVQRGhS5K!2Un`1 zK#l!ClGj!aImkbDrpwnKRH}5nwNi}8+QQ1nF^}96d1CTV={lef&Q{m)BMW&CBgYi-TjU2lqm8`p9OSF)hjb#Z=GrFm zFM8zb6?4>$fdXqKS8h4FovzP+pDUtte!gr*OHLX&MmVMw^m^CLn9gQwBRYnP_;QrEzb~Rj zYopWay-u$cfuZ{P`OKisS|+L-U68<1X7J>E=3Q+aO%(xA=o=nLxrI)d4$3sLJ`lDOaXue)p=nUvav(%MOs8XeYwbsWx0h6OE zVC=ULfgM%EZMoHzU_>8t2bEqnGL0Xq7iYF zKlV!KT%cz1rJRf0+~lYvb|O2@N)#+)u!+_wC(?2q6j366ey~!d>ir8(C=Wwc61hd(?;fotvP-R}oK@b7otS3IqKN#q@&a%R+uLnSqg zI@4-*CX?vIp`GwOQNyTXt=2(w#W9R)f%ICV^WBKdQLh&q_Y+{Hw1r8Ufn zp8Rz~M5nPjB%%uIyyIr*oRJyUs$00Yy(6j|@>xpYJUo1)77rKO7eNtCbVP|*eO^n4 z%dGRl=a5tut4tCfQMz7Lr}6@|A=64^B0r6swCST?uT#0H^;S!7m>e5ZjQnVHzS0}( zRi-YiSEEv!>_4A~g8b=4I%w}T)K-|8dZU%-%qGzp{NVRembzXI&{0cNZs1nygmbF2 zIL2Fu#PlW1={ozbAkweA(UpET62BKjG{b6g)=GjUqG}f8ilvCy?8(Vzd4?gP^8{)2 zQX+AKbHDQ!4u2k89+wE)?WjC0uT!KYe|9TloxWF1OJ#e_|)XAJ|d2)jq8<=MGVGub! zfkd^5B(>%18#w(JT74b+4o9A2`kxgjvQEH~qZJaZ3Z`J2PFv2m6Gfwl5_*wtd11&X00Sa#ar5Q%&Fl1lE?XU4i`~`yye>o#+_k)nyo(0i0-0{U`AYHCI`m-uUlo# z50ouh#d=M!DxH%x+C5nbAyxr>c$G?xdd_wvu(d2jmo_RD{9=__=+XaZR0+YV)oO86 zLY%E2|FIpn3ZA%K4UOf7ls$+-aeB>0-e~vQq^eUWD!cVDo?c0rKT7-wlxlp#43tuO zR~lFcq{f>lNO3y~+X0(nnn zbLRt(=uNGvkE-U&F@{+K4Cpr=$LjVPz6fo&ixykf6$Ul}Cm47D__%>nYuSq4z@Gx= z8u%7)n1S+Li$nvHfX-<1fem`3X0%t9P(H{gdL&e~D6Ztw?QEHLhUY;encQr` zSlvuPUt@O%aHE0W0Amc4UE>oBOaKlv@LFJB11AFq8Mq3VX5f9mp$2vU2OIbn@Ja(O z0OR!59V}_o?RxVLyp+;plqG}Ze*_q1;CA330}ld?jsF-h!*D;ab=T~~O!jok)dFR= zv&NltI^YiJ$(G7CXMGKnZPpwpJDfRiy$xsV!kl8_({^FL3s$tYSyVH(SyIN_VNtT& zW*rK%USXFtG5j;EY_^`ptIvRh5ZGV#zwRsNF-MMR?EmGW!rqa?+f+I`UhA7^dz@Xz z<14Q|(#EIj;de=qilis-j4hkn5c^;H3BMV!S$=yrVgp}+OJQbFWY6J*Cs34qgwNTm z9K$q=CQ7YOb8kh*o zu%Y+r7G1oXIE^x`U-sG=qW5FK9y@xUh-6nGY1v=LZrMIaTK{@fqij|GCSbIIvP+P| zm2H6>uIvNkaAoHohx;th4Ce0y=4#KAIO=;?E{p=bF%RqSf5}j%LM;DBVR!}@Wo$kN zMjQA|nEQR0+hcP`Hy-Hd27pDzY$lMuS3HFSQcu2z4W*X)w5M?3Oo-+GEDXDWQO4#1 zkUSQ1-y!ZRq|y_L6(M%o1|GBD{;nUZbO8@SxSO+dC&m!6&gHrvpfvQ5W6 zOHbEsqlnM8npaW=%Lz67pX{1$_6e3}|8M>iStYV7bj`E$Qwz-2p9;J`4F5R{Uk}5t zfN{32=LcQ1M`iePwu?h$d$67WjMoc*9xh`dyc^CuyBklEsFTfYAod2y^F!xz)e|qoBjw zC&IeVgt_~|+?T@K--Wryfa6VP(K{^b9s?f&p3s|~$FsS+}L-(unIWu^@1BaI4uvB#Xoc0Vn(Ot}Ip=SCM^1|n9em31tfAaZi5c;zj>ok1` z{fWM*)X=t{hZi0D@l5{9XhS0&X*sid0Qxtq=AjYWrr&c# zaQ3g&9Z}o*-52fSGov2(k}3$E_^n!^^ynih%a?EE1?L}8{XLJysijRvr1?1vwK(U ze^M<^kS}4$_y^ZX3g~~FRQ+Qc&|41mu(oY(de0N3zwJ^t`e&h4xvk%_v)d{fjt9H{ oqFVg%|HV3-g+7Ho(GQ - - - Run after the Plugin Initialisation - - Get Version + + + Run after the Plugin Initialisation + + Get Author diff --git a/Speak/Speak/MainClass.cs b/Speak/Speak/MainClass.cs index 64fff38..efdb68a 100644 --- a/Speak/Speak/MainClass.cs +++ b/Speak/Speak/MainClass.cs @@ -22,7 +22,14 @@ namespace Speak /// public class MainClass : StandalonePlugin { + /// + /// Get Version + /// + public const String VERSION = "1.0.1.1"; + private Options option; + private DateTime status_pause = DateTime.Now; + private Dictionary statusmodes = new Dictionary(); private MainClass() { @@ -42,14 +49,46 @@ namespace Speak EventManager.CreateEventHook(API.ME_OPT_INITIALISE, this.option.Opts, this); EventManager.CreateEventHook(API.ME_DB_EVENT_ADDED, Message, this); EventManager.CreateEventHook(API.ME_DB_CONTACT_SETTINGCHANGED, StatusChange, this); + Protocol.StatusChanged += StatusModeChange; SpeakWelcome(); } + private bool StatusModeChange(object sender, ProtocolStatusChangeEventArgs e) + { + StatusMode old = StatusMode.Offline; + StatusMode neu = e.NewStatus; + if (statusmodes.ContainsKey(e.Protocol.Name)) + { + old = statusmodes[e.Protocol.Name]; + statusmodes[e.Protocol.Name] = neu; + } + else + { + statusmodes.Add(e.Protocol.Name, neu); + } + if (!Settings.getInstance().getActiveConnect()) + { + if (old == StatusMode.Offline && neu != StatusMode.Offline) + { + this.status_pause = DateTime.Now.AddSeconds(5); + } + } + if (!Settings.getInstance().getActiveDisconnect()) + { + if (old != StatusMode.Offline && neu == StatusMode.Offline) + { + this.status_pause = DateTime.Now.AddSeconds(5); + } + } + return true; + } + protected override void BeforePluginDisable() { EventManager.RemoveEventHook(API.ME_OPT_INITIALISE, this); EventManager.RemoveEventHook(API.ME_DB_EVENT_ADDED, this); EventManager.RemoveEventHook(API.ME_DB_CONTACT_SETTINGCHANGED, this); + Protocol.StatusChanged -= null; TextToSpeak.getInstance().Stop(); } @@ -84,9 +123,12 @@ namespace Speak { if (s.canStatusRead(c.UniqueID.ToString())) { - TextToSpeak tts = TextToSpeak.getInstance(); - string text = String.Format(s.getStatusString(c.Status), c.DisplayName, c.Status.ToString()); - tts.speak(text, text + DateTime.Now.Ticks.ToString()); + if (status_pause <= DateTime.Now) + { + TextToSpeak tts = TextToSpeak.getInstance(); + string text = String.Format(s.getStatusString(c.Status), c.DisplayName, c.Status.ToString()); + tts.speak(text, text + DateTime.Now.Ticks.ToString()); + } } } return 0; @@ -124,18 +166,13 @@ namespace Speak { try { - Update update = new Update(this, new Uri(this.HomePage.ToString() + "files/miranda/speak_last.zip"), new Uri(this.HomePage.ToString() + "files/miranda/speak_updater_version.txt"), " "); + Update update = new Update(this, new Uri(this.HomePage.ToString() + "files/speak_last.zip"), new Uri(this.HomePage.ToString() + "files/speak_updater_version.txt"), " "); UpdaterPlugin.RegisterForUpdate(update); } catch (NotSupportedException) { } } #region Constants - /// - /// Get Version - /// - private static Version VERSION = new Version(0, 8, 0, 0); - /// /// Get Author /// @@ -165,7 +202,7 @@ namespace Speak /// public override Uri HomePage { - get { return new Uri("http://dev.blubbfish.net"); } + get { return new Uri("http://miranda.blubbfish.net"); } } /// @@ -181,7 +218,7 @@ namespace Speak /// public override Version Version { - get { return VERSION; } + get { return new Version(VERSION); } } /// diff --git a/Speak/Speak/Properties/AssemblyInfo.cs b/Speak/Speak/Properties/AssemblyInfo.cs index cb4680c..789dd2a 100644 --- a/Speak/Speak/Properties/AssemblyInfo.cs +++ b/Speak/Speak/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion(Speak.MainClass.VERSION)] +[assembly: AssemblyFileVersion(Speak.MainClass.VERSION)] diff --git a/Speak/Speak/Speak.csproj b/Speak/Speak/Speak.csproj index 07c48c8..99334e5 100644 --- a/Speak/Speak/Speak.csproj +++ b/Speak/Speak/Speak.csproj @@ -28,7 +28,7 @@ pdbonly true - E:\Programme\Miranda\Plugins\ + ..\..\Out\Plugins\ TRACE prompt 4 diff --git a/Speak/Speak/Storage/Settings.cs b/Speak/Speak/Storage/Settings.cs index 0dd7a39..9099110 100644 --- a/Speak/Speak/Storage/Settings.cs +++ b/Speak/Speak/Storage/Settings.cs @@ -156,5 +156,17 @@ namespace Speak.Storage } return "{0} ist {1}"; } + + public bool getActiveConnect() + { + return Options.readDBBool("active_connect", "speak_config", false); + /*SetCheckState(hWnd, IDI_ANNOUNCE_DISCONNECT, ); + SetCheckState(hWnd, IDI_ANNOUNCE_SHUTDOWN, readDBBool("active_shutdown", "speak_config"));*/ + } + + public bool getActiveDisconnect() + { + return Options.readDBBool("active_disconnect", "speak_config", false); + } } } diff --git a/Speak/Speak/Structs/API.cs b/Speak/Speak/Structs/API.cs index 7d999a5..21ce114 100644 --- a/Speak/Speak/Structs/API.cs +++ b/Speak/Speak/Structs/API.cs @@ -4,76 +4,77 @@ namespace Speak.Structs { internal static class API { - public static string MS_SYSTEM_GETVERSION = "Miranda/System/GetVersion"; + public const string MS_SYSTEM_GETVERSION = "Miranda/System/GetVersion"; - public static string MS_DB_EVENT_ADD = "DB/Event/Add"; - public static string MS_DB_EVENT_GET = "DB/Event/Get"; - public static string MS_DB_EVENT_DELETE = "DB/Event/Delete"; - public static string MS_DB_EVENT_GETBLOBSIZE = "DB/Event/GetBlobSize"; - public static string MS_DB_TIME_TIMESTAMPTOLOCAL = "DB/Time/TimestampToLocal"; + public const string MS_DB_EVENT_ADD = "DB/Event/Add"; + public const string MS_DB_EVENT_GET = "DB/Event/Get"; + public const string MS_DB_EVENT_DELETE = "DB/Event/Delete"; + public const string MS_DB_EVENT_GETBLOBSIZE = "DB/Event/GetBlobSize"; + public const string MS_DB_TIME_TIMESTAMPTOLOCAL = "DB/Time/TimestampToLocal"; - public static string MS_PROTO_ADDTOCONTACT = "Proto/AddToContact"; - public static string MS_PROTO_ISPROTOONCONTACT = "Proto/IsProtoOnContact"; - public static string MS_PROTO_REGISTERMODULE = "Proto/RegisterModule"; - public static string MS_PROTO_CHAINSEND = "Proto/ChainSend"; - public static string MS_PROTO_CHAINRECV = "Proto/ChainRecv"; - public static string MS_PROTO_CALLCONTACTSERVICE = "Proto/CallContactService"; - public static string MS_PROTO_GETCONTACTBASEPROTO = "Proto/GetContactBaseProto"; + public const string MS_PROTO_ADDTOCONTACT = "Proto/AddToContact"; + public const string MS_PROTO_ISPROTOONCONTACT = "Proto/IsProtoOnContact"; + public const string MS_PROTO_REGISTERMODULE = "Proto/RegisterModule"; + public const string MS_PROTO_CHAINSEND = "Proto/ChainSend"; + public const string MS_PROTO_CHAINRECV = "Proto/ChainRecv"; + public const string MS_PROTO_CALLCONTACTSERVICE = "Proto/CallContactService"; + public const string MS_PROTO_GETCONTACTBASEPROTO = "Proto/GetContactBaseProto"; - public static string PS_SETSTATUS = "/SetStatus"; - public static string PS_GETSTATUS = "/GetStatus"; + public const string PS_SETSTATUS = "/SetStatus"; + public const string PS_GETSTATUS = "/GetStatus"; - public static string PSR_MESSAGE = "/RecvMessage"; - public static string PSR_MESSAGEW = "/RecvMessageW"; - public static string PSS_MESSAGE = "/SendMsg"; - public static string PSS_MESSAGEW = "/SendMsgW"; // instant send msg + public const string PSR_MESSAGE = "/RecvMessage"; + public const string PSR_MESSAGEW = "/RecvMessageW"; + public const string PSS_MESSAGE = "/SendMsg"; + public const string PSS_MESSAGEW = "/SendMsgW"; // instant send msg - public static string MS_MSG_SENDMESSAGE = "SRMsg/SendCommand"; // type msg - public static string ME_MSG_WINDOWEVENT = "MessageAPI/WindowEvent"; + public const string MS_MSG_SENDMESSAGE = "SRMsg/SendCommand"; // type msg + public const string ME_MSG_WINDOWEVENT = "MessageAPI/WindowEvent"; - public static string MS_SKIN2_ADDICON = "Skin2/Icons/AddIcon"; - public static string MS_SKIN2_GETICON = "Skin2/Icons/GetIcon"; - public static string MS_SKIN2_GETICONBYHANDLE = "Skin2/Icons/GetIconByHandle"; - public static string ME_SKIN2_ICONSCHANGED = "Skin2/IconsChanged"; + public const string MS_SKIN2_ADDICON = "Skin2/Icons/AddIcon"; + public const string MS_SKIN2_GETICON = "Skin2/Icons/GetIcon"; + public const string MS_SKIN2_GETICONBYHANDLE = "Skin2/Icons/GetIconByHandle"; + public const string ME_SKIN2_ICONSCHANGED = "Skin2/IconsChanged"; - public static string MS_BB_ADDBUTTON = "TabSRMM/ButtonsBar/AddButton"; - public static string MS_BB_REMOVEBUTTON = "TabSRMM/ButtonsBar/RemoveButton"; - public static string MS_BB_GETBUTTONSTATE = "TabSRMM/ButtonsBar/GetButtonState"; - public static string MS_BB_SETBUTTONSTATE = "TabSRMM/ButtonsBar/SetButtonState"; - public static string ME_MSG_TOOLBARLOADED = "TabSRMM/ButtonsBar/ModuleLoaded"; - public static string ME_MSG_BUTTONPRESSED = "TabSRMM/ButtonsBar/ButtonPressed"; + public const string MS_BB_ADDBUTTON = "TabSRMM/ButtonsBar/AddButton"; + public const string MS_BB_REMOVEBUTTON = "TabSRMM/ButtonsBar/RemoveButton"; + public const string MS_BB_GETBUTTONSTATE = "TabSRMM/ButtonsBar/GetButtonState"; + public const string MS_BB_SETBUTTONSTATE = "TabSRMM/ButtonsBar/SetButtonState"; + public const string ME_MSG_TOOLBARLOADED = "TabSRMM/ButtonsBar/ModuleLoaded"; + public const string ME_MSG_BUTTONPRESSED = "TabSRMM/ButtonsBar/ButtonPressed"; - public static string ME_IEVIEW_OPTIONSCHANGED = "IEVIEW/OptionsChanged"; - public static string ME_DB_CONTACT_SETTINGCHANGED = "DB/Contact/SettingChanged"; + public const string ME_IEVIEW_OPTIONSCHANGED = "IEVIEW/OptionsChanged"; + public const string ME_DB_CONTACT_SETTINGCHANGED = "DB/Contact/SettingChanged"; - public static string ME_DB_EVENT_ADDED = "DB/Event/Added"; + public const string ME_DB_EVENT_ADDED = "DB/Event/Added"; - public static string MS_UTILS_OPENURL = "Utils/OpenURL"; + public const string MS_UTILS_OPENURL = "Utils/OpenURL"; - public static string ME_OPT_INITIALISE = "Opt/Initialise"; - public static string MS_OPT_ADDPAGE = "Opt/AddPage"; + public const string ME_OPT_INITIALISE = "Opt/Initialise"; + public const string MS_OPT_ADDPAGE = "Opt/AddPage"; - public static string MS_GC_NEWSESSION = "GChat/NewChat"; + public const string MS_GC_NEWSESSION = "GChat/NewChat"; - public static string MS_MSG_GETWINDOWCLASS = "MessageAPI/WindowClass"; + public const string MS_MSG_GETWINDOWCLASS = "MessageAPI/WindowClass"; - public static string MS_PROTO_ENUMPROTOS = "Proto/EnumProtos"; - public static string MS_PROTO_ENUMPROTOCOLS = "Proto/EnumProtocols"; - public static string MS_PROTO_ENUMACCOUNTS = "Proto/EnumAccounts"; + public const string MS_PROTO_ENUMPROTOS = "Proto/EnumProtos"; + public const string MS_PROTO_ENUMPROTOCOLS = "Proto/EnumProtocols"; + public const string MS_PROTO_ENUMACCOUNTS = "Proto/EnumAccounts"; - public static string MS_IEVIEW_WINDOW = "IEVIEW/NewWindow"; + public const string MS_IEVIEW_WINDOW = "IEVIEW/NewWindow"; - public static string ME_HPP_RICHEDIT_ITEMPROCESS = "History++/RichEdit/ItemProcessEvent"; - public static string MS_HPP_EG_WINDOW = "History++/ExtGrid/NewWindow"; - public static string MS_HPP_GETVERSION = "History++/GetVersion"; + public const string ME_HPP_RICHEDIT_ITEMPROCESS = "History++/RichEdit/ItemProcessEvent"; + public const string MS_HPP_EG_WINDOW = "History++/ExtGrid/NewWindow"; + public const string MS_HPP_GETVERSION = "History++/GetVersion"; - public static string MS_DB_GETPROFILEPATH = "DB/GetProfilePath"; - public static string MS_DB_GETPROFILENAME = "DB/GetProfileName"; + public const string MS_DB_GETPROFILEPATH = "DB/GetProfilePath"; + public const string MS_DB_GETPROFILENAME = "DB/GetProfileName"; - public static Int32 CALLSERVICE_NOTFOUND = unchecked((int) 0x80000000); - public static string MS_DB_CONTACT_FINDFIRST = "DB/Contact/FindFirst"; - public static string MS_DB_CONTACT_FINDNEXT = "DB/Contact/FindNext"; + public const Int32 CALLSERVICE_NOTFOUND = unchecked((int)0x80000000); + public const string MS_DB_CONTACT_FINDFIRST = "DB/Contact/FindFirst"; + public const string MS_DB_CONTACT_FINDNEXT = "DB/Contact/FindNext"; + public const string ME_CLIST_STATUSMODECHANGE = "CList/StatusModeChange"; } diff --git a/Speak/Speak/TTS/TextToSpeak.cs b/Speak/Speak/TTS/TextToSpeak.cs index 5d5196a..8ba39cd 100644 --- a/Speak/Speak/TTS/TextToSpeak.cs +++ b/Speak/Speak/TTS/TextToSpeak.cs @@ -56,11 +56,23 @@ namespace Speak.TTS { try { - syn.Speak(text); + this.syn.Speak(text); + } + catch (OutOfMemoryException) + { + string voice = this.syn.Voice.Name; + int vol = this.syn.Volume; + int rate = this.syn.Rate; + this.syn = null; + this.syn = new SpeechSynthesizer(); + this.setVoice(voice); + this.setVolume(vol); + this.setRate(rate); + quene.Enqueue(text); } catch (Exception e) { - System.Windows.Forms.MessageBox.Show(e.Message, e.Source, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); + System.Windows.Forms.MessageBox.Show(e.ToString(), "Fehler in: " + e.Source, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); } } else diff --git a/library/Managed/AutoConnect.dll b/library/Managed/AutoConnect.dll new file mode 100644 index 0000000000000000000000000000000000000000..fdb40b55385c3fbef42c91dc35f4dbd49381b260 GIT binary patch literal 6144 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 literal 0 HcmV?d00001