Forum
    • Categories
    • Register
    • Login
    1. Home
    2. HISEnberg
    3. Posts
    • Profile
    • Following 0
    • Followers 8
    • Topics 88
    • Posts 1,040
    • Groups 1

    Posts

    Recent Best Controversial
    • Linking a pre-compiled static library with ThirdParty C++ nodes

      Mainly a question for @Christoph-Hart .

      I'm working on integrating a thirdparty DSP library (PointToPoint by Hack Audio) with the ThirdParty C++ nodes. The library is pretty simple - it's header only for the circuit definitions, but the core DSP is a precompiled static library (libCircuitModel.a on macOS, libCircuitModel.lib on Windows).

      I've gotten the nodes compiled and working, but my main issue is the linking workflow with the HISE compiler. Since it wipes the binaries folder, the AutogeneratedProject.jucer get's regnerated and my linker settings (a few modifications to the library search path and flag pointing to the libCircuitModel.a) get removed. So I either have to manually add them back or, edit the .jucer. What I am doing now using this edited batchCompileOSX.sh (attached below) and building out of XCode.

      I am just wondering if you have suggestions for a more persistent extra linker flag for the library paths across the different DLL recompiles? I'm thinking something like a config file the HISE can read before generating the .jucer? My system works but it's just a bit clunky right now. I want to open this up for other users so it would be nice to make it compatible with the HISE compiler.

      #!/bin/bash
      PATH="/usr/local/bin:$PATH"
      chmod +x "/Users/ernest/HISE/JUCE/Projucer/Projucer.app/Contents/MacOS/Projucer"
      cd "`dirname "$0"`"
      "/Users/ernest/HISE/JUCE/Projucer/Projucer.app/Contents/MacOS/Projucer" --resave AutogeneratedProject.jucer
      
      // Patch link to the PointToPoint Library
      XCPROJ="Builds/MacOSX/Hise-PointToPoint.xcodeproj/project.pbxproj"
      PTP_LIB="../../ThirdParty/src/PointToPoint/lib/Release/libCircuitModel.a"
      PTP_HDR="../../ThirdParty/src/PointToPoint"
      
      if [ -f "$XCPROJ" ]; then
          if ! grep -q "PointToPoint" "$XCPROJ"; then
              # Add header search paths
              sed -i '' "s|HEADER_SEARCH_PATHS = (|HEADER_SEARCH_PATHS = (\"$PTP_HDR\",|g" "$XCPROJ"
              
              # Add library search paths
              sed -i '' "s|LIBRARY_SEARCH_PATHS = (|LIBRARY_SEARCH_PATHS = (\"../../ThirdParty/src/PointToPoint/lib/Release\",|g" "$XCPROJ"
              
              # Add CircuitModel.a library
              sed -i '' "s|OTHER_LDFLAGS = (|OTHER_LDFLAGS = (\"-lCircuitModel\",|g" "$XCPROJ"
          fi
      fi
      # ============================================================
      
      set -o pipefail
      echo Compiling  Hise-PointToPoint ...
      xcodebuild -project "Builds/MacOSX/Hise-PointToPoint.xcodeproj" -configuration "Release" -jobs "8" | "/Users/ernest/HISE/tools/Projucer/xcbeautify"
      
      
      posted in C++ Development
      HISEnbergH
      HISEnberg
    • RE: HISE pitch shift node introduces 100-200ms delay

      @Straticah yup checkout @resonant ’s link, someone already calculated the latency for you. So you just need an if/else statement to set the latency based on the octave amount.

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: HISE Sampler VSTs Crash? Across multiple brands (FL Win)

      @Christoph-Hart Yes, as of a week ago it is still happening.

      posted in Bug Reports
      HISEnbergH
      HISEnberg
    • RE: HISE Sampler VSTs Crash? Across multiple brands (FL Win)

      @Christoph-Hart This already happens with any of the examples from the hise_tutorial actually. Just export one of them on a Windows machine, load it in FL Studio, and click on it a bunch of times. You'll receive the same crash report (why users click on it a bunch of times is beyond me, but this is FL Studio we are talking about).

      posted in Bug Reports
      HISEnbergH
      HISEnberg
    • RE: HISE Sampler VSTs Crash? Across multiple brands (FL Win)

      @Straticah It will require some careful edits to the HISE source code to properly fix. I haven't had time to investigate it personally. You could try deferring any callbacks to your Webview before it is launched. If you use Content.callAfterDelay(int milliSeconds, var function, var thisObject), it may give the host time to respond to multiple instances of the webview loading simultaneously. If this does work it will only act as a sort of bandaid to the root issue.

      posted in Bug Reports
      HISEnbergH
      HISEnberg
    • RE: HISE pitch shift node introduces 100-200ms delay

      @dannytaurus thanks for the correction!

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: HISE pitch shift node introduces 100-200ms delay

      @Straticah ya measure the latency introduced by the pitch node, then delay the dry signal by the same amount of samples. Use Engine.getLatencyInSamples to find it, then use Engine.seLatencyInSamples. This reports the Latency introduced to your DAW and the DAW should adjust to compensate.

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Cant get NUM_HARDCODED_FX_MODS to have any effect.....

      @Lindon Apologies, needed to have my coffee first ☕

      Glad to see it is resolved!

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Cant get NUM_HARDCODED_FX_MODS to have any effect.....

      @Lindon I can't quite remember but I believe the solution is in Scriptnode? So wrap your node in a scriptnode network and you need to add a node (maybe global_mod or something like this).

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Possible to add envelope to data in audio buffer/file player script node?

      @Lurch There are a few different types of envelope nodes you can use in scriptnode. Just use one of these, synchronize it's triggering time with your recording time, and use it to modulate a gain node. That way you can create a window to smooth out the edges of your audio buffer.

      Something like this perhaps:

      HiseSnippet 4155.3oc6cs7baabFGTRPxRwwNI0sMG5AMS5A2LNR3wBr.SNHpm1pwRVinhZZunBQtTBi.AXA.0ijISxLsGRO0dMmR+SHW6MeuW5L8ufdoWqOz6oeKdPtfboD.ziDzZmYhI1GX+1e62iee6tjlbdHwsEo0AAt1c6RBEDpM4N9dMIAAd9B0lauK5RDpcewFW3Fd7pGaY6Jr4ZB0df3VVAgD+4iKZkK5ZEDPZITq1jOkVPsYmRH5OuZoUrbrbaRFTjfv9d1MIO2tic3fR2o9GY63rgUKxd1cXZMp9lM8bW0ywqGHOSJJIz0p4IVGQ11h1rIDEdlUvwB0deQ0CaqiZJiOzBqXdnottoVK01srTTIMO7PKEBTMRqstPsoWukcnmeiPqPRfPsoVwq0EMN16L23AXe6.6CcHzGjEZ.ibbwa34zhNEokJr5w1Ns5CTA.rIx.aSFCaORbK6V18Ke.78VQUL+fdvBf0lHq3MYFwSlU7jXDONhTMFQZpXQ5sEazz2ta3fZnxyaHtoKrZ11BVmXEk31JT6khq5AMvMbgNVmP1vGdneGdrtjzSlG9e+hOrcO2lg1dty64tsWH4EtO9WL2mM2ry84yM+vU0tM25nCiumiCwma0TUC+KqiO1sWmCI9OY9Ssb5Q52PX5mESEGOlxtj2LdVyzPO2McsCeQWh63TDDRfJ3Se7lqYEZQWHRJCZWWhenMUDpsF4TvLHdYYVw0HAmD50ELDFYMCzV7Z0ywJLqJD0PKoB.CxrtQWbbCrCuf0P7FSuJuh3aKticXyi4KiSvQFAj51PFSrFeSw0a2lzLbf.Nk3FexcfomX73OWhoGLlzA+9ION+FehbFgX6dcVtWKauMrchTUqMALcRsD+JwAZ8c8Ics7I64sii0EONvpSWGxtff+j4Ozwq4IMr+TxnlJcikqUns3wMO1x0k3DTFKpoyMTIe4qT650Kz18nsrB8sOGluv7uA3ruIY0DoKECRdVh9LUYoAD4J5guC9SRkxzmqkTobZkL1jaSBOyy+jn0njOKT6dwVTau+V69TeK2XEYgkcb7NaUuNcsSTegEmnx1wy4htG64Z2jVTbKRk1k630CFnDQdft+JoKIoROD1ZOKaGpoPidAfCkVuvsA7dhhUVax8I9AQi4LhRK.+GXZrsWKnpo2vpIHcWriU3wTaLpOJPgl3uPSFmCCMUxneEE3bjlPe6ogYikPXh0gBZzfrQrBR8cEqdSeBLdmHVYdyf8o01zxQXeplBcdE8NiQ5HQeFZSmSrk+EGbFITVXryjftN.2.p1zNV9f3BgZndLmfUFmc5S+5i9NpbN5ja1zwXn4Pp7jBkCjmtTY3JP1QGGl9dUv2PCcDT7vTw7fN1mS7yN9uUz3CVfKbdafUDu0vg6Oe3gUNR4v.t5xtfNwPKnOjZFx.9IqowZ0BC03ood+Ios4dhOG.MKevF7Lp++8r7OhDFMHrEjDVzkD4vIH6iI3zlsRw3inK.8kGZ4SGE.L6fj+2IEzF+6jYhS00SeBHJsksaxzbPPqsrNenxd0RMBIcis1GztFmPNKdIlskT.bFw3WvdjyC2yK5yfbeJ.wQCp3GCTzaCfZKPxNJl0aidG9TeudcidXDQZMRaqdNgiT9x8B85.Nra027LiUYDhjQK7M.sPexBGcY5+QUV.cuI5qsEo6kEsm7xQ6e8KGEsAjMKZ+W95u9utzHn8KO5a+w0iUWiVk4C1TlXMsOj3byB0Lyp4xkNT8+T8bMq9s+n09GKEyguQGOuvigPoiYpMsXTpU4ZdgpyedgpeESkahEn6KtKIfDdY1D2XKSBkItFqFqPlXIT+JkMVR+9VvXISGmQtGfMwj.MNO6v+tLCelVMpTLzq41jTvzLR+LhgzT6xJ1OreDv3JGUZS61UHlScog5lUbUG38B9+SjQnKWdDtogDa.qLF1cChwMt.N9DvQJMLdl.NyHFweNRdAD+7j7EE2y5PmHeiMbrgNsiUSJiUAl7BDDf+NQCbMafvj0EqzCxuweDOpSTXeObie8pkFe7q6ItLLiO8FK.1qVhu45qVRnvAiq+M4yQZ+IybwaFBjuy02OJL3iNS96yHT+KpuY76KRal0Gx8h0okKpsP+9cGaLbOw87N5HHSuBXNbew.ap99AVf7NBCrWaOTN6g4pn1Czx+h5Yii12c4HVA.az9UxKJZ+JKRrqgz2pwpXw7DX8rIrxcd5Kb8NGRZAjZi5FnU+Yat8dqu61K+7OWXvZQbSGrNHVK3aDuDcx6e6nSlFp4tMGiLd4J7jrv5puMvbjt7CgmeNw8HPm4Zox9kOZJgc+y0yyLcxw4O+AhsAMmCnNjFwq96DqOyz.tTxx7BtyUqi2BshoOOUw8wJTuX5yOPjtsmGBQBhhFcqqVKb6G1HI3222AMP0ygg3UriFOTbWHYzM7I+tdD2lWL14zfVjm4zW9Y7sEgxKNwvQ03p+O+z+vkr7DKs6RY3birF8e9tu6eO10nL9VX8mjg6TFuIORj.RhCX9uP+lvweRlWvU3MQ7RSv6x2jvajc+aZwRtyeC65aXNgCUBcFk5Bj5tKqKvIt992J794.bHCCAuaWSRW+KC0+1oiIB1Ou9cv9RMKDR1gXEPtlSjO7j1696y0D4MpBdmu013vBu4yuYhh1p87GaFK+Dws876X4.uzV6P7aBNHnSxqaHUNYLx5pKw3u.aHcROtBuZud6me81O+ClsedbG0zsDGy6KFuOIQ2IgaeRyYNho9G5VgNho9850Gwzqsw++yiXZrNIl41gRv8DWy+heEvpNyTZzDLyGG9gulBCcBHIu7wZuJrhm2IcrhtyNW6qT2OKtx2QrQnOwpCnI2H5rthuGjyIl7j7MwUZsatuRq63CosY0J6BzKqGmZR1R+15QCU50LZvXkH46R5RrBi1Rj9Udu56tajd6v85UKEcC81yGn+QMpYp3EtjFG6ExNGW02KHfdWThdWArUsSOf9VK1R1kPOGwrkAYKxdmtnDy93.BcaIsald8uFz5nQQJZm+ir2hdVdnmUF5Y0gdFMzyZC8r9POiG7bMwr2vsoy2MbaKqt6XASQlVthchVFTWbIWwcId5evcWhq.WK0L24xYSkwFQ60w5IaLRjL9NhIt0RKMq09Vdtdo2tOV8YP+7niHY8UxaBkj1d+RdT8zDfYxWM9JRk0LsPXgbgu52bWud2jj+lm5hZ9p60Idx+m95DmWH5AIwulGFQ+ve.tFdewHurySCJdWJd2E2w3zKSM05K4yw6d3jDWZPkHV5NPXQGVUz.HFOUjnawX70toCMHg3ffsVc5POEFQ4Ejhvvep3x8NpWPH8t61Jw0RPisDFJFebG1xt4Nd.tFQPCPmOTng0ojX+NSJpHT68iGTPeltg8TkXUjvy89HxEIe9Y1oeVCJeepzSA4mYG8QXTTvoCcRrMamjubN+QwEg369AK538ocIggAKtFr1QY5Dr39q134ef7BJKn7A6t5hqdrmeqHutjfE+M1gGS6UzDb9crsb8dBnQSrcOy5h4WYws8ZzCdUDWOaP6Ywe4yhZxAQEevpNdAjCV98jN3TGkC78kW3LqSEVqWWGffcX7Uq1yoGU7lR7CzEhMXV2sEk0qghlpjp.MBfCHDuncaHGgjv5IkkbrhQMFqZpj7B1M5cOqHBIKQus1Bi.qH8AvJ749vJBWkfU4hCqyJJKqnJgwifq8wvgA2ntnijjxM5pYL.cgO2Gc0LqRnqRoTZ0PXIsQ.W.CM0TwbPWZWzkzQ4FbwRC.Wrz.vEKWk.W0x.tZHIErAGvUwPxDfQNfKzEcb98KXnL.bgO2GbMTqRfKpLfqNBgML4.tppZRZJFb.WcDVV2H2fqISrLSlXYlUpXYZkAbQxpRHUdfqoIV2jmlKzEZE4CbAzRpeHs3GRfW5CUpfZ5kAekk0Uz34Y..LYUttckkMvF42sqJCiAUFFCpEFb+pu2.2UkKkiAUIIrBOrE3mIi4o6BcoHXKhgu.hgu.xrBgsJkhLlhhgLWEWMYcIScIdrwf9XT.1X5LDFzYHLnKWgPW0xQFy.YHyAb0UM.2tbyiPWB.97SFigu.lgu.VsBgskhtfJVGyD2Z.1hUPllJ7vVnKFpEfKFCcACF5BFZUHrsTrEzzAHjmdKVWQGqwKZlltlBp.TwXhlYxDMyrJEMqTLET0kT03Qy0PFzZk3p2pKgxM1R4aYvxDyfkIVUJfFtTDwzLTTQ7fWMPAEwKKBYMSLp.DwXHKnxPVPsBgsqUJhXX.nL4kDgAVVQlKIWrtLMu3buwMLTEzXnJnUgnJrVo12FSUUfHFGr0DgQRb0aocwH+tb0YnJnyPUPuBQUXsxQCCiTPitgiyA9CQRfFMuLHLv5ZEvo.lgq.lgq.tBwUXsRwCCYpfz3BtxJFfCWdAzPlZ5x42qfACYACFxBFUHxBqUtsswPx.IyEbwPJX722FCUUkBvDiIblIS3LypT3rxwDSEqopwCbUTzUAWF7nhoZZpW.pXxRLTwjkXnhIWkBoUBpXy.IhoqoxEdAJv71SLnKp3Bn5hXXKfXXKfpPP65xkKhljhIlO1hAxXb2YArBp.YnowPWPigtfVEhtv5k6HzjQR5b8KnpQibwiKFvcCHSjetXLzEzYnKnWgnKrdo3hgU0UT3p4hT0Q5XtIQP8JTf8Digt.lgt.tBQWX8RwESSR0fOQWP6T1j+F2.LfKflqACcACF5BFUH5BqqUxC+kdRV7.W8ajS+kt+LrzEjXoKHUkhoUJ5XJF5FbNlG.e0kG2A.qXJYHWfynTVgkNlBKcrpTXsxsyXPNvb13QJ9BHlJhGcWfNgIN+IpgX3LfX3LfpP2dgMduxs2XF.gL9ZuZzScfGiLrgNp.mGgFCoAMFRCZZUIzsTTxvJJxJb0cw.mL9mHQ74.keJYLrFzYXMniqRna4tVSlP1DF7PWCfb.lqmAMSU5grkaNYLzFvLzFvlUIzsjaPlglAWOCF5.aXcD2MHyDxhK+6gCShvlLIBaJWkP2xwJS1jcCbYPWSv2fJ2aGhlhjrYQXkwxZPhk0fTkJvV4nkA4Tv24fotoJ+rgUjP4+BhPIegXokgXokUohsUpsIyPSBwc2FLAbWkC9NS7kDI+rxX3MfX3MfpPX6SKGqLCf+JmSClBtlFHHY4q+M4Wig2fFCuAMbUBcKGqLDEE4ftJPVYxXt9dwZQg7xMqLFdC5L7FzMqRna4N0RDREwa+yUj0nmMI283EgMJxsMmg2fACuAC4pD5hJImWjBO2tJJPxvpxJWeNulLYCaxjMroZUBcK40MWAaxEcitKupJ2D22bVRCRrjFjpTA1J28MW2TxTgK.iTfZ3dOmv.WtBP6Ul8B8Kydg9ipox.vkhUltljgLW7UyTg28hl1EH113f26huyocrZ56cPxOMzzu4o2KpDXsvM4eHT1h977xBmN7uRHcraYePylYeUizQkx1Q0x1QTY6nVY6ndY6Htrcz3p6H8G0gjeeeneU2ED1Zm0i+5DWa89echmTfj76TX7+9PQ+pN2uDWx48+odsczuxqSP+qTII5WK7ENN8eiyh+FH+egUQ1Iq
      
      posted in ScriptNode
      HISEnbergH
      HISEnberg
    • RE: Envelope or filter trigger problem

      @Oli-Ullmann Can confirm your issue. It sounds rather similar to what I posted here (minus the noise about global modulation). I.e. Filters + Envelopes break down in a polyphonic setting in HISE.

      posted in Bug Reports
      HISEnbergH
      HISEnberg
    • RE: JUCE 8 Starter license (free tier) + HISE commercial (closed source) license?

      @JC Just FYI the JUCE 8 integration into HISE is still a little buggy imo. You can work around it but it's worth considering....

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Build fail due to HISE Unlocker

      @David-Healey That's what I initially suspected too. But no I haven't changed architectures.

      • Edit: Actually it seems to do with my authorization/licensing system, it's triggering HISE's activate system. I left the RSA.xml in the project folder so just removing it clears up the error.

      Solution here: https://forum.hise.audio/topic/12825/errors-when-exporting-to-vst3/3

      posted in General Questions
      HISEnbergH
      HISEnberg
    • Build fail due to HISE Unlocker

      MacOS, M2, Sequoia 15.1.1 - XCode 16.1

      This is a new one for me. My HISE project (not HISE itself) is failing to build with the following output:

      ❌   "hise::DeactiveOverlay::checkLicense(juce::String const&)", referenced from:
      ❌   "hise::Unlocker::loadKeyFile()", referenced from:
      ❌   "hise::Unlocker::getUnlockerObject()", referenced from:
      ❌   "hise::Unlocker::resolveLicenseFile(juce::Component*)", referenced from:
      ❌   "hise::Unlocker::showActivationWindow(juce::Component*)", referenced from:
      ❌   "hise::Unlocker::Unlocker()", referenced from:
      ❌   "hise::Unlocker::~Unlocker()", referenced from:
      ❌   "hise::Unlocker::isUnlocked() const", referenced from:
      ❌   "hise::Unlocker::getProductErrorMessage() const", referenced from:
      ❌ ld: symbol(s) not found for architecture arm64
      ❌ clang++: linker command failed with exit code 1 (use -v to see invocation)
      

      Gonna dig around but just wondering if anyone has experience with this/knows what's going on here?

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: AudioWaveForm LAF

      @David-Healey Hmmm you may be right I would have to check the Sampler's API about that, but I've scripted all of this using the Audio Looper before (actually a custom C++ sampler but same API). I can share the script if you are interested (it's still not finished). If it's just a matter of adding a transparent background though, modding the HISE source code would be a lot easier.

      This is all in a panel, but it's a bit buggy still:
      ezgif.com-video-to-gif-converter.gif

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: AudioWaveForm LAF

      @David-Healey if you are going to add the LAF for it that would be great! But if @Lindon wants a more immediate alternative you can pass the path to a panel and style it that way 😉

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: How to Fix Filters not working on DAW as they do on HISE

      @duma The errors mean your code doesn't work. It means your plugin won't work properly either...

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: HISE Sampler VSTs Crash? Across multiple brands (FL Win)

      @Christoph-Hart a good candidate for the your new Claude/Ralph system? This one is a bit over my head unfortunatley... Maybe just confirming the Webview is always running on the right thread and it is properly addressing race conditions in FL? Just a reminder the issue sounds very similar to this one: https://forum.juce.com/t/br-webview-freezes-daw/64917

      posted in Bug Reports
      HISEnbergH
      HISEnberg
    • RE: How to Fix Filters not working on DAW as they do on HISE

      @duma Does the filter modulation work at all in the exported plugin? Probably worth creating a separate project with just filter modulation and exploring where it is breaking. That way you can isolate the issue (does your XY pad overwrite the control)?

      There's too much context for anyone to provide any useful advice.

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Passing Lambda Variables not working in HISE?

      @Christoph-Hart said in Passing Lambda Variables not working in HISE?:

      @HISEnberg have you enabled the optimizations in the Scripting Settings?

      It was this exactly. Disabling the Scripting Optimizations removes the Error. It seems your human reasoning is superior to AI rational here. 🤖

      @dannytaurus agree, I typically use Sonnet for the best cost/performance usage but Opus is the better for complex/large tasks.

      posted in Scripting
      HISEnbergH
      HISEnberg