No parts of this work may be reproduced in any form or by any means - graphic,
electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems - without the written permission of the
publisher.
While every precaution has been taken in the preparation of this document,
the publisher and the author assume no responsibility for errors or omissions,
or for damages resulting from the use of information contained in this document or from the use of programs and source code that may accompany it. In
no event shall the publisher and the author be liable for any loss of profit or
any other commercial damage caused or alleged to have been caused directly or
indirectly by this document.
Due to the dynamic nature of product design, the information contained in
this document is subject to change without notice. Revisions of this information or new editions may be issued to incorporate such changes.
Products that are referred to in this document may be either trademarks and/or
registered trademarks of the respective owners. The publisher and the author
make no claim to these trademarks.
4
Page 5
Declaration of Conformity
We, manufacturer Visual Productions BV, herby declare under sole responsibility,
that the following device:
BStation2
Conforms to the following EC Directives, including all amendments:
EMC Directive 2004/108/EG
And the following harmonized standards have been applied:
NEN-EN-IEC 61000-6-1:2007
NEN-EN-IEC 61000-6-3:2007
Full name and identication of the person responsible for product quality and
accordance with standards on behalf of the manufacturer
Date: Place:
March 5th, 2020 Haarlem, The Netherlands
ing. Maarten Engels
Managing Director
Visual Productions BV
VISUAL PRODUCTIONS BV
IZAAK ENSCHEDEWEG 38A
NL-2031CR HAARLEM
THE NETHERLANDS
TEL +31 (0)23 551 20 30
WWW.VISUALPRODUCTIONS.NL
INFO@VISUALPRODUCTIONS.NL
ABN-AMRO BANK 53.22.22.261
BIC ABNANL2A
IBAN NL18ABNA0532222261
VAT NL851328477B01
COC 54497795
Page 6
Page 7
Chapter 1
Introduction
Thank you for choosing the B-Station2. The B-Station2 is a solid state controller
designed for two purposes.
Firstly, for remote-controlling a lighting system like CueCore2, LPU-2 or DaliCore. The buttons can be freely assigned to any function in the lighting controller, e.g. select a cue or start/stop a show. Because the B-Station2 uses
communication protocols that are open (in the public domain) such as UDP
and OSC, it can also be used for controlling third-party equipment like showcontrollers, lighting consoles, media servers or audio devices.
Furthermore, the B-Station2 is designed as a stand-alone lighting control system
for small lighting setups like LED or architectural projects. It can control up
to 32 individual DMX fixtures and supports 6 playbacks with each 64 cues. It
even features a dynamic FX-generator.
An internal web-server provides the web-interface through which you can program the B-Station2. A modern browser is required to access this web-interface
during set-up. A browser or computer is not required for standalone use after
the initial set-up.
At the time of writing this manual the B-Station2 firmware was at version 1.01.
This manual discusses setting up and programming the unit. Chapter 2 provides
background information on the communication protocols used the B-Station2.
Chapters 4 and 5 cover how to set up the unit and configure the network connection.
When the B-Station2 is just used for controlling external equipment then the
chapters 6 and 7 can be ignored. Setting up the remote control functionality is
done in the 8 chapter discussed on page 37.
Setting up the B-Station2 for stand-alone lighting control will involve the following steps:
• Patching fixtures (discussed in chapter 6)
• Creating cues (discussed in chapter 7)
7
Page 8
Figure 1.1: B-Station2
• Assigning buttons to trigger the cues (discussed in chapter 8)
1.1Features
The feature set of the B-Station2 includes:
• 6 user-assignable push-buttons
• RGB coloured LEDs
• Ethernet based, supporting protocols like UDP, OSC, Art-Net and sACN
• DMX-512
• RDM
• Web-based user-interface for programming
• Standalone control for 6 zones, 32 fixtures and 6x64 cues
• Standalone FX-generator
• PoE (Power Over Ethernet) Class I
• Compatible with CueCore2, QuadCore and IoCore2
• Bundled with vManager software
• Compatible with Kiosc software
8
Page 9
1.2Comparison
The following table visualises the difference between the B-Station1 and the
B-Station2.
B-Station2B-Station1
Buttons66
DMX1 universe1 universe
RDMyes-
LEDRGBWhite
Art-Netinput+outputinput+output
sACNinput+output-
TCPinput-
UDPinput+outputinput+output
OSCinput+outputinput+output
PoEclass Iclass I
DHCPyes-
1.3Limitations
The B-Station2 is a powerful device with many possibilities, however, there are
some limitations as shown in the following table.
9
Page 10
Fixtures32
Playbacks6
Cues per Playback64
Action lists8
Actions per list48
Actions system-wide64
Tasks per Action8
Tasks system-wide128
Variables10
Timers4
1.4What’s in the box?
The B-Station2 packaging contains the following items (see figure 1.2):
• B-Station2
• Info card
• UTP network cable
• 3 sheets with adhesive icons
Figure 1.2: B-Station2 box contents
1.5Saving data to memory
This manual will describe how to configure the B-Station2 and program playbacks, action, etc. The unit’s web-interface is used for editing these kinds of
10
Page 11
elements. When changes are made, these changes are directly stored in the
RAM memory of the B-Station2 and the programming will directly influence
the behaviour of the unit. RAM memory is, however, volatile and its content
will be lost through a power cycle. For this reason the B-Station2 will copy
any changes in the RAM memory to its onboard flash memory. Flash memory
retains its data even when not powered. The B-Station2 will load all its data
back from the flash memory upon startup.
This memory copy process is conducted automatically by the B-Station2 and
should not be of any concern of the user. One point of consideration is, however,
that after making a change the unit should be given time to perform the copy to
flash. As a rule of thumb, do not disconnect the power from the device within
30 seconds from making a programming change.
1.6Further Help
If, after reading this manual, you have further questions then please consult
the online forum at http://forum.visualproductions.nl for more technical
support.
11
Page 12
Chapter 2
Protocols
The B-Station2 supports various protocols. This chapter describes these protocols and to which extent they are implemented in the B-Station2.
2.1DMX-512
DMX-512 is the standard communication protocol for stage lighting. Its official
name is E1.11-2008 USITT DMX512-A. Nowadays the reach of the DMX protocol has extended beyond entertainment lighting and is also used for architectural
lighting.
Originally one DMX network contained 512 channels which is called a ’universe’.
With the growing size and complexity of lighting systems it is now very common
for a system to compose of multiple universes, each conveying 512 channels.
It is advised to use a shielded twisted pair cable for DMX cabling. The cable
should be terminated with an 120 Ohm resistor.
DMX-512 is a very successful protocol with, however, a few limitations. The
maximum number of attached devices is limited to 32 and they all have to be
connected in bus-topology having one cable running via each device. Furthermore, a DMX-512 cable should not be longer than 300 meters.
12
Page 13
Figure 2.1: Visual Productions’ RdmSplitter
The DIN Rail RdmSplitter from Visual Productions (See figure 2.1) helps tackle
those inconvenient limitations. The Splitter takes a DMX signal and sends it
out again on its 6 DMX output ports for scaling group topology. Each output
port is capable of driving 32 more devices. The Splitter can also function as a
signal booster as each port supports another 300 meter long connection.
The B-Station2 has one DMX port and is therefor able control 512 channels.
The port can be configured either as input or output. Figure 2.2 shows the
pinout of the connector.
Figure 2.2: DMX Pinout
2.2RDM
The Remote Device Management (RDM) protocol - officially called ANSI E1.20
- is build on top of the DMX-512 protocol. RDM enhanced DMX with bidirectional communication allowing the fixtures to be detected, addressed and
polled for status information.
Although standard DMX cables can be used, the equipment requires specific
electronic considerations for being RDM capable.
The B-Station2 can discover RDM fixtures and set starting addresses.
2.3Art-Net
The Art-Net protocol primarily transfers DMX-512 data over Ethernet. The
high bandwidth of an Ethernet connection allows Art-Net to transfer up to 256
universes.
The data sent out for Art-Net does put a certain load on the network, therefore
it is recommended to disable Art-Net when not in use.
The B-Station2 supports sending and receiving of one universe of Art-Net data.
13
Page 14
2.4sACN
The streaming Architecture of Control Networks (sACN) protocol uses a method
of transporting DMX-512 information over TCP/IP networks. The protocol is
specified in the ANSI E1.31-2009 standard.
The sACN protocol supports multi-cast in order to take efficient use of the
network’s bandwidth.
The B-Station2 supports sending and receiving of one sACN universe.
2.5TCP
The Transmission Control Protocol (TCP) is a core protocol of the Internet
Protocol Suite. It is used for its reliable, ordered and error checked delivery
of a stream of bytes between applications and hosts over IP networks. It is
considered ’reliable’ because the protocol itself checks to see if everything that
was transmitted was delivered at the receiving end. TCP allows for the retransmission of lost packets, thereby making sure that all data transmitted is received.
The B-Station2 supports reception of TCP message.
2.6UDP
User Datagram Protocol (UDP) is a simple protocol for sending messages across
the network. It is supported by various media devices like video projectors and
Show Controllers. It does not incorporate error checking, therefor it is faster
than TCP but less reliable.
There are two ways how to have the B-Station2 respond to incoming UDP
messages. The API (see page 83) makes typical B-Station2 functions available
through UDP. Furthermore, custom messages can be programmed in the Show
Control page (see page 37). This is also the place where to program outgoing
UDP messages.
2.7OSC
Open Sound Control (OSC) is a protocol for communicating between software
and various multi-media type devices. OSC uses the network to send and receive
messages, it can contain various information.
There are apps available for creating custom-made user interfaces on iOS (iPod,
iPhone, iPad) and Android.These tools allow to program fool-proof userinterfaces for controlling the device. E.g. Kiosc from Visual Productions.
14
Page 15
There are two ways how to have the B-Station2 respond to incoming OSC
messages. Firstly, the API (see page 81) makes typical B-Station2 functions
available through OSC. Secondly, custom messages can be programmed in the
Show Control page (see page 37).
2.8DHCP
The Dynamic Host Configuration Protocol (DHCP) is a standardised network
protocol used on Internet Protocol (IP) networks for dynamically distributing
network configuration parameters, such as IP addresses.
The B-Station2 is a DHCP client.
15
Page 16
Chapter 3
Quickstart
This chapter provides step by step tutorials on how to program your B-Station2
for some typical tasks:
• Remote control the playbacks in a CueCore2
• Stand-alone control of a RGB fixture
3.1Remote control the playbacks in CueCore2
This tutorial shows how to use the B-Station2 to remote the CueCore2. Follow
the next few steps in order to link the B-Station’s buttons to the CueCore2’s
playbacks.
1. Setup power and network
Connect the B-Station2, CueCore2 and the computer to a PoE capable
network switch.
16
Page 17
2. Connect to the network
Configure the equipment to have the following static IP addresses:
The B-Station2 can be set to static IP 192.168.1.10 by long-pressing the
reset button on the device’s electronic board.
3. Prepare the CueCore2
Make sure the CueCore2 has six cues inside playback 1. Each cues should
refer to a track with a certain lighting scene. Also, its OSC In port should
be set to 8000. Please refer to the CueCore2’s manual for more information.
4. Add template
Open a browser on the computer and browse to the web-interface of the
B-Station2 by typing ’192.168.1.10’ in the browser’s address field. Go
to the Show Control page and select the ’CueCore’ template. Press the
’Add >>’ button in the lower left corner of the screen.
17
Page 18
5. Set OSC IP address
Go to the B-Station2 Settings page and fill in ’192.168.1.11:8000’ in the
Out IP 1 field in the OSC settings.
Pressing the buttons on the B-Station2 should now activate cues within the
CueCore2.
3.2Stand-alone control of a RGB fixture
This example will patch one RGB fixture, create a playback with three cues and
assign buttons to those cues. Please take the following steps:
1. Setup power and network
Connect the B-Station2 and the computer to a PoE capable network
switch. Connect the fixture to the B-Station2’s DMX connector.
18
Page 19
2. Patch
Use the browser to go to the B-Station2’s Patch page. Select the first
fixture slot and assign a RGB personality from the table on the right.
3. Program the playback
Go to the Playback page and select the first fixture. Bring up the Red
slider in the Programmer section. Press the Record button, then click on
Playback1’s Go+ button. You have now stored the first cue. Repeat the
steps to record two more cues in Playback1.
19
Page 20
4. Clear the Programmer
Clear the Programmer by pressing the Clear button twice.
5. Assign buttons
Go to the Show control page. Add the ’Buttons ->6 Cues’ template.
Pressing the buttons 1 till 3 will now activate cues 1 till 3. The button’s LEDs
will indicate which cue is active.
20
Page 21
Chapter 4
Setting up
This chapter discusses how to set up the B-Station2.
4.1Mounting
The B-Station2 is wall-mount, it is compatible with European and American
gang boxes. If no gang box is available then the B-Station2 can also be surface
mounted. The inside of the B-Station2’s enclosure suggests where you can create
a hole for the cable to enter.
Figure 4.1: Mounting dimensions
21
Page 22
4.2Power
The B-Station2 is Power-over-Ethernet (PoE) powered, it requires PoE Class I.
4.3Labels
The B-Station2 is shipped with various adhesive labels that you can apply to
the buttons. If you wish to create your own labels then please use the following
dimensions.
Figure 4.2: Label dimensions
22
Page 23
Chapter 5
Network
The B-Station2 is a network capable device. A network connection between
between a computer and the unit is required to configure and program the
B-Station2, however, once the device is programmed then it is not necessary
anymore for the B-Station2 to be connected to an Ethernet network. A PoE
switch or a PoE injector can simply be used to power the B-Station2 without
any further need of network connection.
There are multiple arrangements possible for connecting the computer and the
B-Station2. They can be connected peer-to-peer using a PoE injector, via a
PoE network switch or using a combination of these and a Wi-Fi acces point.
Figure 5.1 illustrates these different arrangements.
Figure 5.1: Network arrangements
The Ethernet port on the B-Station2 is auto-sensing; it does not matter whether
23
Page 24
a cross or straight network-cable is being used. Although the Ethernet port is
classified as 100 Mbps, buffer limits may apply for specific tasks as API messages.
5.1IP Address
The B-Station2 supports both static IP addresses and automatic IP addresses.
By default, the B-Station2 is set to DHCP in which it will be automatically
assigned an IP address by the DHCP server in the network. The ’DHCP server’
is typically part of the router’s functionality.
Static IP addresses are useful when there is no DHCP server in the network, for
instance when there is a direct peer-to-peer connection between a B-Station2
and a computer. It is also useful in permanent installations where the IP address
of the B-Station2 is known by other equipment and therefor should not change.
When using DHCP there is always the risk of automatically being given a new
IP address in the event that the DHCP server is replaced. When using static IP
addresses make sure that all equipment on the network have unique IP addresses.
There are three ways to change the IP address setting of the B-Station2.
Figure 5.2: Reset button
• vManager can be used to detect a B-Station2 on the network. Once
found, the vManager software (figure chapter 12) allows for changing the
IP address, subnet mask and DHCP settings.
• If the IP address is already known then browsing to this address using the
computer’s browser will show the B-Station2’s web-interface. The Settings page on this web-interface enables changing the IP address, subnet
mask and DHCP settings.
24
Page 25
• By briefly pressing the reset button on the back of the device it toggles
between static and automatic IP addresses. When switching modes, the
B-Station2’s leds will briefly flash in red for DHCP, or in white for static.
By pressing and holding the reset button (see figure 5.2) on the device for
3 seconds, it will reconfigure the unit to the factory default IP address and
subnet mask. No other settings will be changed. The default IP address
is 192.168.1.10 with the subnet mask set to 255.255.255.0.
5.2Web-interface
The B-Station2 features an inbuilt web-server. This web-interface can be accessed via a standard browser. It is recommended to use any of the following
browsers:
• Microsoft Edge
• Google Chrome (v83 or higher)
• Apple Safari (v13 or higher)
• Mozilla Firefox (v54 or higher)
The web-interface enables you to configure and program the B-Station2. When
browsing to the unit the home page (figure 5.3) will appear first. The home
page is read-only; it provides information but does not allow for changing any
setting. The other pages present many settings that can be edited. These pages
will be discussed in the subsequent chapters.
Figure 5.3: Home page
25
Page 26
5.2.1Uptime
This field indicates how long the unit has been alive since its last reboot.
5.3Access via Internet
The B-Station2 can be accessed through the Internet. There are two ways to
achieve this: Port Forwarding and VPN.
• Port Forwarding Is relatively easy to setup in the router. Each router
is different so it is advised to consult the router’s documentation (sometimes it is revered to as NAT or Port-Redirecting). Please note that port
forwarding is not secure, since anybody could access the B-Station2 this
way.
• Accessing via a Virtual Private Network (VPN) tunnel requires more
setup efforts, also the router needs to support the VPN feature. Once set
up, this is a very secure way to communicate with the B-Station2. A VPN
is a network technology that creates a secure network connection over a
public network such as the Internet or a private network owned by a service
provider. Large corporations, educational institutions, and government
agencies use VPN technology to enable remote users to securely connect
to a private network. For further information about VPN please refer to
http://whatismyipaddress.com/vpn.
26
Page 27
Chapter 6
Patch
The Patch page is the starting point when using the B-Station2 as a standalone DMX controller. This page is used for identifying which fixtures will be
controlled. Up to 32 fixtures can be entered.
Figure 6.1: Patch Page
6.1Personality
Each fixture requires a ’personality’ (a profile that matches the fixture’s DMX
traits). The personality can be composed out of the following parameters:
27
Page 28
IIntensity
RRed
GGreen
BBlue
CCold White
WWarm White
AAmber
ZZoom
FFocus
SSpecial
When a parameter is 16-bit it requires two DMX channels. In this case, the fine
channel is denoted by the parameter character in small capitals. E.g. a 16-bit
RGB fixture, occupying 6 DMX channels, would have the following personality
RrGgBb.
6.2Address
DMX starting addresses range between 1 and 512. the B-Station2 automatically sets the DMX address when adding fixtures to the patch, by finding the
first available DMX channel in your configuration. You are free to change the
address.
If you had multiple fixtures selected, the B-Station2 will set the entered address
for the first selected fixture and will automatically have the next selected fixtures
follow the previous ones. For example, if you select four RGB fixtures in the
patch and set the address to 101. This will result in addresses 101, 104, 107
and 110 for the selected fixtures.
6.3Virtual Dimmer
Personalities with RGB but without Intensity will automatically be given a virtual dimmer. This means that the B-Station2 will act as if the fixture has an
intensity channel and allows for RGB and intensity to be programmed separately, however, it will modulate the intensity on the RGB values.
28
Page 29
6.4Discover
Use the Discover button to search for RDM capable fixtures. Fixtures found
via a RDM discovery will show their RDM UID in the patch table.
6.5Locate
When the Locate checkbox is enabled, then all fixtures will be doused except
the selected fixtures; they will be fully on.
29
Page 30
Chapter 7
Playbacks
When using the B-Station2 as a stand-alone lighting controller then the lighting
scenes and effects are programmed in the Playback page. It is assumed that
a patch has already been created on the Patch page prior to programming
playbacks.
Figure 7.1: Playback page
There are six playbacks. Each playback can have up to 64 cues. A cue holds
a lighting scene; this can be a static level for a fixture’s parameter (such as
Intensity or Warm White) or it can be a dynamic effect from the FX Engine.
30
Page 31
7.1Cues
A cue is flexible on how many fixtures it targets; ranging from a single fixture
to all. Likewise, it can control a single parameter or all of them.
7.2Programmer
When recording cues, first create a lighting scene which will be then stored in the
cue. The Programmer (figure 7.2) is the place where the scene is created. First
select a fixture, the programming window will update to show the capabilities
of those fixtures and enables you to set the parameters, e.g. set a dimmer level
or set a colour. You can now also deselect the fixture and select new ones; the
values will be kept in the Programmer’s memory.
Figure 7.2: Programmer
Values that reside in the programming windows’ memory have priority. For
example you might have a cuelist running that sets a certain dimmer to 50% but
if the programming window contains a dimmer level of 10% for that particular
fixture, then this dimmer will be set 10%. Therefor it is important to clear the
programmer once you’re finished recording cues.
The programmer has a few associated buttons:
7.2.1Clear
Press the Clear button once for clearing all values for the currently selected
fixtures and press it twice for clearing all values, even for fixtures currently not
selected.
31
Page 32
7.2.2Release
To stop a running playback you need to ’release’ it. There are a few ways how
to do this:
• Long-press the playback’s ’Go+’ button.
• Enable the Release button and then press a playback’s ’Go+’ button.
• Long-press the Release button; this will stop all playbacks.
• Program an action to release a playback
• Send a release command via the API
7.2.3Record
To copy the programmer’s content into a cue, press the Record button and then
click on one of the playback’s Go buttons.
If the playback was released then automatically a new cue will be added to this
playback. The new cue will contain the programmer’s information.
If the playback was currently playing a cue then the Record button will trigger
a pop-up dialog (figure 7.3) offering options on how to copy the programmer’s
information into the playback.
Figure 7.3: Record dialog
The record dialog offers the following choices:
32
Page 33
AppendA new cue will be added at the end of the playback.
InsertA new cue will be inserted at the current position.
ReplaceThe selected cue will have its value overwritten.
MergeThe selected cue will have its value merged with the values from the programmer.
7.2.4Load
It is also possible to transfer the content from a cue back to the programmer.
This is useful for altering an existing cue. Make sure a playback is playing the
desired cue. Then press the Load button and then press the playback’s Go+
button. In case the playback has multiple cues then a pop-up dialog (figure 7.4)
will allow you to choose which cue to load.
Figure 7.4: Load dialog
The programmer will now have a copy of the cue’s information. Also the fixtures
present in that cue will be automatically selected. After making your changes
you can write back the scene by using the Record button.
7.2.5Edit
The content of the playback can be exposed by enabling the Edit button and
the clicking on a playback’s Go button. This will open the Playback Editor
which is discussed on page 34.
33
Page 34
7.2.6Rename
To rename a playback or fixture, first enable the Rename button and then click
on a playback or fixture.
7.3FX Engine
Your playback consists of cues and cues are static lighting ’looks’. To animate
your lighting you usually create multiple cues and have the playback chase
between them. However, you can use FX to quickly create a dynamic animation
in your lighting. For example a smooth rainbow colour chase on your RGB
fixture would require you to program many steps. With FX you simply used the
FX dialog (see figure 7.5) to select the Rainbow effect for your colour attribute,
set a few parameter levels and it’s done.
Figure 7.5: FX dialog
There are also FX for RGB colour mixing e.g. a rainbow effect. FX also exists
for the intensity attribute. You can use intensity effects for quickly creating
some chases by using the Phase parameter.
7.4Playback Editor
The Playback Editor dialog allows you to change the properties of the playback
and its cues.
34
Page 35
Figure 7.6: Playback Editor
7.4.1Precedence
All active Playbacks produce DMX values. These values will be merged together and sent to the DMX output. The precedence setting determines how
this merging is done. Each playback can be set to either HTP (Highest Takes
Precedence), LTP (Latest Takes Precedence) or Priority.
HTP is the most common choice in precedence. With HTP the output of all
playbacks is compared to each other; for each DMX channel the level is set to
the highest value found in that particular channel amongst all playbacks. The
table below shows an example of HTP merging.
Playback 1Playback 2Playback 3Merged Output
Channel 10%0%25%25%
Channel 2100%0%25%100%
Channel 30%0%0%0%
Channel 40%100%25%100%
In the LTP approach only one playback is active amongst all LTP playbacks.
The output of that active playback is included in the merge with all HTP
playbacks. All other LTP playbacks are ignored. Which LTP playback is active
is determined by which playback is started latest, or which received a Go+
command latest. Please consider figure 7.7.
If there is a playback active with its precedence set to Priority then all other
playbacks are ignored. When there are multiple Priority playback then those
will be merged together according to the HTP principle.
35
Page 36
Figure 7.7: Precedence
7.4.2Release Time
The release time defines the behaviour when the playback releases. If the time
is set to 0s then the playback will shut off immediately. Otherwise the values
will gradually fade out over the duration set by the release time field.
7.4.3Repeat
This property determines what the playback does when it finishes the last cue.
LoopWill start over from the beginning.
BounceWill make it traverse back to the beginning, and it will keep going back and forth.
RandomThe order of the cues will be random.
OffThe Playback will automatically release when reaching the end of the cues.
7.4.4Fade
The cue will fade from the current levels to its programmed levels. The time it
takes to cross-fade is specified by Fade. When the fade is set to 0 then there
will be no cross-fade; the values will change instantly.
7.4.5Duration
Determines how long the cue will be active before traversing to the next cue.
This is the time between the completion of the cross-fade into this cue and and
the start of the cross-fade to the next cue.
The second option for the duration field is to input halt. In this case the cue
will continue to run indefinitely; it requires a Go+, Go- or Jump command to
traverse to the next cue.
36
Page 37
Chapter 8
Show Control
The B-Station2 can interact with the outside world; the buttons on de device
can be pressed or it can send and receive messages and values through various
protocols. It is possible to automate the B-Station2 by having it respond automatically to incoming signals. An example of this would be to start a playback
upon pressing a button on the B-Station2. Another option is integrating the
B-Station2 with other systems, by using the various protocols it can receive to
trigger its functionality. The Show Control page (See figure 8.1) enables this
kind of programming to be made.
Figure 8.1: Show Control page
The Show Control page presents a system of ’actions’. A signal that the B-
37
Page 38
Station2 needs to respond to or perhaps convert into some other signal, needs
to be expressed in an action. Before programming actions please consider the
show control structure in figure 8.2.
Figure 8.2: Show Control structure
The B-Station2 is capable of listening to various protocols. These available
protocols are listed in Sources, however, the B-Station2 can only actively listen
to 8 protocols at once. The active protocols are listed in Actionlists. Each
action list can contain actions. Within a protocol/source each individual signal requires its own action. For example, when listening to channel 1 and 2 on
the incoming DMX, the DMX action list needs two actions; one for each channel.
Inside the action we define the trigger and tasks. The trigger specifies for which
signal to filter. In the above DMX example the trigger would be set to ’channel
1’ and ’channel 2’ respectively. The tasks determine what the B-Station2 will
do when this action is triggered. Several tasks can be placed in the action.
There are tasks available for a wide range of B-Station2 features and external
protocols. Task types are detailed in Appendix B on page 72.
Please consult the API appendix on page 81 before implementing incoming OSC
or UDP messages; the API already exposes typical functionality through OSC
and UDP and therefor it might not be necessary to implement custom messages.
8.1Sources and Action Lists
The Sources listing presents all protocols that the B-Station2 is capable of re-
ceiving. It also includes internal features that can create events that can be
used for triggering actions, such as the B-Station2’s buttons. These sources
are available, however, they will only be actively listened to once added to the
action-list table.
38
Page 39
ButtonTriggers when pressing a button the the B-Station2.
PlaybackEvents generated by the playbacks
FixtureEvents generated by the fixtures
KioscTriggers from Kiosc. For each Action various controls can
be chosen such as buttons and sliders, colour picker etc. The
order of the actions will control the arrangement in Kiosc.
OSCOSC network message
UDPUDP network messages
TCPTCP network messages
DMX InputDMX received on the DMX port (switch port to input in
the settings page)
Art-NetArt-Net DMX data
sACNsACN DMX data
SystemEvents such as ’Start up’
TimerThere are 4 internal timers in the B-Station2. An event can
be raised when a timer starts or ends. Timers are set and
activated by the Timer tasks.
VariableThere are 10 Variables in the B-Station2. The Variable
source can trigger when the value of a variable is changed or
refreshed. Variables are changed or refreshed using the
Variable task.
RandomizerThe Randomizer source can trigger on a number randomly
created by the Randomizer task.
ActionlistTriggers whenever an Actionlist is enabled or disabled.
User List 1-4These action-lists have no trigger value. They can only be
triggered by the Action task. They are useful for advanced
programming.
Action-lists can be temporarily suspended by disabling their checkbox in the
Show Control page. There is also a task available to automate changing the
state of this checkbox.
8.2Actions
Actions are executed when a certain signal is received. This signal is defined
by the trigger. A trigger is always relative to the action-list the action belongs
to. For example, when the trigger type is set to ’Channel’ and the actionlist is
DMX Input it will only respond to the selected DMX channel inserted via the
physical DMX connections on the device. If the trigger-type is set to Channel
and the actionlist is Art-Net it will only respond to the selected channel inserted
via Art-Net.
39
Page 40
Figure 8.3 shows the screen when editing an action.
Figure 8.3: Editing an action
A trigger is determined by the trigger-type, trigger-value and trigger-flank fields.
Although these fields are not applicable for all action-lists and are therefor
sometimes omitted in the web GUI. The trigger-type field specifies what kind
of signal the action will be triggered by.
For example, when making an action in the Button actionlist there is the choice
between various trigger types. By selecting ’Short press’ for trigger type and
’1’ for Trigger value, the action will only be executed when the first button
is shortly pressed. If ’Long press’ is selected for trigger type and the trigger
value is set to ’2’, the action will only execute when the second button of the
B-Station is pressed for longer than one second.
In some actionlists actions do also need to specify the trigger-flank. The flank
further specifies the value that the signal should have before triggering the
action. For example, when an action is triggered from the Kiosc actionlist, the
flank will determine whether to trigger only when the button goes down or only
when it goes up. Appendix A provides an overview of the available trigger-types.
An action-list can have up to 48 actions, system-wide there is a maximum of 64
actions.
8.3Tasks
Tasks are added to an action in order to specify what to do when the action
gets executed. Up to 8 tasks can be included in an action, systemwide there is
a maximum of 128 tasks. The tasks are executed in the order of the list. There
is a wide selection of tasks available to choose from, they include altering any
of the internal software features like playbacks and fixtures but also sending
out messages through any of the supported protocols. The tasks are organised
in categories. Once a task is chosen from these categories each task allows for
further choice between several ’Features’ and ’Functions’. Tasks contain up to
two parameters that might be required for its execution.
40
Page 41
If the event that triggers the action passes a parameter along then this parameter
can be used in a task. The Set function makes a task use a fixed value, however,
when using the Control function then the trigger’s parameter is used. This is
very useful for conversions between protocols.
For example when converting OSC to DMX the OSC action specifies the URI
(e.g. /dmx100) and flank (e.g. OnChange) on which it will trigger. The actual
OSC (float) data received in the message will be passed along and fed into the
action. Then when a task (e.g. DMX) uses the function Control this OSC
float-level will be used for setting the DMX value.
A task can be tested by selecting it and pressing the Execute button in the
action-edit dialog. The complete action can also be tested; go to the Show
Control page, select the action and press the Execute button. When either of
these ’execute’ buttons are used, the source of the ’control’ value for tasks will
be the ’execute’ button. The result will depend on the chosen task and feature,
but will most likely be 100%, 1.0, or 255 when pressed and 0%, 0.0, or 0 when
depressed.
Appendix B provides a detailed overview of the available tasks, features, functions and parameters.
8.4Templates
The Show Control page presents a list of Templates. A template is a set of one or
more action-lists, actions and tasks. These templates configure the B-Station2
to perform typical functions; for example convert Art-Net to DMX or control
the 6 playbacks through the buttons. The templates thus save time; otherwise
actions should have been set up manually. They can also function as a guide to
soften the learning curve on Show Control; a lot can be learned from adding a
template and then exploring the actions and tasks it created. Please note that
some templates require settings to changed in the settings page; for example
the Receiving Art-Net template needs the DMX direction to be set to output in
order to achieve an Art-Net to DMX conversion. Appendix C gives an overview
of the available templates.
8.5Variables
Variables are part of the show control system in the B-Station2. There are 10
variables and each can hold a value in the range of [0,255]. These values can
be manipulated by tasks and can be used for advanced action programming.
Variables can be added as sources in order to have actions triggered when a
variable changes value.
Please note that the variable values are not stored between power cycles. You
can see the status of the ten variables in the monitor page, under Timers.
41
Page 42
8.6Timers
The show control system of the B-Station2 features four internal timers. By
using tasks, the timers can be set to certain durations and they can be started.
Once started the timers will countdown to zero. When the timer reaches zero
it will generate an event that can be captured by using the Timer actionlist.
Please note that the timer values are not stored between power cycles. You can
see the status of the four timers in the monitor page, under Timers.
8.7Randomizer
The Randomizer is an internal software feature that can generate a (pseudo)random number. This is useful for having an event trigger a random lighting
scene in a themed environment. The randomizer is activated by the Randomizer
task. The result of the randomizer’s calculation can be obtained by catching
the event in the Randomizer actionlist. The following example shows how to
use a button to trigger a random cue.
• Inside the Button actionlist is an action with Button 1 as a trigger. This
triggers the task Randomizer, which is set to a range of between 1 and
10. (Parameters 1 and 2 of the task Randomizer)
42
Page 43
• Next in the actionlist Randomizer there is an action triggered by the
Randomizer’s result. The task Playback, controlled by the result of the
Randomizer, jumps to a cue in Playback 1. (The playback is chosen in
Parameter 1 of the task Playback).
• When the button is pressed the randomizer picks a number between one
and 10, as defined in the Randomizer task. The Playback task receives
this number and triggers the corresponding cue.
43
Page 44
Chapter 9
Protocol Conversion
The B-Station2 supports various Ethernet-based protocols. Although some protocols are predominantly used for triggering the internal playbacks (such as
UDP and OSC) the B-Station2 is capable of converting one protocol into another. This chapter provides an insight on which conversions are possible and
how to set them up.
All possible conversions can be organised into two categories: Converting Control Protocols and Converting DMX Universe Protocols.
9.1Converting Control Protocols
The first category of conversions comprise the protocols typically used for triggering or transporting one piece of information. The following table shows these
protocols and what kind of information they are able to carry.
Although DMX, Art-Net and sACN are dedicated lighting protocols and naturally fit in the next category, their individual channels lend themselves well for
conveying control messages.
Setting up a conversion is done in the Show Control page. First add the incoming
protocol from the ’Sources’ table into the Actionlist table. Then add an action
to this new actionlist. Inside this action the trigger-flank field (if visible) should
44
Page 45
be set to Change; as this action should be triggered every time the incoming
signal changes. Furthermore, a task need to be added, the task-type determines
which protocol is the output of our conversion. It is important that the Function
in this task is set to Control. This will make sure that the output is not a fixed
value, rather it will output the information received from the incoming signal.
Figure 9.1 shows a conversion between DMX and OSC. This example assumes
the DMX port is set to Input on the Settings page.
Step 1
Step 2
Figure 9.1: Conversion from DMX to OSC
9.2Converting DMX Universe Protocols
This category includes all protocols that carry a DMX Universe (a block of 512
DMX channels). These protocols are DMX, Art-Net, sACN and KiNet. The
B-Station2 is capable of receiving a complete DMX universe from one protocol
and sending it out on a different protocol. Furthermore, it is able to merge
DMX universes from multiple sources into one output protocol. All this is done
with a minimal amount of configuration in the B-Station2. The following table
lists examples of the conversions that can be made.
45
Page 46
Example DMX Universe Conversions
DMX ->Art-Net
Art-Net ->DMX
DMX ->sACN
sACN ->DMX
Art-Net ->sACN
It is also possible to create combinations of the examples above. For instance
you could set up a conversion from DMX to both Art-Net and sACN. Or merge
incoming Art-Net and sACN together into the DMX output. Also, at any point
it is possible to merge the incoming DMX data with the data generated by the
internal playbacks.
To set up the conversion go to the Show Control page and choose the incoming protocol from the Sources table and add it to the Actionlists table. Then
add an action for the DMX Universe you wish to convert. The trigger-type in
the actions should be set to UniverseA to make the B-Station2 process the 512
channels as a whole rather then process individual channels. The action should
contain a DMX-task with the Feature set to Universe; all DMX Universe data
is first being copied into the B-Station2’s internal DMX buffer. From this buffer
it can be copied to the DMX, Art-Net and/or sACN outlet using the function
Control HTP. The different protocols can be enabled or disabled on the settings
page. Figure 9.2 provides a schematic for this data flow.
Figure 9.2: DMX merging data flow
The additional Clear function is not related to the data merging process; it is
just a function to clear the whole universe to zero.
Please note that the Templates table provides pre-programmed configurations
for the most popular conversions.
A very typical conversion that can illustrate as an example is to convert ArtNet universe 0.0 to the DMX output. Figure 9.3 shows the actionlist, figure 9.4
shows the contents of the action and figure 9.5 shows the required configuration
of the Settings page.
46
Page 47
Figure 9.3: Converting Art-Net to DMX step 1
Figure 9.4: Converting Art-Net to DMX step 2
47
Page 48
Figure 9.5: Converting Art-Net to DMX step 3
48
Page 49
Chapter 10
Monitors
This page allows the user to inspect the incoming and outgoing data, both
DMX-type data (See figure 10.1) as well as control messages (See figure 10.2).
Monitoring incoming and outgoing data can help the user troubleshoot during
programming.
Figure 10.1: DMX Monitor page
On the monitor page the following information is available:
49
Page 50
OutputThe combined Playback, ShowControl, DMX, Art-Net and sACN output.
DMX InputThe dmx signal physically inserted in the DMX port
Art-Net InputThe signal received over Art-Net
sACN InputThe signal received over sACN
TCPThe messages received over TCP
UDPThe messages send or received over UDP
OSCThe messages send or received over OSC
TimersThe internal timers and variables
For the DMX, Art-Net and sACN inputs and outputs the preferred unit for
displaying the information can be chosen on the right.
Figure 10.2: OSC Monitor page
50
Page 51
Chapter 11
Settings
The B-Station2’s settings are organised into sections, see the Settings page figure
11.1. This chapter will discuss each section.
Figure 11.1: Settings page
51
Page 52
11.1General
You can change the B-Station2’s label. This label can be used to distinguish
the unit in a set-up with multiple devices.
By enabling the Blink checkbox the device’s LED will blink to help to identify
it amongst multiple devices.
Figure 11.2: General Settings
Unauthorised users can be prevented by making changes to the B-Station2 by
enabling the Password protection. Once enabled, the password can be disabled
via the web-interface (using the Disable button) and the reset button (see figure
5.2). Long-press the reset button to disable the password protection; this will
also revert the unit’s static IP back to the default factory settings.
11.2IP
The IP fields are for setting up the IP address and subnet mask of the BStation2. The Router field is only required when Port Forwarding is used. You
can also enable or disable the DHCP feature (For more information see chapter
5 at page 23).
Figure 11.3: IP Settings
52
Page 53
11.3Buttons
Here the six buttons of the B-Station2 are represented in the browser interface.
They can be pressed for testing purposes.
Figure 11.4: Buttons
11.4DMX
The DMX settings specify wether the DMX port is an Input or output.
Figure 11.5: DMX settings
When the Slow DMX checkbox is enabled, the B-Station2 will slowdown the
rate at which it sends out DMX from its ports. This is done to facilitate DMX
fixtures that have difficulties keeping up with the optimal DMX transmission
rate.
RDM can be disabled by using the Enable RDM checkbox. This checkbox is
repeated on the Patch page.
11.5Art-Net
The Art-Net feature in the B-Station2 supports 1 universe out and 1 universes
in.
53
Page 54
This universe can be mapped to any of the 256 available universes in the Art-Net
protocol. The universe is entered in the ’subnet.universe’ format, i.e. the lowest
universe number is written as ’0.0’ and the highest universe number is denoted
as ’15.15’. The outgoing Art-Net transmission can be disabled by entering ’off ’
in the output fields.
Figure 11.6: Art-Net settings
The Destination IP determines where the outgoing Art-Net data will be send to.
Typically, this field contains a broadcast address like 2.255.255.255 which will
send the Art-Net data to the 2.x.x.x IP range. Another typical Art-Net broadcast address is 10.255.255.255. When using broadcast address 255.255.255.255
then all the devices on the network will receive the Art-Net data.
It is also possible to fill in a unicast address like 192.168.1.11; in this case the
Art-Net data will be send to one IP address only. This keeps the rest of the
network clean of any Art-Net network messages.
11.6sACN
The B-Station2 supports 1 incoming sACN universe and 1 outgoing universe.
The universe field should hold a number in the range of [1,63999]. Outgoing
sACN transmission can be disabled by entering off into the sACN output field.
54
Page 55
Figure 11.7: sACN settings
11.7OSC
External equipment sending OSC messages to the B-Station2 need to be aware
of the number specified in the ’Port’ field. This is the port the B-Station2 listens
to for incoming messages.
Figure 11.8: OSC Settings
The B-Station2 will send its outgoing OSC messages to the IP addresses specified in the ’Out IP’ fields. Up to four IPs can be specified here. Use the ’ipaddress:port’ format in these fields, e.g. ”192.168.1.11:9000”. If a field should not
be used that it can be filled with IP 0.0.0.0:0. It is possible to enter a broadcast
IP address like 192.168.1.255 in order to reach more than four recipients.
Enabling the Forward checkbox will have the B-Station2 copy every incoming
OSC message and send it the addresses specified in the ’Out IP’ fields.
11.8TCP/IP
Defines the listening ports for TCP and UDP messages. External system intending to send TCP or UDP message to the B-Station2 should need to know
55
Page 56
the unit’s IP address and this port number. By default both ports are set to
7000.
Figure 11.9: TCP/IP settings
11.9Cloud
By enabling the Share Analytics options, you will help Visual Productions improve its products. When enabled, the B-Station2 will send low-bandwidth
diagnostics and usage data to Visual Productions. This information remains
anonymous. The Cloud ID is not implemented yet, and is for future functionality.
Figure 11.10: Cloud settings
11.10Default LED Settings
The Default LED settings can be set here. These settings will apply every time
the device is powered up. Further usage of the LEDs is programmed in the
Show Control page using the LED task. For more information, see chapter 8.
56
Page 57
Figure 11.11: Default LED settings
57
Page 58
Chapter 12
vManager
A free-of-charge software tool called vManager has been developed to manage
the devices. vManager allows for:
• Setup the IP address, subnet mask, router and DHCP
• Backup and restore the device’s internal data and settings
• Perform firmware upgrades
• Identify a specific device (in a multi device set-up) by blinking its LED
• Revert to factory defaults
Figure 12.1: vManager
The following section explain the buttons in the vManager, as seen in figure
12.1.
58
Page 59
12.1Backup
Backups of all the programming data inside the device can be made. This
backup file (an XML) is saved on the computer’s hard-disk and can be easily
transferred via e-mail or USB stick. The data of the backup can be restored via
the Restore button.
Figure 12.2: Creating a backup
Apps distributed by app stores are not allowed to access files outside this designated location. It is important to know where vManager is storing its files, in
case you wish transfer a backup file to memory stick or dropbox.
The designated file location differs per operating system and is likely to be a
long and obscure path. For this reason, vManager provides you with a shortcut
to the correct file location. A Folder button can be found in the file related
dialogs. Clicking this button will open a file browser at appropriate folder.
12.2Upgrade Firmware
To upgrade the firmware, first select the device and press the Upgrade Firmware
button. The dialogue allows for selecting from the list of firmware versions
available.
Figure 12.3: Firmware upgrade
Warning: Make sure the power to the device is not interrupted during the
upgrade process.
59
Page 60
12.3Set Date & Time
The computer’s date and time can be quickly copied to the unit by selecting a
device and clicking the Set Date & Time button. Not all Visual Productions
devices feature an internal real-time clock.
12.4Blink
The device’s LED can be set to Blink fast for identifying the particular unit
amongst multiple devices. The blinking is enabled by double-clicking on a device
in the Devices list or by selecting a device and then clicking the Blink button.
12.5Factory Defaults
All the user data like cues, tracks and actions are stored on the memory. They
will be completely erased and all settings will reverted to their defaults by
pressing the Factory Defaults button. This action does not affect the device’s
IP settings.
12.6Reboot
The Reboot button allows you to remotely restart the device. This is useful for
testing the unit’s behaviour after a power-cycle.
12.7Installing vManager
The vManager app is available on a wide range of operating systems, both
mobile and desktop.
The softwares is distributed through app-stores to take advantage of receiving
future software updates automatically.
12.7.1iOS
vManager can be downloaded from the Apple iOS app-store at https://itunes.
apple.com/us/app/vman/id1133961541.
12.7.2Android
vManager can be found on the Google Play store at https://play.google.
com/store/apps/details?id=org.visualproductions.manager.
60
Page 61
Android 5.0 or higher is required.
12.7.3Windows
Visit the Microsoft store at https://www.microsoft.com/en-us/p/vmanager/
9nblggh4s758.
Windows 10 is required.
12.7.4macOS
Visit the Apple macOS app store at https://apps.apple.com/us/app/vmanager/
id1074004019.
macOS 10.15 is recommended.
12.7.5Ubuntu
You can acquire the vManager from Snapcraft at https://snapcraft.io/
vmanager.
Alternatively, it can be installed by using the command-line:
snap find vmanager
snap install vmanager
To update the apps later on via the command-line type:
snap refresh vmanager
Ubuntu 18.04 LTS is recommended. The software is only available for the
amd64 architecture.
61
Page 62
Chapter 13
Kiosc
Kiosc is an application for creating custom touch screen user-interfaces for the
range of lighting controllers from Visual Productions. Kiosc is designed to have
no editing capability, making it a fool-proof interface that can safely be presented
to non-technical operators.
Figure 13.1: Kiosc
Kiosc is the ideal way to remote control our solid-state lighting controllers like
CueluxPro, CueCore1, CueCore2, QuadCore, IoCore1, IoCore2, LPU-2, DaliCore, B-Station1 and the B-Station2. Kiosc enables you to choose scenes or
presets, set intensity levels or choose RGB colours.
You can also use it to control third-party AV equipment. Kiosc speaks UDP
and OSC.
62
Page 63
Kiosc is available as software app and as a physical product. The hardware
version of Kiosc is a wall-mount 7” touch screen with Kiosc pre-installed. It is
powered by PoE and requires only a RJ-45 connection.
Figure 13.2: Kiosc
Please read the Kiosc manual, available from http://www.visualproductions.nl/downloads for more details.
63
Page 64
Appendices
64
Page 65
Appendix A
Trigger Types
The following tables list the different types of triggers that can be used in the
B-Station2. The different types are accompanied with values and flanks.
A.1Button
Trigger TypeTrigger ValueFlankDescription
ButtonButton IndexChangeButton pressed or released
CueChangeCue IndexChangeCue activated or deactivated
CueChangeCue IndexInactiveCue becomes inactive
CueChangeCue IndexActiveCue becomes active
CueIndexPlayback Index-Active cue index changed
CueLabelPlayback Index-Label of the current Cue
TrackBeginPlayback Index-Track starts
66
Page 67
A.4UDP
Trigger TypeTrigger ValueFlankDescription
MessageString-Receive a message that matches the trigger-value
Receiving--Receive any message
The user can define his own string as the trigger value of a message. Please
note that this string has a maximum length of 31 characters.
A.5TCP
Trigger TypeTrigger ValueFlankDescription
MessageString-Receive a message that matches the trigger-value
Receiving--Receive any message
The user can define his own string as the trigger value of a message. Please
note that this string has a maximum length of 31 characters.
A.6OSC
Trigger TypeTrigger ValueFlankDescription
MessageURIChangeReceive a message that matches the URI
MessageURIDownReceive a message that matches the URI and the
value non-zero
MessageURIUpReceive a message that matches the URI and the
value is zero
Receiving--Receive any message
The user can define his own URI as the trigger value of a message, however,
the OSC specification dictate this string must start with a ’/’ sign. Please note
that this string has a maximum length of 31 characters, including the ’/’.
UniverseA--A DMX level change in the first universe
UniverseB--A DMX level change in the second universe
Receiving-ChangeStart receiving or loose sACN signal
Receiving-StopLost sACN signal
Receiving-StartStart receiving sACN signal
A.9Kiosc
Trigger TypeTrigger ValueFlankDescription
--ChangeButton/Fader goes up or down
--DownButton is pressed
--UpButton is released
When editing the Kiosc actionlist it will be possible to add different kind of actions such as Button, Fader and Colour Picker. These elements will be displayed
in the Kiosc software.
68
Page 69
A.10Randomizer
Trigger TypeTrigger ValueFlankDescription
Result--The Randomizer made a new
value
Specific ValueNumber in the range of [0,255]-The Randomizer made a value
that matches
A.11System
Trigger TypeTrigger ValueFlankDescription
Startup--The B-Station2 has been power up
Network Connection-ChangeNetwork connection established or lost
Network Connection-StopNetwork connection lost
Network Connection-StartNetwork connection established
ReleasedByMaster-ChangeMaster (e.g. CueluxPro) released or
Tasks allow you to automate the functionality in the B-Station2. All this functionality is categorized in task-types. This appendix provides a listing of the
various task-types. The tables present an overview of all available features and
functions per task-type.
B.1Button
Force the Button actions to be triggered.
FeatureFunctionParameter 1Parameter 2
RefreshSet--
B.2Playback
Manipulate one of the six playbacks.
72
Page 73
FeatureFunctionParameter 1Parameter 2
IntensitySetPlayback Indexpercentage [0%,100%]
IntensityControlPlayback Index-
TransportPausePlayback Index-
TransportReleasePlayback Index-
TransportGo+Playback Index-
TransportGo-Playback Index-
TransportJumpPlayback IndexCue number[1,64]
TransportSoloPlayback Index-
TransportRandom SoloPlayback Index-
Play StateTogglePlayback Index-
Play StateControlPlayback Index-
Play StateInverted ControlPlayback Index-
Fader StartTogglePlayback Index-
Fader StartControlPlayback Index-
Fader StartInverted ControlPlayback Index-
B.3Playback Master
Manipulate the master settings on the Playback page.
FeatureFunctionParameter 1Parameter 2
Grand MasterSet-percentage [0%,100%]
Grand MasterControl--
Black-outSet-true or false
Black-outControl--
ReleaseAll--
B.4Fixture
Manipulate the fixtures directly.
73
Page 74
FeatureFunctionParameter 1Parameter 2
IntensitySetFixture [1,32]Percentage [0%,100%]
IntensityControlFixture [1,32]-
IntensityDecrementFixture [1,32]Delta [1,255]
IntensityIncrementFixture [1,32]Delta [1,255]
ColourSetFixture [1,32]Colour
ColourControlFixture [1,32]-
ColdSetFixture [1,32]Percentage [0%,100%]
ColdControlFixture [1,32]-
WarmSetFixture [1,32]Percentage [0%,100%]
WarmControlFixture [1,32]-
AmberSetFixture [1,32]Percentage [0%,100%]
AmberControlFixture [1,32]-
UVSetFixture [1,32]Percentage [0%,100%]
UVControlFixture [1,32]-
ShutterSetFixture [1,32]Percentage [0%,100%]
ShutterControlFixture [1,32]-
ZoomSetFixture [1,32]Percentage [0%,100%]
ZoomControlFixture [1,32]-
FocusSetFixture [1,32]Percentage [0%,100%]
FocusControlFixture [1,32]-
B.5LED
Control the button’s LEDs.
74
Page 75
FeatureFunctionParameter 1Parameter 2
IntensitySetLED [1,6]Percentage [0%,100%]
IntensitySet All-Percentage [0%,100%]
IntensityToggleLED [1,6]Percentage [0%,100%]
IntensityControlLED [1,6]-
IntensityDecrementLED [1,6]Delta [1,255]
IntensityIncrementLED [1,6]Delta [1,255]
IntensityFade in 0.3sLED [1,6]Percentage [0%,100%]
IntensityFade in 1sLED [1,6]Percentage [0%,100%]
IntensityFade in 3sLED [1,6]Percentage [0%,100%]
IntensitySoloLED [1,6]Percentage [0%,100%]
ColourSetLED [1,6]#RRGGBB
ColourSet All-#RRGGBB
ColourToggleLED [1,6]#RRGGBB
ColourControlLED [1,6]-
ColourFade in 0.3sLED [1,6]#RRGGBB
ColourFade in 1sLED [1,6]#RRGGBB
ColourFade in 3sLED [1,6]#RRGGBB
ColourSoloLED [1,6]#RRGGBB
PulseSetLED [1,6]Percentage [0%,100%]
PulseControlLED [1,6]-
PulseSoloLED [1,6]Percentage [0%,100%]
BlinkSetLED [1,6]Percentage [0%,100%]
BlinkControlLED [1,6]-
BlinkSoloLED [1,6]Percentage [0%,100%]
B.6UDP
Send a UDP message via the network. Specify the recipient in Parameter 2.
For example ”192.168.1.11:7000”.
75
Page 76
FeatureFunctionParameter 1Parameter 2
Send FloatSetfloating point numberIP address & port
Send FloatControl-IP address & port
Send UnsignedSetpositive numberIP address & port
Send UnsignedControl-IP address & port
Send BoolSettrue or falseIP address & port
Send BoolControl-IP address & port
Send StringSettext stringIP address & port
Send StringControl-IP address & port
Wake On LanSetMAC AddressIP address & port
Please note that string in parameter 1 has a maximum length of 31 characters.
When using the Wake On Lan feature parameter 1 should contain the MAC
Address of system’s NIC (Network Interface Controller) you wish to wake up.
The recommended value for parameter 2 is 255.255.255.255:7. This broadcasts the message to the whole network at port 7 which is most commonly used
for Wake On Lan.
B.7OSC
Send an OSC message via the network. The OSC recipients are specified in the
Settings page.
FeatureFunctionParameter 1Parameter 2
Send FloatSetURIfloating point number
Send FloatControlURI-
Send UnsignedSetURIpositive number
Send UnsignedControlURI-
Send BoolSetURItrue or false
Send BoolControlURI-
Send StringSetURIString of characters
Send StringControlURI-
Send ColourSetURIRGB colour
Send ColourControlURI-
Please note that string in parameter 1 has a maximum length of 31 characters, including the compulsory leading ’/’ sign.
76
Page 77
B.8DMX
Manipulate the DMX levels. These are the levels that can also be send out via
Art-Net or sACN.
FeatureFunctionParameter 1Parameter 2
UniverseControl HTP--
UniverseControl LTP--
UniverseControl Priority--
UniverseClear--
Set ChannelSetDMX ChannelDMX Value
Set ChannelToggleDMX Channel-
Set ChannelControlDMX Channel-
Set ChannelInverted ControlDMX Channel-
Set ChannelDecrementDMX Channel-
Set ChannelIncrementDMX Channel-
Bump ChannelSetDMX ChannelDMX Value
Bump ChannelControlDMX Channel-
Clear AllSet--
RGBSetDMX AddressRGB Colour Value
RGBControlDMX Address-
XYControlDMX Address-
XxYyControlDMX Address-
IiSetDMX AddressIntensity Value
IiControlDMX Address-
BlockControlDMX Start AddressDMX End Address
B.9Variable
Manipulate one of the 10 variables.
77
Page 78
FeatureFunctionParameter 1Parameter 2
Set ValueSetVariable #Number in the range of [0,255]
Set ValueToggleVariable #Number in the range of [0,255]
Set ValueControlVariable #-
Set ValueInverted ControlVariable #-
Set ValueDecrementVariable #-
Set ValueIncrementVariable #-
Set ValueStop ContinuousVariable #-
Set ValueContinuous DecrementVariable #Delta
Set ValueContinuous IncrementVariable #Delta
Set ValueControl ScaledVariable #-
Set ValueControl OffsetVariable #-
RefreshSetVariable #-
Single DimmerSetVariable #Delta
CurveControlVariable #Curve
CurveInverted ControlVariable #Curve
Variables are further explained on page 41.
The Single Dimmer feature is used to increase or decrease a level by using only
one switch. When controlling this task through a GPI action , then closing the
GPI will increase or decrease the level. Opening the GPI port will freeze on
the current level. This feature is useful for controlling an intensity will just one
button.
B.10System
Miscellaneous tasks.
FeatureFunctionParameter 1Parameter 2
BlinkSetOn or Off-
BlinkToggle--
BlinkControl--
The Blink feature controls the LED on the unit as seen in figure 5.2.
78
Page 79
B.11Action
Use the Link feature to have one action trigger another action.
FeatureFunctionParameter 1Parameter 2
LinkSetAction-
B.12Action-list
Manipulate an action-list.
FeatureFunctionParameter 1Parameter 2
EnableSetAction-listOn or Off
EnableToggleAction-list-
EnableControlAction-list-
EnableInverted ControlAction-list-
B.13Randomiser
Trigger the Randomizer to generate a new random number.
FeatureFunctionParameter 1Parameter 2
RefreshSetMinimum valueMaximum value
The Randomizer functionality is discussed on page 42.
B.14Timer
Manipulate on of the four internal timers.
FeatureFunctionParameter 1Parameter 2
PlaystateStartTimer #-
PlaystateStopTimer #-
PlaystateRestartTimer #-
TimeSetTimer #Time
79
Page 80
Appendix C
Templates
This appendix discusses the templates provided in the Show Control page.
TemplateDescription
Buttons ->6 PlaybacksEach button controls one playback. The LEDs indicate which
playbacks are active.
Buttons ->6 CuesEach button will jump one of the first six cues inside playback 1.
The LEDs will indicate which cue is active. Playback 1 should
contain at least six cues.
Buttons ->OSCEach button will send an OSC message.
Buttons ->UDPEach button will broadcast a UDP message on down and up
movement.
Buttons ->DMXEach button will control on of the first six DMX channels.
Buttons ->LPU-2The buttons will the first six playbacks in the LPU-2 device. The
LPU-2’s feedback is used to control the button’s LEDs. Specify
the LPU-2’s IP address in the OSC table on the Settings page.
Buttons ->CueCore2Control the playbacks on a CueCore2/QuadCore through the
OSC fixed mapping.
Art-Net ->DMXConverts incoming Art-Net to DMX. Specify the Art-Net subnet
and universe on the Settings page.
OSC ->LEDsCreates actions for controlling the button’s LEDs through OSC.
80
Page 81
Appendix D
API
The B-Station2 is pre-programmed to make its internal functionality available
via OSC, TCP, UDP and HTTP. There is a simple API implemented for each
protocol. Notwithstanding these API’s, it is possible to create your own OSC,
TCP and UDP implementation in the Show Control page.
The API is originally designed for external equipment to control the B-Station2,
however, it is also capable to send information back. This feedback mechanism
is discussed at the end of this chapter, on page 86.
D.1OSC
The following table uses playback #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,6].
81
Page 82
URIParameterDescription
/core/pb/1/go+
*
-Jump to the next cue in playback #1
/core/pb/1/go--Jump to the previous cue in playback #1
/core/pb/1/jumpintegerJump to a specific cue in playback #1
/core/pb/1/release-Release the playback
/core/pb/1/intensityfloatSet the playback’s intensity
/core/pb/release-Release all playbacks
/core/pb/intensityfloatSet the master intensity
/core/pb/blackoutboolSet the blackout
/core/pb/solointegerStart a solo playback
*
This command does not work when the parameter is off or a 0 value.
The following table uses actionlist #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,8]. The table also uses action #2 as
an example. The number ’1’ can be replaced by any number in the range of
[1,48].
URIParameterDescription
/core/al/1/2/executebool/float/integerExecute action #2 inside action list #1
/core/al/1/enableboolSet the ’enable’ checkbox for action list #1
The following table uses timer #1 as an example. The number ’1’ can be replaced by any number in the range of [1,4].
URIParameterDescription
/core/tm/1/start-Start timer #1
/core/tm/1/stop-Stop timer #1
/core/tm/1/restart-Restart timer #1
/core/tm/1/pause-Pause timer #1
/core/tm/1/settime-stringSet timer #1 at the time-string
The following table uses variable #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,8].
82
Page 83
URIParameterDescription
/core/va/1/setintegerSet the value of variable #1
/core/va/1/refresh-Refresh variable #1; a trigger will be generated as if the
variable changed value
/core/va/refresh-Refresh all variables; triggers will be generated
The following table shows how to active miscellaneous functions.
URIParameterDescription
/core/bu/1boolSet the button state
/core/ld/1floatSet the LED intensity
/core/ld/1colourSet the LED colour
/core/dmx/1integerSet the value of a DMX channel
/core/blink-Momentarily flashes the B-Station2’s LED
/core/hello-The unit will reply with the same Hello message
D.2TCP & UDP
TCP (Transmission Control Protocol) is a protocol for sending messages across
an Ethernet network. TCP provides reliable, ordered and error-checked delivery
of messages between programs running on computers connected to a local area
network, intranet or the public Internet.
UDP (User Datagram Protocol) is a simple protocol for sending message across
the network. It does not provide any error checking. Although UDP is a bit
faster than TCP, it is less secure.
Typically either TCP or UDP is supported by various media devices like video
projectors and show controllers.
The functionality within the B-Station2 can controlled by using the following
ASCII strings (human readable text) messages:
The following table uses playback #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,6].
83
Page 84
StringDescription
core-pb-1-go+Jump to the next cue in playback #1
core-pb-1-go-Jump to the previous cue in playback #1
core-pb-1-jump=<integer>Jump to a specific cue in playback #1
core-pb-1-releaseRelease the playback
core-pb-1-intensity=<float>Set the playback’s intensity
core-pb-releaseRelease all playbacks
core-pb-intensity=<float>Set the master intensity
core-pb-blackout=<bool>Set the blackout
core-pb-solo=<integer>Start a solo playback
The following table uses actionlist #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,8]. The table also uses action #2 as
an example. The number ’1’ can be replaced by any number in the range of
[1,48].
StringDescription
core-al-1-2-execute=<arg>Execute action #2 inside action list #1
core-al-1-enable=<bool>Set the ’enable’ checkbox for action list #1
The following table uses timer #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,4].
StringDescription
core-tm-1-startStart timer #1
core-tm-1-stopStop timer #1
core-tm-1-restartRestart timer #1
core-tm-1-pausePause timer #1
core-tm-1-set=<text>Set timer #1 at the time-string
The following table uses variable #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,8].
StringDescription
core-va-1-set=<integer>Set the value of variable #1
core-va-1-refreshRefresh variable #1; a trigger will be generated as if the
variable changed value
core-va-refreshRefresh all variables; triggers will be generated
84
Page 85
The following table shows how to activate miscellaneous functions.
StringDescription
core-bu-1=<bool>Set the button state
core-ld-1=<float>Set the LED intensity
core-ld-1=<colour>Set the LED colour
core-dmx-1=<integer>Set the value of a DMX channel
core-blinkMomentarily flashes the B-Station2’s LED
core-helloThe unit will reply with the same Hello message
D.3HTTP
HTTP (Hyper Text Transfer Protocol) is the standard protocol to access web
pages. It can also be used to control the B-Station2, using the URLs listed below.
The following table uses playback #1 as an example. The number ’01’ can be
replaced by any number in the range of [01,06].
DescriptionURLParameter RangeExample
Playback Go Forward/ajax/pbXX/go+-http://192.168.1.10/ajax/pb01/go+
Playback Go Back/ajax/pbXX/go--http://192.168.1.10/ajax/pb01/go-
Set time/ajax/tm/1/set<hh:mm:ss>http://192.168.1.10/ajax/tm/1/set=<01:02:03>
DescriptionURLParameter RangeExample
Set the button state/ajax/butrue/falsehttp://192.168.1.10/ajax/bu=true
Set the LED intensity/ajax/ld[0.0, 1.0]http://192.168.1.10/ajax/ld=0.7
Set the LED colour/ajax/ld#RRGGBBhttp://192.168.1.10/ajax/ld=#ff0000
Blink LED/ajax/bli-http://192.168.1.10/ajax/blink
You can send your HTTP GET requests to port 80.
D.4Feedback
The B-Station2 is able to send feedback to external equipment using its API,
so called ’clients’. The B-Station2 keeps a memory of the last four OSC clients
and last four UDP clients. The clients will automatically receive updates on
several playback related state changes.
Below is a table listing the messages the B-Station2 will send back to its clients.
86
Page 87
OSCUDP
/core/bu/1core-bu-1
/core/pb/1/intensitycore-pb-1-intensity
/core/pb/1/ratecore-pb-1-rate
/core/pb/intensitycore-pb-intensity
/core/pb/1/activecore-pb-1-active
/core/pb/1/cuecore-pb-1-cue
/core/al/1/enablecore-al-1-enable
/core/hellocore-hello
The hello command is ideal for polling the device; it allows you to verify that
the B-Station2 is online at the IP address and port that you expect.
A power-cycle will clear the internal client lists. Send /core/goodbye or core-goodbye
to explicitly be removed from the client list.
Consider programming custom action in the show control when additional feedback functionality is required.