Visual Productions TIMECORE User manual

TIMECORE
MANUAL
© VISUAL PRODUCTIONS BV WWW.VISUALPRODUCTIONS.NL

Revision History
Revision Date Author(s) Description
1 10.05.2016 ME Initial version.
2 10.11.2017 ME Added: RTP-MIDI, Rackmount ac-
cessory, MSC API & password protec-
tion feature. Replaced VisualTouch
info by Kiosc.
3 07.06.2018 ME Updated vManager chapter to reflect
app-store distribution. Moved major-
ity of Kiosc information to a dedicated
Kiosc manual. Added discussion on
password and share analytics.
2

c
2018 Visual Productions BV. All rights reserved.
No parts of this work may be reproduced in any form or by any means - graphic,
electronic, or mechanical, including photocopying, recording, taping, or infor-
mation 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 docu-
ment 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 informa-
tion 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

VISUAL PRODUCTIONS BV
IZAAK ENSCHEDEWEG 38A
NL-2031CR HAARLEM
THE NETHERLANDS
TEL +31 (0)23 551 20 30
WWW.VISUALPRODUCTIONS.NL
ABN-AMRO BANK 53.22.22.261
BIC ABNANL2A
IBAN NL18ABNA0532222261
VAT NL851328477B01
COC 54497795
Declaration of Conformity
We, manufacturer Visual Productions BV, herby declare under sole responsibility,
that the following device:
TimeCore
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:
May 8th, 2017 Haarlem, The Netherlands
ing. Maarten Engels
Managing Director
Visual Productions BV

Chapter 1
Introduction
The TimeCore is a solid-state device for handling timecode. It is intended to
be used for entertainment shows at events, concerts, festivals and in themed
environments. The TimeCore will help in keeping the various show elements
like sound, lighting, video, laser and special FX synchronised.
Figure 1.1: TimeCore
The TimeCore can generate timecode, it can convert it between different
protocols and it can display any received timecode on its display. The unit
features inbuilt web-server; this web-interface allows the user to configure the
unit. The web-interface also enables other non-timecode protocols like UDP,
OSC and sACN to be linked to certain timecode events. The TimeCore can be
the bridge between timecode and other non-timecode show equipment such as
video players, relays and dimmers. The TimeCore features a rich suite of pro-
tocols that include the two most popular timecodes in show business SMPTE
and MTC. Furthermore, it has Art-Net timecode implemented, which has the
advantage of being network-based.
This document discusses setting up the device and programming its internal
software functions. At the time of writing this manual the TimeCore’s firmware
6

was at version 1.07.
1.1 Features
The feature set of the TimeCore includes:
•Ethernet port
•Programming via web-interface
•SMPTE
•MTC
•MIDI, MSC, MMC
•RTP-MIDI
•OSC, UDP, TCP
•Art-Net (data & timecode)
•sACN
•Large 7-segment LED display
•2x user-definable push-button
•9-24V DC 500mA (PSU included)
•Power over Ethernet (class I)
•Desktop or DIN Rail mounted (optional adapter)
•Operating temperature -20C to +50C (-4F to 122F)
•Compliance EN55103-1 EN55103-2
•Bundled with vManager and Kiosc software
1.2 What’s in the box?
The TimeCore packaging contains the following items (see figure 1.2):
•TimeCore
•Power supply (inc. international plug set)
•Network cable
•Info card
7

Figure 1.2: TimeCore box contents
1.3 Saving data to memory
This manual will describe how to configure the TimeCore and actions, tasks,
etc. The unit’s web-interface is used for editing these kinds of elements. When
changes are made, these changes are directly stored in the RAM memory of
the TimeCore 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 TimeCore will copy any changes in the RAM
memory to its onboard flash memory. Flash memory retains its data even when
not powered. The TimeCore will load all its data back from the flash memory
upon startup.
This memory copy process is conducted automatically by the TimeCore and
should not be of any concern of the user. One point of consideration is, how-
ever, 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.4 Further 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.
8

