• Polyphonic Aftertouch?

    38
    0 Votes
    38 Posts
    3k Views
    MorphoiceM

    @Lindon no worries.

  • Software for Animation Sprites....

    42
    0 Votes
    42 Posts
    12k Views
    OrvillainO

    @Chazrox No problem!

  • double notes get stuck

    3
    0 Votes
    3 Posts
    254 Views
    SimonS

    @Morphoice The solution I used was to keep track of all note on events, then if you ever receive two note ons in a row on the same note you know you've received some illegal MIDI.

    It's pretty easy if on noteOn you check and store the event ID to an array (or MIDIlist I suppose) like

    onNoteOn { if (events[Message.getNoteNumber()]){ Console.print(You've just received some illegal MIDI!); } else { events[Message.getNoteNumber()] = Message.getEventId(); } } onRelease { events[Message.getNoteNumber()] = undefined; }

    How you handle the lawbreakers is up to you, but at a minimum it's best to stop everything on that note, as this situation breaks the assumption that every note on will have a corresponding note off.

    In my case I'm using artificial events, so stopping them all is easy. I don't actually know how you'd go about stopping the normal events.

    Give Synth.allNotesOff() a try, I know that doesn't affect notes with a timestamp in the future but I assume it works on stuck regular events.

    It would be nice if we got this built in similar to setfixnoteonafternoteoff

  • Including .JS files in new projects.

    9
    0 Votes
    9 Posts
    181 Views
    David HealeyD

    @Chazrox Yes, in the folder name in the file path, not the file itself.

  • The worlds most annoying bug

    14
    1 Votes
    14 Posts
    1k Views
    C

    @iamlamprey This is very strange, and I imagine very frustrating. Perhaps @Christoph-Hart has an idea.

  • FFT display crashes & waveform range adjustment

    16
    1 Votes
    16 Posts
    2k Views
    Adam_GA

    you guys are the best :D @ustk @clevername27

  • Custom AHDSR LAF

    3
    0 Votes
    3 Posts
    235 Views
    ulrikU

    @tiesvdam I don't think you can get rid of it, I solved it by painting the path in a panel, and removing the "extra line" parts by manipulating the path string
    The moving ball is from the envelope floating tile but the rest is a painted panel

    it involves converting the path to string - remove certain strings - convert it back

    I hope there is a better way to do it, but I don't know if there is any.
    Anybody knows how to do it in a less cumbersome way?

    this is part of the string manipulation, p is the path

    var a = p.toString().split(" "); var ax = parseInt(a[6]); var ay = parseInt(a[7]); var acx = parseInt(a[4]); var acy = parseInt(a[5]); var dx = ax + (parseInt(a[14])-ax)*0.95; var dy = parseInt(a[15]); var sx = parseInt(a[17]); var sy = parseInt(a[13]); var rx = parseInt(a[22]); var ry = this.getHeight()-3; var str = a.join("\n"); var path = Content.createPath(); path.fromString(str); g.setColour(Colours.chartreuse); g.drawPath(path, path.getBounds(1), 1.0);

    paintedahdsr.gif

  • MacOS Packages Issue

    16
    0 Votes
    16 Posts
    2k Views
    M

    @DanH Worked! Thanks man

  • External sidechain?

    21
    0 Votes
    21 Posts
    2k Views
    Dan KorneffD

    @Christoph-Hart Can we get the default name of the sidechain to be the name of our HISE project?
    Right now, an external sidechain is named "External Sidechain (+bus)" which can get confusing if you have 2 different plugins made with HISE on the same channel.

    HISE_SidechainName.png

  • Pulse Width Modulation + Wavetable Synth

    1
    0 Votes
    1 Posts
    72 Views
    No one has replied
  • Broadcaster attachToComponentValue triggered at init... Normal?

    3
    0 Votes
    3 Posts
    94 Views
    ustkU

    @d-healey Oh ok good to know. It might need a "skipping change on init" like for the callbacks...

    I just found an easy solution for my use case using mouse events instead:

    const var bc = Engine.createBroadcaster({ "id": "bc", "args": ["component", "event"], "tags": [] }); bc.attachToComponentMouseEvents(componentsToTrack, "Clicks Only", ""); bc.addListener("this", "md", function(component, event) { if (event.mouseUp) Console.print(component.getId() + " " + component.getValue()); });
  • 0 Votes
    3 Posts
    128 Views
    DanHD

    @d-healey Ah I had it in a midi script processor - doh!

    Thanks!

  • Viewport Styling Methods?

    5
    0 Votes
    5 Posts
    491 Views
    David HealeyD

    @Casmat said in Viewport Styling Methods?:

    One question, should you use just one panel in the viewport or generate a new panel for each list item you have in the viewport?

    If it's a simple list then one panel.

    If each item in the list needs an interactive element then use child panels.

  • XY Pad Display Buffer?

    15
    1 Votes
    15 Posts
    1k Views
    ulrikU

    @rglides Thanks

  • Apache License 2.0 or MIT licensed sound generator

    3
    0 Votes
    3 Posts
    385 Views
    Robert PuzaR

    @d-healey thank you

  • 0 Votes
    10 Posts
    1k Views
    R

    @d-healey it's a 1 to 1 relationship in this case so I think I might be ok. I'll test it in the morning and see if it works for me though. I appreciate both your input and replies, thankyou

  • Midi Controller VST built in HISE... thoughts??

    2
    0 Votes
    2 Posts
    308 Views
    VirtualVirginV

    @jBam said in Midi Controller VST built in HISE... thoughts??:

    Seems promising in terms of basics (HISE can send midi out). So does that mean I can link a parameter to a midi out function and have it send ANY midi message like Cc, rpn, nrpn, sysex... or is it Cc only??

    So as it stands, HISE built apps or plugins can only send note on/off (with velocity), CC, pitch bend, aftertouch and MPE.
    Other messages such as program change, MIDI Clock, MTC, MMC and SysEx are not supported at the moment.
    I added a feature request here to make additions to support all message types:
    https://forum.hise.audio/topic/11665/fr-support-for-all-midi-message-types?_=1740115136462

  • Help me understand VCF keytracking.

    8
    0 Votes
    8 Posts
    716 Views
    griffinboyG

    @Morphoice

    You can map it to a function of best fit using python / matlab.
    Ask chat gpt how to do this from a table of data.

    Alternatively you could create a lookup table of accurate values.

    I didn't realize you were going for analog tracking, that's a different case to digital, yes.
    The tracking lookup only happens once per note, so you don't have to worry about efficiency here. Envelopes by comparison need optimization as they are applied per sample.

  • How Can Beginners Start Learning AutoCAD Effectively?

    1
    0 Votes
    1 Posts
    155 Views
    No one has replied
  • 5 Votes
    19 Posts
    3k Views
    David HealeyD

    @DanH said in Tip for those of us hosting files on S3 - use Bunny instead:

    Would you mind DM-ing me too please? Guess it possibly doesn't bode well for the future though...

    Yeah I'll send it across. If they don't respond I'm just going to post the plugins publically (they're GPLv3). Unless Bunny changes their API or Wordpress significantly changes, there isn't much that could cause the plugin to stop working and it doesn't look like too complicated a plugin so I could probably fix it anyway.

24

Online

2.1k

Users

13.0k

Topics

112.9k

Posts