• Play an Audio File?

    Newbie League
    8
    0 Votes
    8 Posts
    219 Views
    dannytaurusD

    @veryveryhaps The Audio Loop Player responds to MIDI like any other sound generator.

    If you only want to trigger it from the UI try playNoteFromUI. It's meant for triggering sound generators from UI elements. It simulates pressing a key on the virtual keyboard.

    There's also the cunningly-slightly-differently-named noteOffFromUI to stop playback.

    As for pausing playback and continuing from the same point, I'm not sure.

    const var loopNote = 60; const var channel = 1; inline function onPlayButton(component, value) { if (value) // button ON Synth.playNoteFromUI(channel, loopNote, 127); else // button OFF Synth.noteOffFromUI(channel, loopNote); } Content.getComponent("Button1").setControlCallback(onPlayButton);
  • Right click on a windows tablet

    Scripting
    16
    0 Votes
    16 Posts
    338 Views
    ulrikU

    @Oli-Ullmann Yes, I do exactly like that

  • AVX WIN

    General Questions
    2
    0 Votes
    2 Posts
    147 Views
    Christoph HartC

    @Anhuarcin It could be possible that there are code paths generated for runtime dispatch, so that if the CPU detection shows AVX support, then it will branch to use that - I can imagine that IPP does stuff like that to squeeze out performance.

  • 0 Votes
    9 Posts
    419 Views
    Dan KorneffD

    @JulesV My solution is to use a flag. If the plugin is being initialized, load a specific preset that has my settings. if the plugin isn't being initialized, it doesn't do anything special.

  • LLM and Faust MCP

    Faust Development
    6
    6 Votes
    6 Posts
    455 Views
    S

    @sletz Another Faust + MCP project by Yann Orlarey: https://github.com/orlarey/faustforge

  • callWithPOST change content type

    General Questions
    29
    0 Votes
    29 Posts
    2k Views
    D

    @Daanyoo I just tried to reproduce it on a empty project on WIN, it worked there and all of the sudden it worked in the regular project as well... I am so confused haha

    But at least its fixed, thank you guys for your help!!

  • 1 Votes
    8 Posts
    306 Views
    CyberGenC

    @David-Healey & @dannytaurus thank you guys. I'll update.

  • 0 Votes
    23 Posts
    969 Views
    HISEnbergH

    @David-Healey Ah that video flew under my radar!

    Indeed I do have the same issue, same with the examples in the HISE docs. I've mainly gotten around this just sticking to the old school method of reg variables. I haven't seen many HISE scripts using Lambdas.

    Something must be off with my HISE setup in XCode so I'll dig around a bit.

  • scroll event for script panel mouse callback

    Feature Requests
    27
    7 Votes
    27 Posts
    9k Views
    griffinboyG

    @HISEnberg

    Indeed!
    I've also got someone after this. But judging from the lack of movement on this, my guess is that it's troublesome to implement

  • How to get numbers from strings

    General Questions
    7
    0 Votes
    7 Posts
    273 Views
    ulrikU

    @dannytaurus @Oli-Ullmann @ustk thank you all for the help, all your suggestions work great!

  • 0 Votes
    3 Posts
    143 Views
    J

    @ustk yeah ill just hide it.

    I was gonna have it as part of the interface for the user to see cpu and ram usage, but its not really necessary.

  • Colour non-sense...

    Bug Reports
    5
    0 Votes
    5 Posts
    202 Views
    ustkU

    @dannytaurus Oh cool! Bug or not I can at least make my project to work so thanks!

  • UI feedback on tiny control

    General Questions
    16
    0 Votes
    16 Posts
    571 Views
    dannytaurusD

    @Bart Wow, that interface is wild! 😮 😂

    The synth I'm building is the start of a series, so I'm designing a layout that will work with all of them. Each one will have a couple of unique controls, so they all look slightly different but obviously from the same family.

  • showErrorMessage doesn't work

    Bug Reports
    4
    1 Votes
    4 Posts
    194 Views
    ustkU

    @David-Healey yes this is what I use… just saying it’s broken too and after looking at the code they both use the same thing, so this explains why

  • Help! Automation image painting in panel

    Newbie League
    5
    0 Votes
    5 Posts
    228 Views
    dannytaurusD

    @David-Healey Yeah, me too. But I thought for someone learning how to do the basics of optimising repetitive code into loops, I would just show the basic method.

    @goldee What David means, if we're talking about the same thing, is that you can get an array of components and loop through them directly, instead of fetching each one by name.

    const panels = Content.getAllComponents("instimg_pnl\\d+"); for (panel in panels) { panel.loadImage("{PROJECT_FOLDER}" + panel.getId() + ".png", "img"); panel.setPaintRoutine(function(g) { var a = this.getLocalBounds(0); g.drawImage("img", a, 0, 0); }); }
  • *sigh* iLok ......

    General Questions
    8
    0 Votes
    8 Posts
    332 Views
    Dan KorneffD

    @Lindon I've used iLok on 4 of my plugins. Just wrapping, not fusion. Totally doable, but you'll be editing the HISE source to implant the code.

  • Automation subfolders in DAW

    Feature Requests
    14
    5 Votes
    14 Posts
    2k Views
    DanHD

    @ustk ah yeah, that's it

  • Third party HISE developers

    General Questions
    8
    5 Votes
    8 Posts
    390 Views
    Oli UllmannO

    I would also like to throw my hat into the ring. :-)

    I have spent most of my professional life as a composer for film, TV, and advertising. My clients include German TV stations as well as Bugatti Automobiles, Porsche, Nivea, and many more. I have also been involved in several gold and platinum chart productions.

    Since 2022, I have released a few Kontakt libraries, and for the past 2.5 years, I have been working intensively with HISE. I am currently finishing my first plug-in. For this, I created all the graphics in HISE and also worked with Max and RNBO export and import in HISE. In addition, I have extensively studied the new HISE modulation system.

    There are certainly some more experienced programmers than me in this post, which is why my unique selling point is probably that I have many years of experience in professional music production and sound design.

    I look forward to working on projects together! :-)

    @David-Healey thanks for this post! :-)

  • C++ External Node & XML Issues

    Unsolved Bug Reports
    9
    0 Votes
    9 Posts
    451 Views
    OrvillainO

    @Christoph-Hart said in C++ External Node & XML Issues:

    @Orvillain I think the problem is that HISE converts Parameter IDs into actual attributes. This is only the case with hardcoded modules, script processors or DSP networks properly escape that in the value string.

    <Processor Type="Hardcoded Master FX" ID="HardcodedMasterFX1" Bypassed="0" Network="No network" YourParameterGoesHere="0.5" TryValidating(That)="nope"> <EditorStates BodyShown="1" Visible="1" Solo="0"/> <ChildProcessors/> <RoutingMatrix NumSourceChannels="2" Channel0="0" Send0="-1" Channel1="1" Send1="-1"/> </Processor>

    I do a bit of sanitizing at some place though (eg. remove white space for the XML attribute, so all my ramblings might be moot because I sprinkled a character sanitation in there too.

    ahhhhhhhhhhhhh, gotcha. Yes, then that does make sense that parenthesis would possibly break things... and now I'm going to do a sweep through my code to see how many landmines I've invented. 😆

  • Custom browser - custom preset file format???

    General Questions
    29
    0 Votes
    29 Posts
    1k Views
    OrvillainO

    @Christoph-Hart

    Can I sanity check this:

    namespace PluginUserPresetHandling { const UserPresetHandler = Engine.createUserPresetHandler(); inline function onPresetSave() { Console.print("onPresetSave triggered"); } inline function onPresetLoad(obj) { Console.print("onPresetLoad triggered"); } inline function preLoadCallback() { Console.print("preLoadCallback triggered"); } inline function postLoadCallback() { Console.print("postLoadCallback triggered"); } inline function postSaveCallback() { Console.print("postSaveCallback triggered"); } inline function init() { UserPresetHandler.setUseCustomUserPresetModel(onPresetLoad, onPresetSave, false); UserPresetHandler.setPreCallback(preLoadCallback); UserPresetHandler.setPostCallback(postLoadCallback); UserPresetHandler.setPostSaveCallback(postSaveCallback); } }

    In what order are these called, and which ones are synchronous versus asynchronous??