about audio loop player & preset
-
Hi,
I would like to know if there are any "tips & tricks" to be able to save the samples loaded on Audio Loop Player in the presets. I searched a bit in the documentation but I don't think I found anything to do this.I would mainly like to understand if it is possible to save a sample loaded inside Audio Loop Player to be able to distribute it in the presets, not only" factory presets" but also to be able to let end users do it too.
-
-
Call me: Lil Bump :grinning_face_with_sweat:
-
@Mighty23 ok so heres a scrren snippet from HoriZEn, for one of the loop players:
As you can see there is a "name" at the top - this is just a text field that has a callback that loads the loop into the Audio Player... and it is this "name" that has SaveInPreset enabled.
- so in my case this "name" is populated from a custom tag-based loop browser - so it allows users to select "loops" and the browser populates the name and calls the name fields .changed() function
So with this fairly simple process you have a way of saving "factory" loops in presets and have them load on preset load.
Your only problem here is when the user drags a loop of their own into the loop player.... so you need to have a way of getting notified that this has happened and then setting the Name to = the users dragged in material - and here a broadcaster is you friend:
go read this thread:
-
@Lindon many thanks.
-
I made a "hybrid" Preset Browser to start the implementation and started adding the broadcaster.
Now I need to figure out which direction to continue, maybe I should use ""loadAudioFile"" ? Here is a Snippet; my goal is to save the file currently loaded in AudioLoopPlayer1 in the *.presets.HiseSnippet 2182.3ocyXszaibbDdFIMaVx0N9QbLxofwD4.U.AszZGGCKjrRTORDhjLgnrWuvXgQyY5grgF1MSO8HI50BvGxOfbJ.I+DxsbLWBzOk7SH2BPtroptaNOHGIQo30H7fzzUUc0e0it5p6tRQ.MIQHcbqcxjwTG2Wyq2DtZ31CILty96339PutRZBU4zYxXRRBMzw0c4eCx0s1JN5e+qmzgDS3AzbRNNetfEPOfMhoxo1cyeGKNdORH8D1nBR+gateffusHVjBHYYu0bFSBNkLfdDAEaIOG2GraHSIj8TDEMAjoiHbRughy4F4+bVBqeLEGrtSOPQFxNaOjEG1cpUl33350M2lW1Xyui2grPVF8ba+M0L7ymQQef6R2DjV+N.I2BPZECjdKudAR1XUNGDOOxaethJiHfqtHTLx5rzG+PusEfDbU6QjSo6IgAYyn4Gs1Zs7g+r5F0qCt6Dk+YDoeb+XS.1+W4OcxCnpsEiFK3vflMxjnALyRSrGYz3X5MMQiDkmXeEuG4L5sL4RR0nLl2JMjINPHF2MlLgJWGThNqUqBz8pG0rgVNeTPeqjkQRldJp.MQyxl48uNUY0URr.ceYpKSM6whoMQGtjNvOHUJASyn5R1S+.X16xGv3z1ARJjO0QJHgAjDH107E0q0fE13S7aftmX5E96PTD+CX.WNU1nEvmHGj.R7kMNTDlB9qV9MBAg1mGRu.GbFINk1340uDAc89AsIJEIX3IBqJQMZMRDysswDT23OeeP0U3BddN+0x+rQWHyzmnEOBzluR3+D3G3w78e+22mCdqjTIsk+PpjZwSX3TCBRb.iOCKH7O.HXbuQFJQo7.ESvaZr2V9YVaKesstZcvsAqk0hqCeZSyOjv4PoEYwXhg0FnTeVBUNUzeKgGFCRZhToiGNaXBE1HqUzl3pAB1FH0Ujn1lDG2Gpk0LCvi0hiFlFhk..n9b1aTuV1NOTcMannW.QjBhzVI5ojL9fBZs8Qhcu.7iIvhsJfFz9qVOMzYvnSB2nYs442mdKUGJIkViLdL3gxBQ9BdIYP0HEwMClpihQLVTS6fZIvL1tn2A8sWtQ8EBFsyWnrPP03.QL3B1yh1DsCobTYJu4rrfxvCM.LDzaBjHOpceo37DZyBT.HumHNDRSJPLOGJY0V9JYJjM23m21DQKlpGANkWfaxlMmIZCjpMwDca4pDljlY0Y.Q4IPQyl2TSuw4RSBxbwhq2mTQXyDX8a9drjcnQfzgMKYBq5+Mei+6UhTaVht14pVaF1tonYoA0pAj.JoRNBz5Y1Nb56ynIGIdJiGJNuITvjGwjivj8cD9OSj5eNgqv5QhynxykLETbZHcZfztG3IE85.EHGKgZABjfVfx040KadVm4k0Krk3Hgh9obiuA33OKqnnJ4YSZ0UZpfM1Vk7llXSd5n9TYwsbnfPeGkal4AKVyLAl8hEDTv2myTe5XpcrNeOz787s93X2LCMAshEgvZqzs.8iss.oK6+Tv+FIjibXgXaYknsti1XJ17IdZftuQIgOfBFkD5B0yEYoorKOb5Xmr0cYy59CsqamTkRv0K3a3Upaj4Wu6jRr8Su3JoWLCpYnURMuS480ceOyze2qb9r8wSww9IsdUvSOlJULLf5tC8LngbS2k071glbpRL1w8GjUCE99N63uHG.+5MmTrg9yYgpgnO9sWxwYHkMXnNB7m.liml.reH1687sUfdhLP4svQkqALWMXSrbmtmZ7bNaemJgnz5rxBG3xWm+4WWdcJpuZF885V8c.oOMVqtG4kULFUkm6eEl7D7i+A7Qle6+3Tzu8SgQPwpQSuiTsG.DdItr8GLOMi8Bo+EAziT1K6X.zdPSVJnx+IPYVqYVjz0Fa+1e+0Eaa3lse1jl8F1qN1QePnbVn9uclyn9au7O9xxTerUX8Oc98R+gk7dQcnKSrpCFVLgJn6W8YmS4r6EiI5CyR1JATU5HThHRbRtHlyhqd5XQ3j4zITizHdIV4jgx13g1eh+5qkMosBCqdINlxgq2VMucnwvAdUyaOxYB7jK7NyE4YQ19fUGR6HjfsUxjOJcjwQff+wZRlwOEimGCgdAdEBfNzMe6OXlestizAxOWuFXa8aAcKm4arqPqp9W1rLH6Xw4cgaF.4jK575QIxfgcHxNhTdn9NQFFGJjV+4rbxyglkyTO8bbqeoyhuWetxSaRKV1HdyWc64esE3fjqob12d5liXgvcZfqwvvlHxKG73qfFWG2i805ye9K+Y72e+IiJ9jPO6pQjKJd3VRZTDCK244G1wYjHzdLT.C8U29QBiIRXyBbcXThG3oQty7uaxa5ouPHQU9YbPwsLPKo3amfuOBriQMo36YcGdam0tw21YQg3a40koBFVMFWpBLBGy+p.i1WD6081MJhFnxA3Jd68E22m+ZwW9ezzkO6oTnlW9pxbhq+EIe2qVvWjb7B+hj8lvCNzj1lklniYmHgKWBUnJtTHL2kS.6OrH4iEBEdvRwWD0TcP2hJn9RRSg6njTVC3khxdTT8NNSWr5calOig0tTGuwZvj0vq6xkCbqrXs5WdKTA4q3AMW4U0artxhkjcKW53++KaT5IgqMEi8XXpxt7ynwvFCMFeanDZDIMVMkZ4cEGJ3hwCEbVP4DK3N+CFPkEwdkFzV3qDdZNk2YyigFSHIExf+Yad.bAXhb18FuRed7JiW+DOCb8wsx9+uD29dMM6FK8u7BU5+6b7d+OF36FnbrHEuHxgDHQEKrAst1CpDGPAjv4z3DrX1R3UlMiWaZwsdTdndvKgeVlqiicsLWeJyuWViQj.o3qBL2qGykenlBX2bcQ7ZdGhi8q3ILfluXeUPPYUM2De78chev8che38ch+h66D+n66D+k22I9w29DwCs1JUIFY1x53bX2c0WO00M6fe2kc9u.a0cTsC
-
In this version the code recognizes when a new sample is loaded and recognizes the path of the loaded file, in addition the file is saved in the presets and loaded in the LoopPlayer.
Now I would like to make this first approach "universal" so that the preset manager searches for the sample in a "generic" and OS-agnostic path. Could someone direct me?
This is the snippet of the "generic" but working implementation.
HiseSnippet 2412.3oc2YszbabbDdAoVESJ6X6DmpxwInxAnDZXBZEmTRUh.eFyxDznHjrhioKjA6N.XJt6Lalc.IgUopzg7CvW8s7CHWxwbS+TxobN2xQktmY1W3gDEqnTQAGr01S28z8W2SOcOrqRFvRSkJuZq8foILuZuseuoB83cGS4BuC2yq1a42UwRYZucllPSSYgd0ps5uEWs1Z2vy76ed+cnQTQ.qfjm2WH4Ari3wbcA0ts+LdTzAzP1C3wk39NsOLPJ1UFIm.Vxp9a5kPCNiNhcLEYaEeuZ2b+PtVp5ooZVpWsariLbZuwxKDV9+BdJePDC+nkWOPQVxGHiBQKFo5s6XdTX2LON0yqle2B+eUq++A9c3g7b5E3v6YVfTHQY7n1JUMuUqXdsJadaVx7VfIUqjIcCqI8998BT7DcwJn8bK+CEZlZHEf8xlhkWuUZtt+tRfCgtYL8L1AJ3ibIZ7Iat4FD3+b66sdOlVyEiRaBA4euTFeD6bVTiVMw0VGBKoZx4TEIZPjMQf7qIYJdDSuqLNQJfOZTOmi5fjUDrGMNIh8hDzxQUAGnE8nmydIBWgq5Us4smDxkGIkIcinSYpVfRLY2FUfPu4qF0M7QPFINNqZI45orBLDsaadjYYpxoqzHIBe4pKWMGviXMP.WwFQBlnTfqYUcE+YP.H89hQbAqYfhA4Z6njzv.ZJDWa730Ivu57v52kTGQnH1kj8nZJ4HNvffopugkEpZTJvzWUuiLbBfZaPpGB7cnHjcI9w4znIr5e85OAM8O5iHaq0zfwD8XFYPwFRzRRjQyjgREIXLULhkR3BCi49EIvF2VePPSpQQOP5rNz3bPFxYSWD1YlK32WsH78qWJ6atzUp2ENvPnFkMDMRvWlMawD3PiNLLC.gbUv8yMXDqNBHXEcnkxvIh.MWJZXA2MH4P6FDCvd60sQJvaSkfWmn3XhrAqP0yBg3G4m6X9dFdyOhfmRaTWytDPoLNHDHFsGOMAraC1a0h0wRn5wXLIWC4QU2w4NTAToUUN0ytBZPVc+oPYzTilcLDMkjxhXAZXWRrpA2LiZeXJjZ3z8mREgQftsovSRFOa9KxrkWGqMbF2tznnAvk.XfYRB.gLy9+vCIWLFR3nYaKO04sqCZGAmtxTclvMxiEI4dTF5OmqBlVAW4ntc8JndAWM0xdZH5Mpj9adrb+KgjkTXauM3LFzdwJpdcmyhEvxfrcln0Rw7kAeIEeqvkQubQDfy4oiDonBOnZTxnFAY5XlrS9PRCGgrCMofv6VF1vf0SvCIkUbyBkmGGV7d679CbVXp4Knh1EoLBjM3Rwxi0y4QCLrlYJN6FiA8lBGWiaZWuQIJ.lYZIPUlXQNX5s2fnUSfyr0+YMsaZ4CzCsPwiyADDiFVfOOtR0lEkfM7dUXwcT.w0Bi.zXUtVbxyvhjugylykI4SL+KLC7IE4YXoZyYO.XErKVF3tffcoLiexbd2swBE6NlAGYAFl24gCpgrgvVDNCHVMJdOR9BJldhRX8Fv9KCXPmUeIK8X4i3hP4EMfa6DC4pX7L0dRxT4DxETgFqcHOmotPwckOblkymue4fKPANGjxVTLt5Zu3n27.y8JEEJcZ7Xol84BCptFrBY1kFNbgq4N6XJUtfkwFqUuHAaHlDOfoJcZ2vHzsY0VX8WdKrk6v1c4dIFkhCEb8mmvDKquaOWILnc2UcVEzfu1zr6Ox0rq4F0GAPKzZQrGODa.uBsVdFGn7HG3Esd09K96d2Sw.R5ocnp.4o6IClDCaW5o8RhfgRN0dOX5o3PFomtmBlIgzKVdF6zrRQ8w1.R6+g8MK12s3Q82qW+Oiq2bq9styl8OHtBoNrH.wrRNGuegLfFYVq+tikbEHbyKnm6ovdl.HWASI4WCcBCk8Eg32O8tqYAKCBspEg99NDxdQgAZdW+JkWmGYVpR5EwgpgFkrl+YhAlA6JK9eX3+Xqm48vCwV0vwSbgNHblvTZNloTaO14.rZGVYM+8XomokIPDM+5IuZeuW4n6kE1+uo8zxyJdAOTONmv29z1iY7QiKFy7YCZmjkscXHNR27MMhHRtw4ekA1Bi5u+MkLpmMpMSPgSG3HhGwnJANIV4sXM6V7Nts3H5.VjYGtked48k4xf1q5xsky5x.+PIt3rInW6l.omizGLZdZ3EHnobLT72tyaUANtk1MIr0VO.5uBGP7APsLGnTlzRiTO8O9RiTDUaW9jM44ccu0fsG.0rV++Bkope9We9297pT2xwr4mIqck+zJ9X875XQJLXZCvv.Pl65yVY+KSnlaPS2NET0jXjigznzBVr8NrXwwZ1oyoSnjpk8JKUPFpxiMYbWRqMyEZ6vvEuEm.IYwKw52C5URuj0NfdtDuBDejkxq4rrCAuNjsiTA9VEW93IwVf.M9sLjre+HLtdBjBHwoHMWusYyOdlea7JRGHaljqNNr01PGJ4XiaG1XQ+uborV1IxK5ByqA4lWU45AGWCFuCUsibhHzLVrcgNRkCOmckhbnYWIComa00eh2Uubf89okVNH50Q4f2nt0rLT91WgKzVRY6mdV6XdHL0ILyHGcfB.bqmAiFjzi+MY2C9m+tu6uc+3xu54W9rX5kkujMcxvgbfhuOIbGuXYn65v.NFce4WIkPUvwaMyvwM8MVt27OG364adXApt5qShr6V.8jxOIH9revYb8zxOY6+wdxxqpI999c45fwK1FWYA1HztwqCaz8Puui+9CGBiWVXf2v+fe2qmW0s71+Cy197mahYeP2ElSrjGc2zU1U7Q2StxO5duohfN1z17zDSL6AJ3LOTSs7Vgl49lldBKS9DoTiWEV9Q+sUNLc4BpuB2LX7rzpZ.mYx9t+uQUSxTav1Buotfs68HfuJs2GYfs7t6qs5K5uqQqq4eWia7+b+cMdCnNVk+zKqkYi83XF19hygbBfBZi+.nl9P5jHcF0pGS6HExjwRAOnZltVwGMhoJa6KzgLO19YET9f1m.81QSKcj5m19Ht.5aY1CquBXQqW4+LTKLd8i8slKAqsPdy89mU++66eNQNAmWqCERBwZSPm88fx9ALX2EBVD9dO0VAem.62alUtpGSDZ934vO2hsvuq4VrU1h+WYOhoAJY+.6iYf4oukgB32ByMFq42A+lrfGGB5zi2OHnpplSvsttB9wWWAuy0Uvew0UvO45J3u75J3u5kKHdIz1SzxX6QSOuNc22L8dsZ4cYTaUu+MIOC2E