Quote from Serge MAIMI on December 23, 2023, 1:15 pmHello,
I want to clarify that I have been using NeoBook since its inception and that I have created many often huge applications including databases.
I am on "VisualNeo win" and this is the first time I feel limited in my creativity.I’m trying to create an interface for lighting control in DMX mode.
These controls are done via the np8062 plugin that drives the external electronic board k8062 produces DMX.
DMX can be summed up as writing 512 values into an array (or other variable). for example if I write 255 at address 1 and 0 at the next two addresses in this table, the first DMX spot will produce red. if I write 0,255,0 It will be green and 0,0,255, it will be blue.A "standard" projector needs 8 values:
v1=255 r First adress of the first projector
v2=0 v
v3=0 b
v4=0 function 1
v5=0 function 2
v6=0 function 3
v7=200 dimmer
v8=210 speedv9=120 r First adress of the second projector
.
.
.
VisualNeo win is perfect for producing all the values needed to operate dozens of projectors.
But...
The many loops and tests required make the application extremely slow. (The more complex a NeoWin application, the slower it is) It can take several seconds before a projector changes color while the DMX has trnasfert times of a few miliseconds.the first solution is to divide (cut) the program into several small specialized applications:
A central engine that receives all the values and sends them constantly to the DMX board
Color management with the hpwImage plugin.
Luminosity management with some potensiometers.
The management of Lyres (motorized projectors that must move in real time) with the hpwSympleGraph plugin.
Etc...This cutting of applications creates a real-time communication problem.
I tried a DBpro database that is multi-user, but so slow!
I tried a . txt is 5 times faster, but not multi-user (causes errors that I hide with the -ShowErrors "False"- command).Two questions:
1° How do I communicate multiple NeoWin applications that work at the same time in real time?
2° If not, how to make VisualNeo faster (much faster)Thank you very much
Hello,
I want to clarify that I have been using NeoBook since its inception and that I have created many often huge applications including databases.
I am on "VisualNeo win" and this is the first time I feel limited in my creativity.
I’m trying to create an interface for lighting control in DMX mode.
These controls are done via the np8062 plugin that drives the external electronic board k8062 produces DMX.
DMX can be summed up as writing 512 values into an array (or other variable). for example if I write 255 at address 1 and 0 at the next two addresses in this table, the first DMX spot will produce red. if I write 0,255,0 It will be green and 0,0,255, it will be blue.
A "standard" projector needs 8 values:
v1=255 r First adress of the first projector
v2=0 v
v3=0 b
v4=0 function 1
v5=0 function 2
v6=0 function 3
v7=200 dimmer
v8=210 speed
v9=120 r First adress of the second projector
.
.
.
VisualNeo win is perfect for producing all the values needed to operate dozens of projectors.
But...
The many loops and tests required make the application extremely slow. (The more complex a NeoWin application, the slower it is) It can take several seconds before a projector changes color while the DMX has trnasfert times of a few miliseconds.
the first solution is to divide (cut) the program into several small specialized applications:
A central engine that receives all the values and sends them constantly to the DMX board
Color management with the hpwImage plugin.
Luminosity management with some potensiometers.
The management of Lyres (motorized projectors that must move in real time) with the hpwSympleGraph plugin.
Etc...
This cutting of applications creates a real-time communication problem.
I tried a DBpro database that is multi-user, but so slow!
I tried a . txt is 5 times faster, but not multi-user (causes errors that I hide with the -ShowErrors "False"- command).
Two questions:
1° How do I communicate multiple NeoWin applications that work at the same time in real time?
2° If not, how to make VisualNeo faster (much faster)
Thank you very much
Quote from Gaev on December 23, 2023, 6:33 pm@serge-maimi
I don't know anything about DMX mode, the np8062 plugin or the external electronic board k8062 ... but regarding your comment that ...
The many loops and tests required make the application extremely slow. (The more complex a NeoWin application, the slower it is) It can take several seconds before a projector changes color while the DMX has trnasfert times of a few miliseconds.
... have you considered performing the (slower) loop functionality using Javascript Functions ? ... over a decade ago, I did a comparative test and found that Javascript commands/loops were serviced thousands of times quicker than NeoScript commands/loops ... since then, Dave had improved the loop processing about ten times as fast ... which was satisfactory for most of the users.
If you post JUST the current NeoScript loops that are taking long, I can see if they can be done in Javascript.
As for ...
How do I communicate multiple NeoWin applications that work at the same time in real time?
... though not a simple thing to test/maintain, it may be possible ... involves invoking (Run command) the subordinate (VisualNeoWin) programs with required functionality as parameters ... if the subordinate programs are defined to only run one copy at a time, they can still receive the parameters, and choose to service them in sequence.
Something to ponder while you digest the Xmas dinner :-))
I don't know anything about DMX mode, the np8062 plugin or the external electronic board k8062 ... but regarding your comment that ...
The many loops and tests required make the application extremely slow. (The more complex a NeoWin application, the slower it is) It can take several seconds before a projector changes color while the DMX has trnasfert times of a few miliseconds.
... have you considered performing the (slower) loop functionality using Javascript Functions ? ... over a decade ago, I did a comparative test and found that Javascript commands/loops were serviced thousands of times quicker than NeoScript commands/loops ... since then, Dave had improved the loop processing about ten times as fast ... which was satisfactory for most of the users.
If you post JUST the current NeoScript loops that are taking long, I can see if they can be done in Javascript.
As for ...
How do I communicate multiple NeoWin applications that work at the same time in real time?
... though not a simple thing to test/maintain, it may be possible ... involves invoking (Run command) the subordinate (VisualNeoWin) programs with required functionality as parameters ... if the subordinate programs are defined to only run one copy at a time, they can still receive the parameters, and choose to service them in sequence.
Something to ponder while you digest the Xmas dinner :-))
Quote from Serge MAIMI on December 23, 2023, 7:31 pmThank you Gaev,
I would prefer of course to have only one application to manage everything.
I’m very interested in JavaScript functions, but I don’t know how to do it.
Should I develop "Call" functions?
I’ve already programmed in JavaScript, but in web pages. I’m not sure how to link VisualNeo and JavaScript.
Are there examples anywhere?Thank you very much.
Thank you Gaev,
I would prefer of course to have only one application to manage everything.
I’m very interested in JavaScript functions, but I don’t know how to do it.
Should I develop "Call" functions?
I’ve already programmed in JavaScript, but in web pages. I’m not sure how to link VisualNeo and JavaScript.
Are there examples anywhere?
Thank you very much.
Quote from Gaev on December 23, 2023, 7:45 pm@serge-maimi
I’m very interested in JavaScript functions, but I don’t know how to do it.
Should I develop "Call" functions?Yes.
I’ve already programmed in JavaScript, but in web pages. I’m not sure how to link VisualNeo and JavaScript.
The only thing that you would need to learn is how to pass (variable) values between the two environments.
The best way would be for you to post one/more of the loops that take long when using NeoScript ... I can then advise about performing the same using (Call'ed) Javascript functions.
P.S. When you post something requiring the attention of another user, best to include the forum name (the one beginning with @) ... this way, an email notification is sent immediately.
I’m very interested in JavaScript functions, but I don’t know how to do it.
Should I develop "Call" functions?
Yes.
I’ve already programmed in JavaScript, but in web pages. I’m not sure how to link VisualNeo and JavaScript.
The only thing that you would need to learn is how to pass (variable) values between the two environments.
The best way would be for you to post one/more of the loops that take long when using NeoScript ... I can then advise about performing the same using (Call'ed) Javascript functions.
P.S. When you post something requiring the attention of another user, best to include the forum name (the one beginning with @) ... this way, an email notification is sent immediately.

Quote from josevdr95 on December 25, 2023, 5:08 amHola, hay un complemento que permite ejecutar código PHP se llama NeoPHP los Loop deberían ser mucho más rápidos, el mismo complemento muestra ejemplos de loop en php. En JS también son mas rápido.
Apóyate en este bot en lenguaje natural para crear JS de forma fácil, en el post esta el link. https://visualneo.com/forum/topic/creacion-de-vbs-y-js-con-ai-entrenada-para-visualneo-win
La verdad esto funciona mucho mas rápido de lo que esperaba, ahora tendrías que verificar si es tan rápido como usted quiere.
VBS:
For i = 0 To 100 mensaje = "Hola desde el navegador web! (" & i & ")" publication.nbExecAction("AlertBox ""Hola"" """ & mensaje & """") NextJS:
for (var i = 0; i <= 100; i++) { var mensaje = "¡Hola desde el navegador web! (" + i + ")"; nbExecAction("AlertBox \"Hola\" \"" + mensaje + "\""); }for (var i = 1; i <= 100; i++) { var nombre = "Nombre " + i; nbSetVar("[ListaNombres" + i + "]", nombre); }
Hola, hay un complemento que permite ejecutar código PHP se llama NeoPHP los Loop deberían ser mucho más rápidos, el mismo complemento muestra ejemplos de loop en php. En JS también son mas rápido.
Apóyate en este bot en lenguaje natural para crear JS de forma fácil, en el post esta el link. https://visualneo.com/forum/topic/creacion-de-vbs-y-js-con-ai-entrenada-para-visualneo-win
La verdad esto funciona mucho mas rápido de lo que esperaba, ahora tendrías que verificar si es tan rápido como usted quiere.
VBS:
For i = 0 To 100
mensaje = "Hola desde el navegador web! (" & i & ")"
publication.nbExecAction("AlertBox ""Hola"" """ & mensaje & """")
Next
JS:
for (var i = 0; i <= 100; i++) {
var mensaje = "¡Hola desde el navegador web! (" + i + ")";
nbExecAction("AlertBox \"Hola\" \"" + mensaje + "\"");
}
for (var i = 1; i <= 100; i++) {
var nombre = "Nombre " + i;
nbSetVar("[ListaNombres" + i + "]", nombre);
}
Quote from Serge MAIMI on December 27, 2023, 8:43 pmGood evening everyone,
Thank you very much for your answers.I will try to work on the "Call" subroutines.
I will try to understand my loop problems. I understood that I have a problem of "global" and not "local" variables, which makes some loops steal the variable of another. (I know it’s basic, but when I create a big software, I start small and I add more and more functions that 'jostle' a little :(
I will review all this but slowly because I’m not 20 anymore.Unfortunately, I read the article about the K8062 card (DMX USB adapter) and the associated plugin for VisualNeo Win on "wiki.openlighting.org/index.php/Velleman_K8062_Upgrade" which announces that the K8062 is a very old technology that sends impulses every 10 milliseconds when we should rather aim for microseconds. Unfortunately, this is the only external card that have a plugin for VisualNeo :(
I will still try to improve my program.VisualNeo is really a great software package and I am sure I will manage to pilot lights with it.
Driving show lights in DMX is really a challenge in terms of "real time" programming. Ok there are plenty on the market, but... You all know that software made by "others"... it’s not as good as the ones we make ourselves. :)Bonnes fêtes
Good evening everyone,
Thank you very much for your answers.
I will try to work on the "Call" subroutines.
I will try to understand my loop problems. I understood that I have a problem of "global" and not "local" variables, which makes some loops steal the variable of another. (I know it’s basic, but when I create a big software, I start small and I add more and more functions that 'jostle' a little :(
I will review all this but slowly because I’m not 20 anymore.
Unfortunately, I read the article about the K8062 card (DMX USB adapter) and the associated plugin for VisualNeo Win on "wiki.openlighting.org/index.php/Velleman_K8062_Upgrade" which announces that the K8062 is a very old technology that sends impulses every 10 milliseconds when we should rather aim for microseconds. Unfortunately, this is the only external card that have a plugin for VisualNeo :(
I will still try to improve my program.
VisualNeo is really a great software package and I am sure I will manage to pilot lights with it.
Driving show lights in DMX is really a challenge in terms of "real time" programming. Ok there are plenty on the market, but... You all know that software made by "others"... it’s not as good as the ones we make ourselves. :)
Bonnes fêtes