From 266a065cda4452605ef1fcaefa9e24a079a430f5 Mon Sep 17 00:00:00 2001 From: Andrea Date: Tue, 12 Nov 2019 10:16:09 +0000 Subject: [PATCH] Jingle Bells App --- apps.json | 12 ++++++++++++ apps/jbells-icon.js | 1 + apps/jbells.js | 38 ++++++++++++++++++++++++++++++++++++++ apps/jbells.json | 5 +++++ apps/jbells.png | Bin 0 -> 1856 bytes 5 files changed, 56 insertions(+) create mode 100644 apps/jbells-icon.js create mode 100644 apps/jbells.js create mode 100644 apps/jbells.json create mode 100644 apps/jbells.png diff --git a/apps.json b/apps.json index 16162409b..d0be75c34 100644 --- a/apps.json +++ b/apps.json @@ -372,5 +372,17 @@ {"name":"-mmonday","url":"manic-monday.js"}, {"name":"*mmonday","url":"manic-monday-icon.js","evaluate":true} ] + }, + { "id": "jbells", + "name": "Jingle Bells", + "icon": "jbells.png", + "description": "Play Jingle Bells", + "tags": "sound", + "type":"app", + "storage": [ + {"name":"+jbells","url":"jbells.json"}, + {"name":"-jbells","url":"jbells.js"}, + {"name":"*jbells","url":"jbells-icon.js","evaluate":true} + ] } ] diff --git a/apps/jbells-icon.js b/apps/jbells-icon.js new file mode 100644 index 000000000..dc602af1f --- /dev/null +++ b/apps/jbells-icon.js @@ -0,0 +1 @@ +E.toArrayBuffer(atob("MDCEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAABEAAAAAAAAAAAAAAAAAAAAAERAAAAAAAREAAAAAAAAAAAAAAAAAAAABERAAAAAAAREQAAAAAAAAAAAAAAAQAAAREREAAAAAERERAAABAAAAAAAAAAARERERERFMwAzEERERERERAAAAAAAAAAARERERERHMzMzMERERERERAAAAAAAAAAARERERERHMzdzMERERERERAAAAAAAAAAERERERER3d3d3d0REREREREAAAAAAAAAEREREWYe7u3d3u7hZhEREREAAAAAAAABERFmZmHu7u3d3u7uFmZmEREQAAAAAAARFmZmZm3u7u3d3u7u1mZmZmERAAAAAAFmZmZmZh7u7u7u7u7u4WZmZmZmYAAAAABmZmZmZk7u7u7u7u7u5GZmZmZmAAAAAAAABmZmZt7u7u7u7u7u7WZmZmAAAAAAAAAAAGZmZu7u7u7u7u7u7mZmZgAAAAAAAAAAAAZmYO7u7u7u7u7u7gZmYAAAAAAAAAAAAABmAO7u7u7u7u7u7gBmAAAAAAAAAAAAAAAAAO7u7u7u7u7u7gAAAAAAAAAAAAAAAAAAAO7u7u7u7u7u7gAAAAAAAAAAAAAAAAAAAO7u7u7u7u7u7gAAAAAAAAAAAAAAAAAAAO7u7u7u7u7u7gAAAAAAAAAAAAAAAAAADu7u7u7u7u7u7uAAAAAAAAAAAAAAAAAA7u7u7u7u7u7u7u4AAAAAAAAAAAAAAAAO7u7u7u7u7u7u7u7gAAAAAAAAAAAAAAAO7u7u7u7u7u7u7u7gAAAAAAAAAAAAAADu7u7u7u7u7u7u7u7uAAAAAAAAAAAAAA7u7u7u7u7u7u7u7u7u4AAAAAAAAAAAAO7u7u7u7u7u7u7u7u7u7gAAAAAAAAAADjM+7u7u7u7u7u7u7u7uM+AAAAAAAAAADuMzMz7u7u7u7u7u7jMzPuAAAAAAAAAA7u7u4zMzMzMzMzMzMzPu7u4AAAAAAAAA7u7u7u7uMzMzMzM+7u7u7u4AAAAAAAAADu7u7u7u7u7u7u7u7u7u7uAAAAAAAAAAAADu7u7u7u7u7u7u7u7uAAAAAAAAAAAAAAAAAA7u7u7u7u7u4AAAAAAAAAAAAAAAAAAAAAAABEREREAAAAAAAAAAAAAAAAAAAAAAAAAABEREREAAAAAAAAAAAAAAAAAAAAAAAAAADd3d3dAAAAAAAAAAAAAAAAAAAAAAAAAAAN3d3QAAAAAAAAAAAAAAAAAAAAAAAAAAAA3d0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==")) \ No newline at end of file diff --git a/apps/jbells.js b/apps/jbells.js new file mode 100644 index 000000000..faab3defd --- /dev/null +++ b/apps/jbells.js @@ -0,0 +1,38 @@ +E.showMessage("Jingle Bells"); + +var eventEmitter = new Object(); + +function strofa(notes, times, current, next){ +eventEmitter.on(current, () => { + if (notes.length == 0) { + eventEmitter.emit(next); + return; + } + let note = notes.shift(); + let time = times.shift(); + Bangle.beep(time, note).then(() => { + setTimeout(() => { + eventEmitter.emit(current); + }, time); + }); +}); +} + +var one = [2637, 2637, 2637, 2637, 2637, 2637, 2637, 3135, 2093, 2349, 2637]; +var one_t = [160, 160, 320, 160, 160, 320, 160, 160, 160, 160, 320]; + +var two = [2793, 2793, 2793, 2637, 2637, 2637, 2349, 2349, 2349, 2637, 2349, 3135]; +var two_t = [160, 160, 320, 160, 160, 320, 160, 160, 160, 160, 320, 320]; + +var three = [2637, 2637, 2637, 2637, 2637, 2637, 2637, 3135, 2093, 2349, 2637]; +var three_t = [160, 160, 320, 160, 160, 320, 160, 160, 160, 160, 320]; + +var four = [2793, 2793, 2793, 2637, 2637, 2637, 3135, 2793, 2637, 2349, 2093]; +var four_t = [160, 160, 320, 160, 160, 320, 160, 160, 160, 160, 320]; + +strofa(one, one_t, "one", "two"); +strofa(two, two_t, "two", "three"); +strofa(three, three_t, "three", "four"); +strofa(four, four_t, "four", "stop"); + +eventEmitter.emit("one"); \ No newline at end of file diff --git a/apps/jbells.json b/apps/jbells.json new file mode 100644 index 000000000..20638a2d6 --- /dev/null +++ b/apps/jbells.json @@ -0,0 +1,5 @@ +{ + "name":"Jingle Bells","type":"app", + "icon":"*jbells", + "src":"-jbells" +} \ No newline at end of file diff --git a/apps/jbells.png b/apps/jbells.png new file mode 100644 index 0000000000000000000000000000000000000000..a702573969d487a18e9f34f1727ff9bf95cc6086 GIT binary patch literal 1856 zcmV-G2fz4%?|m|eAOv>VZXqhJv~(T}JV(&G)JB8emQm@h?~Sv1z+) z;*pf=NUDY<;dr9>9g_`pb!?7?I9z4!pi&sTuX9oM9EdCW-;P zIN~uYe%8}pabjMrIhmxeP?Q&4(*SqeU3f2_zT87d5uh$#knwn=t;6!AoN8cR+%jK_ zd(2mXx&D+>{n*itDdKbIm%336S&_4VmD^V~2^2iL0QhmPKEuk8TU`-ytFGBxH!~|6 zG#uI1a%(P+oCUaQJXJ`VL^RnsYoPbN7Z&^@ws4aeR*g_uE6fkU{18;u2v)7ounFT= z^G`%)_Vu{;6r+1k8L;Q$$mbRBmvHZXGX%B5l3j@yfu%}&hT z@!5W=edF}}Bnd;KKbC5NZ+owr1``I49<1f~c~76mXPpVwR%k^yxX7@~>I_m`#a(~= z$+kBOE+F#L$YM3jcYv8=_foOs=_{9`z0tvVjoQvFAQnJFjm`eMFHaPorvQL~gu&hW z!*mUe%_C}yWu6LE2L>v_p*fzQ_mkt?FPes~KKjJb_Phlw-@f`b!_~jIu2w|{VyB{) zqKQ;I*`UfznTp-}`O8FRC#M=tyYL4)oneCojZ;VK@pE1_9tdX&iwGZk0^T#BnIT`O zCU}dOGAL@Sd-uu1C$ko?z7}@|D*R`AG1tY2Zp2yfyEOH%C3aR zxB1eJ_TgOoyjzLB-5o=~!*d_1yM(Z1^me-?+-X2>slvx#K+slmjV1P5Ah!aD$S=Eh zb#5+@Ul@8Cy1oT^5V$DVcXsXUI#;6RDLDVzGZ%0?>p?Fm{I&b#&TkaTEqpuuJzP~pK%?*Y7naH` zXROkXl#csg$=ou=DyemPI5-D&+JVYa6Hmf0VlI-FSkbdu(H+n|n5eUp@`(qiM4jFG zcK&I7GKwEUvwhD2InSvj;tmY|4~iufHH7rA_Y0`}zF1x{DNubt)+YBBN+?)}9`@dh z%DX^SUgzmy2+@eNBtIy`xu7AWZOlOBkNo$=15}~%Cw;qeW`5TKI-qU$1qfX^LHwVM zBzh@gkt`inH3XNO!7!Vo>CI?P*Sx`M{Kp6`X{0&=&J~DtK>R~U_JET!c5(2`f?xyq z8^J#hkOtx(wgEX`0O#z09tnIA&-~p~EP+5H7=ein&JZMeAk_zUKcxD>83Z>8ngAVt zPBy{xg80A;fu|O%FnH&H_a-pM#db#^)(+8=5Ieg`?ihKwv;q$K;*6cj#7HL!EQCM< zcyDCV8^R25(#42p>>WUM*aMLG2x6xp-T`{`pfnA+)TZppcA&s~7+{WRXx&r!Xf zDUaKMVT_)pb5jI z3(-E1KA;D*6X--Z$+={^+>cX?p0aNV{`N%Bb+f!tHU$05_Sm%l)*6qZcYpa{7$}OU zf{w0vBI(PJ@~?trFJNw1_X8WUnD>=CUs>A;;JEJ7Kz|0)Wh}l~?tEo0VDYnwc2SxT u_JRzhFZN(@d*f5_?sDh5j_de;$A16_WqsqxV7R;h0000