Chapter 2
Protocols
The TimeCore is fitted with several communication ports and supports various
protocols. This chapter describes these protocols and to which extent they are
implemented in the TimeCore
2.1 SMPTE
SMPTE is timecode signal which can be used to synchronise audio, video, light-
ing and other show equipment. The TimeCore supports receiving SMPTE that
is transferred as an audio signal, also know as LTC timecode.
The TimeCore can send and receive SMPTE.
2.2 MIDI
The MIDI protocol is intended for inter-connecting musical devices such as syn-
thesisers and sequencers. Furthermore, this protocol is also very suitable to
send triggers from one device to another and is often used to synchronise audio,
video and lighting equipment. There is also a large collection of MIDI con-
trol surfaces available; user-interface consoles with knobs, (motorised-)faders,
rotary-encoders, etc.
The TimeCore is fitted with a MIDI input and MIDI output port. It supports
receiving and sending MIDI messages like NoteOn, NoteOff, ControlChange and
ProgramChange.
2.2.1 MTC
MIDI Timecode (MTC) is the timecode signal which is embedded into MIDI.
The TimeCore supports receiving and transmitting MTC. It is not recommended
to combine the use of MTC with ordinary MIDI as MTC consumes the band-
width of the MIDI connection.
2.2.2 MMC
MIDI Machine Control (MMC) is part of the MIDI protocol. It defines special
messages for controlling audio equipment such as multi-track recorders. The
9

TimeCore supports the sending of MMC commands; please refer to page 55.
2.2.3 MSC
MIDI Show Control (MSC) is an extension of the MIDI protocol. It comprises
of commands for synchronising show equipment like lighting, video and audio
devices. The TimeCore supports receiving MSC commands. This support is
hard coded and does not require any Show Control programming. Please refer
to appendix ??.
2.3 RTP-MIDI
RTP-MIDI is an Ethernet-based protocol for transferring MIDI messages. It
is part of the RTP (Real-time Protocol) protocol suite. RTP-MIDI is natively
supported by the macOS and iOS operating systems. Through installing a
driver, it is also supported on Windows.
Once the RTP-MIDI connection is established between the TimeCore and
the computer, then software running on the computer will see the TimeCore s
MIDI ports as if it was a USB connection MIDI interface.
2.4 Art-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, there-
fore it is recommended to disable Art-Net when not in use.
Additional to transmitting DMX-512 data, Art-Net can also be used for
transferring timecode information for equipment synchronisation.
The TimeCore supports sending and receiving of Art-Net timecode as well
as one universe of Art-Net data.
2.5 sACN
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 TimeCore supports sending and receiving of one sACN universe.
2.6 TCP
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
10

was transmitted was delivered at the receiving end. TCP allows for the retrans-
mission of lost packets, thereby making sure that all data transmitted is received.
The TimeCore supports reception of TCP message.
2.7 UDP
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 TimeCore respond to incoming UDP
messages. The API (see page 61) makes typical TimeCore functions available
through UDP. Furthermore, custom messages can be programmed in the Show
Control page (see page 18). This is also the place where to program outgoing
UDP messages.
2.8 OSC
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 MIDI and custom 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
user-interfaces for controlling the device. E.g. Kiosc from Visual Productions.
There are two ways how to have the TimeCore respond to incoming OSC
messages. Firstly, the API (see page 60) makes typical TimeCore functions
available through OSC. Secondly, custom messages can be programmed in the
Show Control page (see page 18).
2.9 DHCP
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 TimeCore is a DHCP client.
11

Chapter 3
Setting up
This chapter discusses how to set up the TimeCore.
3.1 Mounting
The device can be placed desktop or it can be DIN Rail mounted. The device
is prepared for DIN Rail mounting by using the ’DIN rail holder TSH 35’ from
Bopla (Product no. 22035000).
Figure 3.1: Bopla DIN rail adapter
This adapter is - amongst others - available from:
•Farnell / Newark (order code 4189991)
•Conrad (order code 539775 - 89)
•Distrelec (order code 300060)
3.2 Rackmount
There is an adapter available for mounting the TimeCore into a 19” rack . The
rackmount adapter is 1 HE and is sold separately. It fits two units, however, it
is supplied with one position closed by a blind panel, see figure 3.2.
12

Figure 3.2: Rackmount adapter
3.3 Kensington Lock
The device can be secured by using a Kensington style laptop lock.
Figure 3.3: Kensington lock
3.4 Power
The TimeCore requires a DC power supply between Volt with a minimum of
500mA. The 2,1 mm DC connector is center-positive. The TimeCore is also
Power-over-Ethernet (PoE) enabled. It requires PoE Class I.
Figure 3.4: DC polarity
13

Chapter 4
Network
The TimeCore is a network capable device. A network connection between
between a computer and the unit is required to configure and program the
TimeCore, however, once the device is programmed then it is not necessary
anymore for the TimeCore to be connected to an Ethernet network.
There are multiple arrangements possible for connecting the computer and the
TimeCore. They can be connected peer-to-peer, via a network switch or via
Wi-Fi. Figure 4.1 illustrates these different arrangements.
Figure 4.1: Network arrangements
The Ethernet port on the TimeCore is auto-sensing; it does not matter whether
a cross or straight network-cable is being used.
14

