• 0 Votes
    2 Posts
    4 Views
    griffinboyG

    @stevejonas
    Never used it, but in my experience it's never too late for things to go wrong 😆
    But it probably helps. I've not visited platforms like this, that's quite interesting.

  • Measuring plugin delay times....

    General Questions
    2
    0 Votes
    2 Posts
    6 Views
    griffinboyG

    @Lindon

    I was under the impression that Hise has a Hisescript way to probe latency?
    And so you could measure it whenever you make a change to the FX stack. But maybe I was mistaken.

    If I'm honest with you, in this situation, this is the kind of task I would be lazy and let an AI agent handle.
    Although I know already that you might not have something like that set up.
    But if it were me solving it, I would be tempted to be lazy and brute force it, use the REST API and Codex, and have it send timed impulses through the empty chain, and then through each FX once loaded individually. That then becomes the lookup table of all the latencies. Do it for different sample rates to find the ones that scale with sample rate. Since its a serial chain, you can basically just add together the latency that each processor give you. I would also entirely discard any latency that comes out as non-integer latency values for individual effects.
    I would discard the entire value for that effect, because those are likely nonlinear-phase latencies and it will actually have a worse sounding phasing if you compensate for those.

    That's the lazy route. It's pretty wasteful.
    And I suppose you could actually do this by hand too, using the Hise latency finding tool, and write the LUT yourself.

    But personally I always keep track of the latency of my own DSP while I'm developing it, so it's never a mystery. But I can only do that because I only use my own C++ DSP in Hise.

    An alternative is that you could read through the source code of whatever DSP pieces you are using and find all the delays though (it will mostly be explicit delay lines for lookahead, feedback stabilization, and things like Linear phase oversampling (dont try to compensate nonlinear phase oversampling), and FIR filters, FFT) those all give measurable latency.

    But yeah, if there is a Hisescript API for measuring latency, I would assume that is the thing to use! You could even build a LUT using Hisescript and no C++, if that feature exists.

  • 4 Votes
    5 Posts
    55 Views
    U

    I downloaded the trial, but I can't log in to my personal account (application). I created a new account, I can't log in. I tried to restore the account (new password) it doesn't work either (letters don't come)

  • RNBO Compile DLL Crash (RNBO --> HISE)

    Bug Reports
    4
    0 Votes
    4 Posts
    410 Views
    K

    @dannycouture

    So you got it working with RNBO 1.4?

    Since...
    I've found posts saying it works over 1.4, and others that it won't, and wasted half a day yesterday trying with different settings on 1.4.5 export. Today I decided to use my time a bit better and try to find what works, not what doesn't.

    I've been testing things all morning, and have come to a conclusion, that after RNBO 1.3.5
    something changed in their code, and the import doesn't work anymore starting from RNBO 1.4.0 upwards. I would be interested to know how in hell some people are getting it to work over 1.3.5

    Here's the versions I've been testing with.
    The HISE base folder being a new duplicate of the same original one on every case.
    Only exported RNBO files are changed in /src
    I didn't bother to try every update/downgrade, since the pattern seems quite clear.

    Using HISE 4.9.3 3deb6f2a compiled with Faust

    Max 8.6.5 RBNO 1.3.0 Guitar Pedals 1.0.4 Booster Working
    Max 8.6.5 RBNO 1.3.4 Guitar Pedals 1.0.4 Booster Working
    Max 8.6.5 RBNO 1.3.5 Guitar Pedals 1.0.4 Booster Working
    Max 8.6.5 RBNO 1.4.0 Guitar Pedals 1.0.4 Booster Not working
    Max 8.6.5 RBNO 1.4.1 Guitar Pedals 1.0.4 Booster Not working
    Max 8.6.5 RBNO 1.4.2 Guitar Pedals 1.0.4 Booster Not working

    Max 9.0.9 RBNO 1.3.5 Guitar Pedals 1.0.4 Booster Working
    Max 9.0.9 RBNO 1.4.0 Guitar Pedals 1.0.4 Booster Not working
    Max 9.0.9 RBNO 1.4.5 Guitar Pedals 1.0.4 Booster Not working

    As with the tutorial video on the tube about the matter, you cannot see what the actual version of RNBO is used, so that doesn't really help either.

    The reason posting here being really to spread the conclusion I came to with my set-up,
    and maybe someone trying to exchange files between MAX and HISE can actually find something helpfull.

    Here's where you can find the version of the RNBO you're using in MAX:
    Go to File/Package manager, and be sure that you're in Installed packages, not the remote packages. Then from Show all versions you can find the versions of RNBO available for up/downgrade. Based on the experiments, I would advise not to go above 1.3.5 at this time, but of course, I might be wrong as well, That's how it works for me anyway :)

    rnbo.png

  • 13 Votes
    124 Posts
    29k Views
    ChazroxC

    For everyone using the Knob app, I just pushed a new update. This is the latest version that is included in the new 'Designer Suite' app that has all of the other component designer apps.

    Heres the link to the updated Knob-Builder:
    https://rox-knob-builder-for-hise.netlify.app/

    Link to the Full Rox Designer Suite:
    http://roxdesignersuite.com

  • 1 Votes
    1 Posts
    23 Views
    No one has replied
  • 0 Votes
    7 Posts
    112 Views
    S

    @Kalliopei In this case you could get the Display Buffer Source of the network and then the Index of each Peak Node and then do whatever you want with the value you get. You can do something like this:

    CODE:

    //Get the FX Display Source Reference const var dp = Synth.getDisplayBufferSource("Comp"); // Get the Displaybuffers const var input = dp.getDisplayBuffer(0); const var output = dp.getDisplayBuffer(1); input.setRingBufferProperties({ "BufferLength": 1024, "NumChannels": 1 }); output.setRingBufferProperties({ "BufferLength": 1024, "NumChannels": 1 }); const var inBuffer = input.getReadBuffer(); const var outBuffer = output.getReadBuffer(); const var inMeter = Content.getComponent("inMeter"); const var outMeter = Content.getComponent("outMeter"); const var subMeter = Content.getComponent("subMeter"); //Timer Object const var reductionTimer = Engine.createTimerObject(); reductionTimer.setTimerCallback(function() { //Befor Comp inMeter.setValue(Engine.getDecibelsForGainFactor(inBuffer.getMagnitude(0, inBuffer.length))); //After comp outMeter.setValue(Engine.getDecibelsForGainFactor(outBuffer.getMagnitude(0, outBuffer.length))); //Difference subMeter.setValue(Engine.getDecibelsForGainFactor( (inBuffer.getMagnitude(0, inBuffer.length)) - (outBuffer.getMagnitude(0, outBuffer.length)) )); }); // Start the timer with ~30Hz. reductionTimer.startTimer(30);

    SNIPPET:

    HiseSnippet 2083.3oc2Y07aabbEeVIsxgzoo0EIH43BgBT5BWYRZEakzFHpOsEpoDgnhSxImQ6NK4Ts6LK1cVIwDjhbrG60zKM+Izq8l+CHG5GG6k9mfu1Ks88lYWxcIYjoHbsRhBP.m27dy7998aV2IV5xRRjwDqpGOHhQrdc6tCDp9a2mxEj82gX8F1soIJVrigzVChnIILOhk0hODIXUYIh9umuwVz.pvkMhDg7DI2k8XdHWMhZmV+FdPvdTO1w7vBbuVq8ckhskAxTPeVztNIh5dJsG6.Jx1B1jGQS5Sr9E1dMVqg+5tz6udi0Z551b8Gz78dfKi56ytei28Aqst+Z9T25MIVKuqGWIi6pnJVBbnaI8Fzsu7bg4BdBOgeR.CWzfzEtYCYx184AdcxcNIDhkcmQtpEMtp2ztM2iOj9HW1OQugyHIJ5zrV3xToFWAUxpfJsjQktkcW2XdjZzNn9bS68EPDDbIrRphgWxBw11aKANDpUComx1KFVLThZ2ud863.+ua+qpV8t28gLkipOyYuO1YGdRT.cfSWHd4xbNh4yhYP7uJDESTNmQic7hb9.GcB0p8XpLA1JEhSwFopsx1xvnULmsS9gmw3IZFSJbdbQTpBNRunINuZnBNhSYp5am0F38oOqUSXpi3hdlM.2VDKVwYI097pNNqXn9Xlnmp+JuuSi5MW6NH8CRCgnsPvBRPxU+B77L23KwCrnYaDDLGiVCVzQLpWl4LtgOj4LUZBtKczsYJMy4o..2XLQJfE0VIa+UF+NtboxYnrXIomb4hkyPV9.1dH14vS9sLWUgiIl4k5p3RgY+OvYWQOtfspaLCJozDMxnM0xbigG8O1lFDbBzdolepPucsaW8yqV4t2cKluDZ1AJU0JYFOJzSnAorZY2DlPwb4m.gq8jwXav8ntPMcs7.ExQaZOAWk5wpA0OC2HPG6u8sAUqBdca5iNDW80k60l86aXvdhKbzNitwJlqbGtedkZkbO9rek3YbErSmeoyURKwi2npULUAPaAnUYrowfRGwOmq5676tW8G8YqNQ3EYU+yZ2CZHjGbcjhCjJ1gYQ4peQUmw2x2ep6gIpwxf.rvYJaatpKQvZhzvSXw2AxbAu6PFgN1kGCr7rMFv0T2TfQoXevedXDKa8dx.Or8N96IGZPxJ7fe8g6uCUQw4HYzF0rBnsC6LXxsYpRE6cXImpjQvoNrZEPFnz69FYyb5Fv8XwDtGJPVkC4hhi2GTbQhZ.ZdUseBdmtz.RH2yKf0QlvQWHxqkl2lOCveD0k+YZrB+wuB+6urQXQrGexyBoWTD2QBjUwAJ11NdaQRnmw1WzIlAY43fuy4dJ.Hgs0uFXsOi2quBWUeABIT5kYw5jezgMCFbU67Z2hV7m7CZKNu0QAK9K8+9oEOIPJ.BmzKMfpJiqC6ClsAp9EASg.lDfYMnHh3q.Xu5WJXuYUEukcGtxs+z0wElhNB0+++PGyfH+ir2E5t6pFofKYu2GOu3gqO63gsM2e0rDW3NwKeYaL2tz0CHuJgMLASRfbDRF3Xqeu8nt5QwrHZL6XYGf+ZIzvn.1QfZeGmSBjtmhouSNJHxnUagbTyMCk27LwX4WRObfbDzrBfn1lph00OfOvfFOGCZtOHaccbMlpzkI7zK9uveYa1.WaksYi7MKLm4.l5bY7o5HT1uIV2.CGutch1I+T+KZP1LHPdNFd3YItPvQSqiLXPTeof6hjLbjqoaFJSEpb0Edd3wTd.lo2MMAlH5cnnKvr9MoVKBMgRzG7MrquJ7ePl+A5NAKaf1LnCE6XbKabHKjuBvIbGl2VRWKk.oebZoswSM+YrFGGn0g5FpviXsVrvfVSVKtBpIWvbQ6mLrcoFRFZO5yDYewLU1jNGwnmRJo82Dz9X1p5MlTMyj3EnfKUTAIi5kbLMF.vYPQfo9WjCfXrJnwofVlvicQ9ksKje6AfTzhmmvzgFCpnRKOojQhfiKaj+XauABZH2MYU2IJnyLT8FWiFJZTuPC0xd3JHsrMWjEvGMyqM8hwnAUZEFUBK+ZbTY2SYma7QYTeVu+7a0xjPcbeXpX+9.vPRgyp0666+ye1NLeZZfZh6fb4JF3sFWwZIaMSJ1mt1e3etApXul8lJE7DLxDm8zUp8a8JPopXeDKfQSXE0p24O8U+6Or0bpUOeiIigslMs5q+G+m+tVqtg8QXhYQc5K+aey2buuEc54ab08TfRMlNoOnIzIMUyWUpKfFzzgbFifkqrugtYTiqR+qbQtFqqsloFXkVrkTdZHUOBbtd0UQfUusYyaZ+Q.dW8WVSOd5szq8kwgNOjAStPTgMtjOV6ecV+XsQy7Gq8PWEnBGGSEIQxDViRcrXg7ig2TjTh5XRzbpRzrbZkJUT9nMjJwE5J1CbEE360ZkSrYQhcnhRGFrtzI0lW3EG+qM1UPADVcYfk6cXhK3XniUXzIMHg8Q3SOZTTvQjaVj7inwdPLzsDb7EKCyaoYClW4WlTf+o.Td4qguk8Kmm2bM9BrROunRtN1ki8Q1UbFK.Ji053O0Nq4WN0x0gskBYNb1QQ8iX.V7d8Xk6xNMCJal4PJuYq7AVCI8yZ8X.8JMts4ctyiu3p+O8vTiWuS1HdGr4gy2ee47h+f9kyyd0GzO761Qw21F5K2zQGJctdhkuJdc8qh6Hj5FKepq4iRfE8U0T.6VnwhUwtMt1oA4rwQ4EBiLdpqa4iZBAaNuBdu4Uv0lWAe24Uv6OuB9f4Uv0mWAeuqpfUyS.p+hkDAQrYpRFZJGAjUc10fd1x.pRWYR9eO6K.TA
  • Native WoA Compatiblility

    General Questions
    3
    0 Votes
    3 Posts
    90 Views
    dannytaurusD

    @resonant I don't think the demand is there yet. None of my Windows customers has ever asked for an Arm version.

  • Change the processing order within a network

    General Questions
    3
    0 Votes
    3 Posts
    110 Views
    ustkU

    @Christoph-Hart I was afraid of this but in the end yes, I guess I could. The blocks should just need a global cable so I can have a unique sender network for all the cables and then make a module per FX receiver... And it'd probably simplify things a lot instead of having just one giant blob... Should have just have thought about that earlier! ☺

  • 0 Votes
    3 Posts
    65 Views
    voxuer1V

    Okay, thanks for your quick answer. I think this works nowBildschirmfoto 2026-08-11 um 14.51.44.png

  • IPP Mismatch on Windows

    General Questions
    4
    0 Votes
    4 Posts
    114 Views
    David HealeyD

    @eschirle Check out the building HISE section of my free bootcamp course, it covers all the details https://audiodevschool.com/courses/hise-bootcamp/

  • 6 Votes
    29 Posts
    4k Views
    lalalandsynthL

    Here I am experimenting with Figma and Webview

    The idea is a moving field of hex cells with a lot of parameters.

    Main ones are the Cell fracture, Sparks, moving exclusion zones, Hotspots, orange comets, cyan frames that capture a bunch of cells, cell size.

    Spectrum is also done via webview.

    I am really hoping that Webview matures in Juce/Hise as its a great way to design any intricate moving graphics although at the moment its great for prototyping and I am exploring converting a design into GLSL ? If even possible.
    I gather that the current issues are platform compatibility, overall stability and sample accurate response, hopefully this will advance.

    HEX GRAIN UI

    Main hexgrain.png

    HEX GRAIN UI
    Hex 2.gif

    HEX GRAIN UI
    Hex 3.gif

    HEX GRAIN UI
    Hex 6.gif

    HEX GRAIN UI Controller
    Interface.png

    HEX GRAIN AD 4:5
    Texture In motion.png

  • How do I add gain?

    ScriptNode
    5
    0 Votes
    5 Posts
    183 Views
    LillieL

    Thank you for helping.

  • [DEVLOG] Pro EQ

    C++ Development
    9
    14 Votes
    9 Posts
    254 Views
    YinxiY

    Wow that's amazing good job as always 👍

  • Latest version of HISE breaks existing presets....

    General Questions
    74
    0 Votes
    74 Posts
    8k Views
    LindonL

    @dannytaurus said in Latest version of HISE breaks existing presets....:

    @Christoph-Hart Here's what 'my' Claude says:

    The pattern so far

    Since a92a701de (the unified automation base class), every automation actor - host parameter, macro, MIDI automation, UI widget, script, preset restore - is both a reader and a writer of shared values, connected through the dispatch library. The regressions since then have all been the same bug wearing different hats: a listener can't tell an echo of its own write from a real change, so it feeds the value back around the loop. Each fix so far suppresses one specific edge:

    633626eeb - gate refreshParameterValue() on enablePluginParameterUpdate, and switch MIDI automation's setAttribute from async to sync notification e1fb54695 - carve the backend macro-to-parameter-slot routing out behind HISE_MACROS_ARE_PLUGIN_PARAMETERS

    Alongside the pre-existing guards (recursive, sendToHost per parameter, deferNotifyHostFlag, the exclusive-mode conditionals in loadUserPresetInternal()), that's now seven or so overlapping mechanisms all answering the same question by inference: "is this change an echo?"

    Why I think flags can't fully close this

    Two structural limits:

    The global flag suppresses the wrong scope. enablePluginParameterUpdate is one boolean for all parameters. While parameter A's update is dispatching (flag false), a legitimate concurrent change to parameter B hits the early return in refreshParameterValue() and is silently dropped -the internal value updates but the host never hears it. I suspect this is exactly the DAW-project-vs-internal-preset drift you were hypothesizing about at the end of the thread. The guard isn't just failing to fix that bug, it's a source of it. Scoped guards can't survive deferred dispatch. A ScopedValueSetter protects a call stack, but this system defers across threads by design. By the time an async-queued listener runs, the guard is long restored and the echo sails through. That's why 633626eeb had to change MIDI automation to sync notification - to drag the callback inside the guard's scope. Changing threading semantics to make a boolean reachable feels like the approach hitting its ceiling.

    Proposal: make provenance explicit

    The class structure from the rewrite is good - I'd keep all of it. The change is to what a notification is: value plus origin, instead of value alone.

    Add a small source token (Host, Macro, MidiAutomation, UI, Script, PresetRestore) to SlotSender::sendChangeMessage() and the listener callbacks, threaded through CustomAutomationData::call(). Because the token travels with the queued message, it survives deferral and thread hops - the thing no scoped flag can do. Each writer passes its own token and ignores incoming messages carrying it. MacroPluginParameter::setValue() writes as Host and skips Host-tagged notifications; same pattern in HisePluginParameterBase, MidiControllerAutomationHandler, CustomAutomationParameter. recursive, sendToHost and the global enablePluginParameterUpdate then become deletable. (deferNotifyHostFlag can stay - batching host notifications is an optimization, not a correctness guard.) Preset restore becomes a first-class source: "macros must not clobber freshly restored widget values" becomes a one-line filter rule instead of an ordering convention plus exclusive-mode conditionals, and the MIDI sync/async choice stops mattering for correctness.

    For precedent: JUCE's own ParameterAttachment solves the identical loop the same way - each attachment filters its own echoes at the attachment point.

    Hmm, I must give this Claude malarky a bit of a go......

  • Custom peak meter doesn't work in a DAW

    General Questions
    10
    0 Votes
    10 Posts
    134 Views
    David HealeyD

    @Kalliopei why not use a peak meter floating tile instead of a panel?

  • Audio Waveform/Convolution - Knob for Range

    Scripting
    2
    0 Votes
    2 Posts
    90 Views
    ulrikU

    @svkpowa

    HiseSnippet 2507.3oc2Yz0aabb7NKcolzwINAoEsus3PPAUjDIOY4OZbsMknjhYsjEgnhcLTDbVd2RxE53sr2cjRBIFv8kh9yx+DBP+Ez+A4k9r6L6dGu8DonkUabaJg+f678L6ryL6xlgBWVTjHzvr39mNfYX9gVsNMHtW8dTdfQiMLLutUcQvHg+vXtHvX8SGPihXdFlly8UHIlEl2P94md35TeZfKKCjgwSEbW117973LnMq8Xtu+VTO1979ZTuZsFthf5BewPvblyppw.p6QztrmPQxthkwinQ8LL+BKWuUcW081sW0gR6bGm12l09tN2wgcW2a48Gbcot2psqyMuI0v7C1ziGKBaESiYQFlyutv6zV8DGGnTvS4Q719LbgiQKPyJvaI78PWDgZTuG22qYZbJxvvzpYVTaNUT6yr1g6wGCOK5cCIBRFG5APyqj27lKm44nadU0LuoXRlZlz7JS5SrZ4FxGDmgAsmqY0HHlE1gB6S5lhhViq7Oja2wrf3x8oGw1JDVLliR2tZ0kHv+rv8JVD1qhhIM1ibehLiobWV7ZC83hVz9C7YiUaI6F6YCLnn+YzQrsDg8AtR0CvWcQ+Ah.XQI6TBryzwHZHABQgwMC7OW9RIHSUHaaF3MKlTnkpRio8nAcY.7HfuCdaZaohjo+Y1Z7PPkgrtjHYvZaVP23df5pBfqTgrdnf54Rif3Nwi0gGvwCeZlXHi5IC1PlFXrQqWGXdyft7.VYW.YLSSDk9dvFs4d1eIwdRFsQOvlF1MBvefsapsZuDwlMB+xgRJhoJJNr3KWPYkz3XpaORrfHoif4cEmTAkUzsuXbXXGwvH1lHOQkNHaG+PPi084tGEsD4QhQfu+6IaDR6BdUWzZj6SSS9ddayAGM.bUajPjFhqBOrtyv.WL9UZrusjxhWn32Wr.uCojbUYdDpscC7OcghE.LER2kKGwheJ0eHKSB31pLOQRSoE.SSi9P1.n...Fgp1xmkL.JRjPBs57+xhiC3WnzBUtz6TBQJKmIUXP5QXLlxC7XmfeYD5Du64Do5HW1fO6jMnwzR1xczs39rxIGa.Mc.V3.yIplayOSPSca2WhVeWWtKChMR.hePHFWs8gXAjUQBXGS5.pEkdghENyowF6gaQ6Kho9JXMBTE2hj6LEKVXbohCpdHtCWxtOEiR5BZYGYAyInUkMLIJUhqmREZnbNWMjWDNZRelTooH41Wwh7.eHgYbniHBRSowskPgu9QHYhfL3lkgCVGOvNA2hNnJgfHfPE2jpujD4RI0lwHrxVwS.uDLi2VEWTbIlScpueaXHgRSXnmm+nT5L8F8S8oQaI1kOG+YLCYtRp7lkGk1JX59SNCU4Mv4qB2ehOjG+jcWmzD5Ce1OIEFdbPaDa1AhtR2DqWPAvw83Qnkssvk5utXXfWjJoDIPzoyyAZVopLWrqxTwAzJkxVI61cUfrkkv5VFNO4uGJGl2dL2XHD4yJc.L3.JrkHzCV4P7eu4gKi.fu6TcgYHddLqedE3EROdRErRhFVbEkNVd0pZpY4UAEAXbRUEZk6GxSXdUEoUVY4UWDIuBP5cg+.LsCElsoYiuvo7sx7uLNkpxYk2N+qn3O0AVym2Mf4sO6jXMmMFVByTPvv0p4hUn8a6BINg.ShA1JaIKfo9unxG2CBXmmhFPCiXv3bi0X5IOPiWf3Wp9sSxqmV9nJcbm5qOY9XtTRIEY4jY8iwzti0xKeF2KtWRwvrd0t3bBLOxO7CpFMnq1Mos8DTAvkHJHkoGzwor73olVRBDXOXoELJEWF0Rb3eyj+Ij+Hb1.EegBJHQ83ch2.lfm7PPFKeeH4tJ4KIiVd46cVVe.43kmEyKNl4EWbrtk1z3x6xbqPUQ0kHYoQXQ3ExA.phsfZDCkHzax.iXHE94LIjJzgAELFCwkIM1rsfug7EIVsFr6MSK+raJKJ0y+dtyKk4mcDgjRCH7frQ5koXCTk1ghshiSK4hCJZuluOIC.JLIoMwgwfJNwPyjRxxoiQIGkcbYaUdMd5nnVOmmHhY6lLGBfgbVTc5LUbI098gwalFZ7xygyhwRAC62lEp2ZCIDtfX9acZc925T+RwtplXZDJBZ.Sft6.Vv4cUYijNe3MTSrJ3N4wx6m9qStepbzO7N.vtUeCNbazhVoWIvPZ55On.lmXX9sVU95HVXTkg9g7iZK7XAU1YXD2sxi3QrJOpQqMgNh69m1r99spz5IMZ1bS3KqAW1MNpx3YMipvCeQDGaj+hPHcMrc4ioiLBGOVODaLeEnzvjgzw0W4aMML95F3XqodE3ffSOfEFyw3o4FrQbWl5V3Er1fEcTrX.D1G262v7W8NDCNQ+IRNMawmW6Xrz3X.+3eoVOFuaOsmZ440FOCeCPnya0XObOYrYbMkYb8zmJfFv7STe5PM5peCM0W66Ni5e0ASn9Mpk+Hlg4Gak6HlQ5rC.OevCdvCdCxUVCeD5adya9qHT3Hepfuwq+m0vFkPXTYl47oO777oqZoloRyidUm+a6QVP1zULTdiEZfF80dTMx2US20tZdWaaZ6DW6izg3nuk0PyAec2y3fFAS3fOHIx96rZg02IxB7vs45C2GmbBTY2fAEOnx5ClyYL4yNcCqcDdC8ow4eEL7sBSPb1mQDedofHd7o5uk3+wdZrKpI9IVM4wt8ltMdkoXivo+eNrwjGT75Va1oCLbalANu0Vey6gWO7SS0u9q9pzOT7PW+aDdZ9W.94u9Yr37fLL1FLt.2bwsF8GLzOJ4Vo5a5IlQifACi0gC05WGNb0MDG5e+d3870kWSXjTlOMmNdDutlL9a+8Za.WXCtwuNMas09IEoS.8Y0v1Bpma9m0VLxy3pdKIUAv1J9Bwfb8cP.ZscLm6Bug6L67M0rLcggvB4n5exv9sfpStL7Q0f5kQRUh8uUqqpJTYXzhE3IW.EwdSBRGbsYBRmTj54zejJLeMqVv.TxGKVlQ8ajqkOIL4qvmwAOQ5Liehge7h9SLL3B+SLrKb+wQr8gN7QCDQ4DbKVe99Pk2HcfPNwVgr+7dXIBc30E3UqlBpe5gaAN4T4oEMdXnrVyZ8gL63b0VlaV+xENWxe4h4+ete4heAzAIW4wBo1XK4g5MCFw7gQ+j13mBy50gNzONEZ9b4cDAhA8DAbW8M58XvYvtcYg519Tcn0vGN8H8pU6w7YT8j1Ou11PxFMDhSrKYrv4c9GZZp6W+VKk4RvCfje414et+uty+6kFAuOzQepan3EtpqXh4oWUBA76.Y27BV6fqINSdix9PUtW35lWTSv3JWVFu4kkwUurLdqKKi29xx3ctrLd22NiXSn0FFK5qNZZXrSyMkW91zby.7dHxSDF+KfGvTIE

    convolution.gif

  • 0 Votes
    7 Posts
    202 Views
    lalalandsynthL

    @dannytaurus Yes, I have concerns , but its absolutely amazing for doing dynamic graphics.

  • Need help for Export on Mac

    General Questions
    5
    0 Votes
    5 Posts
    182 Views
    K

    @LUIS29

    I can give the mac compiling a go and try if it compiles ok.
    No guarantees. You need to codesign it afterwards thou on every mac machine it is running.
    it's not too hard, just running some code through terminal on mac.

  • 1 Votes
    12 Posts
    373 Views