From f2cbf5d9f4e0cf235d0708caa113e594f7271359 Mon Sep 17 00:00:00 2001 From: Terry M Date: Fri, 1 Sep 2023 13:40:11 -0500 Subject: [PATCH 1/7] Add screenshot plugin. --- .../actions/screenshot/inspector.html | 31 ++++++++++++++++++ .../actions/screenshot/plugin.js | 13 ++++++++ .../actions/show-scene/inspector.html | 1 - .../assets/iconScreenshot.svg | 23 +++++++++++++ .../assets/iconScreenshot@2x.svg | 23 +++++++++++++ .../assets/screenshot.png | Bin 0 -> 5792 bytes .../assets/screenshot@2x.png | Bin 0 -> 18575 bytes co.meldstudio.streamdeck.sdPlugin/de.json | 4 +++ co.meldstudio.streamdeck.sdPlugin/en.json | 4 +++ .../manifest.json | 15 ++++++++- 10 files changed, 112 insertions(+), 2 deletions(-) create mode 100644 co.meldstudio.streamdeck.sdPlugin/actions/screenshot/inspector.html create mode 100644 co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js create mode 100644 co.meldstudio.streamdeck.sdPlugin/assets/iconScreenshot.svg create mode 100644 co.meldstudio.streamdeck.sdPlugin/assets/iconScreenshot@2x.svg create mode 100644 co.meldstudio.streamdeck.sdPlugin/assets/screenshot.png create mode 100644 co.meldstudio.streamdeck.sdPlugin/assets/screenshot@2x.png diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/inspector.html new file mode 100644 index 0000000..25b4087 --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/inspector.html @@ -0,0 +1,31 @@ + + + + + + co.meldstudio.streamdeck.screenshot Property Inspector + + + + +
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js new file mode 100644 index 0000000..3e90e0f --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js @@ -0,0 +1,13 @@ +class Screenshot extends MeldStudioPlugin { + sceneRequested = null; + + constructor() { + super("co.meldstudio.streamdeck.screenshot"); + + this.action.onKeyUp(({ action, context, device, event, payload }) => { + if ($MS.meld?.sendEvent) $MS.meld.sendEvent("screenshot"); + }); + } +} + +const screenshot = new Screenshot(); diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/show-scene/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/show-scene/inspector.html index dc6d91b..14d4c45 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/show-scene/inspector.html +++ b/co.meldstudio.streamdeck.sdPlugin/actions/show-scene/inspector.html @@ -35,7 +35,6 @@ $PI.on('connected', () => { $MSPI.watchConnections('loading'); $MSPI.initializeSelection("co.meldstudio.streamdeck.show-scene", ["scene"]); - $PI.sendToPlugin({content: "what"}); }); \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconScreenshot.svg b/co.meldstudio.streamdeck.sdPlugin/assets/iconScreenshot.svg new file mode 100644 index 0000000..42bfa5e --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/iconScreenshot.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/iconScreenshot@2x.svg b/co.meldstudio.streamdeck.sdPlugin/assets/iconScreenshot@2x.svg new file mode 100644 index 0000000..48c3d0a --- /dev/null +++ b/co.meldstudio.streamdeck.sdPlugin/assets/iconScreenshot@2x.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/co.meldstudio.streamdeck.sdPlugin/assets/screenshot.png b/co.meldstudio.streamdeck.sdPlugin/assets/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..7a7f478ecae2a7a27db4a484067787fd59075a0a GIT binary patch literal 5792 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 esYqtPRqX4+CP`*RKUFjU0000 zf6G`Mvplg_v{`p|LNN8`Cdx>v^)~{St18a?H=4%UAN}tizlao#eO7*LK(vW1cJ7 z$VvGR8&>SXcApMPov^Hu_npZAj_)mrNXj6NYm#=z#UJK>rf!WXjLaE#-lLlzI4KECCLNMI|z$V`B=8I z)^~4AaJnmVuh0J9TIOq4pb+IDw5s&z|LHP23 zg05I*29?OsH<|BW<#}?;fu_Y1K+BkYHaW@jz@}407&7TU+hn#bGQe~#zzNKY%(F^A z18T055S=pp#1x_Pg-)5MHnwsf!)dnLB#%6qR4}zeCGHcDoTTHKvgm;=Xv!ad<6e0f z8=U1gpW~@{9{@$?n_M{d{l--uGfVpK4Ez;a(tJ*Uk>$LI$g*5-%Y*{u)C*!@=V-K9 zhE>s8eJZV6ET-YJbaFiTQWSAt!utSpAEV(pIk`a=d9KXgrDrb~A@WA05}lhhJa+RE zj0+c5dE2qG4bSF%X7=(>DW}~`$yr^=0W=|vrUqIHc{q7`u_ob@^K^0@6RpZKmrG9a zDndi;Er34Xw`dc~=S20VLaxd^n=G30F4v|q&OOeV7C28Aw{b=PaS`G%(IlyEGZ>&?kWgM0B9DAN~17N@%Lt8@M zi6_-FiZ&~71Q6aO3$&mzRxN>O-Kv91A4DCrF4sNh=hnO$2*o0-6f|$x`~o<1lmn)p zWrARd^5H$4n#4Q;1XDhE%pg|I=Zwq1>^dxQWFLWQVKun`rrz-Y86FHet{uJJwX zkX;m!t&sP+a2z+(!xKgWRrr`Rjoy%2sUa`;vF1=(hu>DNA8vqj!K)X5gXu4AZ2yyA zz`bYb&H#>zM-z0WM1h@^rpi4RwOAa=eYQ7YMvORj_ zb!wR_pJcb#R?M_aH?^vjNqMPT0WR2x`+#&GqaAphD;v+uyW01BE;8Hn?3oQ$Wd<g9)2&cqt$%<(b8CVOs%jzK&&GnwWdaG^Z`iov6qdyG$$m z&+N7U?l3V2pNY$LuU42ds_YZlHd;g@9EA6`%IlIFZgWM>t{4DU0@MeX0!@_ZPyu+NgY^)ic@{?G0ofkR=Ak7# zyk)Pu@vD1RY&OS1yaqFP`2l&YwqhD(y61$=CVd@_@wb#w)_i^j{sa5?^A>=aO_kj< zj%T!@p&E0}IX;T;(+%%i&H4EJ)Xm53I?TvD+{qfF;QJv zeeY`#(L6;2j#i+=1a&^pr4~w4spgyrX!UIKy0?>S_He`ZmPNF3&hDV^jFB=08)t;pmearrrhzSe=+Bu?Mg-m5C_OYQle zUXb;5WUn)&2kTt`;LMblz=H?DWRMAhp#W`q1}~nw)Cf&2`M4WJ5IV|2ChHtg5X!B zVJ-NJOyLwwRKodfPPfSaEbjs?IEXPPS%Y%Ua|NW;gZw!NZUaGi#*{xFKq*;8b{|De zSLuoqm4nEdkJUM_4&TF)HSxv6zTH0>e{$n_^PvMZU*14N#SAR+Ufs&~m5*!QB1hoO zWt;((+Ni&nfmB5vHAxlA;$*NwnJkMVkUXsG45BFqUId8+6JFfzRo((Xd?_=bP1TeynwL5MnJLZy#&enJK)}n_ zXUtk2=ppuP918-1Z02g*E)?@}&gMDKV2B|I_M`h*q;v%#<5izv-qyXah+|y1^Q9=e z+y{vo*W=lA5Wxg)u3b;KR_EDNR`An^uZ!gjh0C$rb3IK?IBb^In4^s4ALAf_zQC99 znTlYs{0gDc0*_E#o{*bqR;>doO$U18Vw2a~_44d_`gIy)0$HRJ{N**r_uUStZNA+= z!!V5?%s`*e)a-3aJ!Yb4bzvX^XL2-qbNS-Ie7PQWj;9mMUh1SC2aY?m+y|iKC@6u- zS8zxv5)hWwmJupqdHMed&fl{MR+JuaFRuXf5E_a5Q{nC8)*^Ido0NvX#Lq^h+*;&2 zf@X*UyH&~qMnWTm-l`2i*7r@tnaMbSWh$qab)E+VRmId{O=Rn3q1;o=Kds&^^U==;t z%z1GW;)@Pw`JrBfCWc~2LEGXM<-a26#?NKM0V+;&I0?LNs4G7uas=8zNpulY*Cj3z z`*MEMMh8J&e&9MIj>^LulFXyswjusDgx?03u2KnaR~Ji6Cm8vw$8OqNb&r}!nX z1=z%x?y*Yq5(()VB(`G0Jf7rOl|YMo9U&{4qyipg9~Jaf2hHC8y5Rfo)!4r>Fu74^ zQQj`_0g)m2I~Do9f4BeZ#|kPvFI$?ojld6c^U{UO>2IuhP{CjhEoVvx$$oZ}x&Ob{ zfv>VrbT(3oQ*&y7-uNzozk}zlAIt5iLr=GDcUHcwnB*F8TFH2AqE1<7!#v9^bavDA zse+>ri*s{^2R{ew+IGx?!9jKKI9xhduJ?aey#LAm*Y}4quA*JLNu%CUZM1r$+adS? zobi7>R<+!!aya}o1d!(BU8z>`V`iR-8<;5_I7||h<^u8SHexUWPYUV z#9Nv?lX~FAt1$qt&Tv^^sZ`NeBx-S08-Rnq*M+VPLb9aziqHuf_X9V6Sn}&~!zz+iCD6{7cn(_p5bJ6)1?5} zA+-N{f}Y^V^r(Y~o*c*5c1?W>HU&HJL+jl|?~2fty#MXLVI~G+ZIl5#14|6F@p9%Y zwk8I7z`3PKnreM7cr^X>X{M`(;4>H!tp+Do_i+V}HZ1jfdW(HT3K;$ObcfOY@A3Hm z0MQPpD^?Ssg5AQunZa{2_HWFT0f;!A>rz-WU0xAn)u@~&ci%_-vtE8@8?VW=JP|-b zQ|7(ByTK@0wjDa-?|Ns;7w9<Sp5(JkMGFH`_@Fu|*`QUc7(S685OQ1{QS3@V*{9?6qq|D)*-(`)37dlPs% z{S>Unl>hVcEWMq+iaxJ>8fgQe(KOV|bpUR$eB(vGl_nXLh7Y=WsGYj7U7ub#L$3?n zfil}xImyGysy!Hsk_`Vx9c1+v9vOfh(;uf#qStS~uh#J%Dt;_a(`)FBgMGf5zgSsF z5=3|AC*7IvLFnUvU}btnnYV7`C+m3)lf`bf)PL)>_*nVl^eTG8S`PRN59>gCJ$(W_ zzrCB@#Gk3mN!lB`8m6v?Gxi=?X+>DtlVgEnnHBVl+l~NQwZ>8|2D&F&I^J_j#;o=p z4_kL}1lC4twiYap%maE%uiB2nFEP(Ux$^w0cg1}(ea+54yIJ54o)^Qsbu%WC5u$P1 znH*Q=!GU)FXP77}yZdk-yhFK^Yo#|{U;Bt1L|@uIcQ5yib_SYu3N#SebjYXsf+O}t z)iRXw%QW72889BAfD==G$8$#joqF(R38u_fz&o&#xreM>c<-jGAyYH<6hD1<-07I! zRK_QV(R+_QAN4D4Mvu$@BzF*?Ba#V$4$z2NTMM4|*&^gx_G@$Up9p{L@&0ecz_Cw@ zW80qMmkl#`%`fbEzOa|Sg|F4Q`)+d&kf022V@pQ~|%3^u)5?E-; zC^M4>D)Z#cRIBCqk@dZ^sXBYcN@=$5<3bUH<1}TWH1dzwnOx~6kq6`fdsk#{Hd9HNInRl1MSf% zZAG4!lrx{tIST}@94MaHesN4`Hh*@zQ+iIDSZph$-^bdQ8o+%1yg{xT4%PDaO@p6& z3gA&c?(r_|@s*2477>k}Z=Od0rZN}vwA9;ufXeOotqd!}!DP`Y&B?J`(AH_|=ISIP za3F1i(eA?veVBd*z{-rR%CQ2DJm7vl*{7Nh8f*qI%;`$joEgVV-Nt1FvgsjtcTduI zO7U=jc$Q~d3pNPQ$b)Y_O}FYUtrpTGt&IPR=?Vyf6)50d!eY;gUV(hhbG}aZoIfec zVVgy{kTGMUni~tdY$)e6QO*m}DH%E7Q6B__c#w&r%k|;&lh=V#%;D^TXM$g)@q!m4 z4Zf8hvp@1q$Ea+qYB}#{|NUL^ai_G8%KfbNFZK@b^LrWYI)^Ow4?sBC$D1Y~C?)6AQt^pkyv018 zZOnk7S}vhAsPPxd@Era87#kY^;vS59VT^~3$S&QP|FD^iz@(UY@H|VEqe>dTa)-Xh zt!@T{UX0dlm4hSb`nkI2? zA`9S^*TC4>$H2onI(@s{jDf|+K8Q+mRER9fWZMgaf8IsU^K*MX&(Vuw4Ah4P*d~|B zT{xiv<%;Zrab$XTE*q_5&Hq-W$6^dbAuXdl};upjzm(Q==ox6@bB zm$%QSXJt2G{A@VV-lA`9UJ&;F7#tn6^g%`T5Qo<=VXfu7ZSGSzUbJT@i@upZpPrPb z=|lOoJCi<@ayVmgQs(@I_7?hb`j0w;fNydJK{ty{h%N%dODG3KGK`F9qsEIGz0O z{jlrN6MH=7GQDgsc^}Yy8SlT+|DG9xq<>oe`ca|#@u#U``^#*e?K>V-@Vu8 z+2PA+XW-T*$qk>V_f+Mf3j2ky%!PZbx534P-IxE$oAi@BF%WLEuha;L%Ko(tdSJI9 zs9PIN@4rh>?pp^(7j8FIUC`Zs=zkqN{df33){@ndTN5GJ!O)x~qxP#iaqM}TBBOe z#8}b(m zW%`Hp3UdYLO7-R3Cx}{L1L(m@zNx+(t10fiDw>~T^%&-xz0Nl#hm?m?<6sS$D*(cc zY}0Sy!$YacVzDt@a%S^Xo0VIBOKTA-1ER7>JKqDRXOIQPB?dD{Vt@hPFje2BW|rpV z7GK{9pTUD~nWNIR*voh_%_TNiFr0Gzl-Gx=g1qGJ18O7i4#6$echznN$RnGHi9G%0 z!xz?5OsNRGjf$n7H-1bnS9*=vi|E7mh|WfvmlLY8$U)I-Y_s;R*evxHye<;i!|ZYke7 zy**aI%HvUZeUB|`5lhs-vyZGe3!0{Mb6se0fAlx0E+`=<_v+Ttv!$xw$b;7aTbZos zxrKd3o>s`1RFC&bD%8L=qQ%W?rGma^Q#5XY@Fndv+-j~?+U;B;$o z!6|^iM=-iSG(KMDmDg5<%|5eYrYm4GM%b)01~+g8F%n6u_}XNuFbX|UYk z1b={aO`ox@&r|`QbK_%Ot?8Q=@h~XE0JtRJ^m;OO#J1SXkoBl~&vLm5!Qu+rFvFuk zumUn0g?lqz&T}s74mT&km zHgDQI?=2KOIf-ztbV*HN#b1@AKEe9i^J4_W*CAr?e=wf4km-#tN8=8-+(rI^jl?43 z6yAkI9=Zl3fIMXG?1_(ED3dB!jsbv~5b&$b*xO<{f894s2m|UR{RNUjVr8;c$%g|l z>L~g>En2$fCdZ)?ClAhp+Dp;hO|o4z_Zh~}1DAX}rc_F5=LQHH6F@YX$d&6ibJlq* zx#wMSh^jxg5A{|h&^Wh2;M8XzZe|Kow2qt*VfaFLZf5IbX`4yF^;^p*SOF7LHHW~8 zUCNK{a?Mci9xMzYxYAchW!m`_zz;aE_96_un|$~%3(hjp09E!>P>3&rYD zMyLH%@9r1rlE<2lV5dP)4tN05Q`(_A+Gu!9VGbzSvc3dbO`Yo2P#Li~NW5DL7kTc* z6gq(W%ENn|xWFioE;(M~^J%uR{vULWmo>E?0Y#PuA~7$=E8Vac$jDd*)hHfU89N*gye_s1#bnE&!E#*kKoc9Vn9$9#qj3=>T|i6G$n&E{A@6& z#eF27?dQEgp&XpG#$Hp%@a9ujP4Pqdy2Nj@C4ZaEon~8f{L0ezl{emp-j6<6K9xQ| zJ~S6pw`)GsPzO=i-AE($Eo&Gm~a5m zG;EKvR=?$gk@mF3RwcMUf;C}48k$G8?l{!%fIM6)*;&HBvw@@QW!#D=A_FzJ=?bC* z)W)T|KhkXWNoc&1={Pe4)$0;%hLS5?N5z7Un3u*Yb@Hj z(ydQ_?I5(}ZU*?I>cM+bKEy)hZ)PVqx1c|P#xqY)liJF0_(oNgifF|Q75?&;FBTXR z0}7|JXPGlVG{NNeQrQx$S+R%`JK($$0geOhL}i(rvBb=S-XjosrpUrs$V`g$m^>c} z0JaeFU>i4cz9_mm>TOeV;|q)XQp8X6<>_p(O<&*oniWuE6}J8Fedzt^cgPz?(O$KE zG`$DEVgL-^HS76nBQ#)SFe+F&+H}Y_b&+Z2R!8+F#{*_qti|zMFc2Y)Ps@PhL&T*^ zL^aZ^O3GjZA|Jbii%h|ckn!pwXQpmp4c9bmwg^>x^`m!dk=aq`a|;P(}CEt z{8M*-jow#&xtYK8tD2iJj_?2EWVne*;-yswLvTQ4kf>zT4b3+=gf!*lI0g{b70O)U z*7E!&^=Ty8jUjibnnk}y%h5`23VSs%CPhZJ9UM6 zdqd+lZXZm)gFb3!o{!YJz*^BCM6aR`l2_5!)0^oF`QOlw@jIh87XH`(iHy3sf2dXA zXi;pamyixNWy~2(0&$uPU$$6<;H}Hl>fgZ-){g^>?@QQco+euM zM_!xr+1HqU(biY=51sVkgZ|qWYiPiPZd$XOPF2#RE9kS=bF%>DzJImZyI#W??yof4 zXBam9ILrrZA4b2Fe%bi@!0p57o%Fqf&3{^cg8l{lO?m_ULHZDRO*U$;lhy0%`77va z=}YKG=m&xd27mU@L61rw0;=q!5`xVS`I(>uz{H-OJzm3JL}`qP91E;=B3OV5?xAJKB#^L~;as{*@&x-0d`p-k=ZTw9Ol`s!L^ zHN)|}ruZ5ngO}yA*KFw)w)6Q3rzfl=kH(jT#yjx4x$2)+=F8-N)Q1!D3<@zT2%<*o#5579s#pWb!4irY2XSY7} zmGZ6nWCKXvn@+Ul9q~Ibm6F36(Wn574V9sJ%0bBt;PP%_DI8RY2$%>MDrwOul)(3a zmFm^}>`{@XU1EPdcm|F?%|8jHzKHoF9Yh0EPpaa356HUO*8>c>D8g0K&oEt?$-Hu3 zYA~VQWAPd9nh&7zQ>4p5bZ|Vg`#I0hZ`e5pCEFKS_|V;4JvqShq;}&;0o-53{#Jh5 zsKhtXSJO}NkLOel(*r@sLwz-qX~enQ=}DboLv?g05d2mL9atDi-2s|X&Nd&)b<426 z%r#Ngh2@!SKI*?#Y!kzIO9y0BSIasA(u$qlkTVHW>40 zY&z&2=W8|2A}`ut?Pe3zeYPJ4A<1R5`5PPd|M(c*ReZy2fK?t3_IZ+b2HKt)Ao<<$ zdz0p^hxO~X52WvI-)wK%b^zSOyBgodUpH9l&Fu>a7f--mg2$`w3@~E=))$(Bo~^)i z8gre{R>g5i%QE@I2@+MB1eQY2_QHeL6PydqE;S%BTp*zc*y#n>N84Mg;f_$2(t}{4 zElQo_D>Gf*!+A7(3V)xxvq*8C({9T- zH|w1QXNDi7J-0^&>__xC81FG_udDz48u|cw`5xavkoWEV=vUFN+{e3qRDNibsh89P zm_NktpiiN{ML$J9p(P*ls3{ir^oHhU{&sHwylEVNn6~DL0T?K128I$nMzV<=GY@es z6`o-kN;4KC5dFFDbM;GBy~%_DPmUGZ&FQXiPN|NmFyj;lb)5afy6*h;7TwK3|9fUv z#mnhE>0{)N&~KxU7|I&kMm1P76`?zy-^p*M|3?2|tPj+e$f8cwOLLtU(+)81s{HRj|zPc ze+#{nzjv%4GM3(JFU0C;<2RP!(+|Y>(l$5#sx#j$Ki!!DTYq$Qgz-waDllA;E^Pu3 zSw_>%0w?c&I#s|6Sf>tfnk>BR8;uSiY_5lK~v`IN2=*W=B}T7LeM_*eka8 zq~A@SKp#f0qgTi;rRC=HaQ5FGjeceOAbO>I5d9qe484`VjDC>5n|?xmjQn%ugw=ro z;TG!(Suk`20X5^C@wutLWI*ELmPk=AZsj~OJm^@;j!dBHpJX`DkEY1rA2Q1HXi(-z zx7i(>=1;;@a|qNOK>q^sReUn?QABt@c>A6DBz8f-;}JZwboSp4qHm*%-8K^%()I?JeUFW=saKA!*NIQK2`);;e0 zdAkAoQSt%GScl)3uLG>HL^Rz3K7)mHR^>(+DzOs7;HWohnFFQKG0cZD190V zCpv4Hy1;#;J&JA|zO@M^GeAQ^;pOM^c#LFwfX-(jy7%Mj4R)n>|6)8E7aU)GQfjdv zdH0K+ZqJOkQU_&U05bs8O+dS|mQT_A+_8@L(S^c9^sTeNAKs(O@4tIH2Z5dmx(MC& zIrl$IUN_=MpF#h~E~#JGqtM+y>I|a{Jys!#7Y+w_DE&x%FJBeQk`#iU2G1F;d@Pj9 zVJ@eD+~Xt>v@q|5K|qO*CQ9|4{t)LNelSGF9tebC&)I15naJj#TYIzNhxkD4&K$*T zVTI1j7*lEKPwoDR=XtyL3jUN$WqK(*E`^Lmw`$ z-$Q`*MZ!i0mN{$_?f0ek-YM^(ujMbL@8fSTN#A?>W%T#tGw7eRzp@*-Z`x(CjqyAs za9hNx$B5V%N31c6gPww}!+MOmQCJ{XlmHOSX6s!6zRG5Bb2Pkbk{pmj<$HHB233g& z7o3cMB5^T|J`vx0bIN#D$z5UXN+)9VfybBzO7XR@_yXWk83-6TQIfTo$GbD`<5su6 zc96Y3+$XNbyXTUu6JIm*7XmkTT_*;h#dT62zHqtjsn)^TF zWdU?KP(Xz!A`axt>Oje3q8L1Ny^>j+jY#IVLiD2gKn&(>&G>v#sl6iUkQVY>hDAuph$mAK1p}H=jNvFj*bfU zsxy_z`!Cp6pudFveXLRB3jZ1TN%{`{h8+;!zMGuiKp(=drC+^=5{oIY-|v&}7;Mtb zl7D_7)`evC#a`LRp{XkI{s1n0O*(tZHdHRRPO5#@ETm(Ldk5 zAbP7VR~>JpoIwD+HusHa9yzdd{x?nw2vdk~)`Ul^=Y|%R#fU22Obt2qi!kFbG7Hn> z|0gH}mBI`7H)J;0AI$Ksko!_O3n248DBOo^O2#;=bgteYb=1Bf$TYzK{M+ z`?F&t9-sfVy}SR9`7Z~l`0ND_fOA}L2EKUZ!Jd(ycelg*=*T8_Sj_sn z0tDZ44#7khNcu7!WN*)A!-j*1C8-3}a9N!^duK~@mmNkBU>cs$I_sf2gevCeg z{~3MV-m&l7+uE1WXYfDX{h)6lUq;V^hmCyw00NntEQ2+Y)q{?{ z9ev!v)Qk<%lx+cq0}IjgoC#q48}xUu=;dHlYUA9PZ`8-(b})ZGe-}N!JsTm2J~iX} z+jqt)tqL3sC+K1dKK_-BuCvZ-=#BJ6`{;aMr0Q<;6#aE)mFwN6F`%^cCR=BRGPhL< zNZ2cG&PxIZ1Oe}^)krY3PAg04FQeRi5dxx_(yC>NYiKj=x4t%$X?3Lxw(6w)iB%EJ zu{@ZudE*HfzVFu%AhfuS*AReqt#`M-j^8}KdvWKA2QRz(C7nHbuW|hD;(R;zkF0#+ zxc-**rolcpwo0q60iA0mijTgV(z@CIZuw^VyZq-gxHuN6x{U=JMzNrmq-LsR2S*c_ zI5<^dRHY10gi~Slx|u|O0aBtL9`_e-!B2?Cfk2ppHJnM@u{EhWKw89uI4M*>&yt#$ zr?!qtaQ)h;uHg)ejQe7gD^TEe2C)73bNFAus_)~Y0r}~q@u{cGco+wJk3H6D<`;Fb zbI$RoI|EQodATM1=KWotg*~Q!d^LY@0O%d`ZM*OD?5NXNeM4^Tb5pu1e=p~q=mfVe zzdHlxJLw(d@9IW3Uo?Q|V(>WHCjQMcBMTr9?*a1wAP0yT(^C$NLS&U9_~_Qc*aNgV z?o|fboccJ}ujr&qBExr)5*VpSCWaT^ND2g_`;BQ-fd(Ma*4kTtpDr=B)%)E5mP(2G z`GdaZ&aJIf?<>ChN8J2V2gF;nNM9J!zqX?w%1AcfD)y(J)&-K;K0_ z&Hra-kspa=hhx=wF9+R4-Px2ErpW%Uvl1<4B|@?AXE2FNl~OR^VxS(8a1~_6Fg`!p zTnasxAj+|{I@<3u6tCU1=(Y6j(J4lyAp#Q?oP~@oqU1tG;;G;cL!^$1tDtUSh4=1E zzQMm2CbTw3v)^LZzh@7?J%I{deQ|dsvjrE>&mDMp* z(58#TaxtXiS3PYvW1rUk{>ZgE%s$n`LAa%%Hh|F7$edWEfM?@m%ap#@e-o<+<&cI6 zPXrV%bRtj+zjmJ9tn8CBGaNJ5zBBi{GH+Bn8B2lRG?eHsx}g|QFnC_`?sHk(S9X=D zn6-EFmHeN^)Q&#kYJ9nH1~bzESiL9I1AkvfUrzqLiA@qbn@u*O08lRM5G_882ChJD zAL(Bu9~kstD!NSlSEuAXy)b4KW`w~I~|M{;BcKt zScQZ22r&UoGldHhBJ|l5$|!k`xYib&>OorXclF-lh$<~120{T$;s3yUQ{fQTd$nG8 zo+GWdSbtqcr>;I4Q&PutQTy_-zb-STrrOlf?y#!EXFvq=w~2pa;#NQLG+OXod`2L_ zp@8ASLHhqx@|HkiU8XMXHU*HY5$ff274ug%fzK_#a0!u{O<)#5rAyp{tNHirH*0oY zQg@vFE{gK$eynmEd0~y=*l4V99lYrqyyA36HX4uIK`vSesM=s1K`;ww6vxCoFAHK- z?!p#hX(Sb>E0f+1U!t>zBj4%YU-|X-zlM0CMe0=6jlta5T7zoB?g}`3x~mQIgtL$f zXpt#y{#=5winw6eMHC|U21Wu*W6RwM`W<`(4Vo_sB?~B*0bWcj)1AQ%01+6!)ZU)^ zKb(Z*Lm1-hlcCBy7de=#rDv`~kP@$G6zh#e#Cs^2LnMsSk1^_ZlK^bvU~yLL$+kv>QyBdF8mQp#9k@2QkWa7~h2mW{ zx_mJKXM(|Dax`X|008CiQhM);2(67x_b@#o2BS_Q5un6( z(s}}$(wfxhu>kio*fK~PuNgN0m@^5>%s2?N7K(6_b|ubv>PTLZ1m}3=wgH|V@x9d- z1Stm=rI5Ye877E)?lY0UOlTpya9+jg8$FxaPE5lp@R+JgttiD!RkT!c{0V4)!@`X4 zMe`L&oDEy?sahQO>pr8w&X-zitq=^Zi!6*alC*dFjv1rra#E^Yb`4H)n8JX#kF#+% zVKCokHakgycFiD)OX`NXnuCtE7jYk=7$tTvO2j`>S*mP_caPl9={z(>rKQ1hynIms z_&^&vf!Ynu0Y+~q1VFGX{F1SwsV~N#$P`YdEU`Lj%nQOGUMdELBYz`>q6K?O26iN< z8^-FRlDttaj?gH46Jv*9Z$GqRd-0p~+T2tnms0}HR%)4n7@=l*Wt>+~SL=!gB7CM46ib)|r)% zMWQCjAd||dvNQglLkVVwTymo^G!Ob2|Jn41;F8Qq<+B->0#r~6v2#88U9T*L0@>M> zvYeA?0=tud2VW?%;xwJ!L5RWBSxn{E1wD1uk7f%D6M!VobMd7dP`cNk=HS?wuzC+m z?`<|FWOv2lPlMXfl1T97|qr_BMs_Q~)s*m~kkM zdlFbwfK<=&RJM5)1cgcipEfo zM>r*z1ll+HEkemGG6BR{%b$Uv&P=zJ9LUZwpkgqRP=GS(=GwQZQU9#~BG(Njss)6+C#{eybaq2@E(5vXeG3Tj;CrL#iDN9ql z@T43&LdBb6ka4`?9KW~+Yy~EA{!KXKUMuO5O~C9zt#qreDAg@nc4i}R);rMo>u1An z05A+yyJJlfQE{T#TuA|6dQfKCgLP~)o|M1FKJ=LMn^{}PLImoLbShKjyDvGW9=mDt zp&CfOA6@67OAJdLg3=pL-SMhG!Yk+#N%{N<@d@j+l3$~mqS3@-CKkWaO1Wmx9LfmY zTcz|ArXQD%5DIv~Has1pVd8RJL6zs(LKjkCG6RVSeWUz7y>piTpOkmt{tYWY_;x{b z`6(GZOjtCwtXqhL6Kg%)b@}v&k(fj%xZA)e|6LlTE|Mgt|@LP4Z4KIG=jj}tCL6-Z}bs$R`T)pQB?My;f*aUf?v z|9>N7H{c}zKShr<`lZ%zbbvT5loXk$DZY+eNEs-mn@0B={2^CNSd+``q&O;>4VD!(3PmZ6?z?<2IpD9P0(lf+FOCdladTFfbiJvgC4RNdd% zAy&4yB7(>>dQR;GIO^@dyGT<%GJ)u2;X?{EYlP2k_i?Jo8JYp+ic0R`@uOW>mE0@PVa^1t1)5z)CZ1hbC}5 z3v8X>Tpg~z=>J^NyrPD-SjF#^0m^?7ERANiao{A=s857os#8(ZagH+2p=j)J|q=lc?1T^naItDsB(f?Vrqr54;Kj7*cZ)CwY$&m{dlUe z5~K}}z`Y^>s03kvE~aV_LMtkbi!1~-I(vJJfMZTH$3<5Pn-WN_#(iLTalfv2wU3rJoP@}oRfSg7c>9|$L#!5 z@qe=3(aXRS#uz3~3c@m$p#YND=!pY`0xScDoNVJSMkWWTcOtkTqc&EFrH|FWb9ix1 zC?g!xD&PU((*b5s$OKVMGck_!&f0YT03ui|9_bdg4tXkP9w9A+E14c=iiSQ};UY>Tm^`j3gsyU|&V8!=b2==p5`2JfA1q5h5B zr8W^+6}*Nsh;+`8^I~XJkxc@ckHKit-k5dc(L7NR);yLq7+>bTQ6AF;Kx7`Ra7{aa zjOg6lnL}Pe1T8}c)Tq4YO=SK4kEaXjmJ-1a`a!CUDi_LGJ5a9|Y?$92g9( zCd(D$T-1nYHflL*@Dg~Aeo&)g{K7eI={E&KVfh?fSqHpMV0v8;!!$@j3nj+@0cr@9 z_aup9GesCc1V`F^A(HB`_~H>NaBbb{rfr3d$VSgw^v(>JR3k&anptHVBL6rz5!Q(T zFj-FrRJca~C@L`XF8>hVkne~!IT=fzkr=&~Y{fb4^7wC@g=;HknFWP{paDspSeRyOAl!ob zWLzK9VhuR?;-KD_tkZy3qyR@jL6oL0S;*x?z+DL_e-@0J8EZ=jWri9>jOaR}^NlbX zjospmlgw~xi(^_`tEQ?g^O($3KVx4UtY)ocPY#$c7>8Twx+mXI0Tc=`gi?eWRZbZ@ zaA0439U^xswd?DQl+Gxw?<14|8E1jTw!yUeGJx1P^aWn>!Dz&$g5q`pe=;%DdF*wL^&6s5dNkia( zDf91k1z6^P5ECk;h5=q@dlYg5L53t4!uf8?#9RVr9g})?uI2=?tlQKr*3tSR3pk$({MN^x=mRBll zCKDwUNDV=P0Q8>M6m;}eU6W;2W|X5xR?CcF%6hwj3zJ_&NMV{nG!T8}2{yTxF`;Jg z(s+slg!sL zk@?L`*sS4qz6~wZcJy%SRRfPqz=-dcwyDR(_T@s$!LO6$G3W1qiWt!G9}$8c znJ34hyxDmdnz2>Eo&$y$Ks9&M%fAGUcI$1vvh~i?+^N5VUXrG<7Xkw$2^z1vQ-w26 z?V>Z(mB3h4K;ab!6TaFd##CU!=-^Z)8ml6xDBzrxXbB%+Bd&e3b+1g{gl8~WZLyC` z6FoAi<(x}NAiP#uK&S&K^Jup(&mz&Hk$rGc2A`ni>0^li8*B2>^fr7SpM_~F za#*8RJlUY?@S)T!`}?7HVd}7sb8oCV+(L4c1w%j)d_HCHY*yDe28KdB3LIPR5jc&| zjb5=3QvrXk9cKs{#y-z}mVw1gTlUb9IlXmSO)agI#zP^-$~Rd zy3a{tV#MKo5i})?$a5LWAj)~o3<91()F$X~5j!fAkTGU<;u;?cM>)P_3P3ur6*$}g zw8B0DCYaXn_ufSgCgZ5Klzjp)3BZQ~CT!=it4=z~?f`-59zM05ttaLtj0BuyXC6u4 zM)Q;~S>xUL802(qY$54%uC4b#`O#rFTV8e_U{0fL-~qryP?4O03~(yY3I#gpouL{M zMvZ3gsLkE%Shc>ICUl6~)^rJf0oY(%h?0%MUy2?ULzsZ$jS_t}+ou*PkjAex!Y(XB zha{&^%n+gg3=;v@_%tv#W6n4fuySx{PfW+WdL{!fYNM2atQ^Ck=5(A{GN9Oa3p3`X zNkRrWsG2=8ru2hm4NL6#i$j_p^M2cQm;h^Qe0x0GS=|Z*3f6dsS_%aB<)j4Xl zThA>4nmse~EB$1A}5j zpnX=NDt+*VD6=?-x*w&hvr4d%%EilEb%9!~jFZ=WKUmZD)x29OwpvOa_rvQ79m-&v z0VP|ko&WJ zNtIBcfQ|%=tW}Fdt4DLD{6wX@9&AG;IulB2<}`2Q<~dXQh&}Tbe8Z7X<(Je~I?)pU zCqlp_h+H00#toyVO3{t?mT2HnxWyxhj{6lnSja}mMe2{R^}KkBY%>+6;Ry~-#qMNV zn(&XTr=t5akY>MaVwos+PV;aW5LIZQ5lazPGv;b{z+6#IfG3io)N$SiPAMbH{tS%( zw*sp0hei>TX?)yo1AmX8&fa75`XzAO$Z-J+vQWyxK&#zMyH9I;4blsN1tiUuX&VGNAR#zC zQeAwb2{caT6*g^I3-6;OOp=c%Ks0qm!XZu5C9!xx=9(|j#G0y<&h%y_RR3nvZ+R1A zu+aRT@m%p~yU8J{-<&-d+F}HWb4`cvU6F`PAgWEqP$Qm}C?oQE9T>>6gwS^7miq57 z!X2+jqX7dDg^42Ye~_KBr z8K+6}Ut}P6qI2RG?8`JzDiSpcFDN4Ht#svmu2TdA{d|CfYQ0I|7wf=;(!d%gPHe|s aO#J`H*}r3C?5~jk0000 Date: Fri, 1 Sep 2023 19:57:58 -0500 Subject: [PATCH 2/7] Update event name. --- co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js index 3e90e0f..89ec622 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js +++ b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js @@ -5,7 +5,8 @@ class Screenshot extends MeldStudioPlugin { super("co.meldstudio.streamdeck.screenshot"); this.action.onKeyUp(({ action, context, device, event, payload }) => { - if ($MS.meld?.sendEvent) $MS.meld.sendEvent("screenshot"); + if ($MS.meld?.sendEvent) + $MS.meld.sendEvent("co.meldstudio.events.screenshot"); }); } } From 4bb3b85b4975b5d7ba08e8f6f2fab80530510920 Mon Sep 17 00:00:00 2001 From: Terry Meacham Date: Fri, 1 Sep 2023 20:42:15 -0500 Subject: [PATCH 3/7] Update readme and manifest version. --- co.meldstudio.streamdeck.sdPlugin/README.md | 16 +++++++++++----- co.meldstudio.streamdeck.sdPlugin/manifest.json | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/co.meldstudio.streamdeck.sdPlugin/README.md b/co.meldstudio.streamdeck.sdPlugin/README.md index 5b3bd06..dc4929f 100644 --- a/co.meldstudio.streamdeck.sdPlugin/README.md +++ b/co.meldstudio.streamdeck.sdPlugin/README.md @@ -4,16 +4,16 @@ Meld Studio πŸ’™ Stream Deck. Take your stream to new heights with powerful new capabilities at your fingertips. Trigger transitions, manage audio tracks, toggle filter effects on and off, and much more. 1. **Now you see me, now you don’t**: Things getting weird on the cat-cam? Quickly toggle visibility on any layer. -2. **What the \*\*\*\*\*?** Mute your microphone in a millisecond. -3. **End your 24 hour streamathon with a bang.** Or just press the button to go offline. -4. **Want to post your victorious boss battle (and not the 13 times you died trying)?** Start and stop recordings at the touch of a button - as many as you want. +2. **What the \*\*\*\*\*?** Mute your microphone in a millisecond or precision adjust your audio inputs using the StreamDeck+. +4. **End your 24 hour streamathon with a bang.** Or just press the button to go offline. +5. **Want to post your victorious boss battle (and not the 13 times you died trying)?** Start and stop recordings or take a screenshot with the touch of a button - as many as you want. And we're not done yet! We are continually working to bring you even more capabilities for this integration, so stay tuned for updates and new features. ## What's New -Version 0.2.0 -Now you can fine-tune your audio levels in Meld Studio using your StreamDeck+. +Version 0.3.0 +Now you can take screenshots for thumbsnails at the touch of a StreamDeck button. ## Helpful Links @@ -34,6 +34,12 @@ hi@meldstudio.co # Change History: ------------ +## 2023-09-01 (v0.3.0) +### Changes: +----------- +- Added support for taking screenshots in MeldStudio with the StreamDeck. + + ## 2023-05-31 (v0.2.0) ### Changes: ----------- diff --git a/co.meldstudio.streamdeck.sdPlugin/manifest.json b/co.meldstudio.streamdeck.sdPlugin/manifest.json index 6e7c8c1..ecbb669 100644 --- a/co.meldstudio.streamdeck.sdPlugin/manifest.json +++ b/co.meldstudio.streamdeck.sdPlugin/manifest.json @@ -8,7 +8,7 @@ "CodePath": "app.html", "Description": "Control Meld Studio.", "URL": "https://meldstudio.co", - "Version": "0.2.0", + "Version": "0.3.0", "OS": [ { "Platform": "mac", From c5e25995d3f4e2c684774f92cf8f06589f28f0de Mon Sep 17 00:00:00 2001 From: Terry M Date: Tue, 5 Sep 2023 14:33:57 -0500 Subject: [PATCH 4/7] Include the plugin in the app. --- co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js | 2 -- co.meldstudio.streamdeck.sdPlugin/app.html | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js index 89ec622..d963884 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js +++ b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/plugin.js @@ -1,6 +1,4 @@ class Screenshot extends MeldStudioPlugin { - sceneRequested = null; - constructor() { super("co.meldstudio.streamdeck.screenshot"); diff --git a/co.meldstudio.streamdeck.sdPlugin/app.html b/co.meldstudio.streamdeck.sdPlugin/app.html index 7acc506..03583dc 100644 --- a/co.meldstudio.streamdeck.sdPlugin/app.html +++ b/co.meldstudio.streamdeck.sdPlugin/app.html @@ -28,6 +28,7 @@ + From 54ce8383a66837c2befc9cf46b080a306fed93bb Mon Sep 17 00:00:00 2001 From: Terry M Date: Tue, 5 Sep 2023 14:53:45 -0500 Subject: [PATCH 5/7] Update manifest description and added distribution info to the README. --- README.md | 23 +++++++++++++++++++ co.meldstudio.streamdeck.sdPlugin/README.md | 2 +- .../manifest.json | 2 +- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9d42121..9aa7e21 100644 --- a/README.md +++ b/README.md @@ -15,3 +15,26 @@ Which should yield you: ![](images/debug.png) From: https://streamdecklabs.com/debugging-your-javascript-plugin/ + +# Packaging + +Elgato provides a CLI packaging tool. The files are just zipfiles, but the tool does some validation before packaging it all up. + +[https://docs.elgato.com/sdk/plugins/packaging] + +``` +$ DistributionTool -b -i co.meldstudio.streamdeck.sdPlugin -o ./ +``` + +This outputs a file `co.meldstudio.streamdeck.streamDeckPlugin` which is the file we upload to S3 and link with our publish request. +The CloudFront cache for the file should be invalidated after uploading to ensure that the Elgato crew downloads the correct plugin file. + +Publish request should be sent to `streamdeck.elgato@corsair.com` with the following information: + +* Download: https://packages.streamwithmeld.com/co.meldstudio.streamdeck.streamDeckPlugin +* User: Meld Studio, Inc. +* Release Notes: _What changed with the new version of your plugin? (features/bug fixes)_ +* Support: hi@meldstudio.co +* Category: Video + +Include the content from `co.meldstudio.streamdeck.streamDeckPlugin/README.md` in the email including the plugin and plugin 2x icons so that our store entry gets updated with all the desired information. \ No newline at end of file diff --git a/co.meldstudio.streamdeck.sdPlugin/README.md b/co.meldstudio.streamdeck.sdPlugin/README.md index dc4929f..02e6d23 100644 --- a/co.meldstudio.streamdeck.sdPlugin/README.md +++ b/co.meldstudio.streamdeck.sdPlugin/README.md @@ -13,7 +13,7 @@ And we're not done yet! We are continually working to bring you even more capabi ## What's New Version 0.3.0 -Now you can take screenshots for thumbsnails at the touch of a StreamDeck button. +Now you can take screenshots for thumbnails at the touch of a StreamDeck button. ## Helpful Links diff --git a/co.meldstudio.streamdeck.sdPlugin/manifest.json b/co.meldstudio.streamdeck.sdPlugin/manifest.json index ecbb669..2fabd55 100644 --- a/co.meldstudio.streamdeck.sdPlugin/manifest.json +++ b/co.meldstudio.streamdeck.sdPlugin/manifest.json @@ -6,7 +6,7 @@ "Icon": "plugin", "Author": "MeldStudio", "CodePath": "app.html", - "Description": "Control Meld Studio.", + "Description": "Meld Studio πŸ’™ Stream Deck. Take your stream to new heights with powerful new capabilities at your fingertips. Trigger transitions, manage audio tracks, toggle filter effects on and off, and much more.", "URL": "https://meldstudio.co", "Version": "0.3.0", "OS": [ From 59c3f8f7fd882dd71b346e7de4c06e81e76a223e Mon Sep 17 00:00:00 2001 From: Terry M Date: Fri, 8 Sep 2023 13:48:25 -0500 Subject: [PATCH 6/7] Tweak readme verbiage. --- co.meldstudio.streamdeck.sdPlugin/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/co.meldstudio.streamdeck.sdPlugin/README.md b/co.meldstudio.streamdeck.sdPlugin/README.md index 02e6d23..b483613 100644 --- a/co.meldstudio.streamdeck.sdPlugin/README.md +++ b/co.meldstudio.streamdeck.sdPlugin/README.md @@ -13,7 +13,7 @@ And we're not done yet! We are continually working to bring you even more capabi ## What's New Version 0.3.0 -Now you can take screenshots for thumbnails at the touch of a StreamDeck button. +Now you can take screenshots for thumbnails at the touch of a button. ## Helpful Links From ef167786e363337836cfe4807f13cfc3e767f025 Mon Sep 17 00:00:00 2001 From: Terry M Date: Fri, 8 Sep 2023 14:03:01 -0500 Subject: [PATCH 7/7] Remove unneeded watcher. --- .../actions/screenshot/inspector.html | 6 ------ 1 file changed, 6 deletions(-) diff --git a/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/inspector.html b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/inspector.html index 25b4087..2321e7c 100644 --- a/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/inspector.html +++ b/co.meldstudio.streamdeck.sdPlugin/actions/screenshot/inspector.html @@ -22,10 +22,4 @@ - - \ No newline at end of file