• Faust seems to work but doesn't change sound

    Faust Development
    4
    0 Votes
    4 Posts
    581 Views
    P

    Hi, I have HISE 4.1.0 build with Faust latest 2.83.1 everything works fine in HISE debug mode with Faust enabled. Although, while exporting them as VST there is no sound nor audio out coming through in my DAW. Regular scriptnode modules produces sound whereas Faust has issue not sure what's going on.

  • Remove Sample Install Dialog

    General Questions
    9
    0 Votes
    9 Posts
    18 Views
    David HealeyD

    @Daanyoo build a standalone version to take the DAW out of the equation

  • HISE Transformation to the new age

    AI discussion
    30
    2 Votes
    30 Posts
    301 Views
    David HealeyD

    Ok I think I'm seeing the benefit - I get to be lazy :)

    Relative include paths PR
    Relative font paths PR

    On the HISE script side of things I'm not sure I would want to pass it over to AI since I enjoy scripting and I think I could write it more quickly myself than back and forth with an AI. However I find writing laf can be tedious so the Ralph technique with that would be useful to me. I'd also find it useful for DSP/ScriptNode/Faust work.

  • How to automate radio buttons as a single control?

    General Questions
    2
    0 Votes
    2 Posts
    18 Views
    David HealeyD

    @dannytaurus said in How to automate radio buttons as a single control?:

    The only way I can think of doing this is with a hidden slider, used for automation only,

    That was my first thought too.

  • 0 Votes
    29 Posts
    490 Views
    LindonL

    @WillowWolf said in Mac installer for audio sample libraries best practices?:

    @Lindon

    What was your approach to making an in plugin setup for samples?

    Any advice or suggestions would be helpful, since I'm exploring a similar route.

    Ok so...

    I have a json file that is saved by the plugin to the AppData folder, this is the Setup manifest - here's an example, as it is defined in the code:

    reg defaultInstallManifest = { "DownloadTargetFolder" : "Not Set", "DownloadApproach" : "", "downloadSpace": 3670, "samplerSpace" : 3990, "version" : 30000, "type": "setup", "setupSteps" : [ { "downloadFileName" : "www.xxxxx.com/download/zzzzz/ProductNameData01.cra", // Sample files ch1 "downloadFileDestination" : "ProductNameData01.cra", "downloadFileContents" : "Sample Files", "installDestination" : destinations.USERSAMPLE_LOCATION, "status" : destinations.UNSTARTED }, { "downloadFileName" : "www.xxxxx.com/download/zzzzz/ProductNameData02.cra", // Sample files ch1 "downloadFileDestination" : "ProductNameData02.cra", "downloadFileContents" : "Sample Files", "installDestination" : destinations.USERSAMPLE_LOCATION, "status" : destinations.UNSTARTED }, { "downloadFileName" : "www.xxxxx.com/download/zzzzz/ProductNameData03.cra", // Sample files ch1 "downloadFileDestination" : "ProductNameData03.cra", "downloadFileContents" : "Sample Files", "installDestination" : destinations.USERSAMPLE_LOCATION, "status" : destinations.UNSTARTED }, { "downloadFileName" : "www.xxxxx.com/download/zzzzz/ProductNameData04.cra", // Sample files ch1 "downloadFileDestination" : "ProductNameData04.cra", "downloadFileContents" : "Sample Files", "installDestination" : destinations.USERSAMPLE_LOCATION, "status" : destinations.UNSTARTED }, { "downloadFileName" : "www.xxxxx.com/download/zzzzz/ProductNameData05.cra", // Sample files ch1 "downloadFileDestination" : "ProductNameData05.cra", "downloadFileContents" : "Sample Files", "installDestination" : destinations.USERSAMPLE_LOCATION, "status" : destinations.UNSTARTED }, { "downloadFileName" : "www.xxxxx.com/download/zzzzz/ProductNameData06.cra", // Sample files ch1 "downloadFileDestination" : "ProductNameData06.cra", "downloadFileContents" : "Sample Files", "installDestination" : destinations.USERSAMPLE_LOCATION, "status" : destinations.UNSTARTED }, { "downloadFileName" : "www.xxxxx.com/download/zzzzz/ProductNameData07.cra", // Sample files ch1 "downloadFileDestination" : "ProductNameData07.cra", "downloadFileContents" : "Sample Files", "installDestination" : destinations.USERSAMPLE_LOCATION, "status" : destinations.UNSTARTED }, { "downloadFileName" : "www.xxxxx.com/download/zzzzz/ProductNameData08.cra", // Sample files ch1 "downloadFileDestination" : "ProductNameData08.cra", "downloadFileContents" : "Sample Files", "installDestination" : destinations.USERSAMPLE_LOCATION, "status" : destinations.UNSTARTED }, { "downloadFileName" : "www.xxxxx.com/download/zzzzz/ProductNameData09.cra", // Sample files ch1 "downloadFileDestination" : "ProductNameData09.cra", "downloadFileContents" : "Loop Files", "installDestination" : destinations.USERSAMPLE_LOCATION, "status" : destinations.UNSTARTED }, { "downloadFileName" : "www.xxxxx.com/download/zzzzz/ProductNameData10.cra", //the meta files "downloadFileDestination" : "ProductNameData10.cra", "downloadFileContents" : "Meta Data Files", "installDestination" : destinations.APPDATA_LOCATION, "status" : destinations.UNSTARTED }, { "downloadFileName" : "www.xxxxx.com/download/zzzzz/ProductNameData11.cra", // audio wav files "downloadFileDestination" : "ProductNameData11.cra", "downloadFileContents" : "Audio Files", "installDestination" : destinations.AUDIOFILES_LOCATION, "status" : destinations.UNSTARTED }, { "downloadFileName" : "www.xxxxx.com/download/zzzzz/ProductNameData12.cra", // presets "downloadFileDestination" : "ProductNameData12.cra", "downloadFileContents" : "Preset Files", "installDestination" : destinations.PRESETS_LOCATION, "status" : destinations.UNSTARTED } ] };

    So on start up the plugin looks for a manifest file in the AppData folder, and when it doesnt find it - then it knows that there is a set up to do....so it uses this internally included version (above) of this file to do the set up...

    It should be pretty obvious, what is happening. There are a bunch of file URLs that point to stuff that needs to be downloaded, so first the plugin installer asks where the user wants to put these temp download files...and it checks there's enough room in the user specified location...

    If there is enough room it iterates over the steps downloading these files ( I usually limit the file sizes to about 500MB), as each is done it updates the step status to "downloaded"...

    When everything has been downloaded it checks to see if there is any sample data in the manifest, if there is it asks the user where they want to keep their sample data on a permanent basis...it checks there is enough space in the users requested location.

    If there is it creates a "Link File" and begins the unarchiving process for each step putting the contents of each downloaded file in its final location and updating the manifest on disk as it does so with the status "installed"....

    When its done it offers the user the opportunity to delete those temp download files and tells the user to restart the plugin...

    The plugin restarts, finds the Manifest file, checks its all been completed("installed") successfully and if it has it starts to run like a normal plugin....

    The system includes an off-line setup process too - but the number of users who have opted for this as tiny tiny tiny...

    It took very little effort to enhance this to allow the plugin to download and install expansions too...essentially this will download and set up for you: samples, their link file, meta data, wav files, graphics, basically anything you can zip up and know the location you want to use...

    With this approach the only thing the "classic" installer (like whitebox etc.) has to do is put the VST3 and AU files wherever you want them...

    This whole sub system is actually available to license from me if you wish...

  • Prevent automatic code signing

    Solved General Questions
    5
    0 Votes
    5 Posts
    43 Views
    Oli UllmannO

    @David-Healey
    Great, thank you very much! I'll give that a try.

  • Agentic coding workflows

    AI discussion
    19
    0 Votes
    19 Posts
    285 Views
    Christoph HartC

    And on a tagent slightly, but one of the biggest hurdles to writing complex projects in HISE is just how many languages and approaches you need to take command of. In C++ I can focus on JUCE and C++. In HISE, I need to learn HISEscript, C++, SNEX, simple markdown, and even css. This is a barrier to speed.

    Yup, I understand that, however nobody forces you to use CSS or markdown :) On the other hand, the LLM has no problem using different languages (assuming that I solve the knowledge gap problem to HiseScript and make the CSS parser a bit more standard conform), so I would say that if you don't understand CSS you can still use it through an LLM.

    That's where it's been most obviously unusable for me; if I'm spending half the time reiterating the same basic Hise scripting errors back to the LLM, that's too much time and tokens wasted to achieve anything substantial. It's mostly the frustration of it that kills the motivation to continue, otherwise it has great potential!

    Yes that is basically LLM integration 101: remove the friction point that it mixes up HiseScript and Javascript. I'm pretty confident that I'm 80% there with the MCP server and the latest models, but this will be an iterative process that will take some time.

    But I agree that if HiseScript turns out to be a burden (hallucinates Javascript) instead of a opportunity (allow a fast & tight feedback loop) for LLMs then there will be smoother workflows from competitors, so this is a key problem for me to solve.

  • [Feature Request] Relative includes

    Scripting
    3
    4 Votes
    3 Posts
    278 Views
    David HealeyD

    Claude PR

  • Hihat Open e Hihat Closed

    AI discussion
    3
    0 Votes
    3 Posts
    44 Views
    E

    @dannytaurus certo, onde eu coloco esse script?

  • soft_bypass and faust

    Faust Development
    22
    0 Votes
    22 Posts
    4k Views
    S

    @aaronventure yes FIR19 is the latest version.

  • 0 Votes
    14 Posts
    119 Views
    dannytaurusD

    @David-Healey said in [URGENT] Build Fail: 66 Errors in SharedCode (math.h, ctype.h missing) - Windows 11 / VS2022:

    removing the export option from the precompiled version of HISE

    Yes, that would be good. The precompiled version of HISE itself is also a support ticket generator.

  • Making a basic 2-op FM synth in ScriptNode

    ScriptNode
    8
    0 Votes
    8 Posts
    224 Views
    D

    @dannytaurus I'm using Scriptnode. This issue was reported earlier here https://forum.hise.audio/topic/10321/scriptnode-synth-smoothes-transients

  • Autogenerated Projucer Errors (JUCE 8)

    Bug Reports
    1
    1 Votes
    1 Posts
    40 Views
    No one has replied
  • 0 Votes
    2 Posts
    37 Views
    David HealeyD

    @MZLY Have you compiled HISE?

  • Filters not working on DAW as they do on HISE

    General Questions
    1
    0 Votes
    1 Posts
    26 Views
    No one has replied
  • Custom Settings Global BPM

    Unsolved General Questions
    5
    0 Votes
    5 Posts
    69 Views
    Oli UllmannO

    @David-Healey
    I tested it in Logic and it doesn't work there either. I will now implement it manually. However, it would of course be nice if it also worked via the custom settings.

  • AI Roadmap

    Pinned Locked AI discussion
    1
    12 Votes
    1 Posts
    101 Views
    No one has replied
  • convert samplemap to hlac monolith crashing

    General Questions
    17
    0 Votes
    17 Posts
    108 Views
    J

    @Lindon
    The sample map issue was a seperate issue, but didnt happen until i moved to juce 8.

    i got this error here
    #error "Building for OSX 10.10 and earlier is no longer supported!
    when trying to actually export an audiounit / vst on my mac build with juce 8.

    I actually didnt get that error on a build with juce 8 i tried on windows.

    but i still couldnt convert the samplemap to hlac monolith on the windows build.

  • getPopupMenuTarget

    General Questions
    3
    0 Votes
    3 Posts
    51 Views
    ulrikU

    @dannytaurus said in getPopupMenuTarget:

    Thank you!

  • Radio Button - wrong default value

    General Questions
    6
    0 Votes
    6 Posts
    41 Views
    B

    @ulrik

    SOLVED - my bad. I am a bit tired today. ;) Thank you so much ! Hope you have seen the comment in my code as well haha