• How To Fix this problem building HISE on MacOS

    General Questions
    5
    0 Votes
    5 Posts
    5 Views
    D

    @David-Healey my friend still got the same problem, as before it turned off

  • Oriental Drummer

    General Questions
    2
    4 Votes
    2 Posts
    24 Views
    Oli UllmannO

    @David-Healey
    Looks like they are selling Plug-Ins and knives. :-)

  • AAX Build on MacOS

    General Questions
    14
    0 Votes
    14 Posts
    242 Views
    LindonL

    @David-Healey said in AAX Build on MacOS:

    I just ran into an issue with the latest SDK on Windows, might be related. By default the Visual Studio project is set to dynamic linking. I had to change it to static linking and rebuild.

    hmm, AAX builds and works fine for me on windows, its MacOS where I have problems (when is it never?)

  • 12 Votes
    39 Posts
    435 Views
    ChazroxC

    @David-Healey Basic is good! Nothing ever wrong with that. I'm also a designer so this is just more intuitive and fun (because why not fun? lol) for me and probably also for people alike. I've seen some pretty interesting knobs with some of the new plugin releases i've been seeing so I just hope this will help Hise users that dont have much coding experience make more and more unique styles faster and easier (which keeps it fun). The knobs i've shown in these examples take less than 5 minutes to make when i've taken hours to make one knob trying to figure out how things work. No more of that. 👍

    I've already built a 6-State Button Designer that spits out LAF code and PNG filmstrips. Thats coming soon and it will be just as feature stacked!

    Basic button Sample output:
    FILMSTRIP>>
    button_6_state_strip (7).png

    LAF>>

    const var MyButtonLaf = Content.createLocalLookAndFeel(); MyButtonLaf.registerFunction("drawToggleButton", function(g, obj) { var a = obj.area; var cx = a[0] + a[2] * 0.5; var cy = a[1] + a[3] * 0.5; var stableSize = Math.min(a[2], a[3]); var sw = stableSize / 200.0; var stateIndex = 0; if (!obj.enabled) stateIndex = 3; else if (obj.value && obj.over) stateIndex = 5; else if (obj.value) stateIndex = 4; else if (obj.down) stateIndex = 2; else if (obj.over) stateIndex = 1; var widths = [133, 260, 260, 260, 260, 260]; var heights = [70, 70, 70, 70, 70, 70]; var radii = [14, 14, 14, 14, 14, 14]; var offXs = [0, 0, 0, 0, 0, 0]; var offYs = [0, 0, 0, 0, 0, 0]; var useGrad = [true, true, true, true, true, true]; var cTop = [0xff56565D, 0xff707078, 0xff202026, 0xff363636, 0xffD99A2B, 0xffF2BC55]; var cBot = [0xff25252B, 0xff34343C, 0xff0E0E12, 0xff1F1F1F, 0xff7C4B09, 0xff9C610F]; var cFlat = [0xff25252B, 0xff34343C, 0xff0E0E12, 0xff1F1F1F, 0xff7C4B09, 0xff9C610F]; var gradMid = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5]; var outlineOn = [true, true, true, true, true, true]; var cOutline = [0xa6000000, 0xa6000000, 0xa6000000, 0xa6000000, 0xa6000000, 0xa6000000]; var outlineW = [2, 2, 2, 2, 2, 2]; var innerOn = [true, true, true, true, true, true]; var cInner = [0x1fFFFFFF, 0x1fFFFFFF, 0x1fFFFFFF, 0x1fFFFFFF, 0x1fFFFFFF, 0x1fFFFFFF]; var innerW = [1, 1, 1, 1, 1, 1]; var shadowOn = [true, true, true, true, true, true]; var cShadow = [0x73000000, 0x73000000, 0x73000000, 0x73000000, 0x73000000, 0x73000000]; var shadowR = [12, 12, 12, 12, 12, 12]; var shadowX = [0, 0, 0, 0, 0, 0]; var shadowY = [6, 6, 6, 6, 6, 6]; var texts = ["BUTTON", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "BUTTON"]; var textSize = [18, 18, 18, 18, 18, 18]; var cText = [0xffFFFFFF, 0xffFFFFFF, 0xffFFFFFF, 0xff777777, 0xffFFFFFF, 0xffFFFFFF]; var textX = [0, 0, 0, 0, 0, 0]; var textY = [0, 0, 0, 0, 0, 0]; var bw = widths[stateIndex] * sw; var bh = heights[stateIndex] * sw; var br = radii[stateIndex] * sw; var bx = cx - bw * 0.5 + offXs[stateIndex] * sw; var by = cy - bh * 0.5 + offYs[stateIndex] * sw; if (shadowOn[stateIndex]) g.drawDropShadow([bx + shadowX[stateIndex] * sw, by + shadowY[stateIndex] * sw, bw, bh], cShadow[stateIndex], shadowR[stateIndex] * sw); if (useGrad[stateIndex]) { var sh = bh * (gradMid[stateIndex] - 0.5); g.setGradientFill([cTop[stateIndex], cx, by + sh, cBot[stateIndex], cx, by + bh + sh, false]); } else g.setColour(cFlat[stateIndex]); g.fillRoundedRectangle([bx, by, bw, bh], br); if (innerOn[stateIndex]) { g.setColour(cInner[stateIndex]); g.drawRoundedRectangle([bx + 2 * sw, by + 2 * sw, bw - 4 * sw, bh - 4 * sw], Math.max(0, br - 2 * sw), innerW[stateIndex] * sw); } if (outlineOn[stateIndex]) { g.setColour(cOutline[stateIndex]); g.drawRoundedRectangle([bx, by, bw, bh], br, outlineW[stateIndex] * sw); } g.setFont("default", textSize[stateIndex] * sw); g.setColour(cText[stateIndex]); g.drawAlignedText(texts[stateIndex], [a[0] + textX[stateIndex] * sw, cy - textSize[stateIndex] * sw * 0.5 + textY[stateIndex] * sw, a[2], textSize[stateIndex] * sw + 4 * sw], "centred"); });

    When I call this knob designer 'done' i'll move on to finishing this one.
    🍻

  • Channel Strip help

    General Questions
    2
    0 Votes
    2 Posts
    32 Views
    David HealeyD

    @pratitghosh move all the xml files into the new project and then compile the DLL there

  • Rotation around center of mass is weird.

    Solved Scripting
    14
    0 Votes
    14 Posts
    77 Views
    ChazroxC

    StarKnobNoiseMaskLayerFixed.gif

    Heres the fix:

    MyKnobLaf.registerFunction("drawRotarySlider", function(g, obj) { var a = obj.area; var range = obj.max - obj.min; var stableSize = a[2] * (1.0 - 2.0 * 0.15); var ox = a[0] + (a[2] - stableSize) / 2; var oy = a[1] + (a[2] - stableSize) / 2; var cx = ox + stableSize / 2; var cy = oy + stableSize / 2; var sw = stableSize / 200.0; var startOffset = 2.5; var totalSweep = 2.0 * startOffset; var endOffset = -startOffset + totalSweep * (obj.value - obj.min) / range; var cStarBody3Top = 0xffFF0000; var cStarBody3Bot = 0xff00FBFF; var cStarBody3Outline = 0xfa000000; var starBody3Size = stableSize * 0.76; var starBody3X = cx - starBody3Size * 0.5; var starBody3Y = cy - starBody3Size * 0.5; var starBody3Static = Content.createPath(); starBody3Static.addStar([0.5, 0.5], 3, 0.13, 0.5, 0); starBody3Static.roundCorners(1); var starBody3StaticBounds = starBody3Static.getBounds(starBody3Size).translated(starBody3X, starBody3Y); var starBody3Star = Content.createPath(); starBody3Star.addStar([0.5, 0.5], 6, 0.05, 0.6, endOffset); starBody3Star.roundCorners(1); var starBody3RotBounds = starBody3Star.getBounds(starBody3Size).translated(starBody3X, starBody3Y); // PASS 1: gradient fill g.beginLayer(false); g.setGradientFill([cStarBody3Top, cx, starBody3Y, cStarBody3Bot, cx, starBody3Y + starBody3Size, false]); g.fillPath(starBody3Star, starBody3RotBounds); g.endLayer(); // PASS 2: noise — use full obj.area so noise fills behind mask cleanly g.beginLayer(false); g.applyMask(starBody3Star, starBody3RotBounds, false); g.rotate(endOffset, [cx, cy]); g.addNoise({"alpha": 0.3, "monochromatic": true, "area": [a[0], a[1], a[2] * 2, a[3] * 2]}); g.rotate(-endOffset, [cx, cy]); g.endLayer(); // PASS 3: outline g.beginLayer(false); g.setColour(cStarBody3Outline); g.drawPath(starBody3Star, starBody3RotBounds, 3.06 * sw); g.endLayer(); });
  • 0 Votes
    3 Posts
    37 Views
    ustkU

    @observantsound You can use both references at the same time. Just use the one that works for the bypass, and the other for your sampler job

    What I said might work, but do as @David-Healey said it's better implementation even if the reference are the same behind the scene 👍

  • Ellipse Masking // Mask makes shape dark.

    Unsolved Scripting
    13
    0 Votes
    13 Posts
    94 Views
    ChazroxC

    Update: I bowed out gracefully.....for now lol

  • 3 Votes
    1 Posts
    62 Views
    No one has replied
  • AI is the future

    AI discussion
    3
    5 Votes
    3 Posts
    74 Views
    Christoph HartC

    Not gonna lie I‘ve made this exact mistake about three times in my life already without help from a robot…

  • Disable frontend Macros on right click

    General Questions
    3
    0 Votes
    3 Posts
    53 Views
    David HealeyD

    I think you can probably do it using the MidiAutomationHandler: https://docs.hise.dev/scripting/scripting-api/midiautomationhandler/index.html

  • 0 Votes
    36 Posts
    840 Views
    Y

    @David-Healey ok thank you

  • Thoughts on Moonbase?

    General Questions
    20
    0 Votes
    20 Posts
    833 Views
    J

    @JC Hey i actually got the moonbase module to work in juce 6..
    took David's advice and messed around with Claude and got it to work.

    little tricky for me but its working. I Havent shipped anything yet though--Hopefully soon.

  • 0 Votes
    11 Posts
    133 Views
    J

    @jeffd

    So i got a notarized .pkg working of the .hr files. still need to test more but i got them into the plugin's own per-user app-data folder. Then when the plug-in opens and installs the samples it can also auto-delete the .hr files right after extracting. And no gatekeeper quarantine from macos. Ill have to do the same on pc and create .exe for the .hr files to match. but perhaps this will be best. less confusing for people i imagine?

  • Compiling VST files on Windows for macOS!!

    General Questions
    3
    0 Votes
    3 Posts
    54 Views
    David HealeyD

    @Oli-Ullmann Yes a vm is the way to go if you don't have a mac

  • 0 Votes
    3 Posts
    42 Views
    Y

    @David-Healey payload is good.

    Oh ok, I didn't know. I do it right now.

  • Latency problem on FX plugins...

    Bug Reports
    26
    0 Votes
    26 Posts
    6k Views
    J

    i had to set eh latency upto 80ms, for the sample to sync. inside flstudio and reaper

  • compiled DSP network wont work after vst export

    General Questions
    3
    0 Votes
    3 Posts
    61 Views
    J

    @David-Healey Thank you. It compiled and worked just fine.

  • Drawing gradient along a path? Thermometer style gradient?

    Scripting
    17
    0 Votes
    17 Posts
    169 Views
    dannytaurusD

    @Chazrox Never used them, sorry.

  • Show default preset name on first launch

    General Questions
    8
    0 Votes
    8 Posts
    220 Views
    ustkU

    @dannytaurus Oh nice one! 👍