Forum
    • Categories
    • Register
    • Login

    Demo of the HISE library I'm currently working on

    Scheduled Pinned Locked Moved General Questions
    21 Posts 3 Posters 6.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.
    • Christoph HartC
      Christoph Hart
      last edited by

      Can you post the debug log? If you post it here, it should get formatted correctly (it's using markdown syntax).

      RE the CPU meter, I think I fixed that meanwhile, but there are a lot of changes that I haven't commited yet (new colour schemes, faster graphic rendering on OSX, more logging features), so I have to clean up a bit before commiting.

      1 Reply Last reply Reply Quote 0
      • David HealeyD
        David Healey
        last edited by David Healey

        # Debug Log file
        
        
        Product: **HISE**  
        Version: **0.99**  
        Time created: **03.April 2017 - 20:50:40**  
        
        ## System specification
        
        Device: ****  
        User name: **Dave**  
        CPU vendor: **GenuineIntel**  
        CPU cores: **12**  
        CPU speed: **3473**  
        Memory size: **65447**  
        Page size: **4096**  
        OS: **Windows 8.0 64bit**  
        Host: **Standalone**  
        Process bit architecture: **64 bit**  
        Sandboxed: ** No**  
        
        ### SampleRateChange
        - Time: **0.00**   / CallbackIndex: **1**  
        - Old: **-1**  
        - New: **44100**  
        
        ### BufferSizeChange
        - Time: **0.00**   / CallbackIndex: **1**  
        - Old: **-1**  
        - New: **512**  
        
        ### #0: PerformanceWarning
        - Time: **47.61**   / CallbackIndex: **4102**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **270**  
        - Limit: `15.0%` Avg: `0.32%`, Peak: `15.4%`  
        
        ### #1: PerformanceWarning
        - Time: **47.75**   / CallbackIndex: **4113**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **235**  
        - Limit: `15.0%` Avg: `0.32%`, Peak: `16.5%`  
        
        ### #2: PerformanceWarning
        - Time: **47.76**   / CallbackIndex: **4114**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **235**  
        - Limit: `15.0%` Avg: `0.32%`, Peak: `16.1%`  
        
        ### #3: PerformanceWarning
        - Time: **47.77**   / CallbackIndex: **4115**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **260**  
        - Limit: `15.0%` Avg: `0.32%`, Peak: `17.3%`  
        
        ### #4: PerformanceWarning
        - Time: **47.79**   / CallbackIndex: **4116**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **290**  
        - Limit: `15.0%` Avg: `0.32%`, Peak: `24.4%`  
        
        ### #5: PerformanceWarning
        - Time: **47.79**   / CallbackIndex: **4116**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **290**  
        - Limit: `15.0%` Avg: `0.32%`, Peak: `24.2%`  
        
        ### #6: PerformanceWarning
        - Time: **47.79**   / CallbackIndex: **4116**  
        - Location: `Flute I::SynthChainRendering`  
        - Voice Amount: **290**  
        - Limit: `50.0%` Avg: `2.46%`, Peak: `53.2%`  
        
        ### #7: PerformanceWarning
        - Time: **47.80**   / CallbackIndex: **4117**  
        - Location: `susRelease::SynthVoiceRendering`  
        - Voice Amount: **290**  
        - Limit: `20.0%` Avg: `0.03%`, Peak: `21.3%`  
        
        ### #8: PerformanceWarning
        - Time: **47.95**   / CallbackIndex: **4130**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **265**  
        - Limit: `15.0%` Avg: `0.33%`, Peak: `18.0%`  
        
        ### #9: PerformanceWarning
        - Time: **48.30**   / CallbackIndex: **4161**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **175**  
        - Limit: `15.0%` Avg: `0.33%`, Peak: `16.1%`  
        
        ### #10: PerformanceWarning
        - Time: **48.81**   / CallbackIndex: **4204**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **215**  
        - Limit: `15.0%` Avg: `0.34%`, Peak: `18.0%`  
        
        ### #11: PerformanceWarning
        - Time: **48.88**   / CallbackIndex: **4211**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **210**  
        - Limit: `15.0%` Avg: `0.34%`, Peak: `16.6%`  
        
        ### #12: PerformanceWarning
        - Time: **48.91**   / CallbackIndex: **4213**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **210**  
        - Limit: `15.0%` Avg: `0.34%`, Peak: `17.6%`  
        
        ### #13: PerformanceWarning
        - Time: **49.52**   / CallbackIndex: **4265**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **245**  
        - Limit: `15.0%` Avg: `0.36%`, Peak: `15.7%`  
        
        ### #14: PerformanceWarning
        - Time: **49.53**   / CallbackIndex: **4267**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **245**  
        - Limit: `15.0%` Avg: `0.36%`, Peak: `15.2%`  
        
        ### #15: PerformanceWarning
        - Time: **49.57**   / CallbackIndex: **4270**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **295**  
        - Limit: `15.0%` Avg: `0.36%`, Peak: `15.9%`  
        
        ### #16: PerformanceWarning
        - Time: **49.57**   / CallbackIndex: **4271**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **275**  
        - Limit: `15.0%` Avg: `0.36%`, Peak: `15.6%`  
        
        ### #17: PerformanceWarning
        - Time: **49.72**   / CallbackIndex: **4283**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **255**  
        - Limit: `15.0%` Avg: `0.36%`, Peak: `17.0%`  
        
        ### #18: PerformanceWarning
        - Time: **49.73**   / CallbackIndex: **4284**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **285**  
        - Limit: `15.0%` Avg: `0.36%`, Peak: `18.1%`  
        
        ### #19: PerformanceWarning
        - Time: **49.74**   / CallbackIndex: **4284**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **285**  
        - Limit: `15.0%` Avg: `0.36%`, Peak: `19.8%`  
        
        ### #20: PerformanceWarning
        - Time: **49.75**   / CallbackIndex: **4285**  
        - Location: `susRelease::SynthVoiceRendering`  
        - Voice Amount: **275**  
        - Limit: `20.0%` Avg: `0.08%`, Peak: `20.9%`  
        
        ### #21: PerformanceWarning
        - Time: **49.76**   / CallbackIndex: **4286**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **265**  
        - Limit: `15.0%` Avg: `0.36%`, Peak: `17.5%`  
        
        ### #22: PerformanceWarning
        - Time: **49.78**   / CallbackIndex: **4288**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **265**  
        - Limit: `15.0%` Avg: `0.37%`, Peak: `15.3%`  
        
        ### #23: PerformanceWarning
        - Time: **49.83**   / CallbackIndex: **4292**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **220**  
        - Limit: `15.0%` Avg: `0.37%`, Peak: `18.6%`  
        
        ### #24: PerformanceWarning
        - Time: **50.29**   / CallbackIndex: **4333**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **130**  
        - Limit: `15.0%` Avg: `0.37%`, Peak: `18.5%`  
        
        ### #25: PerformanceWarning
        - Time: **50.47**   / CallbackIndex: **4348**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **120**  
        - Limit: `15.0%` Avg: `0.38%`, Peak: `17.0%`  
        
        ### #26: PerformanceWarning
        - Time: **50.49**   / CallbackIndex: **4350**  
        - Location: `susRelease::SynthRendering`  
        - Voice Amount: **120**  
        - Limit: `15.0%` Avg: `0.38%`, Peak: `16.1%`  
        
        ### #27: PerformanceWarning
        - Time: **56.06**   / CallbackIndex: **4829**  
        - Location: `staccRelease::SynthRendering`  
        - Voice Amount: **205**  
        - Limit: `15.0%` Avg: `0.41%`, Peak: `17.8%`  
        
        ### #28: PerformanceWarning
        - Time: **56.16**   / CallbackIndex: **4837**  
        - Location: `staccRelease::SynthRendering`  
        - Voice Amount: **205**  
        - Limit: `15.0%` Avg: `0.41%`, Peak: `16.3%`  
        
        ### #29: PerformanceWarning
        - Time: **59.82**   / CallbackIndex: **5153**  
        - Location: `staccRelease::SynthRendering`  
        - Voice Amount: **290**  
        - Limit: `15.0%` Avg: `0.44%`, Peak: `15.0%`  
        
        ### #30: PerformanceWarning
        - Time: **59.88**   / CallbackIndex: **5158**  
        - Location: `staccRelease::SynthRendering`  
        - Voice Amount: **255**  
        - Limit: `15.0%` Avg: `0.44%`, Peak: `15.2%`  
        
        ### #31: PerformanceWarning
        - Time: **60.49**   / CallbackIndex: **5211**  
        - Location: `staccRelease::SynthRendering`  
        - Voice Amount: **195**  
        - Limit: `15.0%` Avg: `0.45%`, Peak: `15.7%`  
        
        ### #32: PerformanceWarning
        - Time: **60.52**   / CallbackIndex: **5214**  
        - Location: `staccRelease::SynthRendering`  
        - Voice Amount: **195**  
        - Limit: `15.0%` Avg: `0.45%`, Peak: `16.2%`  
        
        ### #33: PerformanceWarning
        - Time: **60.57**   / CallbackIndex: **5217**  
        - Location: `staccRelease::SynthRendering`  
        - Voice Amount: **195**  
        - Limit: `15.0%` Avg: `0.45%`, Peak: `16.4%`  
        
        ### #34: PerformanceWarning
        - Time: **108.44**   / CallbackIndex: **9341**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **130**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `17.2%`  
        
        ### #35: PerformanceWarning
        - Time: **108.45**   / CallbackIndex: **9342**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **130**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `18.1%`  
        
        ### #36: PerformanceWarning
        - Time: **108.46**   / CallbackIndex: **9343**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **130**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `15.6%`  
        
        ### #37: PerformanceWarning
        - Time: **108.57**   / CallbackIndex: **9352**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **145**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `19.4%`  
        
        ### #38: PerformanceWarning
        - Time: **108.68**   / CallbackIndex: **9362**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **155**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `18.4%`  
        
        ### #39: PerformanceWarning
        - Time: **108.71**   / CallbackIndex: **9364**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **155**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `17.1%`  
        
        ### #40: PerformanceWarning
        - Time: **108.72**   / CallbackIndex: **9365**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **140**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `19.2%`  
        
        ### #41: PerformanceWarning
        - Time: **108.73**   / CallbackIndex: **9366**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **140**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `15.3%`  
        
        ### #42: PerformanceWarning
        - Time: **108.77**   / CallbackIndex: **9370**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **140**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `17.1%`  
        
        ### #43: PerformanceWarning
        - Time: **108.83**   / CallbackIndex: **9375**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **195**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `16.2%`  
        
        ### #44: PerformanceWarning
        - Time: **108.84**   / CallbackIndex: **9376**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **180**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `17.6%`  
        
        ### #45: PerformanceWarning
        - Time: **108.86**   / CallbackIndex: **9377**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **165**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `18.4%`  
        
        ### #46: PerformanceWarning
        - Time: **108.87**   / CallbackIndex: **9378**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **165**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `15.9%`  
        
        ### #47: PerformanceWarning
        - Time: **108.88**   / CallbackIndex: **9379**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **165**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `16.4%`  
        
        ### #48: PerformanceWarning
        - Time: **108.98**   / CallbackIndex: **9388**  
        - Location: `sustainMain::SynthRendering`  
        - Voice Amount: **200**  
        - Limit: `15.0%` Avg: `0.47%`, Peak: `15.5%`
        

        Free HISE Bootcamp Full Course for beginners.
        YouTube Channel - Public HISE tutorials
        My Patreon - HISE tutorials

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

          That looks OK. The performance warnings are slightly above the threshhold so it's nothing unexpected.

          Are you using any filters? They are currently the most inefficient part of HISE.

          1 Reply Last reply Reply Quote 0
          • David HealeyD
            David Healey
            last edited by

            No filters, I have 2 LFOs for vibrato, a few CC modulators, some envelopes, and a sample start modulator. I'm also using a simple gain for each channel.

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

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

              Alright. I'll wait for your project files then I can hook up a real profiler to see if there is some unnecessary overhead somewhere.

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

                Well done lads, nice to see optimisation getting some air space.

                HISE Development for hire.
                www.channelrobot.com

                1 Reply Last reply Reply Quote 0
                • David HealeyD
                  David Healey
                  last edited by

                  Private message with project download link sent. The new UI colour scheme looks good.

                  Free HISE Bootcamp Full Course for beginners.
                  YouTube Channel - Public HISE tutorials
                  My Patreon - HISE tutorials

                  1 Reply Last reply Reply Quote 0
                  • David HealeyD
                    David Healey
                    last edited by

                    I noticed that LFOs seem to make quite an impact on CPU

                    Free HISE Bootcamp Full Course for beginners.
                    YouTube Channel - Public HISE tutorials
                    My Patreon - HISE tutorials

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

                      Yeah, I recommend using LFOs as global modulators once and just grab their value at the various location (it seems like you have duplicated the LFO for gain & pitch vibrato, which also increases the complexity and kills the workflow - you'll need to change it at two locations every time).

                      I also noticed you are using a lot of MIDI controllers for a lot of crossfading stuff. There is a neat little trick with global modulators and that is to use a table on the receiving modulator:

                      HiseSnippet 1083.3oc6Y0sbhaCEVBPcy1scmlooyzoSufKZuZayfIIa+4lPBIjlYCILwT1d2VgQDzr1RTYYRIOk8QnOB6aPqj+AKm0PfoIjzMvEL9bjNxemiN57crcKA2g36yE.3yZOdHA.+Dj8XlbP8AXJCb7A.3yQMw9Rhnbjp8GOD66S5AfvhGoU.eZIP3u2s69XWLygjpB.5voNjSndTYp1V0dE00sAtGoM0yX1aW6XGNqN2kGnvSQTEvPryawWPNEqmVADXDkboO.VAsU0MEu0p6U6s4T+05L5Uc2O7RfSfPPXxNJyAPD7eT+fnC6QkbgsDKIp0DsOu2X6A7KYQ25NTeZWWhVvBXqvTj5Fb2dZmWe8wLUXoO1gXXFn9.pauVIgUe..tVqzfbwnf7FnlzdzI5SC1eV3.kSsvLbCKjExkx.YKSHWIWHakC7.FnqTD5Tff2KvEKyhL8tc7.Td1DAcjf4SkiMyFtWg65nVToyf7wagbvqZi5tFuwa9eJ5v98INxTvVB032Vt6zqEAkuBcjKuK1MM.xYREpHhPb80wCWdx3kSmvzKD7WyagfeetKD.KN2ADq4Nf.K8AwIyO+81k7uUObNsxe4DPgFP9im.YUbSm1H3ttwIVqGELMzdi.9W8IswgHJU2wrQDgTaTZdV5ZdZfWW0JaLeaONWNHatFs1Aj93.WYGra.I+UJ7Fe.VhAvuEUc6qQzL5L0e8eg9xepdn76UJo37EcuiJ2U7wY4ty4ARJ6hlXof9mJBdU9fspfhCQgDFi3pI8gEzazQxUzx5HiMg0qRReBwCZokgwCZkLno697H28YHaU4wvdnBc1uHTt7qwiHkOhnJbp23VtEOOyQpt6sEXl+PtelE1l3QayY5fdpR0QsFBxebtNQJ6ABrH2gd2tMT9Xt1XikAhvLx873ALYlLvhypErodJIaeHFy+QQ096z9vVfR8ELv6SRvqM0anK4PUYYWtRSTko35qSzdi.dOoT02eplMpcNwkfMyb+lZmnx3vBUbfbq5qV2Ds1r1a9RTDzKqOQV9AUuxwaQIczoAXGrfhYxI9QnKfPmvubQXigELXG2As0KSIFiYCab0q27E4wVFKqIZYJBBcfB9cynkye95MMbmrauhx8+MTtqmP4pYWSob2HTtOW38.gw0xbku1XUMG6.hLfkc5QpxLKs20P4cFyasZIJqZprElkYwTxYVol5coDw+d2kLgLZEg7+smNXEI7Gpjvpj8aIR3XR1567pMMeD0UjvOFdMeyttkp5+CfyGK4dFheymOAcJm5mTcL756qlEV8XvqXcWw5d+y59QnegdwfaWZ2o9ruIuo3Uztqd124mGaYbO7vNB9abhxzB+90gZT9MK7yv+TTSsbYKvnnuXhN13oxNeiiiNX+8pnS9VTcgsXqE1hsWXK1Ygs3kKrE+vBawONCKzkB1KPx8hN5A.+KvSZYNU
                      

                      I'll have to make more tests but this approach looks like it is faster (because it doesn't have to process the MIDI events and apply the smoothing filter for every module, but only once in the global modulator). But it also looks a bit cleaner to me (plus you can change the "responsiveness of each MIDI controller by changing the table in the global modulator pretty easily)

                      0_1491561699196_tables.PNG

                      1 Reply Last reply Reply Quote 0
                      • David HealeyD
                        David Healey
                        last edited by

                        Aha that looks interesting, thanks, I shall experiment.

                        Free HISE Bootcamp Full Course for beginners.
                        YouTube Channel - Public HISE tutorials
                        My Patreon - HISE tutorials

                        1 Reply Last reply Reply Quote 0
                        • David HealeyD
                          David Healey
                          last edited by David Healey

                          Another library I'm building - woodwinds again :) Just need to implement a preset system for it

                          alt text

                          Free HISE Bootcamp Full Course for beginners.
                          YouTube Channel - Public HISE tutorials
                          My Patreon - HISE tutorials

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

                            I think I understand why you need the textColour property :)

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

                            34

                            Online

                            2.1k

                            Users

                            13.0k

                            Topics

                            113.0k

                            Posts