• MIDI Player overlay panel LAF

    General Questions
    4
    0 Votes
    4 Posts
    51 Views
    R

    @HISEnberg

    @HISEnberg said in MIDI Player overlay panel LAF:

    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

    That's fantastic thankyou, I will have a play with this but it is exactly what I was looking for and opens up a world of options.

    Thanks again, much appreciated

  • Whos selling? || Shameless plug thread...

    General Questions
    1
    0 Votes
    1 Posts
    9 Views
    No one has replied
  • Neural Amp Modeler (NAM) in HISE

    General Questions
    30
    0 Votes
    30 Posts
    3k Views
    JulesVJ

    @aaronventure said in Neural Amp Modeler (NAM) in HISE:

    @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

    This is the nam file (to upload here, I changed the extension to .txt, but you need to change it to .nam after downloading): A73.txt

    Using this externally works. But for JSON, Hise cannot load this complex data, which has a lot of weights, and it hangs then crashes.

  • Custom Export/Import of UserPresets

    Solved General Questions
    5
    0 Votes
    5 Posts
    66 Views
    J

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

  • Roadmap to HISE 5

    General Questions
    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!

  • Multi-timbral plugin

    General Questions
    15
    0 Votes
    15 Posts
    596 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! πŸ™Œ

  • Polyphonic FM: problems and questions

    General Questions
    1
    0 Votes
    1 Posts
    22 Views
    No one has replied
  • XY Pad to Control 4 Gains

    Feature Requests
    6
    0 Votes
    6 Posts
    433 Views
    LindonL

    @JamesC what Dave says - plus its possible to set this up to control any number of "sound sources" - take a look at this screenshot:

    Link Preview Image Horizen - pristine cinematic sound - Tracktion Software

    Initially born to serve the demands and requirements of composer/producer Andy Hodgson, Horizen 2.5 is a true breakthrough in terms of sonic capability and workflow.

    favicon

    (www.tracktion.com)

    You will see we have 10 different voices (4 samplers, 4 synths and 2 loop players) and we allow the end user to place(drag and drop) any of them in any corner of the XY pad.....with a (self imposed) limit of 2 voices max per corner...

  • 0 Votes
    9 Posts
    101 Views
    L

    @hisefilo it’s in there already! HISE build is from earlier this month so no issues there

  • How to modulate a network parameter

    ScriptNode
    10
    0 Votes
    10 Posts
    117 Views
    OrvillainO

    @DanH Yesterday! πŸ˜‚

  • Feature Request: Crossfade in Audio Loop Player

    Feature Requests
    6
    1 Votes
    6 Posts
    99 Views
    T

    Yes, plus 1000 for the crossfade!

  • Scriptnode module power

    ScriptNode
    4
    0 Votes
    4 Posts
    62 Views
    Adam_GA

    @udalilprofile said in Scriptnode module power:

    HiseSnippet 1529.3oc2X0saaaCElxNLowcsqcnCcWpK1EoCEAxNMYsXWDGmD2Zr5DinrztqBXjniIrDofDUR8F186Un2sWic2dD1ivdD5av1gTRVR1ddNFcqayFHv7vyg767+goWnvgFEIBQF0NcT.EY7QX6Qb4f8GPXbTmCPF2E2kDIoglIjZMJfDEQcQFFUethfw5qfzed2tsHdDtCMmDBclf4PeIymIyo1q4Wy77ZSbomx7Kv8SZ1wQv2W3IhA7TEagBHNCIWROhnXqBF8BRz.jwWfaznuySsrd5VassEgrkKg7j5zsdFs+N8c115YVtWrsE7cGjwpG5xjhPaIQRifCskvcj8.w07jK3LVD6BOpZQcjMbyIjQ6Of441Ky3DgPF3d4lppIlpGf6xbYiomaxtmdCybIJZzLpLOHU+F.IiBPZkDHcersSHKPluiBO2F2gCdv9Dv2TDJI7hL9E79BfAtbSexPZ6PXwXA1XGKqGaB+4QeU+XtijI3lB9QBI8X9FOp12Wa8Z+PMyI2pe+Ytm5ZBEddzvYtsJbHbdBtAO1+BZ3iMuh3ESGyHn9ksoqtX1TmDst.iBdGNSdb.MccagmqxVo98zd.TpYS4KRQHvpT6ItapmnUrTJ3HFbHqiSVTGogewLGz2z4.hjjcPvYB2S.MTxTpiwAzqfznDW753CnQCkh.Mu9ABtBAF2ZAt12jekrlixW7sMul4JgLKrgKrb.kc4.Y1pfLEtiqt5f93Ma+55P1YHjXBwIpctMtW1RHCep.SHkP3F6QjkySTUPR2.bzkBNUQf7HlbTQ6zMH4wZtIOKJDuOtGS5LX1XrxLvH3B+6.iokbtC9v98oNxb.tBt8qW15KV235K0R8+vcpt7RgCypxxOhyyhCBoPDC8TQOOxnMhH9AdzS.L9XyK7DNCsYeGc5T+znuVJN1vY.gyodQKSEhUeOU0EchHVx3W1kHCYPBE9nXeangkCc+TzoRbpnJNjr1RsVEWXS4t5E+N7Icy5p0FoaVOay75JninxqEgC0tizeiLVSY6WCedc3CZOOOw0pBArz.Tv7qo0S3MJXffybTjR3HCj64Kh4xLjBsUOkv7TQz1wQPwO2i41.y5d4FUOiFFoO30vVaBegH7iDtvVq0l3.1zQ8HphG2GqpmBwkzvMcFGelAyhQGI8yy1QcVYM8SrT.V80E0fV9Jez3JKpZgULpVn1XRTpZEjCVIIlrSzYpccHdnyRJzBZo5VRrhIPWw5cvQh9xyuPCMTIk4gETlhLMsZT9Pluxj0NAxRKqDUVLkXBt9XrsuPHG.gi5IoRYDa7.0EOgFupRhZ3KfxYgwvXTkT26f6+lMGu0zJYA4luFNVSz5EpfmSs03NDFq0kwOqbWv60rK4MSPyposjFnJMjR6md6a+4csGRuNA9E6MjnesXxCnAfNM0oe.sOI1SN0MflOrPnog061cBXkP6OEVqpZsPQScxyFRSX2JaDMJh1jg6xobyQutb2Lw8TBMavB8jUirvo5BwQoSvjtLsRgZ9fxoI8JN5.3zxB3PsDhg9DcAukZlnh8LeXxl2F+JxUT8qZzUj9T859hPeymSg7aUC+5y4cM+5h9tlfE9cMG6HAHbZHgGEHhn0Kdx1Te1ovPcQknNgDMloDMJGaIi4kO5DRk3RYJZClhB7cqlYDaTjXOBuzgAqKcRcYEFu7218PNA5mZSAM283HGvvPlH.qWrWD8UpAOqWTvbxMJR9EjPWvG5TZRqpkapuxh0Tu7PmE3eFy.s5Gfm889Yx0OfCWWZxw0yvnMSMw2g7qndPZrFieBNsnRF0x4gcEbQ1DL4d8SnvjWWdIsbU1YoP6IkDmg4TdPySndTRTgbyOu4Kgd7jPc84kyVbyek9L8WeFNAtlphGl+28QQU+e8ihV7rOnd3+t8hODC0kaXpckleX7k+S7Vp+ItCehSn3bmjmfpR5uklBn2b83yqi6pVaN0+4GDxGZYbtiS4iZJAarrBt0xJ3SVVA2dYEbmkUvubYE7o+0Bp5nuWrT3mja.i4z6P8ToFFIS3nSSP+AbvzsnL
    Reply

    ahhhh i see now thank you!

  • Others not able to use compiled VST

    Newbie League
    13
    0 Votes
    13 Posts
    283 Views
    R

    @d-healey Finally got it to work---I swapped from filters.convolution to the separate Convolution Reverb and used the script in the documentation for loading a single .wav file. Worked on my end, sent it to someone else and it works on his end. Very glad to have gotten this all fixed now, thanks for the help!

  • No looppoints

    General Questions
    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)

  • 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++)

    General Questions
    7
    0 Votes
    7 Posts
    692 Views
    d.healeyD

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

    compiled it in june

    Switch to the develop branch, v3x is ancient

  • A very basic 101 phaser network

    ScriptNode
    6
    0 Votes
    6 Posts
    61 Views
    OrvillainO

    @DanH I think spread can be achieved by adding a split container after this "mono" phaser... and letting the signal through in the left half of the split (just add a gain there) and in the right... add a delay, and set the delay time to sub 20ms.

    That'd be a nasty way to do it anyway!

    I'm just now learning how to use the clone stuff, so there may be a better way.

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

    General Questions
    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.

  • Controlling LFOs

    Feature Requests
    7
    0 Votes
    7 Posts
    102 Views
    LindonL

    @Christoph-Hart thanks _ I'll give it a go...