HISE Logo Forum
    • Categories
    • Register
    • Login

    Displaying a waveform from a sampler

    Scheduled Pinned Locked Moved General Questions
    33 Posts 5 Posters 1.7k 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.
    • LindonL
      Lindon @d.healey
      last edited by Lindon

      @d-healey thanks, yes trying that as we speak - but I cant see any way to load a sample into it (the drag and drop doesnt work neither does right clicking) and I cat see any attributes I can use to set it up...:-(

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

        @Lindon Did you check the doc I posted?

        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 yeah- thanks - but its not really much use to me as I have over 500 kick drum samples the user can select from - and I want to display the one they have chosen...so pool loading them all will break the heap space pretty quickly...

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

            Can't you change which one is loaded into the audio player through scripting at run time?

            I haven't played with it before, I have to go out in a minute but I'll try it out when I'm home.

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

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

              audioSampleProcessor.loadFile() Looks like a good place to start.

              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 Lindon

                @d-healey yeah - but this is my exact problem - I would need to ship all the audio files as compressed audio with their associated sample maps(500 sample maps) AND ship all the audio(wav files) again as load-able into an audioSampleProcessor. These would need to be pooled so I think this number would break the heap space limits in the windows compiler.

                Meanwhile the sampler already has this data and can display it how I'd like - but I cant get to it (Sampler>Sample Editor)

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

                  @Lindon Ah I see, I was thinking the loop player could load from sample maps. @Christoph-Hart - feature request :)

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

                  1 Reply Last reply Reply Quote 0
                  • Christoph HartC
                    Christoph Hart
                    last edited by

                    Secret tip of the day: use the sampleIndex property if you want to display samples from a samplemap in the audiowaveform.

                    HiseSnippet 1429.3oc4W0siSbCE1ylc.RfEAHpTuoRih5EIUvpDXApDBwrI6tnHXgnjE5+B4cFmDWlwdjGOKrEgTeH5CPeD5i.OR7Fzdrm+7DBogUEJpMWrZ8w9b7m+NGe97LTv8HwwbAxp9AGGQPVmyd7wL4r9yvTFZvNHqyauONVRDNol5cbDNNl3irrpcOkAq5qiz+dyc6gCvLORoID5IbpG4AzPprz5P26SCB1C6SNfFZr5sbG3wY84A7D.O0r6fhvdOCOk7PrZYqYirN0t9TIWLVhkjXj05839GOdF+4rz0+DZL8v.hZPWzXHPol2iG3qPrxJp+LZf+v7ycLBYYOrjEpkxBW1depOsvdIabA8DNkdXxGVqsL300DdcVc3YY.u0Sg2EsG6InQxxYTX6r1CXPhZBFRAlvJcsn09sZ184vJXxMCwOirm.FT3Qqa1oyUbtQmNsu8FM1nAjHhkNGgENam3S4eC9HxDtHrqycbxiwThrOOLhyfAsZVcYMSiR0HAq9PdO9Kd2AoXEZ+K8bLNLJfHTNpqNUtkYqUy7IK1SJKfxHNSRXdRJm4vYiHSDj3YpMUvCZ4kuiWAhdPBo8FMd4FMbfeAbObfS.E12637C+zsSsl+25vYqULOg46PYEfZSOAAx2iIAD890p4leUy1sScJKt5XCQcynj3YogPcFZUDi8nA5x71sus1gWYtyEzxlwfOMoRRXbyqjFvelSgc7GYvNBn8UZJXwjaFIzrsJJYTQebPvgvkrVyyQk4u2lMKfyx4y5ofuZgQ5IHVerGv7IunYlONW0oa6B9dYmCihjEeRlGepvZ.+GxkjGwZ0twKaTuwqZ3L+TSlrv4xBlpjaQSqZkIVlisXIgGRD4TT9Bg6zUaZX+taZX1SyKkaLVHmMfQkOJhvdWsRPYDJzToVFpf+Spao7YYsTpjtPTeUKupoPj9.X1jGMevtPVvxyD53bV6hDy7g3LtuUHNeVH5kHkblN.0sypQW.Bd7fcvRrpaY1YDN2QDgjpnTqcHGAxPo8NqauCI9YRdjlDxppPVm98lFdQI.9d2iKF7q22MJmyG.90vN+RNxnr2.7twPNL+9upeMx.VmZEIzx.59clfYp6yo9xYEFd8L2PLrXaqrDWwNYuB7tArM2keOXtcAQcQuspEncx8SBvxpBppWQjMAbgohxkRchESkGa9JiOHprqJbun8Ppza1hw6ZK.uPI4GZ7l8lkMr2cxDPBpDrqau229g+AJlP4KRgxkrGKAQwPJaZVwuFOFWE9G3YjQq7yHGJHAbr+X5uXrrW61KA3KQUq+gqdq1NDjnqrWYHeDIBD6gzektWiFcOAOIZdudyc0EKGH.cIfJLm3QLBv6RyyXeAONdBbbzwJ1bpgIhoJtpzxHxQDQbUaOLIDx8LFIPIiXotg+3XhJWS81GKETytNH8tz4.rNeCusVOt6biu1biu9bi2Ztw2Xtw2btw2pbbJgtONRUYnda+b5fmd0zAg.LDCGYiU1iNsH3oVJKf6TRyZnX7wCK3o2m5S5uL3iWK1ZqFb+a93k54XbLUkc1kcDbsDrnv3k.U4I3j.Yt0psH1my3Qy3LpW0KAPQ8zoDgI1W3AZaoDtCVZ4xtifmqiiMtE+ktO.dmKVT8t86EWzc04hkku9b6T35n5q47eCowZ+uWZbYT24yDFcfcWH+DOOeNacqbGkx6+VPcDOQBJp4pZ1fz2XPt2iXJ.tlRTMcbm7W7Nlv70C9S3W1jcyUKUS1MeRjWdnfyV1+q+FCqZDlR5P+hu.PGNvrjNFdTgBRfh1GETFh8D7m5k90SJrdFsE.kL8mST2de0Xmhu4x1tylcPgfV0S87TWDtJvvK1mqcB745m.e15D3yMNA9bySfO25D3yWuTeTOSX6DIOLsIIXX3toEVV6VTXUC8WkN0wlA
                    

                    Load any samplemap into the Sampler1, then press Refresh and you'll see the exact sample you've selected.

                    LindonL 1 Reply Last reply Reply Quote 4
                    • LindonL
                      Lindon @Christoph Hart
                      last edited by

                      @Christoph-Hart well yes, and no.....

                      When I make a sample map and create a ch1 file for it and then load this (ready to ship) sample map - the audioWavewForm doesnt refresh at all... :-(

                      1 Reply Last reply Reply Quote 1
                      • Christoph HartC
                        Christoph Hart
                        last edited by

                        Have you selected a sample in the combobox?

                        LindonL 1 Reply Last reply Reply Quote 0
                        • LindonL
                          Lindon @Christoph Hart
                          last edited by

                          @Christoph-Hart yep that fixed it - silly me . Thanks.

                          LindonL 1 Reply Last reply Reply Quote 1
                          • LindonL
                            Lindon @Lindon
                            last edited by

                            OK so for those of us trying to use this in any practical scenario - there's a couple of gotchas.....

                            So assuming a scenario where you want to load a sample map and display the audio at the same index position in all cases, so for example you have a set of hundreds of drum sample maps, each with just one wav file (at index zero obviously..).

                            So you swap out and load the new sample map and say:

                            AudioWaveform1.set("sampleIndex", 0);
                            

                            and you will (sadly) discover your AudioWaveform will not display the new wav file...

                            The only way around this that I've found (and its sorta ugly) is to:

                            • set the AudioWaveform to some other index position (even if theres no file at that position) e.g.
                            AudioWaveform1.set("sampleIndex", 1);
                            
                            • wait for it to set itself up...(use a timer) and then reapply:
                            AudioWaveform1.set("sampleIndex", 0);
                            

                            You cannot do this:

                            AudioWaveform1.set("sampleIndex", 1);
                            AudioWaveform1.set("sampleIndex", 0);
                            

                            As again it fails to work

                            Here's my snippet of this cough "solution" at work... if any one has a better way of doing this please let me know...

                            HiseSnippet 1393.3oc4WEtaTaDDdctXf6JAUPTopJUIqn9iKRzn6.BTIDhK4RB5DDxoyAZU+QQK16c2Jr20Z85TthhT+Qef5i.OB8Qg2fzY2097ZykPHpPQsN+H2LyNi+1uY1YVOTvCHoobAxo4AyRHHmK65OiIm1eJlxPC1F47MtalER4+H9PxtbQ7VYRIm4SjOMAs0rDbZJID43z3gp06zbYj94sOXKbDlEPJUgPOiSCHOlFSkkZG16QznncwgjCnwVq918FDvY84Q7L.aMb6fRvAuDOg7DrZYK4hbtvNgTIW3KwRRJxY4s3gy7mx+UlY8OilReQDQIzE4CAxndWdTnBwJsn9SoQgCK3fTDxwcXIizvvHW2cOZHct9Rl4K0F7J8vlObV5zfWWa304rCOGK3srAdW00OPPSjkVTX6KbGvjDwXLjBrgkYsnk9kFt84vJXx0iwujrq.Dl6Q66zoyM71nSm0t2JsVoEjHRkdGhEdyqDFCUBc8tuWQLlPj84wIbFHzd0pKaUSTpFIebbRDQnhgtdSEgbcsWsvn1yReLkd27Des41q40PLiDcxX0XNGiFg0SIRU0nnONJ5EPYW6wYr.IkyZuVqW2pIDnTdDY8DAUEAJySNk3IUdniSS5Xu1U4.0Ks8po580.VH4Uqtl28uuW20VokG77Zy+TO07Kste2vSmUJVdAhk7DMjaWX7n605HylpUA6SYQTFwqXy3wY4LlhYD7n1AEzxM.lKJi.nCPVy2Oj5p21ywBVX3u14kPGoww6IoohaNPly60QXYkj4OqsxS3Rx94InVG0xqtowiWns7.qJ6Vj4bN8jcrMKK9EDQAgUrP3zY0i+tm7we6tSAFNxZgb1.FUteBgcRMEP4DKzdXobTAKUpaN7U4MGpjBQzPUyqpoUjdCX2tFUOXWIOXlbhNJMcySP0c+sO.8zAaikXUSqb.BfNgHjTEe3rM4PXZfoEVS2sIouDJggW07RCjyE+f2CupD.+buYyE98G0KofvF.90xsnCCJEX5coQ4iUTo.qJaH.WvhMlCrkM.akhNup5dMftjq4LfBHtN+E30L0O9iiO93E3+oxmkak2XuUPQ8Pu6L.XRDOLKBKqNdRMSN2.TzVYNfpWOKkJmYmx9nLy5rB2q5NjJCltX7tzBvqpd+iLdyuAvJt6LdLIPVB1kc28m93Ot2FJeqAJWy0WJH3XJaRdMrFOVUz+Cborjy7kxFJHQbbnO82rV1a5sUFvWhpZ+yd5W0lw7LVk2UNxGQRHXIj9s74R8FM5gBdVRcud6CzEKGHfoD.UXaXeFA3co8drufmlNF1N5XkZaZXlXhhqJ0LhbHQjVU2SxhgbOCNZqZk63.pdZJQkqoA6gkB5qrWs9sz4.rNeC2TUK2sl7MqIeqZx2tl7F0juSM46VJaHz8vIlKBtYPvyGs+96sw6LT5hmsgRPjzs0rV4VzIyeKFMkUxcJ4aMlrtS9BtQ6E9r9B2e55013rA22y2Dzr.i9TU1YG1gv4SPiBiWClxNFmEIKzVsWwdbFOYJmQCpdZ.ptmLgHrw9B2PaJkvgwRMWu2HRDAmZcb9658X3BnXQ0C4ePbQ2yNWbZ4qu10.WOUCNu+aLirw+6mQdZT2UxmP54q97jOyyyW1U2S2SMB9eKnNhmIgQqEi2bgYf9vb+.h8jvkTSWMxcTxJ.4SXgZA3VuGmarawXSkwtEFQAEgB1a4+V+MCNMHL0nC8U+hfAxQ1kzovsKTPBF08IAkw3.A+4AluFRg0Ko0.njo+pglt6oj8l+MTttcVuCJFlU87f.0AguGX3E6yMOG9bqygO29b3yFmCety4vm6dN74GNUeTWSXyLIO1zjDTLbGSgkyNyKrZf9a3FCodA
                            
                            LindonL ustkU 2 Replies Last reply Reply Quote 1
                            • LindonL
                              Lindon @Lindon
                              last edited by

                              This post is deleted!
                              1 Reply Last reply Reply Quote 0
                              • ustkU
                                ustk @Lindon
                                last edited by

                                @Lindon I don't know much on this side.
                                But maybe Engine.getPreloadProgress() can help you?

                                Can't help pressing F5 in the forum...

                                LindonL 1 Reply Last reply Reply Quote 0
                                • LindonL
                                  Lindon @ustk
                                  last edited by

                                  @ustk - thanks - I looked at the API - just one question "the progress of what?"

                                  ustkU 2 Replies Last reply Reply Quote 0
                                  • ustkU
                                    ustk @Lindon
                                    last edited by

                                    @Lindon preload :)

                                    Can't help pressing F5 in the forum...

                                    LindonL 1 Reply Last reply Reply Quote 0
                                    • LindonL
                                      Lindon @ustk
                                      last edited by Lindon

                                      @ustk lol - yes - the preload progress of what? The Sample Map? The AudioWaveForm ? my washingmachine?

                                      and once i know what this is Im not sure how this helps me in any real way....

                                      Actually this is a bit dis-ingenuouse of me..sorry. Yeah waiting for the sample map to load might be what I need - but I think what we need here... but its working right now so once I need to laod a bigger sample map and thus need some sort of async. call back method I think I might ask for that...

                                      Hey @Christoph-Hart - how about it:

                                      on async(event)

                                      (just half joking here...)

                                      1 Reply Last reply Reply Quote 0
                                      • ustkU
                                        ustk @Lindon
                                        last edited by

                                        @Lindon Apparently, it's the progress when loading samplemaps (maybe just audio samples too? don't know...) Sorry man that's all I know

                                        Can't help pressing F5 in the forum...

                                        ustkU 1 Reply Last reply Reply Quote 0
                                        • ustkU
                                          ustk @ustk
                                          last edited by

                                          @ustk Maybe just to replace your timer with something cleaner... Again, that's a side of Hise I don't really know...

                                          Can't help pressing F5 in the forum...

                                          LindonL 1 Reply Last reply Reply Quote 0
                                          • LindonL
                                            Lindon @ustk
                                            last edited by

                                            @ustk yeah on async is the cleanest code solution ....

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            16

                                            Online

                                            1.8k

                                            Users

                                            11.9k

                                            Topics

                                            103.9k

                                            Posts