@ustk that’s the solution. Of course! Thank you.
Somehow I was under the impression that they would get clearer automatically. Thank you!
@ustk that’s the solution. Of course! Thank you.
Somehow I was under the impression that they would get clearer automatically. Thank you!
@d-healey Hey is there any fix to this? It seems like it still draws the ghost panels :(
@hisefilo can confirm this bug.
Basically this will block HISE to work with any API where it needs to send data as JSON.
If you implement a custom server you can handle this but when using something like supabase it will not work.
I remember I had the same code working when I wrapped it in a string and made sure it was correctly formatted.
So this code was working, but unfortunately a type checked has been added to the callWithPOST parameter which checks for a valid JSON type.
inline function getLogin(email, password)
{
local parameter = '{
"email": "'+email+'",
"password": "'+password+'"
}';
Server.callWithPOST(LOGIN_URL, parameter, onLoginCallback);
}
@Christoph-Hart can you look into this please since its making networking in HISE not really possible
@bfaudio You will need to compile HISE with that and the plugin with it too.
Just put it in the HISE extra pre processor definitions in projucer, compile HISE.
Setup your networks in HISE and add the same definitions to your plugin before compiling.
Hey,
I am building a Matrix Modulation system in HISE.
Currently there is a bug where does matrix.getModValue()
receive NaN
. When a Frequency knob (20 - 20000) is assigned to a frequency modulator and a callback to the component is assigned getModValue()
will stop working.
When a callback either in the editor or script is assigned the matrix.getModValue()
will receive nan
.
The Modulator is still assigned and the sound is changing. This only happens in the ScriptModulationMatrix mod value.
This is using the inbuilt HISE ScriptModulationMatrix.
Here is a snippet demonstrating this behavior
const var matrix = Engine.createModulationMatrix("Global Modulator Container1");
matrix.addModulatorTarget({
"Target": "Filter1",
"Chain": matrix.Frequency,
"ID": "OSC 1 Frequency",
"Component": "Knob5",
"Slots": [0, 1, 1]
});
const var Knob5 = Content.getComponent("Knob5");
// comment to get real modValue
Knob5.setControlCallback(onKnob);
inline function onKnob(component, value) {}
// matrix.getModValue() -> nan
HiseSnippet 2104.3oc6Z81aabaF+jsu1Hk1tksr0zgM.BiBX4UWWIGaGmDjU4HamHTqXkHG2BTTTPcGkDWti7FOJ2nVjWVf7t8xsuM6qv.161q1Gg8MX6gjmNwyVQVQ0J0tnBBNgO7gO72y+IocCA2iDGyEN4JbX+HhSt2wsYelra0tXJyo1NN4dW25TFMDGTm6G6b+9Q33XhuStby+.EK4xufi9y+8SuON.y7HCI43bDm5Q1mFRkCo1nxmQCB1C6SNjFZw85Up4wYU4A7d.bl2sjSD16Y3NjGgUrMmqyCwwccx8Gc8vk1rsWqa2tDYsa01u0sZQVeCxs8I2dys71n8Var0MWibys1zI2asqOUxEMkXII1I2B2m62uYW92vLavQzXZq.hZPYmlvNaHuGOvWohJpNU6RC7aLvNE6.BswPq17Fq10AijOMk9Pq2uTOAZ3JrMf4lKK7lOC7JaCuRVvaDPJmEjVv.oq41zSPijCmQgmq5ViIIh1XvOYCECuNycvBtU4.GL4pg3mQ1S.CRWQwMKUZED7ikuagBfuJVhNFKPgXof9bz8P6x5PYjU8DDPefvkdAXIkypqmu3hOHf2BGfRlfKPpcBLTDQ4EURzHmUw99orbHVzgHK9cExun4+t3cPKtGMPpVyJ.UskFHlr18Dj+ROByquZtZ6n39flUQkQoSXVEOLhy.kTwvmw3s1PStY.WFCj9RPKKCe+pBuHqlpYETzAlH.PohpXhfTq3S9DDNFEy4L0+5gCBZAgxHZLLLl1gQ7QTFhnc9H3ar15qVlrKAEx8OBGzif9FHOA0hfXXlZtZHNKnOpMuGyGXDjljqlVJ.daCho8.kTIhDiuFL8Xd7vP.jntDAQsLvHODWsg4GvqVIVMVoXLofGTMgohblZpkuKRKwOV+oPAJK.bfoR.Y3pn2.qxJfcCTkkQe2KrMjxSFsnJEHNn0el3IKBVPoBAZZo6e5VTDDVg7ExqC8FXpt2fH.vkTOgXwkzJyRJORdZaTwTt+S2CUZ0xZ4jOOnnw7.xpQBJ3EWRaXguc3bezGmtC2AsD5iRGAhL+KPjfXhVFuBQzB6OhkUPGUAZnDKL5XwMLoTIp.XlXJ6vR6u2ACyVJuzJnkNQvLPR47W9tV1+GwkjCXEWtfxH8hBnSNU61ibtD2c.flQMsAmiYgEY8BaQDC72CXDJGksFm6qtFmcIXOSFlEibVMFUdPDg8pJL6jjVppGlfJfUotZ36kTMrY.0mHbnPQu21UGd3nAbZanW98UbdZscvR7.w.RD1kHhPRUJPtcHGCM0LEYy6tCI9YRdjl2jXdnW5YtoOOcCQspze3.REHVgnpSm5jcBsaytdkP7vE+x+UkXIIpI8aI1chi60tME3x0E8vuEVuue.oAOlpbYo7E82p3b51FPCqAQb1cwT85GVQOSqCU6AFH691H3bq01jBwq41fJ85NZLN2HvH3dmEXL4.Auq6tsaCIwCA3Bt68Eylt+1a+ULa+uy0zrcngZPqVMV9CtioW7XNi2+bROiWzDeFubyOtinUdJOh1BW3Nh1jFG+qOkqI9MX1VlCRdMCLccg9PIVprcjNafceZDO.KTyOrdV57WohJBo1v.rJ+0JeN9XBbVlvj5qoRZeRGXOsobHAp2BWVwyNXrYHmCseYcxF2c8J6y4Q6xvfUv2VHM5hiU8DgiajQLfXOjWGCEWEUC3dOydxZcXbAwzm0ld0dwRd3.EPeiklPwYcujbeo6lquJ7o8Go94sqB+3lGb9L90oPV4w69mahiRUQBotbULwEvdBFTlF3cAEkisy07+zty0S38jPxp4FhPolG0KrIzZvi.6NbH3.0AFyMmJ2xLtjZrNAkv70C9evmjIKqFmKYxxClzVE+EYdiiGH38hzZ30MDHwzXh.ooW973oNl71flRS6UOS8DrPPIhZLexys17+QZLzol4oLZLmw0PY6P3dhRaPmL6NDYOVFnmLQyH3pXYpNpPeSB.UesHiyjmLSZb+1ypF2KLYwniGdWBNublN34Gfwlzvn.xtriIAvMYRJ6rCoMtWfLkpMHqCwCQc4LZltqOg.4oc5PD1Pej5y1RI1tq40q7DR.A50NjzGVYe37lXQc8EdlJSQ4W6WEajtqa3ZfKRkkh9g31diFkcNz33bGuSeSjW65GSZz+uxsAOnuIX17zgZ.k2M4cDGSgdGmSep0W98UdrcHP1v2aT4w8vA1V8+9+d6jSA+CMw+Lh1WXBCa9stYNQzOtw5YNwYxkW+8IWARkMdDVPwLYpZn0fei6IdGLzgGU5rUfmFSNDqQnhgiIBogYMQyozgirW075a5WJYkwcO46bhKCct4IsymR9sx7AI.YPs5yxdr6iJMckyga2b9X5fgyDCx3KHpReu7T.+CbSpLn8bWvRFyOgIi2XDIia66W5rd+M6GGXtKNwWWcRR3twHR3NkN+ZjyYYItDm98dtO9xSt263ZtGzIeTf4tHBUyMytf.022.0q5pdoK88lSZBM3kuPOf.8GO8KDNyeK4C7j.DNTfYwQ7XR4LunGIjdHmQhyP8DqXsQthLTMQMkOMoLboLE6Alhx1O14.hqYSrAlkQXv3LRpN05F9+mO07NAl6jePrGXXzEkreQydAwjOm5K6V1dgCIulM4GhE9m7MTmM2r+s94a1+yWQblcEwYgmFR8t7zO68cgxAqgztazO9962DOr6OU1iPrmf+0dl+hETkJuhlBXaY5+x2x6VWMFU9D+oJ.eBgxjesmWVQcpEt1ztvaNsKb8ocgaLsKbyocg2ZZW3Vm8BUcw1tmjGZxEgt4M10bb8bo+tHyMuy+GgtaK4C
Can you folks verify that?
I think this is more up for @Christoph-Hart to fix.
Would be super cool to get Filter Frequency Modulation working.
@ulrik i think in that case u wanna try downgrading to xcode 15.3. I hit a similar problem related to that error and that helped. xcode 16.2 seems to not work well currently.
/Users/oskarsh/Documents/GitHub/Takt/DspNetworks/Binaries/Source/../../ThirdParty/../../External/airwindows/plugins/LinuxVST/src/Density2/Density2Proc.cpp:320:3: expression result unused [-Wunused-value]
*out2++;
^~~~~~~
/Users/oskarsh/Documents/GitHub/Takt/DspNetworks/Binaries/Source/../../ThirdParty/../../External/airwindows/plugins/LinuxVST/src/Drive/Drive.h:36:5: 'airwindows::drive_ns::Drive' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]
~Drive();
^
@Christoph-Hart it fails with this message. This can be reproduced when I deleted the binaries folder and tried to recompile the networks.
@Christoph-Hart yes but in order for the scriptnode network to be compiled it needs the compiled custom c++ first.
I think it would be even better when HISE always compiles c++, Faust files first and then the network.
It would be really cool if we can disable or enable which C++/ Faust/ Network files to compile.
The use case here is when using external C++ files these need to be compiled before the network is compiled. I manually go into each network and disable compilation so that it only compiles the C++ node first. Then I open again and recompile the network.
@Chazrox no this means that when u load the plugin for the first time it will check in a folder if the presets are there if not they will put them there. You are also the end user it there is no difference.
Usually this is needed when you want to have the presets ready when you open the plugin. If you have this not checked the presets will not be installed on first launch.
@Chazrox have you checked this option?
@Morphoice so right now your faust code is actually taking the MIDI information directly. You can play with the frequency not being connected to anything and still hear the correct frequency being played.
Changing the freq makes no difference in this case.
So how to get this working?
This is how it should work and you can add a detune parameter manually. There is a public pitch_mod however I did not manage to use it correctly but in theory it should receive the value from the pitch mod...
@Morphoice Hey just to make sure try not to duplicate a node, instead always use a fresh new node. Sometimes when duplicating a node it leads to issues like that since some internal state is not being cleared.
Also I place the modchain on top of the network.
@HISEnberg I implemented this a while back ago but did not end up releasing the project. Onto the pile of unfinished stuff :) You will need to wrap the RNBO stuff into a scriptnode to make use of the modulation.
@mmprod You can read directly from the buffer using a counter. You would then use the same counter as the playhead. You can think about normalizing this value in case your buffer size changes.
You simply output this as a signal to the outport @mod. When compiled this will show up in HISE. Load your RNBO object in a scriptnode network to use it.
here is it in action. it can morph between any preset. check the snippet above the value that is being set is not interpolated since we do not call changed()
@Morphoice nice little programming exercise! No custom panels needed. Remember calling setValue will not trigger the callback only when calling changed()
HISE has many tricks up its sleeve check this :)
HiseSnippet 1939.3ocuXszbabbDdWPtJgvI1wUoi4vDdZoECMvRERKy3PRvGQLVTBEAkTphkJ6A6N.XrVLCpYmkzTpTU9Vtlq9V9KjioxEW4b9MjxUkS4Vt3JGU5dl8I.nDMyi8.Il9wzc+0cOSuaWkLjkjHUNtMO8xILG2ejWuKE5Q6MhxENGsui665cLMQyTDKoNWNgljvhbbcW3WiDbWZQGyy+b6NzXpHjURxw4IRdH6A7wbcI0t67o733CoQrS4iqH8c24nPoXOYrLE7mE7Z4LgF9b5P1ConXM7btOMYji6G3Er48ZuQ+fVA2q+lr6xBFzlsd+AaF0t05stKM3iVeiAzMZSumi6sNHhqkpdZplk33tXGYzk8FIuPXMvS3I79wLbQamdfksjOTFGggHR0YuQ73nt4.UhCrKcKgsErv1s8NlGwKnWBe+DCCRoFUAP2F0cuEp4dsuJ2aNtjaEWZQqK89d8BU7I5RNn+7NdGIfr4.Jjmp5JVYcZ7SWxaOIHgPu1X5yYGpfEEZ3uQqVqRf+rxVMaB4pDM4bph7oBY+1jOgjq3PldO43IRArveYC2kAMpqPvaTgf5JziOdRL6D14LkwRlZTTsCFLfEB5XEfjIwxk92i6deP9CDC4B1ZgJF.zONgo5pXIL88ohnXlxGDGjaMfBPeOZbbenvyWJvUcJYdffBYiR0g+NwBtbwPesJksJY.MNgUGdzS6.XYu5Q8+BzyAQ03danUwzl0VlZpxx1Ov.7J1PhlG97sL+hiImIxXXesDLx+DZbJKAL7Ke0VjO7CI8fpLXMWv0bZL3VF1CjpJ5ykByFvDQWg5vNCX9aVa.QFBxhJ2ZsVFsOUAwTRcYKjqYSPBLvYQjKFwDDJQvt.XiHLgmPhkvIEQM4hX.AICREgF8yxN9QTMcExKaRfmJXAXdLg.vEx.LQW4jTCip3yEb8HRXpRAEdjv7Rvr.znYEoOKqT9Yvda9EV.ZXgYw4JbPgvA0DdFmpDyMtDh.4nrRNlnGwxQDLdMpOUZxPCSI9bD52hvI+Rivqk2kEyDC0i.F24N4.F9DKCgJBtlMFzqpBmwe1VERUXsyPIWiGgA1DpJgcHjfz9FpFWNCKdkMHmS4vIl3nfwrkQndyT2aKCARFvPiza9JSwiQFRXVuCQKIiL80SsqyV.Y27hhmAD+eVkJnUHJlNUIJyVGIf92wXARgy6Si9hTnOWgIw9WRBASCc5Cgfs8J0Af6fHP6sJrUAie0mPZuVqpojJfFvoLITu91bTSISDwjSxhoZ4.iqWpYk1WFMbTYcuQXakcRdw5bq+uCwurdnf5OetMKqP9fh3Iysr8CWsIBlqIBluIBlwD1pByQV4wJWXpZ9b6xOmHMG9ledSYiuI8Ac93AYmWs4Z1hGS34Wn5pV4yyhVkOqfM18eTj+JXWigmEIpcuFhH6p0Jd+TMyuNqmxzO.9YbtYrpCgZQ5BaZUx3JWgXXgG1.nwilftMM9iI6FEAArQ1hdFawfDfHUIXjbEAcv+IAs0gCtZGN.b3JF7gRM6QB+UZ9xlKAJSll0fAykW1dataeNryZRtZE8Eoi6yT4wWtfvrU0GX6VWuA1BsGnVQPo3H3p3GMgks9MOwoS1IxvfdMx7PPTsYLu2MaLudw7HlxgCaxOvyj5cLNe170e6Kt8eaamqsxA0T9a9N++51NO9n8gaGvgMybGvEmvTZNhDt6yNGF02N54Rd6yRdNbZDXnhA6.z5s5weYwaC7UzctrXw2bwNWvizvr+dt+NX8HFe3HMtZSGC5TXhEeqwUoIHp5ln597N5rw5s6i4NN3X8S4PxE2s2yqJopNtysqrqvhBGe+FUc7eiaQV0hYummcnxNJ4EvDlN8Gl+lPKcKXi9W3tgWxVR8O95e+qqSMHSXyiIY03O2vCaNWFq85QOm0IUqkhk+XyzQqly4fubBUj.s.I6l.aU5XTBy8KEhXpPUyWcrULYl8D5TrhWiUIYn4EhWfW6VEJAmNMeSbBS.uE374sOKlouBd8XTU3nNT0zLNjdtTAPG9NmU4cXZbbWpdTN+jZHQV.cD.VQrNRE.I03+vzwV7CUqsgjc8SwxfSvIQ.FmYNtr0ZqO0ypeOoCjelwFOfmn2Ed2hBHMyBqNu+Unk0yNQdQWZTDTJec0q.S6HSEQXjdlkwwvUtVDZZNkkdSyIGmmgayW43L6a0BuOsLBmYt9KYieJhLFPUbs2rEG8ARW5Kq9oJl9MuW7pOHu009CCbcc222qKWGNZ99ai43u349+O1ey9NF+XO6aTW5rK5c3u8M9QKV75cGXoq7V+.FKcZ9g3UlAJKQW+E8q4XmHki6weQ9kV+gu9q+GauOc7DnxNizNqu9ee67Qopdw39pKqR6q9Ke22t8SsGbWtWGpXrWvfrVEK7m11cg+K8MbbNQlhWnbLEFADtOwCNKoGbndHCRFBAKNAu2nAdemccKbMVbzClT1r30vSFy13Z2LlsyY9+EaLlFpjeV1LlXt8GZn.wsv7g7Vx6XbMo9.Jlmw7H9mEFVeqlQwfaphqeSU7t2TE+E2TE23lp3l2TE+n2th3mxb2Tsbr8TKGmi6dfYLCWW62FyzG57uAr2LlnB
You might need to add your own presets the the system
@mmprod You can add a modulation output from RNBO which is the playhead position and use a panel paint routine in HISE to show the current position.
You can also use a AudioLoopPlayer, load the same sample and set the same loop points but mute its output. However it is not so efficient and when you do more advanced looping in RNBO it might not be possible in the AudioLoopPlayer and the graphics will not match.
I would use the modulation approach.
@Straticah hey nice design! check the Mod Matrix tutorial, its in the snippet browser. When using the Modulation system you can right click to assign a modulator and also use a matrix like system.
This should get you started, it takes a little while to wrap your head around but it is working. I've built a system similar to this but found some quirks I posted about.
Hey! What are your thoughts on the modulation intensity modes? Currently, there are two types: Bipolar Mode and Scale Mode. @Christoph-Hart, would it be poss...
Forum (forum.hise.audio)
@ospfeigrp I believe you wanna use llvm 11 not 13
@mmprod yes the sample and hold node is correct. Go a little easy on the timer. 10 or 20 should be enough.
The problem with the oscilloscope is that you draw many points that are not necessary basically overlapping points. To get better performance you need to simplify the path and drop points that are the same. There are many discussions on the juce forum about this