• Coming over from Kontakt? Read this!

    Pinned
    8
    1 Votes
    8 Posts
    3k Views
    LindonL

    @d-healey said in Coming over from Kontakt? Read this!:

    @Lindon They live inside Kontakt's sample map too, it's just that with Kontakt there is only one sample map and it's part of the NKI.

    I think the main different between Kontakt's groups and HISE's is that with Kontakt you can route them individually and apply effects and other processing to them individually which you can't do in HISE (yet...?).

    In HISE the routing and modulation is at the sampler level rather than the group level.

    Absoloutely - valuable stuff to include - I guess I was thinking inside a group you see a mapping of sample audio files, inside a Sample Map you see....so (to start with) same same...as a starting point. But hey no problem.

  • Custom Export/Import of UserPresets

    Solved
    5
    0 Votes
    5 Posts
    61 Views
    J

    @d-healey ahhhh really cool! Makes sense and definitely cleaner!

  • Roadmap to HISE 5

    126
    27 Votes
    126 Posts
    3k Views
    OrvillainO
    HiseSnippet 1259.3oc6X0sSabDEdVfkFHMnRBpppRUZunWPphprAiCndAFL+TqD.KVGZTuIcX2yZOx6Ny1YmkhSTuqOO8UH8QnuB8Mf2f1yrqs20fCwrpIzTEeAh4Lmyb9N+eraJENPTjPRLluUuPfX7ol183pN06PYbRicHFKXd.MRARqTRa2KjFEAtDCio2WSvXtYHIetXyso9TtCjQhPNQvbfmxBXpLpMq8Dlu+dTWnEKHG2Up0vQvqK7EwHdl1rDIj5zk1FNjpYaJSx2Si5PL9Fy0VYUmJtO1ckUVaipNzpvFdTOuxq5VoR002n7paPqrdUnzZDiY20koDRaEUAQ3itsvsmcGwuvSUvIrH1o9f9PYhMp4Txj5cX9tMG3bhH3C0LyUMcpqZIyCXtrgzybYeVxEVYRj2oYL00Aox2.HYjCRyjBoEMscjrPU1MZ7bWyFbLB5QwXSdnjxKw3OLqKPF3puMf1E1ShGFJvxUKU5QV3ed324EycTLA2RvOTnfi3K+v4e07yM+uNu0kuxyar2oUiT36CxwdsNcPdcBtLON3TP9Hqyn9wvPFQyeTe5rSlO0I0pywnf2fyTGEB8Oumv2U6qz++Ui.j9tMcrnOBQVUIQhE5GIr8YtfjvvG4SLeBWbZYRB3yWjPdVicnJ5fmAeQTKgfTwzFiwNvYXQTZ.dNycfntJQXBuAgBtV+F26spzyyTX2Z8Fd3mZWKR0S6ZlMgQR.y00GZJhXZWetp6WiMABsYuLA4uZoee++5k+1lA4a.PHAzyy2OHJ1yicdRkqGyOHRgXqQ.VPSLtu4yh.KWviF6qrh5huiOi2EbaIR3OfhLedKprMnZflgo4AsdN153JY7XslvM1mpFs.T2Zp+EZyHeVuN0lilWu7P8FTUV5ZqJmTHtnYSlxoy3w3TiAiX1w6BL1uW18L20yCbTY.bFy8ddQabM4pegT0eWSaFGRl7jn7OO4r0OPOCr1G3fT67JeMCe9yIc3S3DO74HGEp9VRJOJTDMxCaCArVXoWTdhXB8dR3mOVGMySutfJG6UWr4dnQNVYropXYRZwVAhXtZjzfoGMNLyj0razJhb7OlIKybKLr6emxpawJ+QlGO2.LZyBB8gc4mA9XK8DLderGdReuATGMw9.AWD1QvYN4i5GCXCw1sAYdrOVCZKkBWaJixR0NF7AZ9L3ut1SwLOpD8SPA8E27cSFa75KLSgqktZz5C2N1S+tsiswTMuxl5KhKlqGRNDpIn7A8oZMjbgyt1lEJ7ox237n5wQJQP1z4St7dM1ABgpCi2dzVsMpc4VXENOKUmGS43NEDMLCiUomLLu9cSZf0dRUpOI+lMCXuEbtBWFKgIodfzgBY.0G4xsIHcvstz6wPNJV8lT4Eu9FpRb.B1JcvpWaE8ifTn4kT7X+JeL1++mX+swpZGKhUXPLMuBsxCiCrwMjb.T6bN3iOtowT5DhzykzmSWQh6lb3uwO8urr9rQ+KKO3x7l3cRMwuzbeewoT+rtv3WKBsVHMO+q5ecVdt0PFdOuj3k+lmEeh4Gt6b8fqDNh9336+S8EtdeTEm93o+NFuWTX.0QJdgS5u6htB5NITPm.O42KbNbZHd1ZL+fKAX0yKbbF8othfqTTAWsnBVonBtVQErZQE7wEUv0e6BpatsULteQZcJgbPycSRrLL1kSwT9jxCx+.b.nJz.

    Quick snippet for multiple matrix modulators linked to a single knob. It works on MacOS. The UI knob controls the two matrix modulators, both given the id 'MTX'.

    I tried this on Windows earlier, and it didn't work. Possibly I screwed something up. If anyone here is on Windows and could try this with the latest development and let me know, I'd be grateful. Otherwise I'll check it tomorrow!

  • Neural Amp Modeler (NAM) in HISE

    29
    0 Votes
    29 Posts
    3k Views
    A

    @JulesV i haven't gotten around to actually implementing this, but it should work, instead of just reading the file as object, i would just paste the data in there

  • Multi-timbral plugin

    15
    0 Votes
    15 Posts
    593 Views
    dannytaurusD

    I've got a multitimbral ROMpler on my list for the near future. Only single MIDI channel though.

    Just allowing users to stack up a few different ROMpler sounds - piano, strings, organ, etc. and optionally pan them, mix volumes, etc.

    The VoiceLimit trick sounds like it'll be very useful in keeping the resource usage down! 🙌

  • MIDI Player overlay panel LAF

    3
    0 Votes
    3 Posts
    47 Views
    HISEnbergH

    Here you go, this shows how to display the MIDI data in a panel. I think there is also an example in the HISE docs under MIDI somewhere. My version tries to scale the MIDI data to fill the whole panel, so it should resize the notes depending on how far they are from each other (in pitch, not time) in the MIDI sequence. But this will give you full customization over how the notes are displayed using the paint routine.

    HiseSnippet 2161.3ocyXr1Siqb0AVu8RZ2pck5O.28CW4rKXrSBPPnaK4II.IjMIvBrZ6dGrmDOA+B6IgXp1+a89s9mX+OTU0uVs8L1N1NA1GBcuR0BgxbdMmWy4bloqqsJ1yy1kKS1A9NXtL+A999VT8p5HhEWqZbYdFuIQiTi34Xf74p36f77vZbYxr5ALRxr1S3B99W+0JHCjkJNADG2Y1DU7wDSBMAZ28OhXXz.ogGPLSQcw8aoZaU01vdBnNqxKy4fTuFMB2AwHaEdtlHOctLuheq7ETKpsiV97as61pnsw6NDMbnRAshE2tztJE1EUrz1X4s3x7z5ZDpsaeJhh83x7jJ1Z980su0JbCNi3Qtx.yVnv0G14PvMrMzXlHCJWUchgV249IONPJcS7ZqF509S7sAmTL7Du2yCPHjvQZGXlUVT8VcA0S4KodOfJsRJU52MOPFnRPPC6FnJ+Q91sp0RHDhxBJR0IttXKZe7MSvKFA2OB0.WHVjNXerssScKDndZoAyj9U.o8cvKhHyp+JYqbLypAw.GX2yW.TyrQHIoFhh3x7K7JEkkrFr8QkpdlgzfxkkZN3MC1or6A8lluzoiJciZgdFyTFapqzSIemJ96RuZ5VH7YCqV6ldkjNpvssJ29jQUuzsf9M61svwimT.4zz8rxkt8xV0FI207jy6ocadK+iOt01GNQu9QmJcv0GUs.tu6fxGWVhVc312VrRkgRim52s7j1Tc+yaWpfhtdiYRJCqTS+zRSd6fZ05LE0ubkaLeaeyR9ac4EmvwrpvLeS9MO0C65sI10B6Q2rF16ZpsylkmnQrE5iLc.mwlsa2ci5P.0hRPFdavbLazEhDaHmeiZtSLgETJHAfRHMHj71cyuQcMy7anjuzUNlRvIcHcfcrrOYjEhNwE19m1YhYED35iilOe+N1lD.OKcKAXMr0CAlko.QcWZ5BCgoOKjgL.a5Xm.3m2m6KEb+O7J6TJJ3pzn7fAPv0+1K6VwpUOIxXylG1cbkZijp8lxUtqRCpaO8qqn16v1EGewEiLO+5lXkxyFbxzCnie8YM145hnS8OeZs7mK4TW8L+AdzqTPZZmMXX4AjyObl132bwzxM0O4rCNxWt904ct4z563Qk6T+5S6d9AUbtRRZx3Vuw6tdac2wutSy23IctTEqwC0mpcEA45WuUKKsNRSpNEO97AVGHeSsi6fGnXHe4cVGRt7Hc8iv488l42bxc8lVR+j7EOb3NSu9tNct6vCqlJev92z7glDml1NE1nTg++Ii3u8ea7uW4eLXetTk4dRXYtWv2W0k3PSvvRU987sr.iaHBJlktPWHsbqbwZ7UsAJrnRlnqwMbgEwbHVPVdcg7xx41KaVnkjGUXJxUf4lhJdJ7SBAcIkFgoIUYEeY5BruD3NgYGKiOzNoOJHf46OHhp1fcZAKDe4RzwDR1kfI4gocg9Kzd1SnDKr3vIVpThsk3nbY+6YEfuQRCgVrkMLDo5DO1VH9xqFE1Z8k4.YxHJ3eatoPeUjAVfpiCrPAM3Hl.0VfIg.nNHKrQ.wLCwxlBMzAq5mR6PXaQG.SOrJEYMxHfDw2AtQ3u45vaIZTcwbI.ZhIizoh4dejFwjOjtvDDHdk76jBLZVDX4E09SrL7EbXAerVnNSFxTaWr.wKwhBHGvH9mSq0Du5lNTewbB+3OFaYRFXqQTcg+hfbt.1B8orug1tBhL5DHVwzmKFcBgo8VvgkqvtflyV7Nk2uWjxO+KwhaifTJXoXDn0SwejKJloX+QHSnYhQf9BL8w3eE+Cv6UEYnNw.5HKnEkX5fbghLvIAurKaH8fH6B6nx5w5wFyMiTaYPdOK4ILNCbtbfeQZQSQDC1DE8gA+XaTZl2LzwGpCuVPYIdY3h2lXErz5KIzTbk1MTyEcafH7dbgZPDAdg3Lszp1rt1dyi9xueu6g21kLBpQZzILrkJQ4djdK6DzbBxuDAKqQ8vlHmfSvWH3X6QXkHBOXSCfNOh6xboOPlqqIxfbGVKT8EWVMSh3PrINzbec1et4mVduRPLcvciTwubeEqJNSDJy.x7cLW65A6v5g9l0SInGv+4oizruMM2rToPID9qukTV1IGm4r.hQrZzgkaSUAlPwlKUCNgAVoKnftEbwi3hnhysUnajjbtuSMQ.ZKX.8E9hZj7rxkaD7kaOgknRCjxWQMTjjC928Jr7wEJJGnKNQWEHI4iXoQTYCCDWVeNMg4HK0PoaBx.9gxzuZ4lI6k86wemO1gGZgGyZalZuWWXgExRx2uI07XvGYsjSqoPSdKv4LvtKKiVbot0fKlUmMjF1wuv1ooE.n68vNrN5mXM2VgaPBmlDotSvgRHhBgfMIa1487ErCNCdB3bfd+qkEhCKiZ3vGDGa9CWaCCXtkGBMajO2uFihVAsXVGhiFfRNmPXvrEun2S+9tnmZ33PoHz1pkEgdhCNZ8W+V4bQySA+5zVAWS.l2KBFPmC1kRXpSlZ3oDUb3viqwGM6b.sQCgwkIKM.6ylOZIykywFD9E7KEc4lkdDV+zKBpjvkgOy5Y33zCRhXq9m.p4ihAj+zrYy9YF4IIqLne5Se5WVDZdFXNtO+QFXJdFMg3OCegurx8lN947ss0XM3W7MIXubSDBHltvDxrofsfbP+Et792+CUH+0u792oJ9B9tDpp9Cqiq7.5H6s.9MPGiddmmwWe3P37ahB9D9Fm+XeKmuw1GNV+HXHFWBjdwCMa6CQZULql.jI5wRiVgkwGtVlsl4A5iszBVvRHhPpvVmIBoxbjblHUW6OnFdRl8PJ+P.DPmrBth4Z7sYqET3BNcm1OydMvOnptnntGi4erLV3wxXwGKia8XYb6GKi67XYrz2lQVwoxSn1lgGa33Z2sd3qljI945xrJ2+CqyWNGC Content.makeFrontInterface(300, 200); const var MIDIPlayer1 = Synth.getMidiPlayer("MIDI Player1"); const var pnl_MidiDisplay = Content.getComponent("pnl_MidiDisplay"); pnl_MidiDisplay.setPaintRoutine(function(g) { g.fillAll(this.get("bgColour")); // Scale the MIDI data to fill the panel var noteList = MIDIPlayer1.getNoteRectangleList([0, 0, this.getWidth(), this.getHeight()]); var minNote = 127; var maxNote = 0; // Only proceed fill if there is MIDI data if (!MIDIPlayer1.isEmpty() && noteList.length > 0) { for (note in noteList) { var noteNumber = note[1]; minNote = Math.min(minNote, noteNumber); maxNote = Math.max(maxNote, noteNumber); } // Calculate display parameters var noteRange = Math.max(1, maxNote - minNote); var panelHeight = this.getHeight(); var availableSpace = panelHeight / (noteRange + 1); var noteHeight = Math.max(8, availableSpace); // Draw notes for (note in noteList) { // Note data var xPos = note[0]; var originalNoteNum = note[1]; var width = note[2]; // Remap the Y position to fit the display range var normalizedPos = (originalNoteNum - minNote) / noteRange; var yPos = normalizedPos * (panelHeight - noteHeight); var noteRect = [xPos, yPos, width, noteHeight]; var shadowRect = [xPos + 1, yPos + 1, width, noteHeight]; // Draw note g.setColour(this.get("itemColour")); g.fillRoundedRectangle(noteRect, 2.0); // Draw note outline g.setColour(0xAAFFFFFF); g.drawRoundedRectangle(noteRect, 1.0, 1.0); } } // Draw playback position indicator var playbackPos = MIDIPlayer1.getPlaybackPosition() * this.getWidth(); g.setColour(this.get("itemColour2")); g.drawLine(playbackPos, playbackPos, 0.0, this.getHeight(), 2.0); }); MIDIPlayer1.connectToPanel(pnl_MidiDisplay); // Connect to panel MIDIPlayer1.setRepaintOnPositionChange(true); // Repaint Panel

    giffy.gif

  • Polyphonic FM: problems and questions

    1
    0 Votes
    1 Posts
    19 Views
    No one has replied
  • No looppoints

    8
    0 Votes
    8 Posts
    93 Views
    dannytaurusD

    Is this the same issue as here?

    Link Preview Image Loop points sometimes don't get imported

    I'm importing wav-files that has loop point set, and some, but not all, get's the loop points imported. Here's one that Hise seems to miss: https://www.dropb...

    favicon

    Forum (forum.hise.audio)

  • [New User Here] Having trouble exporting FX Plugin on Mac

    7
    0 Votes
    7 Posts
    88 Views
    G

    @d-healey Sounds good thank you

  • 1 Votes
    1 Posts
    18 Views
    No one has replied
  • Pitch Shifter (FAUST/RNBO/C++)

    7
    0 Votes
    7 Posts
    691 Views
    d.healeyD

    @Ben-Catman said in Pitch Shifter (FAUST/RNBO/C++):

    compiled it in june

    Switch to the develop branch, v3x is ancient

  • Drift.... and how to design it....

    14
    0 Votes
    14 Posts
    165 Views
    OrvillainO

    @Lindon d6c4b1cd-95ad-45fe-b286-5bc0209153e3-image.png

    This creates a per-voice random value between 0.0 and 1.0.

  • Convolution reverb wet level seemingly not working

    17
    0 Votes
    17 Posts
    228 Views
    pcs800P

    @d-healey Yes i have such a thing already going. I guess I forgot to ad this one.

  • Server.callWithPost content type

    16
    0 Votes
    16 Posts
    542 Views
    HISEnbergH

    @oskarsh @hisefilo

    I figured out a way to solve this (sort of, a better method would be a new scripting call for the Server API, something like Server.callWithPostRawJSON).

    Most of where you want to look is the GlobalServer.cpp file here

    If you are looking for a quick fix you can try editing line 273 of the GlobalServer.cpp script:

    for(const auto& v: d->getProperties()) isComplexObject |= v.value.isArray() || v.value.getDynamicObject() != nullptr; // if(isComplexObject) remove this line if (true) // add this line { extraHeader = "Content-Type: application/json"; url = url.withPOSTData(JSON::toString(parameters, true)); } else { for (auto& p : d->getProperties()) url = url.withParameter(p.name.toString(), p.value.toString());

    I think what happens is that when your JSON objects contain only simple properties (strings, numbers, booleans), HISE will treat it as a simple object and URL-encodes the parameters. So modifying the isComplexObject will just push the JSON data for all objects now (which could cause more issues down the line).

    I'll post here again once I figure out a better/more robust solution.

  • Link Snex Parameter to Ui

    16
    0 Votes
    16 Posts
    162 Views
    O

    @Lindon Noted Thank you

  • GUi Resize choosing from a combo box

    8
    0 Votes
    8 Posts
    67 Views
    O

    @d-healey Thank you i was able to do it.

  • an alternative to FFT

    1
    2 Votes
    1 Posts
    51 Views
    No one has replied
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    18 Views
    No one has replied
  • VST3 Module Error?

    6
    0 Votes
    6 Posts
    86 Views
    T

    @Lindon of course :-)

  • Make the Gain knob smooth the gain?

    77
    0 Votes
    77 Posts
    1k Views
    ChazroxC

    @CatABC I didnt know you can eventId.setValue(). That works?

31

Online

1.8k

Users

12.1k

Topics

105.7k

Posts