• How to programatically remove filter bands?

    2
    0 Votes
    2 Posts
    130 Views
    orangeO

    @d-healey I think it is not possible to delete them with scripting, but you can enable/disable:

    HiseSnippet 938.3ocuVs0aaaCElxNrnVaqW.1O.h7jyVZfUS5kgfg45aCFaIwaNMnnuzRSQGSDJRWIprZLDf81961e.En8PJYaIOmf.i0pGL.OW+Ne7bNlCh0LdRhNF4U6zYS4HuuEOblxLo8DpPg52A4cO7QzDCOljIp0rozjDdHxyq5uZE3UaKj66C+RKpjpX7khPnyzBF+2EQByRoCZ9aBorGMjepHpf0GzrOSqZqk5T.OUwMPSorKnmyOlZMqBF4cmtgBiNdngZ3IHusZoCmMbh9uTY1elHQLRxsGBPCg.kItmVFZQrUJp8DgLbv75NAAQYvRVnZFK783iDghExWxFOvofrzih7gWkxvqZI3ETDdMJ.u0.IuBPZqLH8P7PVrXpYoFKd9FbeEb4LlBzdQnjYKpxqqfaqAKTl8hnWv6ECGV3Q88azXWB7yNG56CTehgbIMlLfFCDtIV7tt+Q.4mItFh8Nma5NdLmYpucIC1trycDITnF6IjPRrdOO8f+s0QS0J3P8sKalKFBkTn3jwoJlQnUDsprQ1.Eqk0YyixtPBko7c7+a+ZRMiJIBUH+8PNKAv8ZQUgmLdbB2P9AR.4GWQcWkMIgGRH907qUVG3yKLvgQoFdcWz2kD7nrzdneMxhO+qfJ31Up1flWKsoR4HnGu90TqVZo.ebr1vOQU2Uv9W4SVU03wqUWdvj730p1NDFeSNVWkFMhGWjtsFBclka2wWe6dwoQVFKUvPspuRXNYJWccynnbp0NZjiJvTiav3d4CFsRMFsBIBsSokoSjC4E2KgdY+NTCcd7fPCoaJO1HrUhWG9kvdqrAuZ3N7jKL5oNayuVgh+1m82uHy+yYMms3Py21D8emygML5vTI0TdsicWatB3xozrtcdVkHLyJtK9+scQ2VH9P7.ggMY8XrxZvHv8eIvX9F7uCmssZI.2B26UeEVWe+4cMsSiuj28ctbeebo8JkfwwoQYMJ1QHuJP0XWX0nHQYEDjK3ss+2iaZE73x+0qJb+UEbvRAOv4xSlK30WsiSvSmKH8iibBd1pw34qJ3mJFzd8NMe8oiPqdqIzfa997O0oFg57in.gASOXfiFBuJfwgqSkhKWPU4maXOagzPti5vdeB9xUFXO6kqLXtxuJ4Hhxh0ugkswx1obWmDntUt2zTCdbEblrXCEF2XuFnH3MFugwr8rOBVGtded7F3y9afOGrA97jMvmmtA97rMvmmei9Xed2KRM5nrcXffAcc+SgmWgNczmAjsxKzF
  • Broadcaster error

    14
    0 Votes
    14 Posts
    740 Views
    Christoph HartC

    Alright, the docs are online, but let me know if something is unclear.

  • Sample loop play in Sampler

    4
    0 Votes
    4 Posts
    235 Views
    David HealeyD

    @plugintutor
    You don't need to add any code for looping to work.

  • MidiChannel is always 1 in NoteOn when logging midi players output

    6
    0 Votes
    6 Posts
    419 Views
    ulrikU

    @Christoph-Hart
    Related to this issue of not being able to grab notes by their midi channel in the NoteOn Cb, I tried a different approach using no arp or midi players at all. Instead I've built 4 arpeggiators manually and now to my question:

    I use the TransportHandler and made the "NoteOn callback inside the GridChange function set to 18, 1/96 (1/64T)

    const TH = Engine.createTransportHandler(); TH.setEnableGrid(true, 18); TH.setSyncMode(TH.PreferExternal); if (MPsActivate[0].getValue()) { local nv = NVLookUpNum[MPsSpeed[0].getValue()-1]; if (gridcount % (nv*96) == 0) { slider1 == NumSliders.getValue()-1 ? slider1 = 0 : slider1++; //for (sp in S) local nn = MPSPs[0][0].getSliderValueAt(slider1); local v = MPSPs[0][1].getSliderValueAt(slider1); local l = MPSPs[0][2].getSliderValueAt(slider1); local len = Engine.getSamplesForQuarterBeats(nv*l*4); for (n in PKs) { local ev = Synth.addNoteOn(1, Math.range(nn + n, 0, 126), v, 0); Synth.noteOffDelayedByEventId(ev, len); } } }

    I have not tested this carefully yet.

    Is there a drawback using this approach?
    It feels like it will not be as accurate as using the built in NoteOn cb

  • Display preset name and folder in label

    Unsolved
    10
    0 Votes
    10 Posts
    1k Views
    David HealeyD

    If you fancy playing with C++ this is the function and I don't think it would be difficult at all to modify.

    String ScriptingApi::Engine::getCurrentUserPresetName() { return getProcessor()->getMainController()->getUserPresetHandler().getCurrentlyLoadedFile().getFileNameWithoutExtension(); }

    What I think might be better is to add a function to the user preset handler that returns the current preset as a file object.

  • Get data from Woocommerce via server api

    109
    0 Votes
    109 Posts
    22k Views
    David HealeyD

    @Dan-Korneff That's what I did too. Once you've made a basic plugin and got a feel for it get back to me and I'll help you get up and running

  • Broadcaster + SliderPack

    6
    0 Votes
    6 Posts
    315 Views
    ulrikU

    @Christoph-Hart Ok, I understand, thank you!

  • Changing film strips dynamically

    2
    2 Votes
    2 Posts
    418 Views
    lalalandsynthL

    @d-healey not possible as far as i can tell.

  • set midifile name on midi drag?

    1
    1 Votes
    1 Posts
    119 Views
    No one has replied
  • Execution time out on array.clear

    1
    0 Votes
    1 Posts
    150 Views
    No one has replied
  • Broadcaster

    12
    0 Votes
    12 Posts
    1k Views
    David HealeyD

    If I attach a listener to a child panel, and later that child panel is removed, does HISE automatically remove the listener too or is it left hanging around somewhere?

    If I have to do the cleanup manually could we get a removeAllListeners function?

  • Paint: Hise Edition

    7
    4 Votes
    7 Posts
    808 Views
    David HealeyD

    @KimiA

    alt text

  • script cc and pitch bend

    7
    0 Votes
    7 Posts
    336 Views
    ulrikU

    @ulrik never mind, I set the pitch bend value with the same function

    setControllerValue()
  • Need some help with MidiFX plugin

    1
    0 Votes
    1 Posts
    108 Views
    No one has replied
  • EQ curve from object.

    23
    0 Votes
    23 Posts
    1k Views
    Christoph HartC

    @iamlamprey said in EQ curve from object.:

    Could this be a use-case for Faust when it's ready?

    No, not really, Faust is not really suited for spectral processing, it shines in circuit simulation and physical modeling.

    Actually I also think that using 30+ bands of peak EQs is not the 100% right way to simulate AET as this amount of filters will smear the phase and is not super efficient (especially if it's per voice). The proper solution would be writing a FFT filter that applies interpolated gain reduction for each FFT bin based on the analysis of the loudest and softest sample:

    Create a samplemap with two layers (ff and pp) For each note / sample, do an FFT, and compare the gain factor for each bin (should be <1.0 so it only works subtractive) Write that gain factor array into a data file. You can just use audio files to store that, then you can load the data as SFZ into the realtime processor. Ditch the pp layer. Write a FFT processor that applies the gain factor on each bin (the FFT size of the analysis and of the realtime processor must be the same, so you need to find a compromise between latency and frequency resolution).

    Everything from 1-4 can be done inside HISE, but for 5. you need to write (or commission) a custom C++ module, but I would say that's rather beginner level spectral processing. Then you need to tweak the parameters to match your use case (FFT window, FFT size, smoothing between bins, etc).

  • Looking for someone to script

    1
    0 Votes
    1 Posts
    110 Views
    No one has replied
  • XY Pad Modulation

    12
    0 Votes
    12 Posts
    857 Views
    David HealeyD

    I made a couple of videos all about XY pads. Currently they're only available to Patrons.

    https://www.patreon.com/posts/how-to-create-xy-68847672

  • Possible to get Browser Window info?

    5
    0 Votes
    5 Posts
    179 Views
    ulrikU

    @d-healey Yes of course, I've already done this plenty of times, I need one of your t-shirts!!!!

  • How to set markdown renderer alignment?

    7
    0 Votes
    7 Posts
    262 Views
    David HealeyD

    @Dan-Korneff I don't think any of this is possible with HISE

  • Get Sample Rate in Hz from Effect

    2
    0 Votes
    2 Posts
    456 Views
    oskarshO

    It seems like this is a bug for these components.

    The Sample Rate is taking a numeric value between 0.5 and 0.65 for it to function properly. 0.5 is the minimum = 44100Hz. You cannot use the frequency mode on the sliders for this. Same for the PostFilter while this one takes values between 0 and 1.0, using a Frequency Slider results in a Crash of Hise.

22

Online

2.1k

Users

13.1k

Topics

113.8k

Posts