Hey all,
I got kinda fed up with trying to edit long VDJScripts with lots of embedded conditions, editing that was driving me nuts. So spend a few hours today building an editor that will show the code with automatic indentation and Syntax highlighting to make it all a little more readable.
I need a couple more hours to finish a first version, any volunteers for testing?
![](/image/99479/116871/editor.png)
Cheers!
I got kinda fed up with trying to edit long VDJScripts with lots of embedded conditions, editing that was driving me nuts. So spend a few hours today building an editor that will show the code with automatic indentation and Syntax highlighting to make it all a little more readable.
I need a couple more hours to finish a first version, any volunteers for testing?
![](/image/99479/116871/editor.png)
Cheers!
Mensajes Sun 30 Jun 13 @ 5:10 pm
This is awesome!! Will there be a Mac version?
Mensajes Sun 30 Jun 13 @ 7:22 pm
does it come in monokai? but hells yeah that's an awesome idea. Another thing you could do is use regular expression to count all the \? and \: in a conditional function to make sure both sides are balanced. I use it in something similar but using web technology. I can send it to you if you want to have a look
Also can you add compiler variables. It would be easier if you could just do a script once with a variable placeholder. In my compiler webpage thing I use
@num = deck number loop;
@size = array(0.125, 0.25, 0.5, 0.75, 1, 4, 8, 16);
@effect = array(users can enter effect names or actions); eg
@effect = array('ramp_delay', 'philta', 'rollit', 'etc...') ;
or you could use it like this
@effect = array(
"deck "+@num+" effect 'ramp_delay' slider 1 50% & deck "+@num+" effect 'ramp_delay' slider 2",
"deck "+@num+" effect 'philta' slider 1 & deck "+@num+" effect 'philta' slider 2",
"deck "+@num+" effect 'rollit' slider 1 & deck "+@num+" effect 'rollit' slider 2",
"deck "+@num+" effect 'etc...' slider 4 & deck "+@num+" effect 'etc...' slider 6",
);
then when compiling just loop through the array
although I use individual textareas to unput the code before compiling so this may not work the same in something like this
Also can you add compiler variables. It would be easier if you could just do a script once with a variable placeholder. In my compiler webpage thing I use
@num = deck number loop;
@size = array(0.125, 0.25, 0.5, 0.75, 1, 4, 8, 16);
@effect = array(users can enter effect names or actions); eg
@effect = array('ramp_delay', 'philta', 'rollit', 'etc...') ;
or you could use it like this
@effect = array(
"deck "+@num+" effect 'ramp_delay' slider 1 50% & deck "+@num+" effect 'ramp_delay' slider 2",
"deck "+@num+" effect 'philta' slider 1 & deck "+@num+" effect 'philta' slider 2",
"deck "+@num+" effect 'rollit' slider 1 & deck "+@num+" effect 'rollit' slider 2",
"deck "+@num+" effect 'etc...' slider 4 & deck "+@num+" effect 'etc...' slider 6",
);
then when compiling just loop through the array
although I use individual textareas to unput the code before compiling so this may not work the same in something like this
Mensajes Sun 30 Jun 13 @ 7:24 pm
I was just thinking about this a little more... It would be cool if you could read the deck attribute and push that into the script at compile time, it may also be a good idea to add a grouping attribute to the definition that your program can identify so you are mapping just one time for each group of controls eg.. eq's, pads, volume etc... then loop over when compiling the .length of the groups. These would make the above possible
Mensajes Sun 30 Jun 13 @ 9:54 pm
beatbreaker1 wrote :
This is awesome!! Will there be a Mac version?
Mmm nopes, I dont develop anything for the mac, but perhaps we can figure out a way to host it on a VM or so.
Mensajes Mon 01 Jul 13 @ 2:02 am
synthet1c wrote :
does it come in monokai?
That are some funky pallets! Ill see what magic I can do.
synthet1c wrote :
Another thing you could do is use regular expression to count all the \? and \: in a conditional function to make sure both sides are balanced
Yeah I'll see what I can do, perhaps highlight the unclosed items.
synthet1c wrote :
Also can you add compiler variables. It would be easier if you could just do a script once with a variable placeholder.
That seems to be a powerful idea!
Mensajes Mon 01 Jul 13 @ 2:11 am
synthet1c wrote :
I was just thinking about this a little more... It would be cool if you could read the deck attribute and push that into the script at compile time, it may also be a good idea to add a grouping attribute to the definition that your program can identify so you are mapping just one time for each group of controls eg.. eq's, pads, volume etc... then loop over when compiling the .length of the groups. These would make the above possible
Hehe, lets finish the first version :P than more! Happy it at least sounds useful!
Mensajes Mon 01 Jul 13 @ 2:24 am
Its getting there!
![](/image/63845/116913/Untitled3.png)
Working on the undo and saving. When that's done ill pm you guys to play around with it.
![](/image/63845/116913/Untitled3.png)
Working on the undo and saving. When that's done ill pm you guys to play around with it.
Mensajes Mon 01 Jul 13 @ 1:26 pm
whoops
Mensajes Mon 01 Jul 13 @ 10:00 pm
can you make the user variables global to all pages? that way you could define them and easily share them across your whole mapping.
love the color scheme! ;-)
Also if you are going to update the XML file directly from your program you will need to replace all the special characters in the compiled strings
['&', ''', '&qout;']
love the color scheme! ;-)
Also if you are going to update the XML file directly from your program you will need to replace all the special characters in the compiled strings
['&', ''', '&qout;']
Mensajes Mon 01 Jul 13 @ 10:12 pm
synthet1c wrote :
can you make the user variables global to all pages? that way you could define them and easily share them across your whole mapping.
love the color scheme! ;-)
Also if you are going to update the XML file directly from your program you will need to replace all the special characters in the compiled strings
['&', ''', '&qout;']
love the color scheme! ;-)
Also if you are going to update the XML file directly from your program you will need to replace all the special characters in the compiled strings
['&', ''', '&qout;']
Yeah the variables are global to the application, so you can (re) use them in any script. And yes it will save the xml back in the right format :D
Mensajes Tue 02 Jul 13 @ 3:03 am
Well nice :D - i like it :D and I'll try it :D
Some time ago i posted a blocj in german language how to display the script better :D
![](http://www.virtualdj.com/image/10765/104312/vdjscript_2.PNG)
Is it possible to make a "scriptdesigner" that i am able to use if i'm doing a new too? - I've planed something and it would need a "scriptdesigner" :D - would that be possible?
Regards
Some time ago i posted a blocj in german language how to display the script better :D
Is it possible to make a "scriptdesigner" that i am able to use if i'm doing a new too? - I've planed something and it would need a "scriptdesigner" :D - would that be possible?
Regards
Mensajes Tue 02 Jul 13 @ 3:17 am
might add me to the tester´s list
Mensajes Tue 02 Jul 13 @ 6:19 pm
I'd be interested in testing as well.
Mensajes Wed 03 Jul 13 @ 10:42 am
Hey Guys,
Links to the beta build will be send as PM. Usage on own risk ;P
Features:
- Definable global constants
- Readable code editor
- Three 'monokai' inspired colorscheme's
- Backup copy on each save
Getting started
1) Open a file: Menu -> File -> Open
2) Selecting a part to edit: Click in the tree view
3) Selecting a color scheme: Use the selectbox
![](/image/71368/117050/edt1.png)
Now.. lets set a global constant:
1) Fill in the constant in the form: @name=script
![](/image/69070/117052/edt2.png)
2) Press the save button next to the constants editor. This will save the variables and update the Readable code editor. Note that no changes are yet made to the eventual VDJ Script.
![](/image/14460/117053/edt3.png)
Now... lets update a global constant
1) Update the constant
2) Press the save button next to the constants editor. This will save the variables and update the Readable code editor. Note changes are now made to the VDJ Script, but not yet to the file
![](/image/92702/117054/edt4.png)
Finally... edit and save
1) Update the code in the Readable code editor
2) Press the save icon next to the editor. File mapper is now saved again. A backup of the original xml file will be made with the extension '.bku'
Good luck!
Of course I presume there will be some quirks, errors and possible performance issues so let me know!
Links to the beta build will be send as PM. Usage on own risk ;P
Features:
- Definable global constants
- Readable code editor
- Three 'monokai' inspired colorscheme's
- Backup copy on each save
Getting started
1) Open a file: Menu -> File -> Open
2) Selecting a part to edit: Click in the tree view
3) Selecting a color scheme: Use the selectbox
![](/image/71368/117050/edt1.png)
Now.. lets set a global constant:
1) Fill in the constant in the form: @name=script
![](/image/69070/117052/edt2.png)
2) Press the save button next to the constants editor. This will save the variables and update the Readable code editor. Note that no changes are yet made to the eventual VDJ Script.
![](/image/14460/117053/edt3.png)
Now... lets update a global constant
1) Update the constant
2) Press the save button next to the constants editor. This will save the variables and update the Readable code editor. Note changes are now made to the VDJ Script, but not yet to the file
![](/image/92702/117054/edt4.png)
Finally... edit and save
1) Update the code in the Readable code editor
2) Press the save icon next to the editor. File mapper is now saved again. A backup of the original xml file will be made with the extension '.bku'
Good luck!
Of course I presume there will be some quirks, errors and possible performance issues so let me know!
Mensajes Thu 04 Jul 13 @ 1:18 pm
love it JB, It's great that it reads, updates and backs up the existing mapper, but I have found a bug in regard to the constants... It wont read a new line so the scripts need to be on a single line. Is there any way to have the constants span multiple lines, like by wrapping it with quotes or another special charcter?
It would also be cool if we could resize the constants window and use constants within other constants.
I will have a proper play with it tomorrow.
It would also be cool if we could resize the constants window and use constants within other constants.
I will have a proper play with it tomorrow.
Mensajes Thu 04 Jul 13 @ 2:38 pm
synthet1c wrote :
but I have found a bug in regard to the constants... It wont read a new line so the scripts need to be on a single line. Is there any way to have the constants span multiple lines, like by wrapping it with quotes or another special charcter?
It would also be cool if we could resize the constants window and use constants within other constants.
It would also be cool if we could resize the constants window and use constants within other constants.
Glad you like it!
Right now the constant list is a name value pair on a single line, but with a little work I can get that done, as well with using constants in constants. The resizable bit should also not the biggest problem.
Mensajes Thu 04 Jul 13 @ 2:59 pm
awesome! I wish I knew C++ so I could help you out
Mensajes Thu 04 Jul 13 @ 3:07 pm
synthet1c wrote :
awesome! I wish I knew C++ so I could help you out
Its old fashioned Delphi :P Easy :P
Mensajes Thu 04 Jul 13 @ 3:17 pm
IMPORTANT: Updated version in download, please redownload!
Mensajes Thu 04 Jul 13 @ 6:21 pm