4.1 IP Address
The TimeCore supports both static IP addresses and automatic IP addresses.
By default, the TimeCore is set DHCP in which it will be automatically as-
signed 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 TimeCore and
a computer. It is also useful in permanent installations where the IP address
of the TimeCore 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.
The TimeCore’s LED helps to determine which kind of IP address is set. The
LED will indicate red when using DHCP and it will indicate white in the case
of a static IP address.
There are three ways to change the IP address setting of the TimeCore.
Figure 4.2: Reset button
•vManager can be used to detect a TimeCore on the network. Once
found, the vManager software (figure chapter 9) 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 TimeCore’s web-interface. The Set-
tings page on this web-interface enables changing the IP address, subnet
mask and DHCP settings.
•By briefly pressing the reset button on the device it toggles between
static and automatic IP addresses. By pressing and holding the reset
button (see figure 4.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.
15

4.2 Web-interface
The TimeCore features an inbuilt web-server. This web-interface can be ac-
cessed via a standard browser. It is recommended to use any of the following
browsers:
•Microsoft Edge
•Google Chrome (v59 or higher)
•Apple Safari (v10 or higher)
•Mozzila Firefox (v54 or higher)
The web-interface enables you to configure and program the TimeCore.
When browsing to the unit the home page (figure 4.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 4.3: Home page
4.2.1 Uptime
This field indicates how long the unit has been alive since its last reboot.
16

4.2.2 Last Server Poll
Indicates the last time the time & date was fetched from a NTP time server.
4.2.3 Master IP
When the unit is not in Stand Alone mode, then this field displays the IP
number of system that is mastering the TimeCore. Refer to chapter ?? for
more information on operating modes.
4.3 Access via Internet
The TimeCore 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 (some-
times it is revered to as NAT or Port-Redirecting). Please note that port
forwarding is not secure, since anybody could access the TimeCore 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 TimeCore. 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.
17

Chapter 5
Show Control
The TimeCore can interact with the outside world; it can receive messages and
values through various protocols and it can send out many protocols. It is pos-
sible to automate the TimeCore by having it respond automatically to incoming
signals. An example of this would be to start the time-code clock upon receiv-
ing a specific UDP network message. The Show Control page (See figure 5.1)
enables this kind of programming to be made.
Figure 5.1: Show Control page
The Show Control page presents a system of ’actions’. A signal that the
TimeCore needs to respond to or perhaps convert into some other signal, needs
to be expressed in an actions. Converting timecode protocols is the exception;
this can be done in the Settings page (see page 28).Before programming actions
please consider the Show Control structure in figure 5.2.
18

Figure 5.2: Show Control structure
The TimeCore is capable of listening to various protocols. These available
protocols are listed in Sources, however, the TimeCore can only actively listen
to 8 protocols at once. The active protocols are listed in ’Action Lists’. Each
action list can contain actions. Within a protocol/source each individual sig-
nal 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 TimeCore will do
when this action is triggered. Several tasks can be placed in the action. There
are tasks available for a wide range of TimeCore features and external protocols.
Task types are detailed in Appendix C on page 52.
Please consult the API appendix on page 60 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.
5.1 Sources and Action Lists
The Sources listing presents all protocols that the TimeCore is capable of re-
ceiving. It also includes internal features that can create events that can be used
for triggering actions, such as the power-up event. These sources are available,
however, they will only be actively listened to once moved to the action-list table.
19

Buttons One of the two front side buttons is pushed
MIDI MIDI messages
RTP-MIDI RTP-MIDI network messages
UDP UDP network messages
TCP TCP network messages
OSC OSC network message
Art-Net Art-Net DMX data
sACN sACN DMX data
Timecode Timecode signal, specify the incoming timecode protocol on
the Settings page.
Kiosc Triggers 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.
Randomiser The randomiser can generate a random number
System Events such as ’Power on’
Variable The Variable source works in combination with the variable
task (For more information about the Variable task please
refer to Task Types). The Variable task will set a value of
which an enabled action-list type with Variable as Source
will use as a trigger. The TimeCore will not keep the values
of the 8 variables between power-cycles.
Timer There are 4 internal timers in the TimeCore. An event will
be raised when a timer expires. Timers are set and
activated by the Timer tasks.
User List 1-4 These action-lists will never trigger an event, however, 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.
5.2 Actions
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’ then it refers to a single
DMX channel if the action is placed inside a ’DMX Input’ list and it means a
single Art-Net channel if the action resides in an Art-Net action-list.
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
20
This manual suits for next models
2
Table of contents