Vixen Script Projects: Difference between revisions

From doityourselfchristmas.com
Jump to navigation Jump to search
(New page: Vixen Script Projects stub)
 
(From <http://www.doityourselfchristmas.com/forums/showthread.php?t=5263>)
Line 1: Line 1:
Vixen Script Projects stub
Vixen Script Projects are written in C#, and allow for non-sequential control of displays.
 
==Vixen Standard Scripts==
Vixen Standard Scrips provide basic on/off, fade/ramp, timed control. To use this, create a New Event Sequence > Script Project.  Then, one must select ''Standard.dll'' from the Script > Modules menu.
 
====Standard.dll====
'''Note:''' The examples will use this example channel list:
* Channel_1
* Channel_2
* Channel_3
* Channel_4
 
=====Properties=====
Any of the channels imported into the scripted sequence are available by name.
Also, there is an additional "All" channel, which is all of the channels.
 
=====Methods=====
All assume to operate asynchronously; the action will return unless the Wait modifier is used (below).
* void On(channels, modifiers);
* void Off(channels, modifiers);
* void Ramp(channels, int startIntensity, int endIntensity, modifiers); // Intensities are 0-100
* void Random(channels, int saturationLevel, modifiers); // Saturation level is 0-100
* void Chase(channels, modifiers);
 
======Arguments======
"channels" is a ChannelCollection. There are a number of ways to create a ChannelCollection:
 
* ChannelCollection ChannelRange(startChannel, endChannel);
: Example: ChannelRange(Channel_2, Channel_4)
* ChannelCollection ChannelRange(startChannel, int count);
: Example: ChannelRange(Channel_2, 3)
* ChannelCollection ChannelRange(int startIndex, int count);
: Example: ChannelRange(1, 3)
* ChannelCollection Channels(...);
: The parameters for Channels() is a params list of channel collections. It can be used to create a single set of disjointed channel collections.
: Example: Channels( Channel_1, ChannelRange(Channel_3,2) );
: Example: Channels( ChannelRange(DateTime.Now.Hour,1), ChannelRange(10,10), Channel_2 );
 
"modifiers" is a params list made up of 0 or more of the following:
* At(int level) // Intensity level, 0-100
* For(int seconds) // Applies the action for the given time period.
* Over(int seconds) // Same as For(), just makes better sense in some uses.
* Wait // Wait for the action to complete.
* Every(int seconds) // Occurs at every time interval.
 
======Modifier time span======
The default measure of time is seconds. So For(5) would cause the action to span 5 seconds. The measure of time can be changed with one of the following properties on the modifer:
* Millisecond
* Second
* Minute
* Hour
: The plural version of each of those is also valid.
: Example: To have a chase span 3.7 seconds over the first 10 channels synchronously...
:: Chase( ChannelRange(1,10), Over(3700).Milliseconds, Wait )

Revision as of 07:25, 7 December 2009

Vixen Script Projects are written in C#, and allow for non-sequential control of displays.

Vixen Standard Scripts

Vixen Standard Scrips provide basic on/off, fade/ramp, timed control. To use this, create a New Event Sequence > Script Project. Then, one must select Standard.dll from the Script > Modules menu.

Standard.dll

Note: The examples will use this example channel list:

  • Channel_1
  • Channel_2
  • Channel_3
  • Channel_4
Properties

Any of the channels imported into the scripted sequence are available by name. Also, there is an additional "All" channel, which is all of the channels.

Methods

All assume to operate asynchronously; the action will return unless the Wait modifier is used (below).

  • void On(channels, modifiers);
  • void Off(channels, modifiers);
  • void Ramp(channels, int startIntensity, int endIntensity, modifiers); // Intensities are 0-100
  • void Random(channels, int saturationLevel, modifiers); // Saturation level is 0-100
  • void Chase(channels, modifiers);
Arguments

"channels" is a ChannelCollection. There are a number of ways to create a ChannelCollection:

  • ChannelCollection ChannelRange(startChannel, endChannel);
Example: ChannelRange(Channel_2, Channel_4)
  • ChannelCollection ChannelRange(startChannel, int count);
Example: ChannelRange(Channel_2, 3)
  • ChannelCollection ChannelRange(int startIndex, int count);
Example: ChannelRange(1, 3)
  • ChannelCollection Channels(...);
The parameters for Channels() is a params list of channel collections. It can be used to create a single set of disjointed channel collections.
Example: Channels( Channel_1, ChannelRange(Channel_3,2) );
Example: Channels( ChannelRange(DateTime.Now.Hour,1), ChannelRange(10,10), Channel_2 );

"modifiers" is a params list made up of 0 or more of the following:

  • At(int level) // Intensity level, 0-100
  • For(int seconds) // Applies the action for the given time period.
  • Over(int seconds) // Same as For(), just makes better sense in some uses.
  • Wait // Wait for the action to complete.
  • Every(int seconds) // Occurs at every time interval.
Modifier time span

The default measure of time is seconds. So For(5) would cause the action to span 5 seconds. The measure of time can be changed with one of the following properties on the modifer:

  • Millisecond
  • Second
  • Minute
  • Hour
The plural version of each of those is also valid.
Example: To have a chase span 3.7 seconds over the first 10 channels synchronously...
Chase( ChannelRange(1,10), Over(3700).Milliseconds, Wait )