• How to prevent duplicate include?

    12
    0 Votes
    12 Posts
    184 Views
    d.healeyD

    @Christoph-Hart What about adding #pragma once? Or just ignoring duplicate includes - I can't think of a downside to that but maybe there is.

  • How do I print an array to the console?

    3
    0 Votes
    3 Posts
    25 Views
    d.healeyD

    @Morphoice You can also use the scriptwatch table to see the values in realtime.

    15207286-c115-430a-9ff9-db095216b834-image.png

  • .setPosition does not accept float?

    10
    0 Votes
    10 Posts
    80 Views
    d.healeyD

    @VirtualVirgin Looking good!

  • Value Change Broadcaster not firing?

    7
    1 Votes
    7 Posts
    109 Views
    clevername27C

    @aaronventure HISE's broadcaster system is my favourite thing about HISE (with the exception of the surprise queue). The GUI that @Christoph-Hart innovated is spectacular. But…it also scares me because it puts so much flow control out my hands, that if there's a problem with the system, there's no way I can work around it because everything is so intertwined—that's not a critique of the HISE implementation, it's endemic to any complex system. I ended up creating my own broadcaster system for my plugin—it's generally inferior to HISE's, and I'll slowly migrate it…but only after I'm confident I'll be OK doing so.

  • 0 Votes
    12 Posts
    113 Views
    ustkU

    @VirtualVirgin And to add up on friends examples, you can nest two arrays (aka 2D array) so everything lies in one unique keyboard array:

    const var keyboards = []; for (oct=0; oct<11; oct++) { keyboards[oct] =[]; /* add a nested octave array that will hold 12 keys */ for(key=0; key<12; key++) { var keyNb = oct*12 + key; if (keyNb > 127) break; /* 128 is time to break the loop boy */ keyboards[oct][key] = Content.getComponent("Key" + keyNb); } };
  • Passing info between scripts

    4
    0 Votes
    4 Posts
    49 Views
    A

    this snippet https://forum.hise.audio/topic/10635/snippet-per-event-modulation-from-ui-with-global-storage

    has an example of globals usage where the interface and the processor script talk via a global object.

  • Best Way to Implement User Defaults?

    Unsolved
    2
    0 Votes
    2 Posts
    25 Views
    ustkU

    @clevername27 perhaps a way to do it would be writing the name of the preset in an external file and load it at init

  • Is there a way to set button text from script?

    14
    0 Votes
    14 Posts
    91 Views
    V

    @d-healey said in Is there a way to set button text from script?:

    @VirtualVirgin I'm not 100% sure what you're doing, but it sounds like you're adding components dynamically at run time (after on init), if that is the case I think you'll run into issues.

    If you want to change which components appear on top of one another you can use setZLevel().

    The function for:

    ScriptButton.setZLevel(String zLevel)

    Does not appear to be working.

    Here is a test snippet:

    HiseSnippet 903.3ocsV01aaaCDlxwpXV6ErBr8ch7ImhhVY4jlZLTzT6D2YrlDi4rhs9kBZpyQDQhTPjJoFECX+j2efg1iRJwJId4EuU+ACc7tGdO2oGdTiyTbPqUYDGuilmBDmuwcxboIZPDSHIi1k37it8yMFkj9N5afSgX5Qf1P5OOko0PHwwYsWaC0oUSRwu+9k8YwLIGVrDg7VkfCuQjHLKVc7N+hHNdHKDNRjTK5M2YDWIGnhU4HsVy0mjx3mvNFNfYCqgK4mY5Hhyib47M6AOeVv19A8fsB2bZPGeVfeudaCrs74S6ArfYS49DmGrWnvnxlXXFPiaZeU37IQpyjkI3sBsXZLXM5PlfYtbYxfHQb33y6QZBwo43Ecr0J6X+f69hPwEquny88ENnKPTuo4z3lnTm6AkbpQolkT5gtS3YhTyBOV970tijFHaFCe2TmJkwRZ7ONtCTXDRySRXm.CyPiKPz9Y99Olh+swO448zm1kNsPUn8v2UZC8TVFsTmzg9B54aywfYfJIUIQi1qW4ecbGtJnfaATvx.08V.0c8RtpACJdiKDuFEMCeHSCTUVHjQaqUztTglhJbSDPmpPnITlLj1470LpzR3a3UUCOA2y2Ubbn85uJ9L1b8gxiTo1DVk65QzG0uUb4kyxkbi.2Xk7.kANT1dCuO50x6O8nW00rYK0msjyTwwP1RcaOLkcS.aKySlBYOF6jw4vEAhhmKqHevcSQxKeCTKPkbjTXNLEprGphCsJM6yWW+RpdEhJ40pXH9joPG+cU53xdJQfaRqpwQcHEzu9PFx8.dv+M3cWB7eaztLCydfrphvpLExLBayzYW3TbDX4wyVt6B5SPUUQIWoZwF9cnn+vhT9G6LegwA6blHzfSEcc9.ZFAhiiLVqgkU18HIA0Rxew9Bkjt0qDwcOIWeVGNkUElGyLWdzq8RoJGn5+Ry6ryzjZgYd8Kst573l+6pe+Zp+aQaeGo6CcGKL7nky2FKgunJ6KMeqtc6ac2a1LfaVP1ltC+8a7pr+enxupxMB4w6yLYBTq3dPdxD7KB3.xDoDh0VMQCqtqz12Za6LS.YXgwmveUN6Xscpb14bmjDFOS8dd44d6coeUwJHmjEeqQK28s1zkLrIAuZ+8b9k2pqALXUA1cUAt4pBbqUE3yVUfaup.e9sCz9kWuJGuIu73Dgr+38JFO63rmjgpwBkK4yf.aA.J
  • How do I get the area of a panel?

    3
    0 Votes
    3 Posts
    37 Views
    V

    @d-healey Thank you! You are always so helpful!

  • Weird output from sliderpack value

    1
    0 Votes
    1 Posts
    19 Views
    No one has replied
  • changing MIDI channel from onTimer / Filling MessageHolder from eventId

    3
    0 Votes
    3 Posts
    25 Views
    SimonS

    @Simon As usual I found that right after asking :D The lack of a channel parameter in playNote definitely threw me off.

  • MIDI transpose on a Scriptnode Synthesizer

    3
    0 Votes
    3 Posts
    69 Views
    Christoph HartC

    yup, bug, should be fixed now.

  • How do I check on all of the values of objects in an array?

    4
    0 Votes
    4 Posts
    35 Views
    Oli UllmannO

    @VirtualVirgin
    Great, that it works for you! :-)
    Sure, send me a snippet and I'll take a look at it tomorrow. :-)

    All the best
    Oli

  • Clickable URL display that opens the displayed URL -> Snippet

    9
    2 Votes
    9 Posts
    52 Views
    Oli UllmannO

    @aaronventure
    I have added it to the waiting room. :-)

  • How to get correct list of filter modes from Engine.getFilterModeList()

    9
    0 Votes
    9 Posts
    85 Views
    S

    @Oli-Ullmann
    Hi, thnak you !
    I will start studying and create something with Scriptnode (yes I too noticed that the Filter module create some glitches when change some parameters, and it happens also with the VST compiled used in different DAWS).
    I didn't try the standalone if it has the same problems.

  • Matrix Peak Meter LAF MaxPeaks always [0,0]

    2
    0 Votes
    2 Posts
    34 Views
    d.healeyD

    Looks like a little typo, fixed in this PR - https://github.com/christophhart/HISE/pull/616

  • Trigger a chord on a single key press

    3
    0 Votes
    3 Posts
    44 Views
    T

    @Oli-Ullmann great, thank you!

  • Get wav length in milliseconds OR sample rate

    4
    0 Votes
    4 Posts
    63 Views
    D

    Appreciated guys, can't believe I missed these! Also got a bit confused with getting getSampleLength and getSampleRate.
    Case of the mondays I guess.

    const var SamplePlayer1 = Synth.getAudioSampleProcessor("SamplePlayer1"); const var audioFile1 = SamplePlayer1.getAudioFile(0); const var samples = SamplePlayer1.getSampleLength(); const var sampleRate = audioFile1.getSampleRate(); const var lengthMs = (samples / sampleRate) * 1000;

    Thanks again.

  • Trapezoid XY Pad

    7
    0 Votes
    7 Posts
    86 Views
    Evan SplashE

    @Lindon Thanks for the advice! I'll start with that.

  • 0 Votes
    8 Posts
    139 Views
    ustkU

    @orange Here's an example:

    HiseSnippet 1549.3ocuV02SaaDF2FvsKYcSsR6emz8WUtqHZRgBkQaWgPxZzJgHLEUooIzg8Y7Ibtyx2Yfro9+6i09.rOL6av1yycNINjzWVzVopfumW+cOudrq0LQDK5TkfmkwzNNtK2OWFxTJYtia8iGlwbbuiWvPgNoUBkKb5tui6W6c.UoY4DKo8FlQUJVjiq6x+HRvs1JNle9qeXOZJUDxlPxw4DIOj8Z9.tdB09u7m3oocnQri4CpH8FuranTzRlJK.7rrWCmLZ3EzyY8nnXK447JpJww867Z7jMYrsVONJht95Qat4la+zs2X6lz3FaPOq4lauwi2XqG+zshcbuU6HtVlGnoZlxwck8jQCCRjWIrN3DtheVJCOzzI.7rkbGYZDdEQpNsR3oQiCTJHrsRkv1x1v123c.OhOl9jv2cMLHSznZ.zcoog2xSAulUgWiJvaNPxsBjVwBo64EDlyyzS3f34K85JfrYLExSUghUVG2+vqkDDPnWa.8BVmb3vXE72rQiUIvudvNwEhPMWJHRQOolcnv+A0+s50p+t5jaxJNdt7P2jKSSY4ykMVZj+gTzWTL3LV9pjKooErwBBW+oiodu+XZ0Tdn8VWQPonqfqOLiIdeEBNkgJ3q2zceplhIhRZfbYrbMGgf69rKg1.aZol29L0EZYFzHLSNCpVjQEoT8zkPXiVICHFLUdCSNBEWOrZi3+Y0UepP7dd845vj4iwklCFgH0+GXrra7q7ZGGyB0S.3Jdcd6muVu5ksdfOQmemxijNus4ba59cuIE3Y4rLZN6XY+T5PeEcPVJ6H.iqRNKUFdQ.+WYy1UjYgvdnD9gITgfkpVjlma8IGUZ9gSJGIKzbw4GP047qgtvdECBf45grVknCn4tD1CYO2.Oi0EAvRJyg+F9ojYS7raIyliXVo8qGSekL+BS5n7aG2aai8JSP9z3qA3yxUXwo6s8ZrF7OmcSSkW0RNHiWV1BIECs9xzgYIRAODIYkXDz2cfr.7ZI9gcRGS4oXcdPgBlVDcnH.D1rHDqy5IifutUGZHDXG1mpSv9EbdCTbxxWKbbQ5TXsZchcA3TrQqNZUoMvAfb.FMvEkfJ.ea3v5d6rekfc8oBjxTv4t.bxYqMg6rNupteDeuRkYe11C7Dz7uDBhZdsRAa2Mx4Dr1yL6Pp5wNuCOE1y.0LFyAU8WWNR06XJTygEUAo7HVde3UA3ocKh3RPKCKq13W6yUYPqydEvH.67AZNbEJ4NYD0wz7yY5YD3CB9630UcBxMjlNB+PUvdR4ECnl5uEaSvmitkAzvb4og1A.3k6KLTfZEgICWCdnGblzz4R6Eaxr5AvSXNMLbZSMihOdQUb8EUwMVTEexhp3lKphasnJ9zOth3KL2sPKGXmgAE48aaJBccaKvdGSerCCF4GAuq0t0AqUGSAZsKajbci43.9kv+XQx2No0+Q2nUcsjQObxYo+bEOMC5agMGjmwEZRuSdAQoyKB0janFtuInW62dZuC2us+MX9fcfkQ0dziH3yu3zTthQzIrQ63.IHvX1PEIgkypW6RIOZzRS+91+FX3mAa.qAdBr16JM4QLESeSqkwyXovn3pFLGEzeF8et8GRmtu931GEL5b8ZwoRpdjQeE+7jfDVZrukrZUBFOBSJsWNSWjKHpcHfIK0gj.JQTnVjXSnnDNFWOk4es7p+0VGVo8oY7pIC06wC7Xhuh7BBrAMFHM1kyb8AEAk1od8aJx3qvHILHwDhKeEgIIo3mKnokXcRwkFFehklijEq0wQpufTVLXn5eCt2mDAeUdEfpVk1bqfWB0Jg7bCy0fEB8vy1gt9Hvf.TsXYNwGEl+7F6P3OynC7wCeHd8Q6YEgBMg2mn9diw9Y9uXBNF10TfKlaHFCtF+fg.7+ip0lSffpHw3ppYhHH1ZM80uCJnuJiJdlIKtJHP0Pv7byAc2uKgcIzNOU2EDNhRYuBZDai77G+08IrYZQdiockql7pSsj.MSEYFWvtFt03cAQRo8AtsKIiIKeaxoJI.31ZPtHhc8L9LXTS83E4yMB0uLBA9a7Je+HYALgjbYEi9tcp637Oh1I.+.

    You "just" have to implement your filter algorithms and manage per channel integrators (ch arg)

29

Online

1.9k

Users

10.6k

Topics

92.1k

Posts