Hey :))
We finally got a new landing page website for HISE.. -> https://www.hise.dev/
Check it out, and let us know if you find any issues!
All best,
Dominik
Hey :))
We finally got a new landing page website for HISE.. -> https://www.hise.dev/
Check it out, and let us know if you find any issues!
All best,
Dominik
Have a look and check it out:
In the latest scriptnode
release, please make sure to try out the shortcut [F1] to directly access the docs in the HISE inhouse documentation. (it even has an inbuild code playground..)
The web-docs and the inhouse.docs are directly mirrored.
If you want to contribute please have a short look here:
https://docs.hise.audio/glossary/contributing.html
The hise_documentations github repo:
https://github.com/christophhart/hise_documentation/
Obviously it's an ongoing process to work on the docs, to fill them up, and making them more precise. So.: If you find a (some) mistake(s) or want to contribute to a page, please don't hesitate to create an issue or a pull-request in the github repo!
But first of all: let's have a little docs unboxing party: :))
Greetings,
d
@orange @Christoph-Hart @Dan-Korneff
Back up. Sorry for this whole mess the last days. updating the forum software messed with deprecated config files, socket.io was sending messages to wrong port, the docs rebuilder raised us in the memory threshold...
As last resort we can still raise the memory bar, but lets see how it goes the next days..
Apologies again for the downtimes,
Best
Do
Jup, this error happend quite a bit recently.. sorry for this. Tonight the server had 5h downtime and this morning I updated to the latest forum version.
I hope that this resolves the most major issues, and that the connection drops stop happening.
Please let me know if you experience any errors and I'll take a look at it.
best d
Hey,
That's all in my area. :)
I had to change some forum configurations to get the forum back up.. and as you probably noticed it's still in a kind of unstable state.. There are still some missing underlying node-js updates that i think are causing the disruptions.
In the next days i will finally have some free time to take a look into this.
Thanks for your reports! And hopefully this is all resolved soon,
All best
Do
I think i got most things updated.. If you find errors in the layout or functionality of the forum please let me know!
Jeeehah!
What a quality of life improvement for smaller monitors :))
Go to %APPDATA% > HISE > editorData.json
and add any Shortcut Key under "LayoutData" in the Tab that you want to modify.
example:
...
"Content": [
{
"Type": "Tabs",
"StyleData": {
},
"Font": "",
"FontSize": 14.0,
"LayoutData": {
"ID": "ScriptEditorTabs",
"Size": -0.5544946346088778,
"Folded": -1,
"Visible": true,
"ForceFoldButton": 0,
"ForceShowTitle": 0,
"MinSize": -1,
"FocusKeyPress": "F3",
// "FoldKeyPress" : "ctrl + 1
},
...
Heres' mine :)
editorData.json
( F3 code editor, F4 Interface; ScriptWatchtable: ctrl-q, Componenlist ctrl-w, PropertyEditor ctrl-e )
Greetings,
Do
Here is the script with a little embedded Task ;)
You can surely figure it out.
resource:
save as logo_bw.png in the Images Folder of your project.
Content.makeFrontInterface(600, 500);
const var Panel1 = Content.getComponent("Panel1");
const var Knob1 = Content.getComponent("Knob1");
const var Button1 = Content.getComponent("Button1");
reg angle = 0;
reg speed = 0;
Panel1.loadImage("{PROJECT_FOLDER}logo_bw.png", "test");
Panel1.setPaintRoutine(function(g){
g.rotate(Math.toRadians(angle), [this.get("width")/2, this.get("height")/2]);
g.drawImage("test", [0, 0, this.get("width"), this.get("height")], 0, 0);
});
Panel1.setTimerCallback(function(){
angle = (angle + speed) % 360;
this.repaint();
});
// Custom Callbacks for Knob1 and Button1
inline function onKnob1Control(component, value)
{
// TASK: set something to the value of the Knob
};
Content.getComponent("Knob1").setControlCallback(onKnob1Control);
inline function onButton1Control(component, value)
{
if (value)
{
Panel1.startTimer(40);
}
else
{
Panel1.stopTimer();
}
};
Content.getComponent("Button1").setControlCallback(onButton1Control);
HiseSnippet 1202.3ocsW0saaaCElxIpq1adXEnWrKILv.jwxRTZSyJZwvbiiyfWZRLhyJJvPQ.iDkLQjHEjnZhWP.1ixdT1k6wXOB6MX6PQJK4Fmz3BLcSxg77wy24Gd3wiREdzrLQJxp4ISSnHquvd7TtbR+IDFGMbWj0WYOJhHkTdVBiFQSQ6LMgjkQ8QVVq7SJsrZtJp36e9wcHQDtGsZID5MBlG80rXlrZ0Q81mEEsGwmdBKtl1a0anmf2WDIxAFshsKJg3cNIjdHQoVCaj0CF3yjhzwRhjlgrVcGg+zwSDWv05+FVF6rHpRXSzX3fzKumHxWwX0pn9SXQ9iJ87LDbJiphCqniCO19.lOa150iGpMvUHpGOrZbWzayOQ5YUidqpo2irG6kxRjU6n31maOjKooADHETmVZcQM9qUs6K.M3x0iImS2KEDlgvYaW20vOy0s6Ka2pcKHQjIwumjhGQ3znMw+.tDaHU1WDmH3ffSG81cTnpvrOWb1sCoX2O.wN4Rofe6XL62QytTZHlvCinf9tuTKmkPo9F41szzZ8HAweXLTB4z4pQGezOOn+Imt2Qud2AGecjHTb5YWrdBOryZ3NPBSZNcC1LpbDj1kGKxkLN0IHm6IYBtSX2qZ2BCegqmJToZmCHxIqKEGS7YDdlSA05tF9WkSXYJGwoyELe4jNc23IqgqVbBkENQpV8cJKqOR+TxEFJWvI3XfDiacblCaQG06JTsHId8G5Mpaao8IQQmAWqpbmRuoLfpoO9a0Qzt3uA+zscMzqvfozDUbwolQZ2ZiMv8yyjhXboExvAhxRAB2uLEqTlwifHJtjBXAuPMUpOUD43Ul2WCpMhxoca2xvQvJm7pw6+BL3N3LQLEHDODKE.ynZkwhfBA0IB7Cn2cVEpBLF6NKzLOcJ8vaRZiGc2ztIK.6TJq7gqvX8+n9JyNRRpN+3rkaYsv05+PixnFjK.mHQCqFnqKH7G4dzh8648H0YVycOTHoGA0KstpUyVWeicBBVzVliJRQwatqg62JLGdd7Yzzx.pQOnO37MZsueMZ8zgjZJJ3C4L4QIT9s09EYhiPi3FFRApJKZC+kl1viiX9vSiLna6mYWT5fJ3a8GBQ2FXcHu.bSaS7eAv+kg6RjD0yAFBAjLglJYJ+2ZW56g2Y0ONzzdWZ14PgAXpYYd3oSsYaW9zgp.pvpOzVWLgtrxfecuoUB3dEMblsPO+d51MyV4286gpYplezvyk0e0uxT+QXu3ZiT72I+YL4xZh8jzKkpSYrp0DJSRSFy9MZ8YPxxCBX.FaabpOBcy.vcF2qwqmWmWbike.XYffyGOPm1Ccy2ngIED94vvSyO9fZlIyFPk9buSqdKlmwjSq6OKwLEt26YJtuz8Q1iXRuIKluMV.eU2R9elulIzZaOHHf5IqH6p1681O0wwVBpnGGHDdxOsnN6v73wv.qdTfIb3djpcjUC0EdsrqRVEYFS49EB+K7Y1bSkrkYyMK2DES7REm5o6XnlA7gEq.bhWLJbS6CTx3YMJT7NFFL8TOOUf36.luXDOYoQ7zkFwVKMhmszH1doQ78KMhmeGHT+JfWkCi6nuV.KLZPQCZKqAbBTUUTAh9Ojd9pJF
Greetings,
d
Woop,
One of the spam-bot addresses with a duplicate email address was fucking up the auto-register procedure which forced the server to reboot every hour and led to the socket connection drops experienced by everyone.
Fixed now. I hope the forum is more stable from now on.
Please let me know if you experience something unusual and i'll take a look at it.
Hey :)
The forum currently lives on a virtual server @ digitalocean and they had some maintenance works over the last days.. Seems to be resolved by now. Greets! D
It works this way:
the g.drawImage()
function takes the filmstrip, the position [x,y,width,height] and the offsets as parameters. (the x-offset doesn't work btw..)
on each tick you advance to the next frame with the y-offset. Therefore you need to calculate the y-offset position for each frame. The modulo %
operator provides a neat trick to divide the increasing index by the amount of the total frames. It returns a "looping" index with which you can cycle through the frames of your filmstrip.
greetings,
d
Resource:
on_off_64_64_24.png
reg index = 0; // index of the filmstrip
reg total_frames = 24; // total frames in the filmstrip
reg frame_height = 64; // the height(y) of each frame
Panel1.loadImage("{PROJECT_FOLDER}on_off_64_64_24.png", "dot");
Panel1.setPaintRoutine(function(g){
g.drawImage("dot", [0, 0, this.get("width"), this.get("height")], 0, index * frame_height);
});
Panel1.setTimerCallback(function(){
index = (index + 1) % total_frames;
this.repaint();
});
// Custom Callback for Button1
inline function onButton1Control(component, value)
{
if (value)
{
Panel1.startTimer(100);
}
else
{
Panel1.stopTimer();
}
};
HiseSnippet 1090.3ocsV8uaiSDDdcaLbIPPbR7.rJRmjCT5kTxUPpBQn4Gn.WaiZJm3DBEs0dc7pZuqk85qMpJua7Hwa.Lq20INsIkK+QspZ6Ny7sy2L6ryriSDtzzTQBxp5UyioHqO2dxbtLnW.gwQi5ir9R6wgDojxSiYzPZB5z4wjzTpGxxZ+eQYkU0Jn7u+4mNkDR3tzUhPn2IXtz2xhXxURG282XggCIdzqXQkrtS2QtBdOQnHCXz91sPwD2aHynmSTlsmMx5SF3wjhjIRhjlhrpbpva9j.wsbs8uikxtNjpVzFMA1Hs3ghPOEiURQ8BXgdiKh7TDrKiWkG1WmG9J6yXdrkxKmOTJvqPTNeXs2SQu1koWqOd5YUhdUzz6k1SbSXwxUZTb6yrGwkzDeBbDTlVZaQ68pJ18DfEb4gQjanCSfEKQ3bbqVGfeSqVMOods50fChTI9CjD7XBmF1F+i3BrynxdhnXAGV3zPqtgB0JLmlIkB91AYz2P6qD5LLi6QuCru0I3W+ZyJgOVFPw9rvnTIDBXsoRgjDN0OAJJRADG0IGRtTrQJiuNRMvbkSCnrYAR.3wFffgZYNyap7Ik3FnsUQt50zQ3ggBh2nHnZzow8iu7hecPuqlN7h21evkKD7oBe+oG2Q8yQcNLlOqwA3FdBoIBMaQJUNFJjjWJxjLN0wOi6JYBtyrl2WuFF9z+d1gdIjaMNSsKGf+S3vA9QFvRU4RmF2x7jAMZVVjNJZz7uxMUmC+50hZEaV7PJotDlziDFdMbaaEmJnTwIii9e9Fb6l3Ws1gvIZCyIRBMVEgNk7T8ZPVtWVpTDgKbC1WrrJQYAiGBIDbgywBtQop9IQD53VT7b.TfElQaVuFvupLerSwZEGtuHEp9JBQIIQGjNs0k2JkKz+gFlRMP2.PQrFWIPKxio+mxZUZ0v7kI1GFRp8rT7dtPRu.x50tuV0ZKdjFe+MoxrUgJJ9XsFtuUXN7rnqoIEYTicPSl06hYu8tXkax5pSIkLTvGwYxKho7s0aCYxiptbFRAlJy6w8Eldb5rFhAsxpZaRgnbFWdNC52G0mHIEaDrmfehoIRlJDr5S+.LGR27rpceZ5MvYKLRY4gGLZQ615EsVU0.4d8E155AzcqbXqtyKuH+xX4Ab5qakkfdrqdxHbKN6ueeWI8NXO9T675ZzCb8ztnGOt.FZI7xf43qOISM91n.pKVajgZr.OkImWd79yx3sOV59R6wLoavl46dafuPovyMeMOVnt8.eepqbEYqXO7Od9eY.ROGY1YDXFGTuXedVzD3sStTfIbnjUc40ZO00L85Vp0pLyDJ2Kew+BeFksUqsLJaWnDEQbSDSc0WNUOG4E4R.NwyeUVU6yTqwKuSp3cD7FoottpDw2BLeyHNZmQ7c6LhN6Lh2ryHNdmQ786Lhe3IPndP5OmASW0WK.AiGj2KzxZ.m.UU4Ufn+CSrMQs.
The night mode is one of the forum plugins that was marked incompatible with the latest forum version, therefore i deactivated it, to fix the stability issue.
We can try to put it back online, and see if we experience general problems with forum. Please let me know if you experience some.
G,
Dominik
Did some updates yesterday/today, and still some bug in there. I guess some plugin dependencies. Will try to fix this as soon as possible. best,d
@trillbilly @Dan-Korneff @orange
Jup, still some nightly one-hour downtimes.. Apologies for this. Thought this would be gone now but nope,, running some loggers now to pin down the problem.
Hey :) ,
Was bumping the forum to the latest version to get get rid of that pesky spamsters.. A few hiccups on board apparently.. Did another update right now. Please let me know if this works better for you or if there are still some bugs. (Could be that there is some faulty stuff in the plugins.. thats always a bit messy)
Greets,
Dominik
I'll leave this HISE snippet here for a quickstart into GLSL with HISE: (requires the latest scriptnode_codegen_rewrite branch)
HiseSnippet 954.3ocsV01aaSDG+bZLrXHSLI9.XkW4HUxbfsARSSj17vVzZSsl2JHgPcWsuDepmuyx97FQSUhOZ7J97v2.3+4yN1EbKn.Dk27+4e+e7rWpHfjkIRQF8d81DBx3SM82xkQSivTNZ4Ljw8MOEmIIo1ZVGuMAmkQBQFFG7bECidcQE+9su8XLCyCH0rPnyEz.xIzXprlq2jWRYrE3PxqowMz9QSVFH3SELQNfmCLcQI3fqvaHqvJ05XhL9n4gToH0WhkjLjQ2iEga8iDumq0+bZF8RFQQLF4CNRydgfEpPrhKZZDkE5Uk2YHvKd0UgCzUgO27TZHcG+5pwmUHvt1hl0CiN2E7F2DdtsBO21fmQC30UCuGX5GjRSj0RTX6SLWxgF0ZLzBZBKstnN+ZGyoBPCtbTL9JxhTfXmENOw08P6G65N7o8s5aAMhLo86vo1dXNgM19Y1U1tgHmJhSDbfvYfV7.kU01jEAM2zF1DjRfRheAamAZwCzQ5gOTSNJiHOlQ3gKx4ANxzbxgk9YzyO4B+WM8hiNw6EGY2j6YqlqcReKMNTNwC5UxWIxkTNwYM3LIUvc1Lru0G5a0ayHbRBaaITzt5P6e.xc3uLhloxuuiFJibFVy3ED5lHoyveTEtqqhYcB+Rt3xauFUHsHcobFfJ6JTYK3ExTlkJXNAU1bH3UVNoDy0En2voqEowyvRryf3smqTZPkxJnUfr6DEJ2TFuoXF6RXEy4lvPmdMv3JgjbF2Yn0Gr5Ycsk8eVz50sJqzcLnN2lX0xe5cYnCOO9RU2QmdUJBaA2bMy71WyZdEHPWUZnnfujSkmkP321sATYoTsFVhJPUYwR38KWB8YTn6fnvt1GaVTGQE.t4kQzaVp5YUtA7HDkDRpjpR.iYj2AmI0618LmQxtRJRfKd65dvkOcP6Ws4qF2Kh48L0i9neZW.+4US1VG8YSduZbdGie45IQEiy6371zInFgp6ea9UGJTyP4kOA8WOVAmLEg4Lr7l2QUOdTJ.5523fk5nDOiJ21rD9u93Zq82+gv8AldTYPT63sSK3E5z+ei2xmp5aNe8ZRfrFrcMW78+29tTqPQehcyoXYJEFHLWkG6CubGP.jvgIR0loQG0Njl1UQqpL9vQ9BheG9UJbrh1nT33JgnXbPp3h.8lm5wv6UvAvDu3aB5AebBPauakyzzcjKJFdi9hf.Uo3K.r2tMe4dXyWsG17n8vlGuG17j8vludOr4atSaTedzQ4RQrdMAX3Mu3zmgwbNFlxJlHQ+APSk4ct
The new shader.glsl
file will get created in the the Scripts
folder of your project. Now it has to be filled with some content to make it work: Gladly Chris has introduced a new shortcut to directly access the .glsl file in HISE. Click the "onInit"-callback dropdown on the top of the Code Editor to open the file directly in the Code-editor, paste this snippet and compile [f5].
uniform float myValue;
void main()
{
// Normalized pixel coordinates (from 0 to 1)
vec2 uv = fragCoord/iResolution.xy;
// Time varying pixel color
vec3 col = myValue * sin(uv.xyx+vec3(1,2,3));
// Output to screen
fragColor = pixelAlpha * vec4(col, 1);
}
Happy journey :)
Like this: in the onControl Callback of the interface script:
function onControl(number, value)
{
switch(number)
{
case Knob:
{
VelocityModulator.setIntensity(value);
break;
}
};
}
You of course have to have const var VelocityModulator = Synth.getModulator("Velocity Modulator");
in the onInit Callback
Best,
d
@Fortune
take a look at the left bar in the Scripting Workspace.
You'll find a new Show/Hide ScriptNode icon..
bst,d
wow, sounds nice! :) + works right out off the box
2cents:
rocks,
Dominik