How to change the sample map in Core.Granulator with a combo box?
-
Hi all -
I've been following d.healey's excellent tutorial here
I've got the combo box populated with my array of sample maps, which is great, but now that I've tried to setup the call back to actually change sample map to the one selected it's throwing errors. I don't really understand why because I honestly cannot spot any difference between what I've written and what's in the video. Error is:
Interface:! Line 5, column 48: function not found {SW50ZXJmYWNlfG9uSW5pdCgpfDE2M3w1fDQ4}
Which seems to relate to the ; at the end of getSampleMapList(); - doubley odd because that was filled in by HISE for me!
//Sampler and samplemaps const var Sampler = Synth.getChildSynth("Sampler"); const var samplemaps = Sampler.getSampleMapList(); //Preset Browser const var Presetbrowser = Content.getComponent("Presetbrowser"); Presetbrowser.set("items", samplemaps.join("\n")); inline function onPresetbrowserControl(component, value) { Sampler.asSampler().loadSampleMap(samplemaps[value-1]); }; Content.getComponent("Presetbrowser").setControlCallback(onPresetbrowserControl);
Obviously when it's working this will change the sample map within the sampler, is it possible to do the same thing but changing the loaded sample map within granulator in script node? This ultimately is the aim of the game.
-
@LozPetts Samplemaps are handled a bit differently in Scriptnode. This is how it's done:
HiseSnippet 1678.3oc6X0sTaaDEdEFQ.kzNIyzduFekyDJwlPRyjNYBXCl3TL3A4Roc5LYVjVi2hztJZWC1MStu859BzGsdQe.5aP6Y2UVRNlP.OjjdQMyHs+b946bzd9YoSB2mHD7Dj0RcGESPV2x1aDS1uQeLkgZsIx5ysaiERRhqYo5ihwBAI.YYUZa0BVKMOR+6ueVcbHl4SxWBgNfS8I6Pinx7U6r92RCCahCHcoQEnds0a4yYM3g7A.dJYWEEi8OAeLYWrhr4rQVKrU.UxS7jXIQfrluNOXjWe9YLC8GPEziBIpI0PdffLK2jGFnPrZUTi9zvfNisaABYY2I2KTx3E9B61z.Z154diaq2vMmih9Cq4lDdkl.d0dWv6bfjUAHMuAR2w1yOgFKy2QgmaZ2hAeb5gA2dQnXnEM2CKY2fCTvjqDgOgzLAljwQkGUs5xtvi69MNN2+9c6SbYD4Y7jSbgODRvlorickvxGmfYCBwfs4.6HjtmhSbM5n4g0bepq9PyJGSjaLHfx8vQwgjLjVorgTWf1xFcsMQpEbOZBHMMSv3PhqHjKc6kvizamBmTkp26o45MSeMANqTMWxifSPtBMHbCoBYAPaVMBGKTRROIQIGyv133c.5qjKJLKvMlGqLdhFR97ni3GwGVPlMTKUmOT4HF6sAQBKGyYvjJkynPY9YSVQPf8nRRjn7xEP1J+LmxpT9mXkuqAH6vwAZkmQiCkERYf+a.yWR4LWUfSpXUPHgGVwer9WFPY3.xccdsyRJe3Jgf7z9rxu9ve3GexSxL92T18dtY7oLhV.55RFBtD.JuAPy60.UVUJDZfCCOBhgqLM5TFVAvuKWR1iUQCQm23391a0q24tWpvfugm61p7KIWDiUXChNhjTzAoHDB5lLRdgKWjruw2TfPNqEiJ2KljN+hSEgRctpL.oHDHUpi+ucZ7+XGIhFnB+y7qHsIjmM8wqi9tVahk3wBCjKnqXRhjpLIqMImB4lMIWVxdSh3DIOVSa5WUvrujpdHjD0ZQKDZjZvK.sGg0qcOXn97MZtirrqSfJIs4ADm5g7yF400odBjjwi7Jm5Bxq7h3bYem5CRBbZ38U6xoBR1fZYiVMazCxFslZTmAgozoGsZ1HMcd3yzufnFmFIvIg9J.zP.er7OQMZPbCHCILZyl0zOWEdtUD.Qg.d6ISfrgqlMRTyY6D7ojPfpsSHXI7947cFFE57hgFlZSj3Z5mqpe9.8y0zOenydGuOVkqrKLxKbj9cPO3kFyFk3r+Na5rO9TXUu96SDNdmQE8c5xSjZuy2yOau9vCmCi8HvW5oKa.Er3AlT2EqhoJcmtADPLQoCU4AlfJGUrz9UnzV0Krz1kEh2wtCU52+7w3bmCFgi4eHvXZCAel8V85Q7k4.bd6lGNqU+u7pew2QWY2RWVGlQRpcczSV7ktmLqRWjYV8Jzjy7eB56554v4+G+7e43mI5d11neG6wcMlF9j2Q5DfX2AQYcTJTUvfhZnzlos9U67VHhSHw3DRWdmP7nJl9x1G.9xtGEpJnP+Exz8cDavUcEEU76iYLRnXVZOYgqoKZf1mOPB0YZigxMpJ1f86Ag59jFonS4ClS0YhYdU0b0gEOBKPO4efeoaVKygAaVa7l4M0f10zNu9aT5Xj0MTePtg8wfkHQaDBcFn5.gldpE9lnWqCObTbeNi5qVxPwXPtQDefpcECReNVzESCUGy8FHfNuB1i4ADqyBZU5.RhPK3aXWcE3O3X+tPKI.2Mw9fOcTGrruJ9webB1U7yNzNFlSbjA3dbBRiuAPWjt+I0UVKUnoKyQS0LHvaNyAwVhCT65iCQGX5fCrBkLMdICzLW0KBRAZvxDP8KK.0bR9T.waYmeQQzTtyDxJE1dVwmZKHVa33VaKDtVbFjfoEKfLbr.2BBjBfVu0rkdxrMkkZOFZZiGNwbTGbBNh.2VVI6ExlAiyYMO+YN64488jjXUtfhz4cB4LiyoHkJ+micGNjUVc7bJoitX0+mOaZ0iV+Ro9+32q9WOyb5VWy.MkU7dz8ZqOst+s0uZl9Ms2VeW.ECukn5tN5CuqWcCHSEwqpm+5P6KZ6AETvAehT9lD4.F4hTt3smTmyOIBqykOS2y7iRkmOF5HB6mveouofsJOwh5UfrVL8+1xkraql6N0EzgKICIqeou+jhZJFWcVY7AyJiqMqL9vYkwGMqL90yJiO98yn5FGaLPxiLch.gZc1xT9vZKFF5uRW6B8u.bB.apC
There's a post from a couple of years back that explains this in detail here.
-
@modularsamples Thank you so much for this! I can't quite get it working, I've replaces 'ScriptFX1' with my granular synth (imaginatively named 'GranularSynth') but when I compile it errors with:
'GranularSynth not found' - where am I going wrong?HiseSnippet 4647.3oc6b0DbijjUtjkS+ir6elklXgCrQgi4fanasUIIqelNFrrrk8HF+iPxs6oW1EOkTkRpv0OZqpjs01QGwvFbfyDvg8FQvcBNB27UNyg87djCDLG4F7xLqexpjjs7uM8R6IhoU9Sk468x2668x5kYU21pM1wwxVHwhGNrOVHwxnlCMc6sYOEMSgZaIjXdzFN8vlBUF1WwwAqJjHQxcHMlXwYEn+88qWQQWwrMNrJAgirzZi2UyPyMr15k+ZMc8sUTwGpYv06bkq01xbSKcqA.gjDIIzWo8IJcw6qP51LHgDyUUUy0xtoqhK1QHwrUrTG1rm0Ylr9ejliVKcLofrPSXfXUusktJghI0JrYOMc059Lri.Ln0CY+jL1+Yn8zT0BpOTL7TZChgOAu7HwLQIujQHOYdxShi7FCIkfijlkQReFpYaas9tgsPnmkP0Lcw1cT.wNOov5qvL+cIQaZA8vzMsgxI3ssgBAOwp4jjdgXdIom+pTfj2wU7TEaQCk11VDQti3WJ9muRSE2A1JtZVlq7BwU.kfU9YuJUUytZl3zNXW5HhMU2i7TNqF9vO+UuJUpe7O9vdXQSr6YV1mHBygKHH0L6J5BU20VwbftBHv3l8cXUZSU+.Bf9uo6hc2XfplUSEi953.QvpqDo6q7b5TtC1kN9czrgAk9bvu0whN5VthcrsLnM6QUdyMssuL5zGLsaCO8pRgi9PPCUzgRKh5ZNtbzOqVCk9DoGibsIiC6m6ozeWn+qFNTJlph8s5SjCXJY01xnkUKqy4FyMIUUw5bYXH8WMggDptukITX0UB5AQDDTfr9r5JZtXCGXsKjxR+WZoYt5J+TyUdNiP10RQkN4A8IkloNrBK1YfYaxZuHwvzaXIjfsk9ps8m+W.To9.7yS8tTKRjio0gwiJyV4ceya+IewWDv7ueEw+XwfmivD0.p6P74fHAHk2CTyUxfDtxiD1TQWuEfQr5nTGLZbz99Vt3CLWkRgodeJw3M0oyXayarfkvw1LA9x9xdvUMGXzBayKeHcDroiBTflLPAONValngqiVl0L0bOnO1bRnaBdxS.TYAOpB5pKER4odPJ9xNAM.63In51XPD2x15LGrs.kzARLQBAuQieHdr2PzTWSE5LY.dD5HK8AFXwu1zpk+iG5QXZFhTnsp03vud+Cpbyd94QjmMys4gydad3b2rGdID.+nY1T6WfuYCvhnsvlNZtCGyi+5Zao3pP7s3oQ.ZI8w1tZDEvDagOEbTy7zPFEmSbs5CyQfIHvZro8QdSaMCvyLcVmEUYGgy4mrg7ENSS0sWXECK2Cq0sWX7.W7KKSPmYN4+Qn2UuwA+oU27vi29fc2pZi2SC6nxNxo6a1kHDBnmEiRO6pzBqSomOCse0ip1XuCZTUbiWuUsCtEDmPoxc.wEi3dDphhyIX6SgvWvBj5a5NTmJwZf6Rbavpjr9wEUykPzgBwkP6ezdMD28fc3I2KZUdHOsDibe6HxxeJmr7EiHKanbJ1TT2pqk3tJ1cwhGBt6bnR1S4iMAap.+V0O7jPxegIQ9ygNrZyCmnfdsxWkf9+9uhix+SFgxkyIkuT17Ey9xN5CzTeot1Om7OszsZ8RCrqRKvSvKMrrSazOmfSaEc+Uf+ge0u5eacdVXYWuH7Xrv1fuJWHhjCgI2C64qq91JGrQislD2b92ckbS4Fk8rxXlTvfhG1xRwVUnUW+HbWFkKSwbE.9pnj.wKseCKgxsVlREyULqLW8YXOQobkxWHSo0DbAul7AKSMum4mk.8tThhq.y2aHD4JegnbtzRufT2VZN80UFdPaWPOXepqIn4NJ5NXZ66ZcF7XPUknE+JMVI4LEnk2bfiqkA.Q0umVamHO4V3NJCzc2neerhMYO.Pqt1CXMVQGbQCCUCRTjPCRoyWh9WwhREJIUPl1qCs51EhQvREGYjIgaCgeaZh0IjBstW6fOB2F7exQKAyFz31PvTTKyniT8p9KBwqG7Ca6FNKY7qupoJ2bmO06GG.zT4E8bdiVNCi0iqJoMBBzWV1P4bhC34HMSBlSHwlnJ1ZtapiULatWJxu2Ry1cH76cZrw9GSrES0.CtKD2rmklcpW2zuuutoWOEBw0drOtFCXimG+rozMOG+8Td96yiweemxH72OorCDPCIFPhvipJ6zlD00a5gw5daDzOhlZpThQiF5MY+mxvlDsAt.1RSMJNDcSoF7aL8sWPEfglxNt39bfz.Dw+55FZppvNKr.umPHbbv2W.vRFNt.2yP6R7GNB3zIfDPzoOrJfoXoPTeMIOfS3v7pxTPosUHps7PSD2wAR6kljKMegsNsFdlo7k3N669yFixDHtf4haRitPNIucDzF.+2qu7N+V.UyUQWqs.FhoUIvGx0Ay8In8psUMMSUs1jsCNQsoMiasjaDFLW4P.VBYviqRfOKTTtjjTD.2LrdFGOMB.9iPa.w1eJDZ0tfeQJTaBUFRKIbbBJEc0hGIhuxUHL3J9.TzWtfBEbNDGBj13743ZZkUhA37noIf4I3z5hyuxfGJ+siZIR2OePjmKhnayWTNtID80+vakcwwkia27iFucypYe9jLZ91x9ZcU2qR0FMElNikG60cwc2nR0cmXLIu8JEHfU6HVKbR5qUfgw3jQiSLc4oao1euMSvixzsNeWr1DU0.B51RbO9ptRUjyJGAV+InHu7kn357aMJhVPpICYtQyup58iRf+Z.aQcd1Lc45CWxZcpqbqnmyGevGh05oegJbKnQVlVbxFqaUc+l0N7s2eqSY8VmVzepl3JkvnvKWxd74Tks+vuprDpY8M1r59GrU0nqHyyZPHz1CB73+X8o0Jh9v2iVQ4tV1M9VbLVZ5rh3wNl.GT9mGmC97Q3fO+FBWEYyzQ1l8zQ9gVTSf3ep8cKwy8Vjl7KEXzDT7TDr4M16ymOeIj3w8ZfDXMeRJHIhvCqHzEQ7jnL6zkDkKOGOSK49Yn5Zts6Md5clwPuBB26zaR+HPq1oCrq2PhcVz1ey8T9mRxM+yyle.egkIHuLOsbXY4nodJHgQdhoK92+a+OW+MX2MLrFX5xuVC6QNZNDAF2xwkqtu8O5u+EWjH4TyWxW67pMV8feHJjKD+vq81vZ.Y+R6o.t.HuJf8AuAv9TZi8d6DjTHjXFxFjXkkHkIDTSroJsv+C7mWix9uLeRix9MNFKjT9aW6a7R0XnClwjpwD+MnvLfz2FSf6OzpttxvUYYUpAHQdgXKcq1mPvEGMsIdHTUH8X01db1MI6JycGot7fH2CxOiv9rDRR0S89MX8wD8z2B9QX6VBv+ygZaMORJM7eBanqacFwShlmRJrlPqqtk9v98rLgslCUw5gOk6aKxH+uRw4PEMcBFWyAN8A56.v2kNllLe.WIw9Vpvuli85KFR1eJAqzKetX6zsCrb3I0PsDp1NrBT22OiCS5SFW+8bi7RvjgA0gHIc+IIsyjGLBfLCoPp1CO9LrqrvDoGm95ZtW4LReArEyjK6ZExEiXGOYLCiLPgjQexTeEhkni7zxx7y0S7Y4iMzNGBKHxD9T5DB1CoOuiBIngIOeQX3nSKW1ffZ7JAPayvlePymSRdDK6RIQYndp365bD3TreOV.sKHHfs+Jz7Lhi0CIYcvkNE7U3kUJSL0B2IZQOQQMUeYdWhPs9XdqeB2rwjHWm7Xxw1D+G9k.Tx8zL8XSDwTTXOkyCJKCkYGaFVUaLv0x.fi7w3GQelR.QVWWBVWswo6d4pPQVR4ciDY4clHbQRNtXtPtXAzKkkhyHjxMC1I+yfxPen+Imqjjrbd.B8D7Y9uXyeGzZoykISlBREJjqXN4rRkDXpEToImX..dFOYDWXt.hLiWOxfzgrRxRYgNTpTwbkJHI66DyvxxsGfp6qiNGJCYzEd3EJKiZPxQ.aXiL3B7liQTAizBMdFdqukQ0bNhzZaEc+QDDzQfsHp62evVIGGRcl6Dj5BEWSJaorWaj5kBPpkuWgpmisgmHP0x2NrZeVdhF1ebfauT.Dm7cGv8RA.2xefPt4YqaJz8UtB+In6OAc6ii4CcesvwjutX2H1aBoCFqRNbcGqhgMwEaJ+gbSYGsyyl4X5F6tg.nyxMwKibwF8sN1YnY6ny4yB.O45w0aBC2JeHh13QWlGQY6nHKKg1hTI8XKGEdYVNUPzjMHlCIWLhBHOdygDtJTYJWLM6HCqb7gM+DF1kQ6MP2UC7xBiQjGWX5HYVmG2PuHpp2qD7lLtSK1.YldL50ljUarJUz6MByCV+iZwwoJs.pSqigsvG2Zwlss9z131XsSwWOcnYtctURg11ytxmMHbcQoBYJrV1RR4yrFg4mLO4qWNRXEf+FvPjYrda3nY9f.sGZWE2e6zqMkI2DTTAYt+kMHP0YM4LWlpy7DUm36H6wAZNNXS0qqP9xA+4.gBXIOs2XNQtC8nr.RcfgQbr8THP92Ksw.8PV3yQanxNh3fOHwsZV2+s0QNL+8vfxW5ziDbSvQUKpj51ZB4GYVLTmQWImKzq4mBR6SAoc+Ej1sSedAzV1CeCrwGNGBfW.YfaJVTp3ZkxVXsobOQir6y5QyDLaFlHp2iHQXcpk9.5vFwZ42E0QSmvgo46x0K5KxqfVGet+4PO3p03DoDH0pYphOmjfqWJKT0nEVEr5Xm4pQSSdMi9CzcvxoOS4TgPwMgd30wyUjn9DKpMzsMDHhYmK9tJ9GdOV0swLW4wzaevMhVDskhQeN64mgdY1royPOAuRR4kJkYs0lDg4Y6GRVKRhYarrcb3kLvLHkas7YxjMGA.1C5+qz1bf6k.sbiVFeDKHY2d1XE0q1uB2KR6N4019IWIexUx8mqjbfPUNWdY4hx4yAavHtqjIy.Qmel8G6f2bUzRjBSmqq3435p8bMshzaxMehOc3KDbknoG67c7S0Yryg9jtYzM9WxcAc6M7Gyg2D+7RMl6NcMySAprtkthc7ybxc1AhX1o9fwPXIwOZNHO+.1NJ+XhfopDe7PvOEBd5+Gd1X9CXhje.poKDrfALydWxaufk7KcG7cRn+T+cR.BVjbkqidXIunbkAc5fsiV6+bY5TE+rX0urGg2.2Gq3RyETPiKTtQicrsFzeLmfKZdarUZeBwMMWCGXhgkVWddbSaKGGRZunikSjS80.6tDYUXMMv.3mSz5fkV9EUx5zqcvD0Is19q+g8lNKRGxtQJPjUzxxwJmIV4rwJmKV40hUNerxEBKGbo2YJFGoYoqY5Lxc+d9oC6FFGvdCqy0yJZcClCVMQd+D9RaJEw8Qx3iuu.FI8OAhjYduAtX+SfXP4ndeuybOxc44mYRW+5JCbcAzO1YYWqqID7uWUwtC1e+5BSwX7DXe1m2zcP6SHeXBbFyE49A6j2d2r3snOMxBVpJDTiND9UfWZ5EG0u1LQnx8rLs7O.a7HCfkd2tXadZerLzFttj2ydPMOqbCrNVwITd9s+xxrDcGEv6ZIKtiNxo+dHF4JR.6E+siSLcxO1NwzOnhtG6ErfH85G++wWmWFQ8uIRBG42lC0y+bGSrb89M6MOlL39OjXFcH3D8H2nXHRKBIAt8G+NGi9wzJEhbMse8taz3gMNwK2wnzMbei2oQL7.uGlOc6T93FqcbtWicuEheWm9zcW3A8tKr.6pv47A4hKLyzewEBny67asf2g2x..AYSWrDqERMgc4lcNpRDIWdgee8Fy4Eijhhf1e3yi2uOJ9WFN+8GOoT3wt0g7uc54t9m8lfuuGS+oLYsHCUlwjop7YkJkoTg7jb0lqPoBdYphhUKD4IEFOEORVxlGUjlHClhS3UI8Rn5oR.DdyNusizBnl8GWxxt94q.6Nv7ALkJIimRiPYxTlTimPRNIrLmUJW9hScl4iZNVe722Vg3DGmF6TRczzokIqT9rExHUPJqbl0ju8jHGcLBMxqfNE5zQa+VSY7y9MR6nhk0IFJTWW2rLE8P3n8gXNneOON16H1RDfKPqALYLoWN+k4tSrwdsTk+KJSbccb619iVhYZ6+syT839gZLKQdGWQt5vbMxH4fJNdLyqQzaKbjOrSe+5PrC7s1SqKMGao90+i8+xT+Wq6..27cm7EJgT9cO6eZmeyu3udcMZB2XQFR.2rL0GR0QtQ7RxwvKKQribEG8aTUw3eiphvJouvmUB1v4zyJyDgUhtlhH2VyXKleWs3KlwdHHFfQdqje5I7eBxdc87tRgKE1qdUVLOIpF7FDRJ7+x+GIQc
-
@LozPetts You need to define an Audio file slot within your network, see the little waveform symbol next the the samplemap list? this allows you to create a new slot that can then be called with the const slot declaration in your script:
Cool company name, BTW. I once knew a girl who could recite The Raven from heart..
-
@modularsamples Ahh gotcha! That's gotten the combo box reading my sample maps again, but not changing the sample map in granulator - so close but yet so far haha. I've set each of my sample maps as it's own external audio file but it's not cycling through them when I change the combo box.
HiseSnippet 5346.3oc67jsaajkcEkToEJu0SbvjN.YPEhdBnb6ltJtHR1FFhZgxlcqEFQY61yjNpKw5RxJpXUEppnVlFFnwf7P9E52Bv7dPdMu4WyWPi7XdK4oz+ASNm6sVtUQRIJYY43IVcCCd2N2y4bOq2kpoiUahqqkiPpE1+LahPpaI15LSudq2SU2TnwFBolSbU2dDSg0NyV00knIjJ0zOEaL0ByHP+6mWYMUCUy1jnpDDdgkdaxV5808hpsYsuV2vXSUMx95845cwZMZaYttkg0..QlVTVvVs8QpcI6nhcaJQgTyVWS2yxokmpGwUH0LqYocVqdVmXx5+Kzc0OzffETDZA.hU8lVFZHFi0JrdOcCslADrq..zlQj+zLx+9haqqoGVeDa3dzFjhFAO+H0TwQuoigdJ7nmLG5MBTJEGJMCCk9DwVsczs8hZAwmEEaX5Qb5nBrcdTg0Wgo9tEEW2B5goWt9pGQ1zAJDNhrEkkenzxxxK83z.m20S5XUGo9pscrPVtqzSj9sYZo5MvQ0S2xLyCkx.BAY91GmttYWcSRNWhGEhDSsswQ4lMZv.Leb5G8n0s5enkzZVmlFJreOhjIw6DKmijfIzC3p5lck7fp65nZNvPE3d73xScftf3AUZLWWh2pCzzsZo121fDxIxlg0uLvbByxSIdTP1Q2A.Cc.vuMHRtFVdRcbr5Sa1GQ7mMZaOweBCmnMggkUNBrmAhlRtzYWxP20iCUY01W0lhtzBNHbX+baU6sf9mMBTplZR1V1HMSn3SajScHvnhfIk4A7NE.jAKi.HgpssLgBYyzzg.KBG5XchKwAo+vgfKNYyn6Q56BKbQXWt+AKcyrY96LyrDCY1xRUih.g8IstoAr7J0YfYabgWB0J8AKhFNVFYaGfCODvTiAjkR+8oW.Yh4L.3Q4aY99u4U+lu7KCY.uNizmKENNjPZ.X29jSA1BfJuFvlQSjgSdlkPpxGEVW0v3Pv.Q1gwNjv.guG7.ITh6E61XCoG7ngnp1NDf2+LhpVKaGfQk0DjaenzoOT5LjZjf+LrZqZHchtFfPbqApZZMUMIF7i3wzAP+mftA3JHiZSb7zItfhR+up0t63OFF7kjx..2qWluTpPI4GFTWOhd2ddIpzU8XRCS1BNzjmy.RXa.qv5j.FhKzZl0Mzge8PomYcLwQ5uQZCG0tfNa2Lzg7Zdz8QORZUvtgmTKOvnAsJFESWJazGr.CqkM2a2up956evl6t0F0260HSMmM.Ovn.nb02EGaFdv5CCjI.5Td6YMvCX+YCX+Y6tDsaALBJd.jP6HMBcSMxoRYY5x9SgTOUWIEYYPgE7r.DHQscOoRxUrOUpGv0BgFp+v.vSjrUcbAdmG.Jcpx8KPQ1rK8..P4j8Q5PDG+qaNMG0S7o8H56gR+VvhI7+A.5k3pW1khp3YzktrK8sztwPfGf3m+rjjyuOLNI3+oJfDSWcO8i08NSxpCsJGKOpsWdNplpmZN999DoBxxwAaKPXgB.Mv6CSCUBXbNjNDGB3iVpikiDHuHAjYWIMhgmp6PyANVJmBlAfOMx01ssF3RBUECWbIGCJ.IWf06vpOWaT3jnsTXKQ8I.+AGA9lEG3.XrmOMfncDQbBDQBkBPI6XfftbLDQjX4OZc+0CKADhrH7OGL84tDoCs75IodJtLZIQ0EkzzU6ZYp5yfOjzS8Xcv4QrQihnTVOfZQy02.VI+BkbxfXSTku5wwFYRjvzxoupg9uyeMmByAtg9V0A3vKcMZrXm.fnA3CCFOhiQxM9yGYhqDaRNIP9C73AVsLaiMo6g7J4b4xoLD1.CI1JVh0wOOI5FGc3Fc3O+BosUg3G5XXAQKDT6RmOY7bas.ZvFM1Or7kafjzXfHsSs6oZ1knkcTs4PrQSiCKIFyJgCAh.yzWmi4mzOlEpaKfNGxSVFVSf8p7kdnTQ+HXVvCh21go5ap2mZXQJ6lMasTZGRWv07.SzKGnnyFNRfXH5NCqeSc2GLfrze74JKI8qg46woWHN2g0sGHo7n7kVJnUN1BRrO5QsrIDsvI1S0gM0YKQQdtPQ1wxirqOFjFXWIapSmQ1lenAPTYirY1jcNCLq4f9GRb3C2A6HDed7f9EGeP+74jzlEi.WGsLaXp6sqMwbbYpH3GXAjfvb9XEzUOZ5A2NH8.TTUPGRBXVQzGs.Ec4SISH4Pum+PChhhN56JFKzxjfY9ZCAl63ClVF5Zv.PfbawWXYLnOQ5qMsNbBvjQ.hzhazXu8+5c1csDi+G9pIBElSDGa9DCt4fKwfKDev+ze3MqL4CtXrA+COI8OshvyarAXQCSyyeAMJJQntMHGCQ1vR5aAwMHtG4YYCY5EFPL.53q4zvTny4Lhq8TgS44wmwWfFqYTEmUiEnYXMu42WCSThku8uRLYLezc.Xsmpfw8gKdg3yBwwmsTOzWF7SD2o9Kpu216tWcoUe9FM18s.4DpVqCvtXH2sEWS08Hhyw5fFs.VeKuyLnbr8HcAuONrJA2C7av.OReKO+T8YH8lPvtP.pc2GX.9Rdec8Ws1tqt2FiCoO8GpcQHcs8p4uFyVPAfRN6PKUGMgC6FrUG2RrX9JEKub0BUjEvL1BZXQwhkxWsRwJET3pOOaDUKVc4x4qVRvCxfheWSnBWS8soDwXUx.y2K8SwPoXNZ5DY1P201P8rca6AgItC0tFzbGUCWZJEY1x5DXXPUUoEelNqjR9xzxqOv0ypOjprcO81twF4FjNpCL7V01ln5faFDWlJYVy.7g.fZOzyCzfbtkqR+qRE4xUkKqP609Vc6B4KZoQhAYbeWVGbZ.l2PTgVGD60KHsAiub3R3rAMtIDEBUtHNjZVOXQHY8sP+NQyR9f5qapwM2Km90wD+m+BLAChOho9TlniXprbx5y92mhI3DJ1DVCe5d3vvpimlmPp+Rwwkl2nTOmH67bh5upFm94JIE00GR+7I05qRI0YwlwMdPH0qDwLvaQ.2cZRqAYyzi3jdUy15XH862ChaQyM8VPifqV5dE5l9kNVC.3JUGEKcSS2+ISHywz.h5QbLo6GkgPjsf6DXKfYLfmx+jIz0DGUeOdp9yRP0+f5PT8uolK3CG2ECjkRU.caiAZ7xdDhg+9XF3DugFEYzoafDt8oJBPto.U.DVCp.CcOU6yuupu5MT1ZjAHWOhMmgs+4e7G+2VoutllAooEFgtE2fK9lvjWYdIR8WOjY8i.NferjTK6PfNzcBvMBLOtlaaUCxlpnxVz79uuB5BKjau33bCDvrMn0vSL0NGW.+ve6HDw.1ELWbSZ7Exw4g.sQBJp98k2gw7hM7fzHZKPfv3TC2d1Kimh6JtciMZ.45q2F2.ywJMsdRcnhCQfEqE4V.QCduAnQ+xUTpJKGyMQdVOS5EHlamaKtZaVpaaQzXNHRow7OfQfh1VoqV71O4qLCRfYBLqR2abUpKkHqm.2lrbQtlxjIgYxaOIA4MFWsu4zj7tWMjq1uaXMQ51QGFq1BhzcoVRIoJD8zK30xdyA0Rp27qFsdS1BKMNkluqVfTW8sWq9dsDlLkk632cosVcs5aM1.ld0ExP.s1gzV33zWpfoRPICGaUtZS1RcP73iwOyjsNecr1DWz.BT0RZa9ptPQjSpEyr9cEeJ6HLbnmUQb65KJROXAF73kBROdSlq15Y0e2HDDrFvVTmiMSmu7v4rVm9BSe5T9nFderVO4KTXBW31bcV7koEFux5F02oUi8e06t0oB9qSKDLUickRXXyKmSdobhxNu+WUVTrUyUWu9N6tQ83qHywZPHR2CB73+dkIUKhN32gZQEuT5MAZbLRRX3S48dhPhOryAk+PmwnB8a.Cui+jdwSy0WhMxPUxShdlI6jnO+CJeRQ2OQrotW6diFemZD3qfv6b7c5f3fp2oCjwXDxNi3ley6nCweZt4eN17CR4riS2+36uUTYk3mee3otGryQe8+0+wJuj3sZeb2T4WqgzhheQL.B2x0iqtZ2O8m9lTSOwzkxk9xILR4feoXDUH89W5kc.jc2VELDgootCXSBhVtMwOydbuaSMEFlNqrLVFQnVDSMZg+H7meiJAojiMpDz3HzPRGjzv23eeMhLyMh6qQp+Iwnsd1FOd.Gx9VMMTOKK6z42C3HOT5PCq1Gg1VFd+p8MptF1irs8orqx1ZO60j3xMBeObiwE1gcqNnxo9+Fz9Xrd59W9BhygBv+3R0slSTNG7eBqR2YEv3ttuPJrlPqqokwY18rLgDDgpX8H.yCzEYn+yTc2WU2.sw0ZfqMfe6BA7YPn2HJvtRpcrzfeMKKI5yvrjPak92CFhCdjH9ZN7nZjTBUZGVAZF3dzkw8Q3Fj4GiyAnYepOJ7NSMM1NievP.bFRKp4b1AmP7TDFK93Zan6cgyHcyKqjuXgRkKl.YGMZLECMDiPCabpu.1RbHOojL+bc2.R9f95mBwBEaBuGcBA8gbm1QEiTZ7yWLBN9zxsO9PM9k.SaSwlePxmiS9B14BLsXdpmJ9tNKZNkDzi4E2BXDPRXBsNAcrtupSWhGcJ3qv+7DLITMb23E8YEMzB34cQlZyQr2SBWMXh70wCSNxF8eDTBrRtstoOYJhphBaqdZXYEnL6tGxpZ0AdV8AyQA13GRdlh.wVWWDVWcH45d9hPwVR4ciDa4cpXTwzbTwrQTw7heA8RkDiPvxsBym79PYnOz+TJVUVQYYvD5QjSB1ds+LwR4JlOe9xxkKWrRQkBxUEXhETtIGa.L7LZzHIybdQbFubnA1gBxJxEfNTsZkhUKKqD3DqukkWObel8g+rh4QnKbyyTtk3djfiZVHFvE3UGiIBFqEZ7L7Ze2Rrg6KvVaqZD.QfQGyrEJt+tyr0zixRc9qEK0kqTRtP0BWZK0KFZoV4cpo5YYI7DyTsxams5.RdrJ1eXX2dwPSbJWeFtWLzvsx6IK27j0U0z8EtB+QS2ezzcfcr.S2WJ6XJWVa2hrcBoCgngGV6AZDHItDS4ujaJ6neZg7GPSr6JZ.cFtI9Vhdj91VG3dlY63y48CMdx0iK2DFkJejEsQacYNQJYG2xxhhafURe6GwMuLCmHn33UHlUToRLAPd6M6iTUjvTwDR1w.qRRvt7X.6sD2dfgmN3kEfQrgKLYnLqyiBzKHV2DO0QsqDbmTaC3LcGwmahq1DMJq2GByAZ+CqwwIJMuXmCO.RgOo1hCKs9bNj1D8iIWNYnod6bqjVbSe8p.x.o5JxkyWtTgpxKmuDR7imlBjKGJrBveCnHxTVeannoduXZORuJo+1IWZJewwHnB77fWrUnnSIk7mmnybnnSxLxtSnjiKwT6xxjOei+bFgBIIeo2DNQtF8nLun1f98SZaOsXe7FG2efQDI7YhqpwdpMfOHoMZ0LX25vKpcOBH7kK2PA2DdMuhyodaUgBhLKgUmgWImMxq4GCR6iAo8tKHs2N444E2v4rWBI9v4P.7Bn.TSkJxUJUsP4RSXNQCk8Yy3mGIaFFqUuaiQXcrkw.JXios7mK1Q2.ovb7c4xE8EtEzFjSCtAwgOSQ2Xk.tVC7sGgGv0WnHf2kNMPqicyeF9vZaz2dfgKQI2IpGKDwtQ7gWFuXET7IQTahusg.gpcdjqq3e38X0zgvbkmPt8FWIZAwMT6ayoOeewunPgb4o29UY4kkqluTowgX959Qn0BXLaijrSZdIOLCxEKsb97EJhFf8M8+L80G3cNlVtRKi2lEjrG8Rcdw9U31Hsqkss8itR9nqj2ctRJBLUkhKqnTQY4hPBFIckLdBH97yz+XW+iKBWhUXxbck7LttXOWSJK8p7lU3ON74C+tRPu7yOM3nNSbanG+mWBAAZ5M7U7Rtasya9wO8U0FwGfhFlGCXYSKCUmj24jqsKDwLS7EiAIIoOXtHO+BVFkeHgvTQhObP36AAO8+CuaL+ULVxuPrkGDrPeXl8+fY3GrTPoqgO1L1S7GaFHXQ76cP7qr2aps1fNcHNwq8esFcpRdWrrq4i36QrIpdzyBh6ESt2dO0wZf8HtAWzyswQs8QnaZtF10j.Ksd7z35NVtt3wdQgkara80.mtHuJpl8HfwO230AKs7Kp35zycIn3jd6f0+ndSmE48YuKBHxJZYkDkymnbgDkKlnboDkWNQ4xQkC+3gfBFXjcIdssyMYFsA.PeUVb8bM8tg.mUSrMlHfMSQEtOwPe388CZ5fqdHNyaOviDb0CCKG2s60leQtmq7Ti68xt1.OOvrG6pTq20Dh52upDuV3ed7u4VNXbWHA6Sa4Mn8Q3SA2cDO43arqb60yh2BA3HKJo5PzLFPbWgtmou1xfZyGCK21xzJ3lqwaR.Tw61k3vi6ijfV0yC2f8vZtes8HFDU2H94286qwNg63V5tT7hqo6Z5egHCckPq7R+owUkd5Oztpz2nrt63GkfD8M69+wWmukH0wlDFGxeJGiWvENF0b8+MaKGml3eJmPtjFPTIFwdPqPHVHJA92GcJiw+TDlV7o6s5NOeqU26lM.wjNFud95CNy6pnGtgSj4iOQkO.ehJotvGrv7rWtn6GesB2ruVgP996impf+cwbtI3oJLB4iq16THPQAS.IwKVv+ha0Gr8wl3DGpVDdE0kq1cnJUrywK5aR5HtqX3wSD19M+Y38YhI+5ZN7GZiwdRdTY+XaR8rW9qfS3GahI+xlTJFnxOhCrZ4BxUyWs7x3Q1Vrb0x9GXE0ZM+9wWsZkBEqVoR4RxkVtR03y5LmyYmMmXE5wavDohdU1mCQLQ7inGN7aKjlWrk8nNBsK+oXP7FXdCdPKSm7fNh3IS3QcbW7HKgU8BxEWtxDed8wUTaN5mysPRjiS.dBwN5grkuf7xEJmWtrbAk7kTd6QQN7XHbjW.cBjoi29aMlwO6WIoi0rrNpuJ081U67itIbFeSLGzu0DG3ewaQF37zZ.UFS5CG+VbuT1g+L2gN0Nnc6.nkZp1AeJC0NvNRhYQbCvh8fh4ZjgxgUbvHl29wOssXezg94Uf3K3aE+T6hkS+S+A6mj9+YEWvNNe2wudFX4u+9+KO8+728OthN8X3X92QiaVlFmQkQtRzxzifVVD0i7jF96mTkje+jhQJ4dS.oDlM5jSJSEiThulJhugyjKlMRtXlXPPzACskkebDAi.S9026J0bov1MqyhFJU8vsWXZg+W.TP4Kr
Also - thanks, EAP is my favourite author - she sounds like a very cool lady!