How do scripts work?
Scripts are essentially a list of MIDI input messages from a specific controller linked to Deckadance 2 commands, and Deckadance commands linked to MIDI output messages that light controls or buttons on the controller. For example, when a controller sends a MIDI note message from its play button, you can map that to the play (or any) command in Deckadance, and map the play state to the controller play button light. More complicated behaviors are also possible, such as changing the command a button sends if a shift button is also held, for example.
What are Scripts made of?
Scripts use the AngelScript language that is closely related to the popular C / C++ programming language, syntax and data types. Writing scripts does require some time and inclination to learn the scripting language and Deckadance 2 commands. Generally we expect scripts to be written by manufacturers or advanced users. A good place to start looking for scripts for your controller is here. You can also use a script to make a custom version of existing controllers.
To learn more about writing script files, check the script_files sub folder of the Deckadance 2 installation for the following:
- tutorial.txt - provides small scripting tutorial.
- behringer_cmd_micro.c- script example.
- dd_commands.h - list of Deckadance commands available for scripting.
These files are also attached below
Scripting Tutorials
This page in the manual has a basic tutorial on writing scripts
http://www.image-line.com/support/DDHelp/html/deckadance_midiscripting.htm
These two introductory tutorials will help you get your head around Angelscript as it is based on the C/C++ programming language:
http://www.cprogramming.com/tutorial/c/lesson1.html
http://www.cprogramming.com/tutorial/c/lesson2.html
Multiple Controllers
One script file can support multiple controllers by combining scripts into a single file.
To use a script
Copy the scriptname.c file to the Deckadance 2 install folder in ..\Image-Line\Deckadance2\script_files then select it from the Preferences > MIDI Scripting tab.
Regards Scott