HISE Logo Forum
    • Categories
    • Register
    • Login

    Demo of the HISE library I'm currently working on

    Scheduled Pinned Locked Moved General Questions
    21 Posts 3 Posters 5.1k 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.
    • d.healeyD
      d.healey
      last edited by

      Yeah I noticed that with the staccatos too, I shall have to look into it. I haven't tried exporting a plugin from the latest version yet but I did a few weeks ago and it seemed to go okay, only the plugin kept asking me to direct it to the samples. I still need to implement a preset system before I'm ready to make the final plugins.

      I've provided drop down menus on the first tab so the user can select a suitable buffer size, but yeah I should check that that isn't the reason for the higher CPU usage. I have my audio settings at 44100 and 256 samples. My CPU is a hex core i7 6850K @ 3.5Ghz. I'll checkout the debug logger feature and send across the project files, I'm sure you'll spot things that I've missed.

      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

        You were right abut the staccatos, I had it set to kill notes, changed it to do nothing now.

        How to I access the debug logger?

        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

          Tools -> Enable Debug logger.

          It will open a popup above the keyboard. When you press close and show it points you to the log file

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

            Thanks. I know why I didn't see the option - I forgot to compile a new version :p

            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

              The debug logger thinks I'm on Windows 8, I'm actually on Windows 10 - is this important?

              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

                Not really - I am calling a standard JUCE function to get the OS version so it might be something wrong there. Shouldn't be too much of a problem though

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

                  Ok cool. The CPU readout seems all wacky in the latest build

                  I'm getting some performance warning messages from the debug logger with my staccatos. I don't have much scripting going on there so I'm going to isolate the sample to see what's happening

                  Update: I'm exceeding the voice limit when playing a lot of staccatos. So that's ok, not a scripting issue :)

                  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

                    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
                    • d.healeyD
                      d.healey
                      last edited by d.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%`
                      

                      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

                        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
                        • d.healeyD
                          d.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.

                          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

                            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
                              • d.healeyD
                                d.healey
                                last edited by

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

                                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

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

                                  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

                                    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
                                    • d.healeyD
                                      d.healey
                                      last edited by

                                      Aha that looks interesting, thanks, I shall experiment.

                                      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 d.healey

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

                                        alt text

                                        Libre Wave - Freedom respecting instruments and effects
                                        My Patreon - HISE tutorials
                                        YouTube Channel - Public 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

                                          27

                                          Online

                                          1.8k

                                          Users

                                          12.0k

                                          Topics

                                          104.7k

                                          Posts