• Photorealism knob... my first attempt.

    27
    1 Votes
    27 Posts
    4k Views
    Dan KorneffD

    @orange how are you using the #include command to link your external libraries?

  • Recall previous parameter value

    12
    0 Votes
    12 Posts
    905 Views
    ustkU

    Hi Christoph thank you for replying

    I am already using these events and it's working fine, the problem I have is either the last value is not stored, or if stored the behaviour is strange

  • Pitch fade confusion

    1
    2 Votes
    1 Posts
    284 Views
    No one has replied
  • CC value outside of controller callback

    5
    0 Votes
    5 Posts
    522 Views
    d.healeyD

    @Christoph-Hart Oh, that makes sense! Thanks!

  • Multi Pages GUI and namespace feature

    3
    0 Votes
    3 Posts
    609 Views
    ossian1961O

    @Christoph-Hart said in Multi Pages GUI and namespace feature:

    Namespaces are resolved before the abstract syntax tree of the javascript engine is parsed so it has absolutely no impact on performance.

    So it's a better clean way to work ;)

  • Floating tile keyboard lowest key

    9
    0 Votes
    9 Posts
    1k Views
    Dominik MayerD

    I think your solution works quite well.. I compiled a plugin and the performance overhead is quite small and actually, runs smooth.

    /+ finally a fascinating method to leverage that weird BlackKeyRatio animation..

    Content.makeFrontInterface(600, 500); const var FloatingTile1 = Content.getComponent("FloatingTile1"); const var Knob2 = Content.getComponent("Knob2"); const var LFOModulator1 = Synth.getModulator("LFO Modulator1"); Globals.funky = { "Type": "Keyboard", "KeyWidth": 14, "DisplayOctaveNumber": false, "LowKey": 34, "HiKey": 127, "CustomGraphics": false, "DefaultAppearance": true, "BlackKeyRatio": 0.69999999, "ToggleMode": true, "MidiChannel": 1, "UseVectorGraphics": false, "UseFlatStyle": true, "MPEKeyboard": true, "MPEStartChannel": 2, "MPEEndChannel": 16 }; inline function onKnob1Control(component, value) { Globals.funky["LowKey"] = value; FloatingTile1.setContentData(Globals.funky); }; Content.getComponent("Knob1").setControlCallback(onKnob1Control); inline function onKnob2Control(component, value) { Globals.funky["BlackKeyRatio"] = value; FloatingTile1.setContentData(Globals.funky); LFOModulator1.setIntensity(value); }; Content.getComponent("Knob2").setControlCallback(onKnob2Control); HiseSnippet 1841.3oc4YrsaabbcVJstQzUtQIFoIuTLfnEfpwUgjVVtw4hoDkjihkrHLUbhiQfwvcGRNP6NylcGJYZCC3W5ePA5q8SQu2eh7Ij+.2yYmk6EIJIpHmBGz8ACNmay41btH2NT4vihTgDq41aT.mX86s6LRpGzZ.SHIasNw5Z16vhz7PpAzZiBXQQbWhk0L2CAXM2rj3ue9tqw7XRGdFHB4QJgCeaguPmAscy6K771j4x2S3mi5katkiR1R4oFB5yL10HALm8Y84OfgjUxlXckMbEZUXGMSyiHVytlxcTmApCkF5ejHRz0iiGpS5.Bx.dSkmKpwHTRqABO21is6HBwxtclWXFiW3516HbEovy7FuaLBZFG48GVkNK0qdd0q1DUuZSR8rxodyZTuEr63DJBzYXPc6p1aIg.UOFDBxqVFZIk9WWwtkBnPpWxmsOeyP3PJGUWoVsaPuUsZK9YyWd9xPfHRSOfER2zSwzBY+8Dd75zufNVD845VJ+.kDNTsRAppfxHSB2Wp513T4LF6w3X6M2cGk6POF3Lw6LNkD4KEZ0J.MzLhpXT64KeOOUWlWzR8FJ2eDv5KluLkVAcaUtCsx84i5pXgtUtQLX332Jb0C.T0W1.ZcQTfGaztNZ1A7GLzuKODv1CDI2Pv1pCA1.X2LgiuRXNWuwsM.ZMLRq7uWHKXfvIpH2qy6wF5oWMHfyBwGK.Zc3vDrq4AI7fzdH3KU.lZKsxmZ9L32S0uuGGr5hrgojPJpTx8P8v.7ah3Oh6.9lIqH.5MAWWG8HuiIr1aj5kNFbHuNTmcQMRQrgzM28ux7keYRzPH8DRNEBFNfEIoJIFtqiYBgJupNiSCtAD18FxWb9xwwKJsPX7Iic5+.DPiIDD+bER4VJBSphyuVmoYUKvOlafZzom.B4Oik.nWsXddcgHQ0hp6hmoQ03BaTEi1WBaatBuWPxwm0xHgdTUiJbtNfFmkCnwwb.4r7Gnz7ckUWr7KJOW4WdBL85MITIhyiGNIrXSgvyfspx3Wkmv6FcnP6LHA6hzO4SnleRi3dvCgHpd.mlFbnLoaBK7HZWt9PNWhj3SERZEGVDuBdbDkExoCgRoKYtljaC+PhneG5gtSFvb3wu1L3UQbLoZkmUIQoo+UZcSk1wj8xiI0Ge1REKRNBpS4vgrFSLl94P4hasH8tzZz6PucsOC8.PwcIKbDUEvCwjC5SpJ5E+nFHrpqZQvDEQz6TUEh+jo+ApVk3VRcJwhO5zMqQfYYTl7VD90Mjy1exVo4WXR4Kg1ZE6aZe58My2V2wjMmiPkbKoPua.WdZM6IIOAf9pkRxm.R0wcUuVRW0NdBWdHQ.MO+c1wE.HwtfrIUVuIYpYtwwYF99lsvGxXu8D0ATQHBoEn0asN+.XnISm94rWmGsuVE.WT5SVXJMcxXJlKMe4h3q9OXWnBB4YYW+ZMGkc3Kaln.laqr83R+jt8GOH1bWw0080H0BM2OC5qe8q+nhPaj.NlXM+Y5Lh+OGYfFa2kdrk8Kt7MfWt1u9Mf+sVeWxgn6LM.ejeyAbQ+AYSe+puGycSSjt54l5mk57p7oNu5wMiPa.2X3qTghmC4QLuic8+6Sb8jUa5yxD4QOsouv00i2VAcqfx7YxeWP97fNhmyyuhwwR1VXgELXxYRW4bePlyj957ljaSLoEGjdbdPD4TTOxOcWxImKG1NXba37qLf6Ikf.kQ9YySaTm2Huz6QLwJeSo5tfcar5+j02RSPewRo+JquIakMu8F85AusxT1Ys276dytB14oJWynJW0tCLCX7dIwJxGDel9sPMK583RS215m11xGMT9Om1skCl5skMkL2CppEEnhJH3Nbewdv6in7.wRQg7eLtVWd3sfZPSD0Oe2MAibh7zgoGFFmtrpuZnTWH8XloNlTe5WKd12Z1Z+x7Z6xWbXloScmfGrT6S7W+4cgzX+.O9FxC3dvHIw536YmzzbLzh406njpfAJovIeP+gbcnneedXdcehFzpZMTrMCx0a9PXfcV9D3+bysgDOVH1A9Wnun9Y6Krlx30GZaTWJ9Xj9VUQ84MpssMrMXRtUw+FImmNRH3S6gboyXf+zyu9BMwROaMtxUyx+wa2Dqx0SE5mLhZpItMuObQ4grGGZKCUIKjZzwWof0NvYSSKncze5e7AM2VoB1Px.ufadgXFma7kRr9K1MVdoheGrK7O89X7meZq3yjNvzCwSaZ8D6UhoOG9at6alyj2bYfklxLv2ONplF9v36a4STXz3zbqeCnwm4LPy7+my.8P0PbexcXPccX.ZaX0rNvnGN7jMPv81sJgiOXNWCOal8P5Fe.2LLAYc7rUBx5iQ9+j6vm4DpdpiY8c7g26DCAraY7+MCyYuCdlltzO5afs.DO0wAc1+Mv6LYNZbg43lWXNV9BywstvbrxEliaeg43ueFbfyps5Pnju4oG.n8FlJ4VocGrlg7eAvAt6vJ
  • GUI Control Limit

    5
    0 Votes
    5 Posts
    546 Views
    ossian1961O

    @Christoph-Hart said in GUI Control Limit:

    I've just checked - HEXERACT has 961 UI elements and is still OK performance-wise but I wouldn't do a complex interface like this again without C++

    961! Huge work indeed! :O

  • Panning Samples via Slider

    2
    0 Votes
    2 Posts
    367 Views
    Christoph HartC

    Use one sampler per drum type.

  • Sampler table processor

    4
    0 Votes
    4 Posts
    567 Views
    d.healeyD

    Thanks. That was easy :)

  • RAW

    5
    0 Votes
    5 Posts
    564 Views
    Christoph HartC

    Yes. Not sure when it will be uploaded though, but the last presentations all landed on Youtube after a while.

  • key colour

    10
    0 Votes
    10 Posts
    949 Views
    d.healeyD

    @levitanus You have this at the top of your script

    Content.makeFrontInterface(600, 500); Content.makeFrontInterface(633, 300);

    Pick one :p

    I don't have scripts/CB.json so I can't do much else to debug.

    This works for me though

    Content.makeFrontInterface(600, 500); const var key_low = 0x6000ffff; Engine.setKeyColour(60, key_low);
  • Setting Script: Time Variant Modulator value

    5
    0 Votes
    5 Posts
    680 Views
    Christoph HartC

    Copy the text to the clipboard, then File -> Import HISE Snippet.

  • scripting Sampler Settings

    8
    0 Votes
    8 Posts
    977 Views
    Christoph HartC

    No, but they are pretty straight-forward to use - the value parameter of the callback is the text you've entered. What do you need to know?

  • Help with my Solo in Place script

    6
    0 Votes
    6 Posts
    639 Views
    Christoph HartC

    I also second David's approach, but even if you're sticking to your method, there's room for improvement.

    The laws of logic say

    (!A && !B) == !(A || B)

    so this expression is shorter (because you don't need the zero comparator)

    !(solobuttons[0].getValue() || solobuttons[1].getValue() || solobuttons[2].getValue() || solobuttons[3].getValue())

    Programming is fun :)

  • Hise Tutorial

    5
    0 Votes
    5 Posts
    603 Views
    NatanN

    @d-healey
    Thank You Sir
    We Need Some Fast Forward Videos Here For Newbies , I Searched Whole Web , Not Much Available At The Moment To Study :(

  • oscillator sync script ?

    6
    0 Votes
    6 Posts
    1k Views
    Christoph HartC

    Yes all MIDI logic is best handled by dedicated MidiProcessors, thereā€˜s no benefit baking it into a sound generator.

  • API call setAllowDuplicateSamples to prevent sharing of samples

    4
    2 Votes
    4 Posts
    812 Views
    d.healeyD

    I want to use the same samples in two different sample maps, do I need to do anything fancy or can I just duplicate the sample map and rename it?

  • Illegal operation in audio thread

    7
    0 Votes
    7 Posts
    815 Views
    Christoph HartC

    Nope, it might also just be a graphical glitch (the polyphonic filter uses some dummy coefficients when no voice is played which might cause these jumps).

  • Change a sample map in the same Sampler with MIDI Controller

    15
    0 Votes
    15 Posts
    2k Views
  • Mixer solo/mute script.

    8
    0 Votes
    8 Posts
    1k Views
    d.healeyD

    @dustbro Add it as a separate script, you can right click the midi processor and connect it as an external script or just copy and paste it in, whatever suits you. Then just link up the controls on your main interface script to the module's controls. BTW the module is licensed as GPL so if you use it your project source code will need to be available under the same license.

30

Online

1.8k

Users

12.1k

Topics

105.1k

Posts