HISE Logo Forum
    • Categories
    • Register
    • Login

    Help me understand how the "Loop" works in "Sampler"

    Scheduled Pinned Locked Moved Unsolved General Questions
    18 Posts 4 Posters 1.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mighty23
      last edited by

      I would like to allow the user to adjust the start and end of a Sample playback via UI.

      Without activating "Loop" I managed to set start/end it but when "Loop" is active in the Waveform another "drawing" is activated that indicates the start and end of the loop but I can't change it.

      Without Loop
      d78d7168-f7ce-4d87-be1a-1993322a6c3b-image.png

      Loop Enable but cannot adjust start/end
      40bf71e3-c88b-49d0-9ebd-a84beef65b8b-image.png

      HiseSnippet 1919.3oc4X80aiabDmz17RjZ5gjfTf6g9vBi9.cqpNQ4y145gfHaYq6LNqyBRtWJpsiwZxURaM4trKWZK0fCHOUf9koneD5Gf9knOUf9T9FjNC+iDoNcI9LRBRPEDj3tyNy7a9ytyrrmR5xhhjJCyJmLMjYX9dVClJziaOlxEFGtug48s5RizLEIcp8lFRihXdFllq9TbByJqYj74q9z8n9TgKa9TFFuTxcYGwC354y1q0y499cndrS3AEV8iZcnqTzV5KiA7rpUCiPp6UzQrWPwkshkg48NviqkpAZplEYXt1dRuoCFKuQjt9Wxi3W5yvANFC.AkNcGouGhXbVi1i49d8xs6HCCSqdy8Bql5E9HqtbO9r4m6Md+DBj4bTzeXtRY3sZI34TDdMJ.uk.IyBPZsTH8AVCbU7P8bJHd9YVGJffyPJ31KBkz0Zrx+wxpsDVgPWOfdEqiBFLiC6saznFA9YimTc.Sq4hQQ0iX5+nTFbD6ZlusScjVUHrDoIWSUjAzfPelxg7Ijj7j5iX5r4rWOm35HOU4BetfQFFKb0bofHE6Eq0RgCBHkz21UFDJE.zpAh1OlsQ0unZEeoK0mP88SEVDpnLwV2Uw.G6.lOKQh1qW+WippR0JCkJh8DBWTfyMpVoxDzbrmIfijxvCDTHF3kqymT8U.Xy8Qf0zNGU1qmg202.kRFpaCJ3RHszdQyIwle3CIe1tu7fNG2uK4nc6P9sjm5KuDLHb.BxanWyf+Chx7o37eBIW8oF3QnK.f5U6J75vfn.H54Qfci83xOKSLNEXtL1KurjHxCeX6XkBnR54SmhFAomLhitxp.NpqXi33N8NYQL608TzaNYbbvkBJ2ueL3CWu1r.p8nZD4k+IHpQpVAjMfPoOqdnhC5Wqv7KjLFfFk5.wM11MlrciNIe.JD3CZTS.6.Vb8I4.Jkzn5HBNBRirmTi.eajnx5TvOc5lmWizLM+7U3O2FSfJFwVpITsBBCZFLP4u.rS+KpNUn4+4X1Mi4ZVpogZnuLV.GwzGRLAU3yrOkdZiyI+FRyZD5oN3SND7wlmC4DahOsI9TSvFb.ipYlUPH2J63D1D8avLVFlK.VfXGIleb7joiXBPHNo9vLCYWe9HAyCU.F8pqgGpQNcSDjaUirC7myV.nWWwGMVioU2VeeOpd7RvL4KlkDrLu+SUTONjx1ApXXeZiIebic1t4Ac5fdvFmm5bgzhIc5fydviS8wo92ySMqg.qnxSrmP3g44PyxcJuaAU7qsIDLwMdRgCydgTyNVXm3zq9ppjEIMb3RokcZAdd4xHiUDUeSLZK.+ISU7HSbgPYhx0drdy0dJVZzM8viBKTJNTv0GGxDuoBlFYm3.0oVICUvR0IUoteVUpzyFM3PwnJVYGTZj.4hcGXrH6+hL1KEORjx6aUNFsDg86ObeplhUOy.H.5PlRyQ+g49rqgVQRqkVwZeVzUZYXhEjclI3ytE1vj4p7yaMc1fu7pV3VEnCEKrHCZYyDak2ZaatR9xSKnDiSZcC2SOFPp4e0zvXLC2Dhi7.hg4gnCAQV0JunmAr2OHuopJ26AO3A+MTTWNZ9bvvuNsyrWqqCneGoWrOUWtIHryuLBP1YoNOvtKDvg3SK1Y32YcFcag3GX0iqcGubLtxRvHlL+8.Fy5m7macvvgPwg4.bMqN+gueZdrn5+kop+CsFngi6BfF7xRKRvPgjjuCZqO7V2VeOEyWR8Fv+KEV1+r0dwfORUd1+QqDUsa.TfsjtxPdeVHzxDDlKvy61pe+mpjwgKx0W8oIIEm.8lbE3JJR3XAC705h1XakLJZHXNIxJpHodwpQnuZ9L8g1kUQkm6EwAP7VHX934wll3QTQLL9xc6R0J9jhqNQKMNglDig65jL1YgwMWX7lKL9QKLdqEFu8Bi2Y9XSqx4e261U.oKMrGELwBqbOdVVFPKclukKfcuezcAreBbRXo6HVIGiC3ni+.Ab4Mn1WBF+PnX2PZruNe1x616JExvwRA2sb9LjeNZDSUD6K0f1UqgsSym4iZ0GtfFMpvFxeUKrEdpp71z2Jegya88kWZ75AVovkfGQQ9oaErU++lJXeStn6mU+h.ZTo+QXL78rRNkkfEE+gDdv0QwWlSdQFKnRz.n5qKqX8nUvZboiafiQPLfI7RF70vmLhN4EuPhN4DMbyEEXOYOmz9s4prz2vB1nkO9VjJlhFA03QHAEbLhRBdAXQh0Pu06XER8tvwXgp2VVN0g5Lb272M.5ZrdRg5yzf.ZIGoYpngr19Rrn9ZV6zz3H4yYSwm25wFOim87i2Bl+kHFQW4y3IOBZr4N4vHqBF2O60P9bq1+tyf53pny5RUtxyxtJA7exwqAPO+m0WlzcRGNzUf5rrWH0Yf4k7yENWzt9MzqM1ONzm6BQazWU3kSMKbjvXZ1c1ToqJYE+2+d9Jxl3es1JIzmwv+9Y+.kLDPcUxKbSuMGlR7tIy.9NQhSqhUWbLYIWaK.JmegqaYQ8ZL17tx3l2UFezckwstqLt8ckwctqL9we6LhcasarVFjVCxvnauCR2maNKY0bUi+G3jNAOD
      

      Free Party, Free Tekno & Free Software too

      bendursoB 1 Reply Last reply Reply Quote 0
      • bendursoB
        bendurso @Mighty23
        last edited by

        @Mighty23 Do you want to SampleStart == LoopStart, and SampleEnd == LoopEnd? I think you can make it with getSoundProperty and setSoundProperty

        M 1 Reply Last reply Reply Quote 0
        • M
          Mighty23 @bendurso
          last edited by

          @bendurso I would like to be able to control the start and end of the loop just like I control the start and end of the sample. Maybe you suggested a good alternative. I will do some tests, thanks

          Free Party, Free Tekno & Free Software too

          1 Reply Last reply Reply Quote 0
          • M
            Mighty23
            last edited by

            Ok I looked a bit in the documentation but I don't quite understand the parameters that these functions accept. Can someone explain to me what propertyIndex and soundIndex in Sampler.getSoundProperty represent?

            Free Party, Free Tekno & Free Software too

            d.healeyD 1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @Mighty23
              last edited by

              @Mighty23 Take a look at the sample import demo project

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              M 1 Reply Last reply Reply Quote 0
              • M
                Mighty23 @d.healey
                last edited by

                @d-healey Thanks for pointing me in this direction but I still have the same problem, but with a procedure that I understand less.

                In the version of this snippet I get the same issue that I get in the previous example. The range is displayed but it is not possible to change it.

                HiseSnippet 6970.3oc47z0babjbfRZkEfskkcN6JubUMF0ky.RzPj5CaU1mr.knjEsIEYQRaYGcNVK1c.vZsXWb6tffL1LQ4iGbU4gjWuWtbOje.WU2S4MUU9Ij+.9mf+Gbo6dlYmY+BDj1V0cUXcmE1Ymomd5ult6c5gueBOvk69kwAdiGySpUagSuUTnCONNLp1B028fw7ZK7RV6bPPxv6Lz1Kn1ZqVagyacmIwIgiVaz3vnjZ29fw1wwb2ZKrvo+PrOKT+L0n+99acaae6.GttoZ09zPOG95di7RzstU2O1y2+d1t7c8FYz6q0cMmvf6D5GNAvmSasTsw1NOwd.+A1X2NkUsEN6cc8RBi1IwNgGWagyb6P2C1YX3z.Q++TuXud9b7gkqsC.HQy2Kz2EwXr0Z2Ynmua55NFnBVFTgSKnB+LqM7b8RaWSMt.8BldDlziENUVz6zYPukMQukLPuRPoELPoyHPoW0ZGmHuwI52f3yKZsVPBOpuMP1MQEQeqcp+sWz5NgPOBR5Lx9I76EAOjNhVu6MVZQ1Uu1Rse+F6vSR7BFD2Ilm72FFNZc9db+VK2AeWCfsDmv1yNhsi8nw97nkY2jQxIcFvSjs0po5kMgwDwGvhCmD3J9YRXhsu38wvXWRzpWrP1ZC6wPi8s8i4vr03xW9MYM2BX7MYqGNvyAZf8fvjg.9whGyc7r8Wj4kv9JXvrXf9FytLanmK.ZGdTBvqXbe9HXQG2oSGSzmC7maOIIAZ.lvGoHMvh3Ngf7c.7PqlHSb8vvwMauXCVU+U8P21N.v7i+XQAkUiBAUynls+hLT86t5Z69kqu4laIHc4dw1q7fO7tvaV17M6b+Me3Wt51at0V2ca3cWIC7VYhqW3Cs2i2OLZDxKKGix1MjqlWPPhuUBgL8JK.PJ7V1Ab+JGbZOxNvsAIynXdkCS9dbPvedA9dAbV+IANIdgALP7FYRaD5xawk+nciutQ8rKVTMnUSdfMnuJXnKxTcmcyaZP3goodJlJF1dB87xFBxDwQjgvLqQYxGgAd3LWQ2w12uGXyrkihbrHPx7mHVgd8aIend87jAoRQGOXGh82ruF.sESJPTZ0igJV5NCvoGh5HaHJzOcxKAgHdQdDOLPPE.s+0CgcChj.Z1XO6CXKAyLzRc+PGaelmKZLRX5QaNBApWbRq1ORLp2lsLnSUutxFUGeXJS6ZKOWjqbXiCADcVhxo3Zy1kszqZIUlQzz9bDZOFSI.kbsIDc7R3ihAAmpoBc9pPufVM+0AMaS7BS9eFYYx36C.tCHWFCCEPD1mrVp8TzTLa2gbP+CZ0Qr5hYtgrfPvVLr4GmYGb.y0NwdQVuIIrovd8rHtsKXidZDfoDHRBYIC4rXBKYi.6+tdQbmD+C5TpjBpgMSwCZuFhZnHB3PtKo.6p5HvhaTGl9MfsBYwS.bEQBeniLv0HX6HTYJGtguX5Pd.6fvIzfEFEziD+QeuHf2l.tyPBpBjYPAjwsMpRuDo.VA9B3Z5nICOE.wiV9KRWHSFCDZCbYLvkSXiQSQRqRXCqFYOX..AQuSaNtUJbHFSNvDyPQZPmWRO5YGyemqA73HXeXkEr0Isn83cHVepP2p.6Ggd0pShMXKWGxfYiRjEkF9Lz4wYJN.qIhG56gJX.icIvSfkARKaJm4XGvlDKVu16Y64SLTmnv339.fYQHcm4yCFjLT.pPfCO.kWBAIZXeZVOuArv9LaiQA.dpcPRCoYo.9zOkr7bSfe.6GAdc0ZFbVZIg7V1E0BqkKjPccwzIPvDmOl8OPlFMyUw0LYJR68N9S.6KM2vaPjMx557UwnQrzWjCcx81s7RbFtJOALKDFk+kEVuh2C+YHm.NMx2LnEIQ.6hwx+p98K8cxEA5SaYuFiZIZVCrUvjQ83QlxiXGAW4yFefU0wGXF9hifWXzwvf0B7R1bLOnpfZpIYfPrDupDqftlPQR7xpHIPyD07f3EdEqL9iTiv6ZKbcqOZmMevW2T4ldy2S3i9hrlTOfmadOaj6bvtQdfHM38xgho1b9Nub9DtMPS3KZ0KIXqHXajD0joiYbd.v4Q.7g9g8.Ms68YGCXrCYQPhDOIn2F1vdbQmLj3kPjP5t4O.TXkjDPCJO.tV24A.0Q.beH917C+Clqg2.G9pbG6CxO9u+Vyy3eIb76.BGX7wmHJ.AgsA2KrKRCKgDbAID.iR8Buc39RhfyndaE5ebVDFrwW.YimTgnWv5iCB6s7IS.ptk3gqexl6yiztODelRjxIBENGt3WIZ7bL5WWN5LQJQ.4BVYidpDf8Iqgaufo1PZYBrVAlZR7PCgKrJeOOGtHQG0sVkG+jjvwf5Q5dO.hV4R.rmoCct19oS6SeR2Cz3vunqvwML+MqysijoLJFv40TlhnVhrgkxGFENYrofzdJayKb5ZFXU840j59lplZzp6jtS8bSFl1v28ztvVpgSUarFiT2636A+h8KY2ODL1TaH2avPcB0dpc2rqBqEV.ZtBL9ryPTl1B2.U+8GXfp+9eS2hDqJljYwrD6nSataRUVyXpdVz7xr7h2HDCLwN5.wVgGaD5Ur1l2mGwC.4OnyFnz2M1.kFG2crZ+00fg8FV6fNkhh7rOjGvAGbBiVtF3pm8HXAR8otkL9iZyMg6ry0VlZb7Y8xJimUXp6i6lSVQXS8nEeqaMNveCzp99lpwFy0p4lqG+s4mKfKhAlpRna8yBs8mvWna8JlMmv2OQ24+D7G15BugA99ByqCAUHX8c+icAND.JSZP5RM6B5oOp.w6CxP7N+b4YgFS9C+KY4Uy.SPRAZaVBiLRdv74QQlhoee4ZifP3EFMc75AbuQl4j+ye1HaCRQqt.3Fui2eOYaFHv+m+1e6+8shmzuuGzKKKl6sgw655y2JL1CcpUO1q7rLx1m0hx9uI8nw74nTEBuc+pYQPxPAZXoxhSV8sFVx4vUR.qqZn1QpWjk0dtr5Eqa2SpWbNK52KaJfYZj7+HJmZAnmTbpDX2osVo1LVxGG74Jla680mX749+XgOuiI84e3DiOq9iE97tF3S2mdhwmc9wBetgI+5e5DiOaOu3yqLWQfTgL8EFez3zpY2c7UsV49qty1r6FrG2G7ya4YgnYzgOmkDYD10NqE4ZqoUru8OlwJlxAMCqXihqxJV2+8tt791S7S9zRB0XNHW53spPg64Jw5rVDp77kTk0R4ElmXKqvXvyUZ0KXIvkxWTe+splH9+dxIhe6+S2L6G+c2Z9DyxDWcEltdtR8paovlii+F0p8CweiiAoRk.gJrp9blTovleZDo9iykIryMW4KwHTu+UC5E35KgtVKbJLzmpW3zGdB2mCgVi04Cfnfx4qUsOu67EfiJML6atjxDS3Q5vrk089r3La78xGYhazS2EL8O+oe5QOcMr9TP1vwK4fr9m95osy1HzcheIgFJN2FAw3XEhIug0CBiFY6CxDtawibvfZGvqojINs0eSkpJe2slCo64ySccFopPz.7YetifBX8U46xKXQ4sJKcCZb80V8tUED87wWykTrJB+5YCjHxKZo66OI5qv9nG8hTNmGOuKmU17pPI5o1yiRDBfbbxcOh.lpLQBmCg9lwNlXTfYbv+c4MMmTXp18nP5hYMvH8JXFGym.gh34Yr1Z4Jy0QI1.SWWyA1WqZDPGYPcQjAW0DKd1+rY.xO9XYQJGd8fYgEZxvKi.LM2t6aJ3bfIvlaa.O6axSPfMWV3TEklOFYWtZ1zQM2fEoBXd1kbUIZXtD1eQqzSBzLPxhziBnc9T.+JVq36yzMbDKhJRtnUk1MNKg3yH0LESfYs4JsbunU5QhyD5eSVn+CJy7yGhzvRcr9Lwinehvi5yv6qW0J2Y3wTT4WjMEgFdgURtuENe8ysjeCVLgzMx88Xk1Ef4D7I0IAOMG7n.a+7Bg0dmt0JdlSufUp+KlGAVLyexWf6zYdtS0d0XPY9Q6bwNun3qZQedgxwwSUBNVq1OI3n7zD+xV2seef5qQvy.Np9SyQG1b5+4ho+0r1IIhaCApMPZNivACia+HbntGO2GpaPDlN6cYbl5YcuM3LEOJaq+gtzTsxnvIAYlKIluMeL2lNDa5WdttauMoaleTe+sHghci.Kn.ov7EaFvAZch4Z7Npy0CAqXyWs0jnAHsR2RZZmMZ6ASFA76.XqfX0Wj6Sh4H+0yYC6jHuLaPPyxR6ZS73SYIdd4bOekbOe0bOesbOe8bO+N4d9c0OmZRRn9j2JR9StxYmuStB.OZyPiddauAoyknki3z4e1+r6z4+W.FJyT.A0U3n36FoxnAgiul0phjInyygIVtQXP33ggAdNYE2AwW7PWYh6ktfj4xMskeVWUtQL1jacXeK6nrZwGKZwxG6honT90esL0yLzBF6ub2f6z++lM3lEI57xs2XvLlqtk9yCd3KYQFgYzYt34H5sc3DrReT6AYAaTsCr4rC2b6JziS4yKgOiHwN7.W5ALHa4KWVs2F9xkUurliBTv5Q9a53+rvo4xj4.9g4ikXTljEKymBrezyErbjsST3WpND6.tdNpE.KCnJNqt0F3yrRNOSif8Y9RGmrfpv.uxIcfW8jNvqcRG30OoC7cNoC7cOoC7FG8.Q2.VYRR3HgwwZ01Xq6JD.W3toBfmtFeTOtK37gHJMTB3L88HOhv+QLqm2x73KqNLt0N0+0Yst7EuHa2gdwLrmwisc3hpc.D5bkUHvH0XEmVbvUmF0iOHFhbCdscBdLzcY1X5MXSkQuGqJ.g.9TYQHf0GAdTbY36sS5z3hWtQC8jlhfxS9NgSg89JLfO7rt2iyh3Cvh4HBlM.5784NSRvCBuLgBhJbvlIJpfXdDaLEnIdx46ww5tCcYmi0vAclwgUgtbVlfEu2cCF.ai2wABzHgCN5FIhT89DoHRWoADtkv88io0n4bIHaQHBB.G7nNA6RATBdssfZHWhvvX3wGjgNgaimwejzRi6fvIDEXLOBIcrQgtd88bHhULxR7RjXEmEygYEXFQClfmnL1Hr5BARWRzDtBnXUGNI.KK0XZb3TSOQKF5zR2oSmCkEIAgp.Y0IYhsuDaaTexX77yKDC0DJ3+JS8DLvV3btHMyBBmXLPeROu8pScdKrRaj0CEUzC.4kDBAL2FksURSljPbLP+QlGHjsofLdSf6SfodSL6E3g61H+VMWjdimK0dlx5aQF8J0QBGef.ScyCNNshDsp5HcVxwlND9OGhEmkXM7fvoXwT3kfGpNgZjDukJeDY2OL7In9fPFAGGnbkpDAsfkrlKVxZ3psi7Tm1VsF852xsCV5X2j0bSeWUpyZ1Vi9Jo0U1ZMRSQPWShrChIgo7TUECVLTptYrwR..lEr1YXXwyjpN2BDMeqHrpQ7cBGwAoFZlIdROnmokz1xXMXjIAnxkxJw2lpHmVXoqQik9OvaiC84cFCRfIpZufSDGCjEqUBr2or+NDWQ7egIGPAQG5AJzO48S4RoLIsfVDOYRTfPMwqOrfdq8RE8jkMDKstgP9gpLiZPbgRwfT1DVaRhB1gJ1W.rnJnTjVRHX9foMTYFaCY1FbBoNpWxQqTjDwA7BnUQLvTubvqAFtivRHRHo4QFmmFF8DDsB3Ryo5JBCKFIe99BzPXofpVJBXFFQjF3z1MTFyTEelfZEi9th+XpWxPVSriMQfYJR2Y7j3gZxHwXA9zgXk7TqVg8y9qrJT0M5M018ByylZ3dAHRAqH68veHo8NjxNrAmtp9jPtCC2xRCwrn.rsEPcdH+sfoQTBg55uCAhcrp3yRKFM2HrL0n5bqjRo0LWoMSsi1PoPmVwNzBSW6aNShvzpW5LKK6MkhsQAB5JqAZBaHoMknFZzfKpdPLAQf0.wPPnLVb72OfgtGOfGWrrdKo1rv82EUW1draJr4aZi0nb5QSs5hzAjYvh5BU2L5ibWCpwU48gY2UTgZsISQ6kZLvzRTJFkZ9QT3r04Bi4kOp6Hnr5rL4RCqdIEBMcpFZsmnriSEFyxxH00TNPJojn8D2DzvvcIaTuXcll0dTG1mPEBXloPwunJ9Tve.dW5z3orIPp9xxHUnVq37n.nqxVGr8s1LCpGTREbuRf6NHCukZVxULi4KvVwkgfG5yVPXvaKz7v0Gwjeyrb45BSznDfthByOQX4FVd4.VckaKYaGUkXdmgbrPRQusdqXziHksNjpMDzwrYOlFviYOgePirRjl6JnkXeSQyp0o49Ed8MsfBLV9nw3xbJYewwmaGIbMGIVBGGfGil5ES0vIZbCYk.Zs1pMjtJXfDcD0EZZg7ZTR4Dr00TtXKVodQkUdt45SZ5NcLkOj6EENRp6kavGc8qmdULLqpWOKasZKmyvDGpoA8WF0PKag9JVK0TbPiEeC.xGY63mztfDlWfWxJ8g8h06TXZ9yrl+mkAFPVJyULhzgOQSztohNkwtH6a9Fni44ykT38BSU3MjhhiUYmlQk4qtxE7baytDaYocQfh2mm3Lzn7xIcWoJr4xWDyk3C7gQDzryEa19QKgW2AEu1UDfVoinMKp0SDZHH2TZkAMqZ2KLBh6TZbovtEnt27UAxUXjQaiBU.Hb7gJGrHmQnJpU4uuYwt6JmsBK1JJ1Zw+JKjdhdHDo1uu4XJo1reecOipF7YpkaE4FDClHtn.BJbyJnR+jB532bRU333L8ArkX2BwtKSO9dDS7HKOagTWJrZW4Xz0guXHUc0EPIMo8woVyqb2jJ1TmL7hznAd6wCXnGqnQ3LYAoCqjsO0FGagCxr9+oJuW7t6gvaDOYXnqJPtCvcvo9R2OEzlB7Dax28VFWDBsY8ASthqK.JUM3zjF+uP8CLpA1zrS.bG9grfxxpmA684EnuZBD5d8wu9Ujh4S2JQoJ14vdwpSHTU8NCnUsVwZJsvs5Qdi7bDwiwGBNsGNIR40d1rOwfsBwnQQBcAey1HD7joXJH.aEXj0xM6S2fUtBANja3D5FV.KiQxFBMhNhlohaTZCYlakl0BAZVnCEGzPrnHABm.nzSnqN.tf4GGXLjnTunvowTrcrH7nOT.anVIjg8K+kRfQ8Aj6gYG4.6PYtqi.TsLZQZ0Ywz5i+hc.BJD5gl8HsqSncDerMFcNxkzWpKFD50EaNVjT6EuU5VmDEmIrHa1ZcFRJYLL1Y09xjQTzFuHyetJ2gzgaUL3GROPAor2EHYC8ADrEN8ipCxqjDLeIYM1ofj1fG7bo6yCTJ1gUPYPhN9XJooI9jpzXaZP5SoYf2lDopnDC7Fs7BPHwmw0Ta5xEJ0phAiFMDrRu3PefHtkcxPZHn7EdG009Xwi2Bes3ybv0LXAWc.BS+U78asz9qt50n+PfOP31FdXJZI9m3NXpAVwe7PacKCgXfVjke8dK1RctAtARmq0V.LXuyoq36M.1KeW99IRZIYoD1n0PMAMTR1mEL9lRfO.kTA6V2F2zHF7DBH+3AWNh6RIXpQUIg30rxe4dnyAwu6LkkCB70.AKVt8+.vZFX+xk..4FIZsGgovASYf10QIRJO1jC8QggEREQFDAo83ESGroC0txmIyjWq8QUkabkRELEGD3LLJL.rS5efHo5ooYhf.FDXL3dxleLyFE6ATUrFfQKPeQ7lnqV4iRDLlQHUqvmnCDh9sH1m7WtKFQUp1Keaf.rX5pKMUQjOvEhwynPsqNBOEdHL..FNKKWBD5I1gq2DseVnD0ZfIEwQ+YknH6CZIcbU089Q7eClNxI863pQGsWJhE11fEmVBsOJInXpe8HdGyi8qXKeka.+3RWxH2tBniBw2SLCxueA.RrgIvt2GbuvH76Hg2TLOfb+rkmLqov5kPreUJDDQBJfccCoGu2dYYhsECqn6UHKoM6MuolqH5rDVRLcD.qlMeeYax+YD6RhrWKDcdO1iS6A8J8ZJcc.h8UgCsyL1lOlw90AOPhSyKnyHYY.KQXVzexQhRyeNO9AgODh+IbJX5wqO40ThPiLUs.r0LZQsvuBxG1vfRnSRsncYppOjl0x860P3tpfgKJ+Wg0rW2pjaiHsAsO5UzFzbIcCLiGhzERo.gbGU6gF44IEVCZbousimuGdOYn8BUXcKhkwPVdbft1gPGxD9mJbGFBnUECEcoUANjp+PdXK3lZFWHcBmaoc5vMwT8nCkXZP5XmI8nWtTmkVjItsPS6CZOY2P7NDcQXOmJeUtQ43GBN8JAa16MOrOaNIYlnnQeNJjT0MIxrTV7L2aWt7wV.aQNs9aiXb+roN4sB2pTLAcRiUetQQFUZTO00MPfU4ptzsq74NtSYIUrXLYxaQwYF+NcIVR9LDuubyuBuXZEuvupQ3W0HbqZDtUMh86KeSlWY3qUlvDZnhqBGjt6fkfGhm39V5X5iiKM5ew+Rmfn1rKm4VrUOT9LFJcm+Uw.8iqLiCydF84UNvxmuxXsvJ9hrok7RjV0JFuwLigHeKsODm1uB.Pb6V9H.7qB.Diu.PKoeSKoek.OgXQw6YuRRKSNpCheYuBWMcbW41dpSUUDuRiL2.rGYXxyL1UL8ix3iAC4pTH8Qn4gQF2akv9FF4nCL3fYXJjQ1a5ggxiYyVj8ITXBBBFKOMJedQhDId4KWwEBIZqcjm6mA3kFSAd9k.yiWmcQyFmpxe5apQYzAFcWvnY48SRWi6CdMg.WMP83zK7QHA7SL9.UE.WpWkHtJBTwDYcQj03wohuPdlNbS1FnEb5xdThE6aFzTbVX.hXKJmo2lcc3+m4UB2RLmQ.9pdaNs4Rwe5ZXj89aWXYjCEhmV1rTbUjaJWLKpBf75rE0SX1NmMl.E6IKCAw2wgw4n3R+bQYgRYW0wgboalisH7gS.sT8W7wKmFhozVMJ3Yn3JNzCUIaLOACkZncQb0PK7re3kibzz00pZrv+qT8Ic1pxmRfLFMlU5.PBtMFhOt2WmqjpjNTwB.pz8oB5Q8UOLIKjUEjnH.wkPXrbwtAdgGTRujSkOcmrh4Wfb8ppTO3DFEz2ObJOpmOdDlHfg3DBCg6KyATjIvHcvYS7gIXD4w.SVx1fu5sdjotC3MWF8YP+c3WjReJyMHsuCy7Z7UlKbgxfIloIRjDQ4HladDyMEwpmWhFUWE220ZKEdwpxMAngxehHoH+8xyBjxc40B1Vb1txf.4sdkCgnVFJBC2vu64AR4L6VEfkeVU8RwHzbMZ+nk9h7FLxaR98SGhDAww714FyaWxXNjvASl2R6e8qesq8tu6MtgvXtf6QN1aPxuUlnPduzXlVzfbqSDQV3e0qVA7yBD4JozdIm3hc7vRjdRU7+573RQUOsnqHLm1obewA+4yJwZecIarB680Ui7RE3GW2fBo0Qj8mDZtdpNAtYjHShXv2oGY2.99XhJwSz9+G4Cwl9B
                

                Project4-ezgif.com-resize.gif

                Free Party, Free Tekno & Free Software too

                d.healeyD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @Mighty23
                  last edited by

                  @Mighty23 Oh yeah I remember now that there is a bug in that project with recent versions of HISE. I'll dig out one of my projects in a little while where I solved the issue and see what I did.

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  M 1 Reply Last reply Reply Quote 1
                  • M
                    Mighty23 @d.healey
                    last edited by

                    @d-healey thank you, thank you so much. Don't rush, it's already a lot to know that I'm not doing something wrong.

                    Free Party, Free Tekno & Free Software too

                    d.healeyD 1 Reply Last reply Reply Quote 0
                    • d.healeyD
                      d.healey @Mighty23
                      last edited by

                      @Mighty23 I just had another look at the sample import tutorial, it does actually work, but not with the demonstration samples, you need to drop in your own sample.

                      Libre Wave - Freedom respecting instruments and effects
                      My Patreon - HISE tutorials
                      YouTube Channel - Public HISE tutorials

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        Mighty23 @d.healey
                        last edited by

                        @d-healey is there a way i can connect the values ​​of .SampleStart & .SampleEnd to .LoopStart & .LoopEnd :

                        const var SampleStart = Sampler1.SampleStart;  
                        const var SampleEnd = Sampler1.SampleEnd;      
                        const var LoopStart = Sampler1.LoopStart;      
                        const var LoopEnd = Sampler1.LoopEnd;         
                        

                        This would simplify both the implementation and the final UI for the user.

                        Free Party, Free Tekno & Free Software too

                        d.healeyD 1 Reply Last reply Reply Quote 0
                        • d.healeyD
                          d.healey @Mighty23
                          last edited by

                          @Mighty23 Is that a good idea? I think you'll get pops/clicks at the loop points if they are exactly the same as the start/end points.

                          Libre Wave - Freedom respecting instruments and effects
                          My Patreon - HISE tutorials
                          YouTube Channel - Public HISE tutorials

                          LindonL M 2 Replies Last reply Reply Quote 0
                          • LindonL
                            Lindon @d.healey
                            last edited by

                            @d-healey said in Help me understand how the "Loop" works in "Sampler":

                            @Mighty23 Is that a good idea? I think you'll get pops/clicks at the loop points if they are exactly the same as the start/end points.

                            you might want to do this if the sample is (say) a drum loop

                            HISE Development for hire.
                            www.channelrobot.com

                            d.healeyD 1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @Lindon
                              last edited by

                              @Lindon Without any crossfade?

                              Libre Wave - Freedom respecting instruments and effects
                              My Patreon - HISE tutorials
                              YouTube Channel - Public HISE tutorials

                              LindonL 1 Reply Last reply Reply Quote 0
                              • LindonL
                                Lindon @d.healey
                                last edited by

                                @d-healey of course not - most drum loops are (in my experience) trimmed to be exactly loop-able (hence their name)

                                HISE Development for hire.
                                www.channelrobot.com

                                d.healeyD 1 Reply Last reply Reply Quote 0
                                • d.healeyD
                                  d.healey @Lindon
                                  last edited by d.healey

                                  @Lindon Right, but in this case the user is dropping in samples and adjusting loop points, so it isn't a pre-cut sample with a baked in crossfade. So we will need some time at the start/end to allow for crossfade.

                                  Libre Wave - Freedom respecting instruments and effects
                                  My Patreon - HISE tutorials
                                  YouTube Channel - Public HISE tutorials

                                  LindonL 1 Reply Last reply Reply Quote 0
                                  • M
                                    Mighty23 @d.healey
                                    last edited by

                                    @d-healey said in Help me understand how the "Loop" works in "Sampler":

                                    I think you'll get pops/clicks at the loop points if they are exactly the same as the start/end points.

                                    Should the user re-adjust the Attack and Release to avoid this or could control the XFade as in the example in "CustomSampleImport" . Should the audio glitches you are talking about not occur even if you set the SampleStart and SampleEnd incorrectly?

                                    Something like: (this don't work)

                                    const var Sampler1 = Synth.getSampler("Sampler1");
                                    
                                    const var SampleStart = Sampler1.SampleStart;
                                    const var SampleEnd = Sampler1.SampleEnd;
                                    const var LoopStart = Sampler1.LoopStart;
                                    const var LoopEnd = Sampler1.LoopEnd;
                                    
                                    // LOOP
                                    const var Button1 = Content.getComponent("Button 1");
                                    inline function onButton1Control(component, value)
                                    {
                                        local allSamples = Sampler1.createSelection(".*");
                                        
                                        for (x in allSamples) {
                                            x.set(Sampler1.LoopEnabled, value);
                                            
                                            if (value == 1) {
                                                // If loop is enabled, set LoopStart and LoopEnd to match SampleStart and SampleEnd
                                                local sampleStartValue = x.get(SampleStart);
                                                local sampleEndValue = x.get(SampleEnd);
                                                
                                                x.set(LoopStart, sampleStartValue);
                                                x.set(LoopEnd, sampleEndValue);
                                            }
                                        }   
                                    };
                                    Content.getComponent("Button 1").setControlCallback(onButton1Control);
                                    

                                    (I tried the example with other SampleMaps and it doesn't seem to work)

                                    Free Party, Free Tekno & Free Software too

                                    d.healeyD 1 Reply Last reply Reply Quote 0
                                    • LindonL
                                      Lindon @d.healey
                                      last edited by

                                      @d-healey said in Help me understand how the "Loop" works in "Sampler":

                                      @Lindon Right, but in this case the user is dropping in samples and adjusting loop points, so it isn't a pre-cut sample with a baked in crossfade. So we will need some time at the start/end to allow for crossfade.

                                      hmm, my experience of this sort of loop- and I've worked with them for over 15 years, is that there is no "baked in" cross fade, a drum loop is just that. Try it yourself:

                                      • create a drum pattern in Reaper over 4 bars, export the 4 bars exactly... take the ensuing wav file and (if you like) drag it into a sampler - set the loop start and end points to the start and end of the wav file, press a key - the loop starts to play - hold it down and it repeats - without a glitch or cross fade in sight...

                                      Sure if the last hit on the drum kit rings out past the end of the loop then you might want to do some cross fading - but you dont have to....

                                      HISE Development for hire.
                                      www.channelrobot.com

                                      1 Reply Last reply Reply Quote 0
                                      • d.healeyD
                                        d.healey @Mighty23
                                        last edited by

                                        @Mighty23 To avoid pops/clicks at the loop points you need crossfade, which means you need some space before and after the loop point.

                                        The property constants are part of the Sampler class, not a specific sampler.

                                        Try something like:

                                           x.set(Sampler.LoopStart, Sampler.SampleStart);
                                           x.set(Sampler.LoopEnd, Sampler.SampleEnd);
                                        

                                        Libre Wave - Freedom respecting instruments and effects
                                        My Patreon - HISE tutorials
                                        YouTube Channel - Public HISE tutorials

                                        1 Reply Last reply Reply Quote 0
                                        • M Mighty23 referenced this topic on
                                        • d.healeyD d.healey referenced this topic on
                                        • First post
                                          Last post

                                        18

                                        Online

                                        1.7k

                                        Users

                                        11.9k

                                        Topics

                                        103.4k

                                        Posts