> This is part 1 of 7 of the full documentation (pages 1–100 of 635).
> The content is paginated: fetch every part to see all of it.
> Next part: https://docs.creativeconners.com/docs/llms-full.txt/1
> Page index: https://docs.creativeconners.com/docs/llms.txt

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
This site has an agentic ask interface you may use to query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.creativeconners.com/docs/index.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

---

# Creative Conners Docs

Welcome to Docs, Creative Conners New Product Documentation Center!

Welcome to our documentation site! If you bump into a broken link, missing image, or just can’t find what you’re looking for please let us know.

| [![](https://lh3.googleusercontent.com/jGWg5_0D_DRL-7RVEn3unSJeQFRRbg7f-npL0TXwoHpXFxJNvglN23F5Qje-PnhgY8Vk8maDlafG0V-Hs93y8Gn1FlPnVe5hXihK0ciU58vkJxA_PO8uzJDgim3OUoOTRE5RjLTF)](/docs/spikemark-6) | [![](https://lh3.googleusercontent.com/f0ydb0xy8YMKDWsJrP4FgbUaysJPEUZ8tMJHh5-cLctWYFYFSWVtHCSQJ0ah5HindJTtPI6hZocFN3jse4hoh3clUvEfVVmsRFxg83w6wWSTf5Wo6spQO_ob3vzmQEpVK_utio_a)](/docs/showstopper) |
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|  [![](https://lh3.googleusercontent.com/i4R5pRVhJOkIpQTOfCE412RUXkBHEocI-MDl3MIxzVcrL7veo62pW1HKHtYiFxgsGmlfF5Ld4mgU5CWGPuCgF7xve1Y-L959_mZWEmBS02flO7nMoGA7IuPUKNeVW6jyjbJYTxs6)](/docs/stagehand)  |  [![](https://lh4.googleusercontent.com/vo-jErA9R8jzwNU8jsy1yBH7O2t1YNPu1B-5_rwOsxD4La3HCfIGrM8pjIChXxJWAWPjcTkKCmO6ARqvD89bYP4bHY8HNHhiHNrc_UJzPr4hEuAnTQbTgmGMUWsXnkbnMJYwy02P)](/docs/machinery)  |

## CCI Docs Offline

We're still working towards a better solution, but here is how you can save a web page for offline viewing!

{% hint style="warning" %}
Keep in mind that links will not work when viewing a page offline
{% endhint %}

### Apple Mobile Devices

{% tabs %}
{% tab title="Chrome" %}
[As seen from Google Chrome Help:](https://support.google.com/chrome/answer/7343019?hl=en\&co=GENIE.Platform%3DiOS)

### Read pages later & offline

You can save web pages to read later, even if you're offline, like when you're on an airplane or somewhere without an Internet connection. To read pages later offline, download them in Chrome ahead of time.

#### Save a page from Chrome to read later

You need to be online to save a page to your Reading List.

1. On your iPhone or iPad, open the Chrome app ![Chrome](https://storage.googleapis.com/support-kms-prod/rRJpIiBBi9EGEG8yeU0T48bNDuOtYXttzLoa).
2. Go to a page you want to save.
3. Tap More ![More](https://lh3.googleusercontent.com/rdSHV07_eoB7NUi3yZmOlZtCx4_ShLe7Ywukv_AS-PZBX1Hu_FmPQoI89FseERsb-ad9=w36-h36) ![and then](https://lh3.googleusercontent.com/3_l97rr0GvhSP2XV5OoCkV2ZDTIisAOczrSdzNCBxhIKWrjXjHucxNwocghoUa39gw=w36-h36) Add to Reading List ![](https://storage.googleapis.com/support-kms-prod/WMwAELRiZIegpFW1pnRIqPQwgLOh4ZfiQLMv).

**Save a page from another app**

1. On your iPhone or iPad, open the app.
2. Go to a page you want to save.
3. At the top right, tap Share ![Share](https://lh3.googleusercontent.com/wKqEmV2lhvVEu68d4qmlywDM82fTuxQ9CT_MdJ6PGrcbammBQSGW7BYt0G59r-U50GM=h36).
4. If you haven't already, add Chrome to your Share list:
   1. In the list of apps, scroll to the end and tap **More**.
   2. Switch Chrome on ![On](https://lh3.googleusercontent.com/lLNR03w4W-SchsSWm89zaZgk_e75qqDi9sGnbPI3VPTZQLxq10eU70wZcH7WA5OQ_PM=w36-h36).
   3. Tap **Done**.
5. Find and tap Chrome.
6. Tap **Read later**.

You can also tap **Open in Chrome** to open the page in your browser right away.

#### Read a saved page in your Reading List

1. On your iPhone or iPad, open the Chrome app ![Chrome](https://storage.googleapis.com/support-kms-prod/rRJpIiBBi9EGEG8yeU0T48bNDuOtYXttzLoa).
2. Tap More ![More](https://lh3.googleusercontent.com/rdSHV07_eoB7NUi3yZmOlZtCx4_ShLe7Ywukv_AS-PZBX1Hu_FmPQoI89FseERsb-ad9=w36-h36) ![and then](https://lh3.googleusercontent.com/M1clyx8CUPwAH1XgxPTgbMx6sSwblyKIw2QAVv1HG_JrI2KCL4aMsSCCwq3zT1X2bm_n=h36) Reading List ![Reading list](https://storage.googleapis.com/support-kms-prod/rgFWWeIEIuXyb1HTNi9ZIcrdtIsO1oURQ38V).
3. Tap the page you want to read.

When you're back online, the live version of the page will load. If you don't see the live version, reload the page.

#### Delete a saved page from your Reading List

1. On your iPhone or iPad, open the Chrome app ![Chrome](https://storage.googleapis.com/support-kms-prod/rRJpIiBBi9EGEG8yeU0T48bNDuOtYXttzLoa).
2. Tap More ![More](https://lh3.googleusercontent.com/rdSHV07_eoB7NUi3yZmOlZtCx4_ShLe7Ywukv_AS-PZBX1Hu_FmPQoI89FseERsb-ad9=w36-h36) ![and then](https://lh3.googleusercontent.com/M1clyx8CUPwAH1XgxPTgbMx6sSwblyKIw2QAVv1HG_JrI2KCL4aMsSCCwq3zT1X2bm_n=h36) Reading List ![Reading list](https://storage.googleapis.com/support-kms-prod/rgFWWeIEIuXyb1HTNi9ZIcrdtIsO1oURQ38V).
3. Swipe left on the page you want to delete ![and then](https://lh3.googleusercontent.com/M1clyx8CUPwAH1XgxPTgbMx6sSwblyKIw2QAVv1HG_JrI2KCL4aMsSCCwq3zT1X2bm_n=h36) tap **Delete**.
   {% endtab %}

{% tab title="Safari" %}
[As seen from Apple Support:](https://support.apple.com/en-us/HT200294)

### Add webpages to Reading List <a href="#howto-title" id="howto-title"></a>

With Reading List, you can save webpages for later. After you add a webpage to your Reading List, you can read it whenever you want, even if you don't have an internet connection.

#### Add a webpage

1. Open a webpage in Safari on your iPhone or iPad.
2. Tap the Share button ![](https://support.apple.com/library/content/dam/edam/applecare/images/en_US/iOS/ios14-2021-share-icon.png), then tap Add to Reading List.

{% hint style="info" %}
Safari saves the link and the webpage. You can read the webpage later, even if you're offline. Go to **Settings > Safari**, scroll down to Reading List, and make sure that **Automatically Save Offline** is on.
{% endhint %}

####

***

#### View your Reading List

1. Tap the Show Bookmarks button ![](https://support.apple.com/library/content/dam/edam/applecare/images/en_US/ios/safari/ios15-safari-book-icon.png), then tap the Reading List button ![](https://support.apple.com/library/content/dam/edam/applecare/images/en_US/ios/safari/ios15-safari-eyeglasses-icon.png).\
   ![iPhone showing Safari Reading List](https://support.apple.com/library/content/dam/edam/applecare/images/en_US/iOS/ios-16-iphone-13-pro-safari-reading-list.png)
2. Tap the webpage that you want to read.

When you're done, open Reading List again and swipe left to delete the webpage from your Reading List. Or swipe right to mark the page as unread.
{% endtab %}
{% endtabs %}

### Computer

{% tabs %}
{% tab title="Chrome" %}
[As seen from Chrome Chrome Help:](https://support.google.com/chrome/answer/7343019?hl=en\&co=GENIE.Platform%3DDesktop)

### Read pages later & offline

You can save web pages to read later, even if you're offline, like when you're on an airplane or somewhere without an Internet connection. To read pages later offline, download them in Chrome ahead of time.

#### Read a page later

To read a page later, add it to your reading list.

1. On your computer, open Chrome ![Chrome](https://storage.googleapis.com/support-kms-prod/Y57p9LEW3v1cnw4Svh3a53DOnyRPFkiDfTDc).
2. Go to a page you want to read later.
3. At the top right of your browser, click Side panel ![](https://storage.googleapis.com/support-kms-prod/Pwg2wh6CWlXKeSZsQhqaYcrEAQ1rvwMfXSXx).
4. In the panel, select **Reading list**.
5. Click **Add current tab**.
6.

**Tip:** You can also add a tab to your reading list by right-clicking on the tab ![and then](https://lh3.googleusercontent.com/3_l97rr0GvhSP2XV5OoCkV2ZDTIisAOczrSdzNCBxhIKWrjXjHucxNwocghoUa39gw=w36-h36) **Add to reading list**.

#### Find your reading list

1. At the top right of your browser, click Side panel ![](https://storage.googleapis.com/support-kms-prod/Pwg2wh6CWlXKeSZsQhqaYcrEAQ1rvwMfXSXx).
2. Click the Down arrow ![Down arrow](https://lh3.googleusercontent.com/y52sSY5ZI-64LA5hwKvTDHMCeTHC97RLjBetYqw0mzkPXP_KSxOw1rJY3meonjAVyK3f=w36-h36) ![and then](https://lh3.googleusercontent.com/3_l97rr0GvhSP2XV5OoCkV2ZDTIisAOczrSdzNCBxhIKWrjXjHucxNwocghoUa39gw=w36-h36) **Reading list**.

**Tip:** You can also reorder, edit, and delete items from your reading list from the side panel.

#### Download a page from Chrome to read offline

You must be online to save a page.

1. On your computer, open Chrome.
2. Go to a page you want to save.
3. At the top right, click More ![More](https://lh3.googleusercontent.com/oLoRPrHJd7m46sWijX6zBWnEnfslP62AxJSwt5Nj0bNbpaYHz2pyscExleiofsH2kQ=h36) ![and then](https://lh3.googleusercontent.com/QbWcYKta5vh_4-OgUeFmK-JOB0YgLLoGh69P478nE6mKdfpWQniiBabjF7FVoCVXI0g=h36) **More Tools** ![and then](https://lh3.googleusercontent.com/QbWcYKta5vh_4-OgUeFmK-JOB0YgLLoGh69P478nE6mKdfpWQniiBabjF7FVoCVXI0g=h36) **Save page as**.
4. Choose where you want to save the page.
5. Click **Save**.

**To read a saved page,** open the file on your computer. It will open in your default browser, like Chrome or Safari.

**To delete a saved page,** delete the file from your computer.
{% endtab %}
{% endtabs %}


# Technical Support

We’re here to help get you moving anytime you get stuck.

The best way to contact one of our automation experts is via email. During normal business hours (weekdays 8:30am to 5pm ET) you can expect a prompt reply to an email or phone call. But, as theatre folks ourselves, we know that the most stressful troubles arise at show time. We are commited to supporting you at those difficult moments. After normal business hours, we have a crack team monitoring email and voicemail to help you. So if you’re in bind, send a note or leave a voicemail and we’ll get right back to you.

* Email: <support@creativeconners.com>
* Phone: 401-289-2942 x2

| ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-7a904411793cfdb527de69b742e02821c3da3caf%2FMike2.jpg?alt=media) | ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-1a388cc3d95ab99582be057e0388c369d39d9c89%2FRada-300x300.jpeg?alt=media) |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Mike: Director of Support                                                                                                                                                                            | Rada: Automation Support Technician                                                                                                                                                                          |


# Tech Tips


# Revolver V1 Position Issues

Make sure the Encoder is set up for success!

1. Make sure that the encoder wheel itself is secured to the shaft. Any slip on there will definitely cause problems. This is done with this special tool to reach down inside the encoder bore.

![](https://lh4.googleusercontent.com/412Y7fvsxKRvJJCHBFv8e3pQHmGkY8u8tTiydcOjSTi5Yy-Ts2e1uB_JX5tqpbPhhuN2hteTfrFeFKHnA9t9WPFkg7xjYn3b1hVadhwA_PEgC7lKfC25sBbwziv05zzaqsyMP_b2J_A9U4i5OVaNVP4) ![](https://lh6.googleusercontent.com/7WARF4IWO8jIj5lrC_j-8i3BrcDj6Z5iO8A7l7uV-tFyW52TicyLtEv6664u9r8rUd_tWFBuuCfgY5rJgE2WsqbDmcdxLUSMoSLdq42Cl8w_i4gXYZ6P_wuIY8J9cxZ1vnx4hZC72bHXOMxqJ1rQoWE)

2. Verify that the encoder is level with the turntable. The Revolver v1 encoders are notorious for "climbing" when they aren't perfectly level with the turntable. If you need to, use shims when tightening the unistrut nuts to bring it into level.
3. Check and see if there is slop in the encoder sled. Some of the Revolver v1 encoder sleds were not machined with as fine a tolerance as we adhere to today. If you can jiggle it around in the grooves, you may need to get some UHMW shims in there (still allowing it to move of course) to help decrease that space. We've used the UHMW tape to great success for applications such as this. Here is an example of the current tolerance we machine to:

![](https://lh5.googleusercontent.com/xkLYuR6-SQ2r95JCwYJGHRsOPYTO2OIsgBhuh7-eD65282sl_psG-RfAAxYKI8AntFtaDRqApGWDutCOZYqrQN5_1cg41e4LRxVL0TxPoWjsaiFxMnmrGKiSrZKp16pCeNHeFdoTgiStUgEIbBxMz4E)

3. Check that the encoder isn't TOO tight. I know it sounds weird, but if the encoder is jammed too tightly into the turntable, it can actually deform the soft rubber wheel enough so that it becomes elongated and gives you inconsistent counts. Check out our [Friction Wheel Tensioning Guide.](/docs/machinery/revolver/making-it-move/friction-wheel-tension-guide)
4. Check that your encoder cable is NOT running in line with any kind of power cables. This can cause interference and throw off encoder counts.


# Setting Up a New Comptuer for Spikemark

Steps to get a brand new, out of the box, computer ready to run Spikemark

1. [Install Windows with Offline Local Account](#install-windows-with-offline-local-account)
2. [Power Settings](#power-settings)
3. [Taskbar Settings](#taskbar-settings)
4. [Date and Time](#date-and-time)
5. [Notifications](#notifications)
6. [Spikemark Utility Shortcuts](#spikemark-utility-shortcuts)
7. [Windows Updates](#windows-updates)
8. [Programs to Install](#programs-to-install)
9. [Windows Security Settings](#windows-security-settings)

{% hint style="danger" %}
**DO NOT** just open your show file

**ALWAYS** open Spikemark through the Start Menu or Task Bar and then use **File>Open** to open your show

This will ensure that your show and machinery load properly in the software.
{% endhint %}

## Install Windows With Offline Local Account

These steps begin once Windows has been installed and turns on to the initial setup

1. Shift + F10 -> Command prompt<br>
2. OOBE\BYPASSNRO --> Restarts computer<br>
3. Shift + F10 --> Command Prompt<br>
4. ipconfig /release<br>

## Power Settings

* Turn off the display: 2hrs
* Put the computer to sleep: Never
* Turn off hard disk after: 0 (never)
* When I press the power button: Do nothing (prevents unintended shutdown/sleep)
* When I press the sleep button: Do nothing (prevents unintended shutdown/sleep)\ <br>

1. Press `WIN+R` to open the Run Window
2. Type `powercfg.cpl` to open the Power Options
3. Click "Choose what the power buttons do"
4. Select "Do nothing" in each of the drop-down menus
   * Be sure to do this for the power button, sleep button, and "When I close the lid" for both On batter and Plugged in

## Taskbar Settings

* Widgets: OFF
* Other system tray icons:
  * Safely Remove Hardware and Eject Media: ON\ <br>

1. **Right Click** on a blank space on the Windows Taskbar
2. Turn the **Widget** slider to "Off"
3. Click the drop down carrot beside **Other system tray icons**
4. Turn the **Safely Remove Hardware and EJect Media** to "On"
5. Turn all other sliders to "Off"

## Date and Time

* Set Time Zone for location
* Sync now\ <br>

1. **Right Click** the clock in the lower right corner of the Windows Taskbar and select **Adjust date and time**
2. Click **Time zone** drop down menu and select current time zone
   * If this option is greyed out, click the **Set time zone automatically** slider to the "Off" position
3. Verify that **Set time automatically** slider is set to "On"
4. Click **Sync now** button and verify that the time updates to the current, local time

## Notifications

* Notifications: OFF
* Do not disturb: ON
* Additional settings
  * Show the Windows welcome experience after updates and when signe din to show what's new and suggested: OFF
  * Suggest ways to get the most out of Windows and finish setting up this device: OFF
  * Get tips and suggestions when using Windows: OFF\ <br>

1. **Right Click** the clock in the lower right corner of the Windows Taskbar and select **Notification settings**
2. Click **Notifications** slider to "Off"
3. Click **Do not disturb** slider to "On"
4. Scroll to the bottom off the screen and click the **Additional settings** carrot to display additional check boxes
5. Deselect all checkboxes under **Additional settings**

## Spikemark Utility Shortcuts

* Drive Parameter Sets
* OSC Libraries
* Spikemark Firmware
* Spikemark Log Files
* CCI VFD Error Codes
* Common Log File Searches

## Windows Updates

* Run Windows Update until there is nothing left to update
* Turn off Windows Update through the Services App

{% hint style="success" %}
Even though we turn it off so that it does not interfere with our network or running a show, it is best practice to keep [Windows up to date](https://support.microsoft.com/en-us/windows/update-windows-3c5ae7fc-9fb6-9af1-1984-b5e0412c556a).

[**CLICK HERE to Check for Windows Updates Now**](ms-settings:windowsupdate?activationSource=SMC-IA-4027667)
{% endhint %}

1. Select the Start menu, type **services**, and select it from the list of results
2. Scroll down the list of Services to **Windows Update** and select it
3. Select the option to <mark style="color:blue;">**Stop**</mark>**&#x20;the service**

{% hint style="info" %}
If the service is already off, it will show the option to <mark style="color:blue;">**Start**</mark> **the service.** In this case, you don't need to do anything!
{% endhint %}

## Programs to Install

* [Chrome](https://www.google.com/chrome/?_gl=1*1lcpmyb*_up*MQ..\&gclid=Cj0KCQjwkZm_BhDrARIsAAEbX1EBS2xVG-cU7KL5loC3OanhlY4-Jv2YmUPuJR7IhdKsW90JJGkTW68aAq9xEALw_wcB\&gclsrc=aw.ds)
  * set [docs.creativeconners.com](https://github.com/creativeconners/PublicDocumentation/blob/main/technical-support/tech-tips/docs.creativeconners.com) as default start page
* [Notepad++](https://notepad-plus-plus.org/downloads/) - This is our preferred application for reading [Log Files](/docs/spikemark/spikemark-installation#install-location-and-support-files)
* [PDFGear](https://www.pdfgear.com/download/)
* [PowerToys](https://aka.ms/installpowertoys) - We like to activate **Find My Mouse**, especially if using multiple screens
* [Spikemark](https://store.creativeconners.com/products/spikemark-3)

## Windows Security Settings

Allow Spikemark to communicate through **Windows Defender Firewall**

### Add an app from the list of allowed apps

1. Select the Start menu <img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d92e06df6c4a58278a60e88a482b5eada94831b3%2Fimage%20(92).png?alt=media" alt="" data-size="line">, type **`Allow an app through Windows Firewall`**, and select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-4d5e59a554c5af05042afa7f933aaf00d142742c%2Fimage.png?alt=media)
   1. Windows+R -> **`firewall.cpl`** -> Allow an App through Windows Firewall
2. Select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-96b18a9038f9589a88f7c8cade87faefb73b2266%2Fimage.png?alt=media). You might be asked for an administrator password or to confirm your choice.
3. Scroll down to **Spikemark** and **Spikemark\_Pendant\_Port**. ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-ebc4b6d8424d940de01a184eb4701c6de9edbdfc%2Fimage.png?alt=media)
4. Check any boxes that are blank and select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-f2746207fce9b0078ee302e59739ef076bc958be%2Fimage.png?alt=media) to save.

**-- if Spikemark is not on the list --**

4. Select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-6ccac9485d802f1640156d4953ac8dc3746bb03e%2Fimage.png?alt=media) and Browse or enter the path for the app. Select **SpikeMark.exe** and click ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d7fb69484aca8f4ecdaedf7e78880ef1db149538%2Fimage.png?alt=media) then ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-1839fdbc89e874ac8454f829a995ea52f836b15a%2Fimage.png?alt=media)
   1. Default location is **`C:\Program Files\Spikemark`**
5. Return to **Step 3** above to allow Spikemark through.

### Open a port

1. Select the Start menu <img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d92e06df6c4a58278a60e88a482b5eada94831b3%2Fimage%20(92).png?alt=media" alt="" data-size="line">, type **`Windows Defender Firewall`**, and select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5d73bd09c57e3d9c08ac554e436fcefd49c63ea2%2Fimage.png?alt=media)
   * Windows+R -> **`firewall.cpl`**
2. Select <img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3b07bbf1b6b0aa4a978665e41039833a2aa3d2f3%2Fimage.png?alt=media" alt="" data-size="original"> on the side navigation menu. You might be asked for an administrator password or to confirm your choice.
3. Select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-91589d7af10f11c7b8dc3e28ee0a53993ff90659%2Fimage.png?alt=media).
4. To open a port, select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-925ec559fd6ce70dc7ae149661cf7c8de2ceebd2%2Fimage.png?alt=media) and complete the instructions.
   1. ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-ba946c2b5915d26207a00e0a0aa87e55b10e1fea%2Fimage.png?alt=media) then select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0f7e4b4ebdad54adf8e77098db2017e0d415f377%2Fimage%20\(57\).png?alt=media)
   2. Browse for the path to where you installed Spikemark. If you used the default location, copy this into the window: **`%ProgramFiles%\Spikemark\SpikeMark.exe`** then select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0f7e4b4ebdad54adf8e77098db2017e0d415f377%2Fimage%20\(57\).png?alt=media)
   3. Select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-1f985eb8d4beebf628ca3ce4ebe8838a11fd79fc%2Fimage%20\(128\).png?alt=media) then select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0f7e4b4ebdad54adf8e77098db2017e0d415f377%2Fimage%20\(57\).png?alt=media)
   4. Check all boxes for **When does this rule apply?** then select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0f7e4b4ebdad54adf8e77098db2017e0d415f377%2Fimage%20\(57\).png?alt=media)
   5. Name the rule **`Spikemark`** ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3d8f93d262e886cc4f759780500959b4a190c131%2Fimage.png?alt=media) and select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-e6f68391c140476fe0f8c59c41d31356ea243ede%2Fimage.png?alt=media)

### Allow UDP in Spikemark

1. Select the Start menu <img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d92e06df6c4a58278a60e88a482b5eada94831b3%2Fimage%20(92).png?alt=media" alt="" data-size="line">, type **`Windows Defender Firewall`**, and select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5d73bd09c57e3d9c08ac554e436fcefd49c63ea2%2Fimage.png?alt=media)
   * Windows+R -> **`firewall.cpl`**
2. Select <img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3b07bbf1b6b0aa4a978665e41039833a2aa3d2f3%2Fimage.png?alt=media" alt="" data-size="original"> on the side navigation menu. You might be asked for an administrator password or to confirm your choice
3. Select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-91589d7af10f11c7b8dc3e28ee0a53993ff90659%2Fimage.png?alt=media)
4. Scroll to **Spikemark** left click to select it. It wil highlight blue
5. Copy and past the rule using **CTRL+C** then **CTRL+V**
6. Click ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5eac8b597cfc8daaae74e2b46ed59ace68cf2bdf%2Fimage.png?alt=media) in the header **2x** (not double click) to refresh the list
7. Select either Spikemark rule then select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3453a7f8e1e70160299484a4205903cdcc542afa%2Fimage.png?alt=media) from the right hand Actions menu
8. Select the **Protocols and Ports** menu at the top, then change the **Protocol type:** to **UDP** using the dropdown menu and select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-2cd265b49af6fb84b2a0dac0936fa151139434fa%2Fimage.png?alt=media) to save

### **Open Port for Spikemark Pendant**

1. Select the Start menu <img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d92e06df6c4a58278a60e88a482b5eada94831b3%2Fimage%20(92).png?alt=media" alt="" data-size="line">, type **`Windows Defender Firewall`**, and select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5d73bd09c57e3d9c08ac554e436fcefd49c63ea2%2Fimage.png?alt=media)
   * Windows+R -> **`firewall.cpl`**
2. Select <img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3b07bbf1b6b0aa4a978665e41039833a2aa3d2f3%2Fimage.png?alt=media" alt="" data-size="original"> on the side navigation menu. You might be asked for an administrator password or to confirm your choice
3. Select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-91589d7af10f11c7b8dc3e28ee0a53993ff90659%2Fimage.png?alt=media)
4. To open a port, select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-925ec559fd6ce70dc7ae149661cf7c8de2ceebd2%2Fimage.png?alt=media) and complete the instructions.
   1. ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3766b8aca0bafbbd0db8635e126963534c103661%2Fimage.png?alt=media) then select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0f7e4b4ebdad54adf8e77098db2017e0d415f377%2Fimage%20\(57\).png?alt=media)
   2. Select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-63d520c037bdfc931816e41ea9057de548181b5d%2Fimage.png?alt=media) then type **`8080`** into ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3755f05564327655f35bffea70a84b52496e8495%2Fimage.png?alt=media) then select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0f7e4b4ebdad54adf8e77098db2017e0d415f377%2Fimage%20\(57\).png?alt=media)
   3. Select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-1f985eb8d4beebf628ca3ce4ebe8838a11fd79fc%2Fimage%20\(128\).png?alt=media) then select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0f7e4b4ebdad54adf8e77098db2017e0d415f377%2Fimage%20\(57\).png?alt=media)
   4. Check all boxes for **When does this rule apply?** then select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0f7e4b4ebdad54adf8e77098db2017e0d415f377%2Fimage%20\(57\).png?alt=media)
   5. Name the rule **`Spikemark_Pendant_Port`** ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c1984ad3fb7fe6fc8bffe11661d162f3bc59b875%2Fimage.png?alt=media) and select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-e6f68391c140476fe0f8c59c41d31356ea243ede%2Fimage.png?alt=media)

## Windows Network Adapters

We recommend turning off any network adapters that are not being used by Spikemark to avoid network interference

1. **Windows+R** -> **`ncpa.cpl`** <img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5858ad0a8ce68561f7816a3f91ceffd5bf32d8fd%2Fimage.png?alt=media" alt="" data-size="line">
2. **Right click** on each unused network adapter and select ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-fa1d2bc939512b56671c8843ba4ad16d8648f900%2Fimage.png?alt=media)

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-da4b3bc868fae985b2d47ba3e02a5ac8e7a377a4%2Fimage%20(43).png?alt=media" alt=""><figcaption><p>Disabled adapters are greyed out and say <strong>Disabled</strong></p></figcaption></figure>

{% hint style="danger" %}
If you use a VPN, this must also be disabled to connect in Spikemark
{% endhint %}


# How A Deck Wagon Attaches To A Winch System

## The Pieces

This first image has the side frame removed from the wagon, and the deck track lid removed from the section where the dog is, so you can see all the pieces that are typically covered up.

The knife goes through the scenery deck, through the knife receiver (that just gives it more rigidity to the scenery than just going through the scenery deck), then into the dog.

The dog has the wire rope secured to it (we feed all the way through and then use screws to secure it in place), which allows the dog (and knife, and thus the scenery) to move with it.

![Deck wagon with the side frame removed](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-4b8e81798d44cb5cb006dfd2347f711d3ecbe7ed%2FDeck_track_with_numbers.png?alt=media)

1. Knife
2. Knife Receiver
3. Dog
4. Deck Wagon
5. Deck Track

## A Simplified View

Here's the other side that shows the wire rope path. Note how it bends around where the knife goes in.

![Basic deck wagon with the kinfe, receiver and dog isolated from the surrounding track](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-a6f34e2212cf18a5c25206abbf8beea4f6992f03%2Fdeck_dog_wagon_knife.png?alt=media)

Here you can see where the knife goes through the top of the deck wagon, through the knife receiver, and into the dog.

You can also see the 4x holes on top where the set screws tighten down onto the wire rope.

![Basic deck wagon with the kinfe receiver and deck dog, showing the slot in the wagon where the knife would go](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-e72226a96e652f29d511faccb9117d3caf421165%2Fdeck_dog_wagon_no_knife.png?alt=media)


# Spikemark 6

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-312a2668ea3093baa9d108a74b9f74c5c884b06a%2Fspikemark-logo.png?alt=media" alt="Spikemark Logo"><figcaption></figcaption></figure>

## Spikemark™ 6


# System Requirements & Installation

## System Requirements

Spikemark 6 is a lightweight application which runs on Microsoft Windows. As with almost every computer spec, the higher the better, but you don't *need* a full on gaming laptop or CAD station to run Spikemark successfully.

Below are suggested minimum computer specs:

* Windows 10 or 11
  * Older version of Windows likely work, though have not been fully tested
* Intel i7 or better with a minimum 16GB of RAM
* 256GB SSD (minimum)
* 4K Display (UHD 3840x2160)
  * A 2K (QHD 2560x1440) screen will work well too
  * 16:9 Aspect ratio is recommended
  * Rocking a laptop? make sure it supports a 2K or 4K external display
* Built in 10/100 Ethernet port
  * A USB to Ethernet adapter will do the trick

## Spikemark Installation

Installing Spikemark software is easy. [Download Spikemark](https://creativeconners.com/products/software/), then locate the downloaded installer `SpikemarkSetup_x_x_x.exe`. **Double-click** on the file and walk through the installer. For the recommended Standard Installation, follow the steps below.

#### Standard Installation

1. If you have a previous version installed, we highly recommend you uninstall first and then proceed.

![Uninstall Prompt in the installer](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-df5ad07d7af122c304fe0c73a4e943dc6a267c79%2FUninstallPrompt.png?alt=media)

2. Accept the License Agreement.

![License Agreement](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-61a7bd91d30d847c52f95744c175f30aab3833c5%2FLicense%20Agreement.png?alt=media)

3. Select the installation type. **Standard Installation is recommended for most users.** See [Advanced Installation](/docs/spikemark-6/system-requirements-and-install/advanced-installation) for advanced options.

![Installation Types](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-ba661dd448ead37e0748173fc586f17ba9b55632%2FInstallationTypes.png?alt=media)

4. Review the changelog for this version of Spikemark.

![Changelog](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-bc12a91aaf35a0de5138d686f199a0ae3c7e0bfa%2FChangelog.png?alt=media)

5. Select the 'Create a desktop shortcut' if desired.

![Desktop shortcut option](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-bd277a218c50114a5721507787c3ceb0eff2323e%2FDesktopShortcut.png?alt=media)

6. Confirm the installation.
7. Once the installation is completed, deselect Launch Spikemark and View Readme if you do not want to launch Spikemark immediately or read the release notes. Click 'Finish'.
   * *If you've selected an Advanced Installation option, you may be prompted to restart your computer instead.*


# Advanced Installation Options

For some users, you may want setup your computer to run Spikemark **on startup** or **all the time**, rather than manually launching Spikemark.

{% hint style="warning" %}
[**Always On Spikemark**](#always-on) is an advanced option that will make system-wide changes to your PC, and should only be considered for dedicated devices. Some systems will come with this setup as a default - for example, if your only point of control is the [Spikemark Vantis Pendant](/docs/showstopper/spikemark-vantis/1-getting-started).
{% endhint %}

## Launch on Startup

To automatically add Spikemark to the list of Startup Apps, select the Advanced Installation -> Launch on Startup in the installer. This will launch Spikemark whenever you login to Windows.

![Select Advanced Installation for the Installation Type](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-6b49669ea629a04c236960a1a69574ebebc6ece8%2FInstallationTypesAdvanced.png?alt=media)

![Select Launch on Startup as the Advanced Option](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-8087cf0c513a4443104d21212b4836f28a16435f%2FAdvancedInstallation.png?alt=media)

After installation, you should see Spikemark listed in Task Manager -> Startup Apps.

![Spikemark enabled as a Startup App](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-24dc8e8e80ead8226cc2bf53cc579d98471bc96e%2FSpikemarkStartupApp.png?alt=media)

## Always On

**The advanced Always On installation is not recommended for most users.**

This will create a dedicated Spikemark Windows user on your machine that will automatically login when the PC starts up. The Spikemark application will automatically start-up upon login. If the Spikemark application crashes or is closed, it will restart **within 1 minute**.

To install with the Always On configuration, follow the steps in [Spikemark Installation](/docs/spikemark-6/system-requirements-and-install) but select Advanced Installation -> Always On.

![Screenshot of installation types](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-6b49669ea629a04c236960a1a69574ebebc6ece8%2FInstallationTypesAdvanced.png?alt=media)

![Screenshot of Advanced Start Options](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-a11e07b483b7d47819c5a0dcc2065550ca1698d1%2FAdvancedInstallationAlwaysOn.png?alt=media)

Once installed, make sure to restart the computer.

![Screenshot of the restart computer prompt](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-1ec7f01b9a171a7d31c81a771779ff311b7f397f%2FRestartAfterInstall.png?alt=media)

Upon restart, you should be automatically logged into the newly created user and Spikemark should open up. You're in!

{% hint style="warning" %}
When you log into the new Spikemark user for the first time, re-install Spikemark to ensure that all files, such as firmware updates, are accessible to the new user. This step does not need to be repeated after the first installation.
{% endhint %}

When updating Spikemark, you can update directly from the created Spikemark user - just make sure to select the 'Always On' option in the installer when updating.

If you ever need to log out and back into the Spikemark account, the password is **MakeItMove**. What can we say, we're predictable.

### Uninstalling and Clean-up: Always On

If you'd like to uninstall or return to the Standard Installation at any point after you've setup Always On, follow the instructions below to avoid losing any work.

1. Back-up any files you've created on the Spikemark user. This includes show files and exported stagehands.
2. Log-out of the Spikemark Windows user.
3. Log-in to a different Windows user on your computer. Admin account is required.
4. Uninstall the Spikemark application.
   * If you would like to reinstall Spikemark using the Standard Installation, you can uninstall by simply running the Installer and proceeding with the uninstall option first.
   * If you would like to permanently uninstall Spikemark, go to Control Panel->Add or Remove Programs.
5. If reinstalling Spikemark with a different installation type, go through the standard [Installation Process](/docs/spikemark-6/system-requirements-and-install).
6. If you would like to remove the Spikemark user from your PC, go to Settings -> Accounts -> Other Users. Select 'Spikemark' and click 'Remove'.

![Screenshot of the Remove option for the Spikemark user](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-7ede6cc440a4fa29dbe5c27f22bcfde48a62ec59%2FRemoveSpikemarkUser.png?alt=media)

{% hint style="info" %}
Removing the Spikemark user from Windows will delete any files that you created on that account. That includes show files made while using Always On Spikemark. **Make sure you back up files before removing the account!**

If you are using [Authorization](/docs/spikemark-6/auth/auth-overview) within Spikemark, the users and roles will not carry between Windows accounts. If you are switching from Always On to Standard Installation and need to bring your in-app users and roles to a different Windows account, reach out to <support@creativeconners.com> and we'll help ya out.
{% endhint %}


# Networks & IP Addresses

Welcome to the most frustrating part of stage automation. Not motors, not cues, not Making It Move. Just numbers. Specifically, four groups of numbers separated by dots that determine whether your Stagehand talks to Spikemark or sits there silently judging you.

The good news: The fix is almost always fast, and it's almost always Step 1.

Let's find it.

***

## Quick Start

If your Stagehand isn't connecting to Spikemark, **the problem is almost always one of these three things — in this order:**

1. **The PC's IP address isn't set** (most common)
2. **All devices are set to the same IP Address** (2nd most common)
3. **The Stagehand's IP address doesn't match what Spikemark expects**
4. **The Ethernet cable isn't seated properly**

Work through the [Quick Fix Checklist](#quick-fix-checklist) first. If you're setting up for the first time, start with [Section 1](#section-1-set-the-pcs-ip-address-windows).

***

## IP Address Reference Card

Every device on the Spikemark network needs to be assigned a compatible, and unique, IP Address. The IP Address scheme is flexible, but for the sake of troubleshooting let's keep the devices in the `192.168.10.___` range.

The first three numbers must match, while the last number must be unique — no two devices can share it.

| Device                  | Recommended IP Address                   | Subnet Mask     |
| ----------------------- | ---------------------------------------- | --------------- |
| Spikemark PC            | `192.168.10.245`                         | `255.255.255.0` |
| Stagehand Controllers   | `192.168.10.10–230` (each one is unique) | `255.255.255.0` |
| Showstopper Base & Hubs | `192.168.10.231-240`                     | `255.255.255.0` |
| Showstopper Pendant     | `192.168.10.250`                         | `255.255.255.0` |
| Spikemark Consolette    | `192.168.10.254`                         | `255.255.255.0` |

> For addresses below `.100`, don't use a leading zero: type `.10`, not `.010`.

## Quick Fix Checklist

**Step 1 — Confirm the PC's IP address.** ← This is the #1 cause of connection failures.

* Press `Windows + R`, type `cmd`, press Enter
* Type `ipconfig` and press Enter
* Find your Ethernet adapter. The IPv4 address should show `192.168.10.245`
* If it shows `169.254.X.X` — Windows doesn't have a static IP set. Go to [Section 1](#section-1-set-the-pcs-ip-address-windows) and set it now
* If it shows nothing or the wrong address — same fix

**Step 2 — Confirm the Stagehand's IP address.** On the face of the Stagehand, press the jog wheel to open the menu and find the IP address display. Write it down. Make sure no two Stagehands share the same address and that the address is in the `192.168.10.___` range.

> The factory default IP Address for any Stagehand is `192.168.10.32`. If you have more than one Stagehand in your system, you'll need to update the address.

**Step 3 — Confirm the IP address matches in Spikemark.** Open the Stagehand's Properties in Spikemark and verify the IP address entered there matches exactly what's shown on the Stagehand's front panel. One digit off means no connection.

**Step 4 — Check the cable.** Physically trace the Ethernet cable from the Stagehand to the network switch. Push both ends in firmly until they click. Try a different cable if you have one handy.

**Step 5 — Check the switch.** Is the switch powered on? Is there a small link light on the port where the cable plugs in? No light = bad cable or bad port. Try a different port on the switch.

**Step 6 — Restart Spikemark.** After any IP address change on any device, close Spikemark completely and reopen it before trying to connect again.

**Step 7 — Call us.** Email \[email protected] or call **401-289-2942 x2** (Mon–Fri, 8:30 AM–5:00 PM EST, after-hours monitoring available). Have your IP addresses and a summary of what you've already tried ready to go.

### Still stuck after Step 6? Deep Dive steps

These are less common but worth trying before you call.

**Power-cycle the Stagehand.** After changing a Stagehand's IP address, unplug it, wait 10 seconds, and plug it back in. Even if you've already restarted Spikemark, the Stagehand itself may need a reboot to apply the new address.

**Ping the Stagehand.** In Command Prompt, type `ping 192.168.10.XX` (use your Stagehand's actual IP). You should see replies. "Request timed out" means the PC and Stagehand can't see each other at all — recheck Steps 1–5.

**Check Windows Firewall.** Windows Firewall can silently block Spikemark traffic without showing any error.

* Open Windows Defender Firewall → **Allow an app through firewall** → confirm Spikemark is listed and allowed on Private networks
* For Showstopper Base communication specifically, Port **5007** (TCP/UDP inbound) must also be open

***

## Section 1: Set the PC's IP Address (Windows)

This is the most commonly missed step. Spikemark uses a fixed ("static") IP address network — unlike Wi-Fi at home, nothing assigns addresses to your PC automatically. You have to set it manually, once.

1. Press `Windows + R`, type `ncpa.cpl`, press Enter. The Network Connections window opens.
2. Right-click your **Ethernet adapter** — the one with the cable going to your stage network switch — and select **Properties**.
3. Double-click **Internet Protocol Version 4 (TCP/IPv4)**.
4. Select **Use the following IP address**.
5. IP address: `192.168.10.245`
6. Subnet mask: `255.255.255.0`
7. Default gateway: **leave blank**
8. Click **OK**, then **Close**.

> **Multiple network adapters?** If your PC has more than one Ethernet port or a Wi-Fi connection, make sure you're editing the adapter that's physically plugged into your stage network switch — not your internet connection.

> **Do you need to disconnect from the internet?** No. Windows handles multiple network adapters at the same time. Your internet connection and stage network can coexist.

> **Can you use Wi-Fi instead of a cable?** No. Always use a wired Ethernet connection for stage automation. Wi-Fi is not reliable enough for real-time motion control.

[Full guide with screenshots →](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection/setting-computer-ip-address)

***

## Section 2: Set the Stagehand's IP Address

Use the front-panel jog wheel on the Stagehand:

1. Press the jog wheel to open the menu.
2. Turn to navigate to **SET IP ADDRESS** and press to enter.
3. Turn to move between the four number segments of the address.
4. Press to select a segment, then turn to change its value, then press to confirm.
5. Repeat for each segment that needs to change.
6. Navigate to **Save** and press to save.
7. Navigate to **Exit**.

> **Assign addresses sequentially.** Start your first Stagehand at `192.168.10.10` and number up from there (`.11`, `.12`, and so on). Write them down — a simple list taped inside the rack saves hours of troubleshooting later.

> **Don't change the subnet mask** unless you have a specific reason to. The default `255.255.255.0` works for every standard installation.

[Full guide →](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection/setting-stagehand-ip-address)

***

## Section 3: Configure Spikemark

**File → Spikemark Options** is where you tell Spikemark what your **PC's IP address** is. Set it to match the address you assigned in Section 1 (e.g., `192.168.10.245`). This must be correct for Spikemark to communicate with Stagehands and for firmware updates to work.

**Stagehand IP addresses** are entered in each machine's **Stagehand Properties** inside Spikemark — not in Spikemark Options. Select the motor you want to connect to, locate the IP Address section at the top of the Stagehand Properties panel, enter the Stagehand's IP address set in Step 2. Click the `Connect` button.

**Showstopper Bases and Hubs** don't need to be entered in Spikemark manually. Set a valid IP address on the device itself (see your Showstopper documentation), and as long as Spikemark Options has the correct PC IP address, Spikemark will find the Showstopper automatically.

**Spikemark Console** click the `Spikemark Console` button in the control devices section. Click the `Connect` button.

**Spikemark Pendant** click the `Spikeamark Pendant` button in the control devices section. Set the Pendant IP Address to match what is set on the Pendant. Click `Enable` then click `connect` on the Pendant.

**Showstopper Consolette** click the `Showstopper Consolette` button in the control devices section. Confirm the IP Address matches the IP Address of the Consolette and click `Connect`.

[Connecting to a Stagehand in Spikemark →](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection/establishing-a-network-connection-to-your-machine) [Setting Showstopper IP address →](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection/setting-showstopper-ip-address)

***

## Section 4: Sending Data to Another Department's Network

If you need to send position data or OSC triggers to a video, lighting, or audio system on a different network, the cleanest solution is a **second network card** in the Spikemark PC.

A network card is the physical Ethernet port on your computer. Most PCs have one. Adding a second — either as a plug-in card or a small USB-to-Ethernet adapter — lets the PC connect to two separate networks at once. One card stays on your automation network (`192.168.10.___`). The second connects to the other department's network with an IP address that belongs on their network.

Nothing on your automation network changes. No Stagehand reconfiguration, no subnet mask changes, no risk of address conflicts.

**To set up the second network card:**

1. Install the card or plug in the USB-to-Ethernet adapter.
2. Connect it to the other department's switch.
3. Open Network Connections (`Windows + R` → `ncpa.cpl`). You'll see two Ethernet adapters.
4. Right-click the **new** adapter → **Properties** → double-click **TCP/IPv4**.
5. Set a static IP address in the other department's network range (coordinate with them to confirm an available address).
6. Set subnet mask to match their network.
7. Leave default gateway **blank**.
8. Click **OK**.

> **Don't touch the first adapter.** Leave your automation network card exactly as it is.

> **Firmware updates:** File → Spikemark Options must always show your **automation network address** (`192.168.10.245`) — not the second card's address. If it shows the wrong address, firmware pushes to Stagehands will fail.

This approach works well for connecting to one other department. For more complex multi-department show control networks, contact Creative Conners support.

***

## Full Documentation

* [IP Address & Network Connection overview](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection)
* [Setting Computer IP Address](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection/setting-computer-ip-address)
* [Setting Stagehand IP Address](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection/setting-stagehand-ip-address)
* [Connecting to a Stagehand in Spikemark](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection/establishing-a-network-connection-to-your-machine)
* [Setting Showstopper IP Address](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection/setting-showstopper-ip-address)
* [Stagehand Pro 5 Operation Guide](https://docs.creativeconners.com/docs/stagehand/stagehand-pro-5/stagehand-pro-5-operation)


# Setting the computer IP Address

Before Spikemark can talk to your Stagehands, two things need to happen: you set a static IP address on your PC, and then you tell Spikemark which address you just set. Both steps are covered here.

***

## Part 1: Set the IP Address in Windows

**1. Open the Network Connections window.**

Press `Windows + R` to open the Run dialog. Type `ncpa.cpl` and click **OK**.

<div align="left"><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-a32f355c6f2a6de326b6dd09dea613f50bf8bea0%2FSM_CFSH_IP_Run.png?alt=media" alt=""></div>

\---

**2. Open your Ethernet adapter's Properties.**

Right-click on your Ethernet adapter — the one connected to your stage network switch — and select **Properties**.

![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-ec1ba3249e07946b8ea4c3ebf2b433c291fecf22%2F2%20\(1\).png?alt=media)

> **Not sure which adapter?** If you see multiple adapters listed (Ethernet, Wi-Fi, etc.), choose the one physically cabled to your stage network switch. Don't adjust the Wi-Fi or any other adapter.

***

**3. Open TCP/IPv4 settings.**

In the Properties window, double-click **Internet Protocol Version 4 (TCP/IPv4)** to open its settings.

![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-70b16e2fa711b08d4737137e31c5eb1d9e5051a4%2F3.png?alt=media)

***

**4. Set the static IP address.**

Select **Use the following IP address** and enter:

* **IP address:** `192.168.10.245`
* **Subnet mask:** `255.255.255.0`
* **Default gateway:** *(leave blank)*
* **DNS servers:** *(leave blank)*

<div align="left"><img src="https://lh4.googleusercontent.com/P4LWWMVdc_xgA8vdGgKAOGgkDVN65i9xNMSLL__ru90vARhi5tOhZFWilhbCKdwsK1Hh-L2-8j1Gnu5h9t56GEWEPXP4lx4H3wwbawE9bx4mMPX78KbXaDk1IWBU7rV42_WJeBfy=s0" alt=""></div>

> **Subnet mask note:** This field usually auto-fills to `255.255.255.0` when you start typing the IP address. If it doesn't, type it in manually.

***

**5. Save and close.**

Click **OK**, then **OK** (or **Close**) again to close the Ethernet Properties window. You can close the Network Connections window as well.

***

## Part 2: Tell Spikemark Which IP Address to Use

Setting the IP address in Windows isn't enough on its own — you also need to select that address inside Spikemark. This is the step that gets missed most often.

**6. Open Spikemark Options.**

In Spikemark, go to **File → Spikemark Options**.

![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-25b856118b06c4029f9a87b01ad5c3a6c31e6285%2FSpikemarkOptionsMenu.png?alt=media)

***

**7. Select your IP address and save.**

Click the **Spikemark IP Address** dropdown and select the address you just set (`192.168.10.245`). Then click **Save**.

![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-a6a3d581a3a6d9e217e8b5a9e731a5d47ed2ee14%2FSpikemarkOptionsWindow.png?alt=media)

> **Important — always click Save, even if the address already looks correct.** Spikemark needs to actively confirm and bind to the selected address. If you're troubleshooting a connection issue and the right address is already shown in the dropdown, select it again and click Save anyway.

***

## You're Done

Your PC now has a fixed address on the stage network, and Spikemark knows where to listen. Next up: [Setting the Stagehand IP Address →](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection/setting-stagehand-ip-address)

***

## Troubleshooting This Step

**The IP address won't stick / Windows reverts to `169.254.X.X`** This means Windows is ignoring the static setting and falling back to automatic addressing. Go back to Step 4 and confirm **Use the following IP address** is selected — not "Obtain an IP address automatically."

**I don't see `192.168.10.245` in the Spikemark Options dropdown** The dropdown only shows addresses that are currently assigned to an active network adapter. If your address isn't listed, Windows may not have applied it correctly. Run `ipconfig` in Command Prompt to confirm the address is active, then restart Spikemark and check again.

**I have multiple Ethernet adapters — which one do I pick in Spikemark Options?** Select the address assigned to the adapter that's physically connected to your stage network switch. If you're unsure, run `ipconfig` in Command Prompt — it will list all adapters and their addresses so you can match them up.


# Setting the Stagehand IP Address

Every Stagehand ships with a default IP address of `192.168.10.32`. If you're only connecting one Stagehand to your network, you may not need to change this at all — just make sure Spikemark's Stagehand Properties are set to match. If you're connecting multiple Stagehands, each one needs its own unique address.

> **Not sure what address to use?** See the [IP Address & Network Connection overview](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection) for recommended address ranges and the one rule that makes everything work.

***

## Which Card Do You Have?

There are two generations of Stagehand control card, and the procedure is different for each. The quickest way to tell them apart is to look at the display on the front panel:

* **Multi-line display with a menu system** → you have a **Unipolar V6 card**. Follow [Procedure A](#procedure-a-unipolar-v6-card).

  ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d0c12d1a1f9a110aa1ee508a3d6dc79bf30f69e6%2FUnipolar6_display.png?alt=media)
* **Two-line display** → you have a **Legacy Stagehand card**. Follow \[Procedure B] (#procedure-b-legacy-stagehand-card).

  ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-aeffee3906058aff0cccfe0f6e8afc1ef52fbdfc%2Fclassic-stagehand-display.jpg?alt=media)

***

## Procedure A: Unipolar V6 Card

*(Multi-line display)*

The Unipolar V6 card uses a full menu system. You navigate to the IP address setting rather than landing on it directly.

**1. Open the menu.**

Press the jog wheel on the front panel once to open the settings menu.

***

**2. Navigate to CHANGE IP ADDRESS.**

Turn the jog wheel to scroll through the menu options until **CHANGE IP ADDRESS** is highlighted. Press the jog wheel to enter the IP address settings.

***

**3. Select the segment you want to change.**

The IP address is shown with its four segments. Turn the jog wheel to navigate to the segment you want to change. Press the jog wheel to select it.

***

**4. Set the new value.**

Turn the jog wheel to change the value. Press the jog wheel to confirm. Repeat steps 3 and 4 for any other segments that need to change.

***

**5. Save.**

Turn the jog wheel to navigate to **Save** and press to save.

***

**6. Exit.**

Turn the jog wheel to navigate to **Exit** and press to return to the main display. The new IP address is now active.

***

## Procedure B: Legacy Stagehand Card

*(Two-line display)*

The legacy card takes you directly to the IP address screen as soon as you press the knob — no menus to navigate.

**1. Open the IP Address screen.**

Press the knob on the front panel once. The SET IP ADDRESS screen appears immediately on the display, showing the current IP address with a blinking cursor.

***

**2. Navigate to the segment you want to change.**

Turn the knob to move the blinking cursor across the four segments of the IP address. The default last segment is `32` — in most cases, this is the only segment you need to change.

***

**3. Select and change the value.**

Turn the knob to land on the segment you want to edit, then press the knob to select it. Turn the knob to dial in the new value. Press the knob again to confirm.

Repeat for any other segments that need to change.

***

**4. Save and exit.**

Turn the knob to scroll to **OK** and press the knob to save the new address and return to the main display. The new IP address is now active.

> **Changed your mind?** Scroll to **CANCEL** instead and press the knob to discard any changes.

***

## Changing the Subnet Mask

You almost certainly don't need to do this — the default subnet of `255.255.255.0` works for every standard Spikemark installation. Only adjust it if you have a specific reason to (for example, integrating with a show control network that uses a different subnet).

**Legacy card:** Press and hold the knob until the SET SUBNET screen appears. Follow the same steps as changing the IP address.

**Unipolar V6 card:** From the settings menu, navigate to **CHANGE SUBNET ADDRESS** and follow the same steps as changing the IP address.

***

## Next Step

Once the Stagehand's IP address is set, you need to enter that address in Spikemark so the two can find each other. See [Connecting to a Stagehand in Spikemark →](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection/establishing-a-network-connection-to-your-machine)

***

## Troubleshooting

**Two Stagehands have the same IP address.** This is a common issue when adding a second unit without changing the default address. Both units will fail to communicate reliably. Change the address on one Stagehand, adjust the values in Spikemark and you will be ready to connect.

**I set the address correctly but Spikemark still won't connect.** The address on the Stagehand and the address entered in Spikemark's Stagehand Properties must match exactly. Double-check both. Also confirm your PC's IP address is set and that Spikemark Options reflects the correct PC address. See [Setting the Computer IP Address](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection/setting-computer-ip-address) if needed.

**The address I set isn't showing up.** Make sure you completed the Save step before exiting the menu (Unipolar V6), or scrolled to OK and pressed the knob (Legacy). If the address reverts to `192.168.10.32`, the change wasn't saved — run through the procedure again and confirm each step.


# Setting the Showstopper Device IP Addresses

This page covers network configuration and E-Stop Node ID setup for every device in the Showstopper family. Each device is a little different — use the table below to jump straight to what you need.

| Device                               | IP set on device?    | IP set in Spikemark?           | Node ID?           |
| ------------------------------------ | -------------------- | ------------------------------ | ------------------ |
| Showstopper 4 Base & Hubs            | Yes — knob menu      | No — auto-discovered           | Yes — on device    |
| Spikemark Console                    | No — not needed      | No — connects via serial       | Yes — in Spikemark |
| Spikemark Pendant V2                 | Yes — touchscreen    | Yes — Pendant config window    | TBD                |
| Showstopper 4 Consolette *(retired)* | Yes — jog wheel menu | Yes — Consolette config window | Yes — on device    |

> **Before you start:** Make sure your PC's IP address is set and Spikemark Options is configured correctly. If you haven't done that yet, start with [Setting the Computer IP Address](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection/setting-computer-ip-address).

***

## Showstopper 4 Base and Hubs

The Showstopper 4 Base needs a static IP address to report E-Stop status to Spikemark. The default address is `192.168.10.235`. You don't need to enter this address anywhere in Spikemark — as long as the Base has a valid address on the same network and your PC's IP is set correctly in Spikemark Options, Spikemark will find it automatically.

The E-Stop Hub follows the same procedure and the same rule — each Hub needs its own unique address.

> **Port 5007** must be open in Windows Firewall for Spikemark to communicate with the Base. If Spikemark isn't seeing E-Stop status, check this first. See the [Network Quick Start troubleshooting section](https://docs.creativeconners.com/docs/spikemark/ip-address-and-network-connection) for details.

### Setting the IP Address

**1. Open the configuration menu.**

Press the knob on the front panel of the Showstopper 4 Base. The knob works like a car stereo — press to click, turn to scroll.

***

**2. Navigate to >SET IP.**

Turn the knob clockwise to scroll through the menu until the display shows **>SET IP**. Press the knob to enter the IP address screen.

***

**3. Navigate to the segment you want to change.**

The current IP address is shown with a blinking cursor. Turn the knob to move the cursor across the four segments. The default last segment is `235` — in most cases this is the only one you need to change.

***

**4. Select and change the value.**

Press the knob to select the segment. Turn the knob to set the new value. Press the knob again to confirm.

Repeat for any other segments that need to change.

***

**5. Save and exit.**

Turn the knob to scroll to **OK** and press to save the new address and return to the main display.

> **Changed your mind?** Scroll to **CANCEL** and press the knob to discard any changes.

***

### Setting the E-Stop Node ID

The E-Stop Node ID is separate from the IP address — it's the identifier that tells Spikemark *which* E-Stop button was pressed when status is reported on screen. Every Showstopper device in your system needs a unique Node ID between 0 and 127. The maximum number of addressable E-Stop buttons in any system is 128.

> **IP address vs. Node ID:** The IP address is how the device communicates on the network. The Node ID is how it identifies itself to the E-Stop system. Both need to be set. They are independent of each other.

**1. Open the configuration menu.**

Press the knob to open the Showstopper configuration menu.

***

**2. Navigate to >SET BUTTON ID.**

Turn the knob clockwise until the display shows **>SET BUTTON ID**. Press the knob to enter the SET E-STOP ID screen.

***

**3. Select the ID field.**

Turn the knob to move the cursor to the **NEW ID** number field. Press the knob to select it.

***

**4. Set the new ID.**

Turn the knob to set the new Node ID value. Press the knob to accept.

***

**5. Save and exit.**

Turn the knob to scroll to **OK** and press to save the new Node ID and return to the main display.

> **Changed your mind?** Scroll to **CANCEL** and press the knob to discard any changes.

Once Node IDs are set on each device, configure the Showstopper Node Editor in Spikemark to map each ID to a label so you can see which button is active at a glance. See the [Showstopper Node Editor](https://docs.creativeconners.com/docs/spikemark/showstopper-node-editor) for details.

***

## Spikemark Console

The Spikemark Console is the exception on this page — **it requires no IP address configuration at all.** Unlike every other device in this list, the Console connects to Spikemark via a built-in serial connection rather than Ethernet. There are no addresses to set on the device and nothing to enter in Spikemark beyond clicking Connect.

To connect:

1. Make sure the Console and the PC are both powered on and the Accessory cable is connected to the Showstopper Base.
2. Open Spikemark. If the Console doesn't connect automatically, go to **Console menu → Spikemark Console** (or click the **Spikemark Console** button in the Control Devices section).
3. Click **Connect**. Check **Auto Connect** so it reconnects automatically on future startups.

That's it. For full Console configuration options see the [Spikemark Console documentation](https://docs.creativeconners.com/docs/showstopper/spikemark-console/making-the-connections#spikemark-software-integration).

***

### Setting the Console's E-Stop Node ID

The Console's E-Stop Node ID is set directly in Spikemark — there's nothing to configure on the hardware itself. In the Spikemark Console configuration window, find the **Console E-Stop ID** field and enter a unique Node ID (0–127) that doesn't conflict with any other Showstopper device in your system.

See the [Showstopper Node Editor](https://docs.creativeconners.com/docs/spikemark/showstopper-node-editor) for details on mapping all Node IDs in Spikemark.

***

## Spikemark Pendant/Spikemark Vantis

The Pendant is the most involved device to configure on this page because addresses need to be set in two places — on the Pendant's touchscreen and in Spikemark. Both must match before the Pendant will connect.

> **Critical — connect the network cable before powering on the Pendant.** If the Pendant powers on without a network connection present, it will fail to initialize the configuration screen and you'll see only a cursor on a black background. If this happens: power off the Pendant, connect the network cable, then power back on.

### Part 1: Set the IP Address on the Pendant

Once the Pendant boots up it will display the configuration screen automatically.

The configuration screen shows four fields:

| Field        | Default Value    | Notes                                                     |
| ------------ | ---------------- | --------------------------------------------------------- |
| Spikemark IP | `192.168.10.245` | Must match your PC's actual IP address                    |
| Pendant IP   | `192.168.10.250` | The Pendant's own address — must be unique on the network |
| Subnet Mask  | `255.255.255.0`  | Leave as default unless your network requires otherwise   |
| Port         | `8080`           | Leave as default — only change if directed by support     |

Tap a field to select it (the screen is touch-sensitive), or use the touchpad on the included Bluetooth keyboard. You can scroll through values with the jog wheel or type directly with the keyboard.

Changes are not saved until you press **Connect** — so make sure all values are correct before connecting.

***

### Part 2: Set the Pendant IP Address in Spikemark

**1. Open the Pendant configuration window.**

In Spikemark, go to **Pendant menu** or click the **Pendant** button in the Control Devices section.

***

**2. Enter the Pendant's IP address.**

Enter the same IP address you set on the Pendant itself (e.g., `192.168.10.250`). Confirm the Spikemark IP shown here matches your PC's address. If it doesn't, check **File → Spikemark Options**.

***

**3. Enable the Pendant and connect.**

Make sure the Pendant is set to **Enabled** in Spikemark, then press **Connect** on the Pendant's touchscreen. The display will switch from the configuration screen to the operating interface once the connection is established.

***

### E-Stop Node ID

Set the e-stop Node ID on the configuration screen. Select the Node ID text box and enter the Node ID.

***

## Showstopper 4 Consolette *(Retired)*

> **Note:** The Showstopper 4 Consolette is a retired product. Documentation is maintained here for existing users. For new installations, the [Spikemark Console](https://docs.creativeconners.com/docs/showstopper/spikemark-console) is the current replacement.

The Consolette requires an IP address set on the device and the same address entered in Spikemark. The default address is `192.168.10.254`.

> **A reboot is required after changing the IP address.** After you press OK to save, the Consolette will prompt you to reboot now or postpone. The new address will not take effect until the reboot is complete. Choose reboot now unless you have a specific reason to postpone.

### Setting the IP Address on the Consolette

**1. Open the Settings Menu.**

Press the jog wheel on the front of the Consolette. The status display will show the Settings Menu — a scrollable list of configuration options.

***

**2. Navigate to SET IP ADDRESS.**

Rotate the jog wheel to scroll through the menu until **SET IP ADDRESS** is highlighted. Press the jog wheel to select it.

***

**3. Select and change the segment.**

The current IP address is shown with a cursor. Rotate the jog wheel to move the cursor to the segment you want to change. Press the jog wheel to select it. Rotate to adjust the value. Press the jog wheel again to confirm.

Repeat for any other segments that need to change.

***

**4. Save and reboot.**

Move the cursor to **OK** and press the jog wheel to save. The Consolette will prompt you to reboot — select **Reboot Now**. The new IP address will be active once it restarts.

> **Changed your mind?** Move the cursor to **CANCEL** and press the jog wheel to discard changes.

***

### Setting the Consolette IP Address in Spikemark

Once the Consolette has rebooted with its new address, enter the same address in Spikemark's Consolette configuration window. For step-by-step instructions see [Connecting the Consolette to Spikemark](https://docs.creativeconners.com/docs/showstopper/legacy/showstopper-consolette/connecting-the-consolette-to-spikemark).

***

### Setting the Consolette's E-Stop Node ID

The Consolette's Node ID is set from the same Settings Menu as the IP address.

**1. Open the Settings Menu.**

Press the jog wheel on the front of the Consolette to open the Settings Menu.

***

**2. Navigate to SET BUTTON ID.**

Rotate the jog wheel to scroll through the menu until **SET BUTTON ID** is highlighted. Press the jog wheel to enter the SET E-STOP ID screen.

***

**3. Select the ID field.**

Turn the jog wheel to move the cursor to the **NEW ID** field. Press the jog wheel to select it.

***

**4. Set the new ID.**

Turn the jog wheel to set the new Node ID value (0–127, unique across your whole system). Press the jog wheel to confirm.

***

**5. Save and exit.**

Move the cursor to **OK** and press the jog wheel to save. Move the cursor to **CANCEL** to discard any changes.

***

**6. Exit the Settings Menu.**

Scroll to the bottom of the Settings Menu and select **EXIT**.

***

## Troubleshooting

**Spikemark isn't seeing the Showstopper Base.** Confirm Port 5007 is open in Windows Firewall and that the Base's IP address is in the same `192.168.10.___` range as the PC. The Base is auto-discovered — you don't enter its address in Spikemark, but the PC's IP in Spikemark Options must be correct for discovery to work.

**The Pendant shows only a cursor on a black screen.** The network cable wasn't connected before power-on. Power off the Pendant, connect the cable, then power back on.

**The Pendant configuration screen shows the right addresses but won't connect.** Make sure the Pendant is set to **Enabled** in Spikemark before pressing Connect on the Pendant screen. Also confirm the Spikemark IP address on the Pendant matches your PC's actual address — not a leftover default.

**The Consolette's new IP address isn't working after saving.** The Consolette requires a full reboot to apply a new IP address. If you chose to postpone the reboot, the old address is still active. Power the Consolette off and back on to complete the change.

**Two devices have the same IP address.** Both will fail to communicate reliably. Take one offline, assign it a unique address, and verify connectivity before bringing both back online.


# Navigating Spikemark


# Show Modes

Spikemark can be run in Simulator or Live mode.

## Simulator Mode

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c4a9c4df9200e494c87aed13ac0a6f1a38ae21d2%2Fsimulator-live-drop-down.gif?alt=media" alt="Simulator Mode"><figcaption></figcaption></figure>

As the names suggest, Simulator Mode allows you to program cues and check out movements in the [Stage Model Viewer](/docs/spikemark-6/navigating-spikemark/show-modes) without moving real machines. Cues can be run from the on screen [Cue Controls](/docs/spikemark-6/navigating-spikemark/show-modes), a [Showstopper Consolette](/docs/spikemark-6/navigating-spikemark/show-modes), or a [Console](/docs/spikemark-6/navigating-spikemark/show-modes).

## Live Mode

Once you're ready to start moving real machinery, switch to Live Mode, configure your machinery in Spikemark, and run all the cues that you programmed in Simulator Mode.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-1dc19a86854b4da81e798390956beabe9ff38943%2Fsimulator-live-visualizer.gif?alt=media" alt="Live Mode"><figcaption></figcaption></figure>

{% hint style="info" %}
Notice how in Live mode, the scenery is dark grey by default. This means that it is not yet connected to Spikemark. The tan scenery in the visualizer indicates that it is "connected" and ready to move!
{% endhint %}


# Workspaces

Spikemark is split up into 3 different workspaces that are designed to help you with different aspects of your show. Workspaces are where you can jog machinery, program, and operate your shows.

* [**Jog Workspace**](/docs/spikemark-6/navigating-spikemark/workspaces/jog-workspace-overview): Designed to get you moving 1 or 100s of machines quickly.
* [**Cues Workspace**](/docs/spikemark-6/navigating-spikemark/workspaces/cue-workspace-overview): Designed for programming and running your show.
* [**Preset Workspace**](/docs/spikemark-6/navigating-spikemark/workspaces/preset-workspace-overview): Designed to recall on stage looks with the touch of a button.

Additionally, the workspaces can be [customized](/docs/spikemark-6/navigating-spikemark/workspaces/adjusting-your-workspace) to work better for you and your show.


# Jog Workspace

The Jog Workspace is designed to get you moving 1 or 100s of machines quickly, and it is broken up into major 11 parts.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-1502b6e758311edc945878c484bde5c9401b5a77%2Fjog-workspace-markup.png?alt=media" alt="Jog Workspace"><figcaption></figcaption></figure>

## 1. Menu Bar

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5dd21dcf829ca21daba3f96688db12e30d02ae9a%2Fmenu-bar.png?alt=media" alt="Menu Bar Overview"><figcaption></figcaption></figure>

The Menu Bar is located at the top of the Spikemark window. It contains the following menus:

* File: This menu contains options for creating, opening, saving, and exporting show files.
* Stagehand: This menu contains options for creating, connecting, and editing Stagehands.
* Cues: This menu contains options for creating, editing, and manipulating cues.
* Stage: This menu contains options for controlling the stage.
* Show Control: This menu contains options for connecting Spikemark to other systems like media servers and lighting consoles.
* Machine Library: This has all of Creative Conners' machines and their settings for quick programming.
* Showstopper: This menu contains options for displaying and controlling the Showstopper status'.
* Console: This menu contains options for configuring the console.
* Pendant: This menu contains options for configuring the pendant.
* Window: This menu contains options for popping out additional windows to customize the UI.
* Administration: This menu contains options for configuring the user authorization in Spikemark.
* Help: This menu contains options for accessing the log files and general Spikemark information.

## 2. Playbacks Controller

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-743fd01140b953dedb43b674c8e1a40add22033f%2Fplaybacks-controller.png?alt=media" alt="Playbacks Controller Overview"><figcaption></figcaption></figure>

The Playbacks Controller is where you can see all the playbacks in the show. From here you can also see the loaded and running cues on each playback. Additionally, you can control the playbacks by running, stopping, or adjusting the live speed.

## 3. Filter and Tag Bar

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3baf826fd41e205603b28ba52f4d9a47a7c7359b%2Ffilter-and-tag-bar.png?alt=media" alt="Filter and Tag Bar Overview"><figcaption></figcaption></figure>

The filter and tag bar is located at the top of the Spikemark window. It allows you to narrow down which Stagehands you are viewing by filtering them by name, status, or tag. This is helpful when you have a large number of Stagehands and are only concerned with a specific subset of them.

Detailed information can be found in the following sections:

* [Filters](/docs/spikemark-6/navigating-spikemark/filters)
* [Tags](/docs/spikemark-6/navigating-spikemark/tags)
* [Search](/docs/spikemark-6/navigating-spikemark/search)

## 4. Visualizer

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-b324d171bbbf2a3973ad5be74f8483e839941751%2Fvisualizer.png?alt=media" alt="Visualizer Overview"><figcaption></figcaption></figure>

The visualizer is where you can see a 3D representation of your motors and scenery. In the visualizer the scenery is tracking to the motors actual position so you can see where everything is in real time.

## 5. Control Devices

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-bba6abfb6806ec78d8b1f243a01a685455fc9266%2Fcontrol-devices.png?alt=media" alt="Control Devices Overview"><figcaption></figcaption></figure>

The Control Devices section is where you can quicly get to the configuration for the control devices as well as see the status of the devices.

There are 3 possible control device in Spikemark and more information for each can be found in the following sections:

* [Showstopper Consolette](/docs/showstopper/legacy/showstopper-consolette/operation-and-spikemark-integration)
* [Spikemark Pendant](/docs/showstopper/legacy/spikemark-pendant/setup)
* [Spikemark Console](https://github.com/creativeconners/PublicDocumentation/blob/main/spikemark-6/includes/control-devices-overview.md)

## 6. Showstopper Status

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-ae9c1ecfb711b0dbd2b69a4d1a49733f73a11e67%2Fshowstopper-status.png?alt=media" alt="Showstopper Status Overview"><figcaption></figcaption></figure>

The Showstopper status pane displays the state of each Showstopper 4 and later emergency stop button in the system. Detailed information on configuration can be found in the [Showstopper Node Editor](/docs/spikemark/showstopper-node-editor) section.

## 7. Show Modes

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-6dacdbdd1f73d7522e3275d2e2b3922955d51dd0%2Fenvironment-controls.png?alt=media" alt="Show Modes Overview"><figcaption></figcaption></figure>

Spikemark can be run in Live Mode, where you are connected to real machines, or it can be run in Simulator Mode where you can work offline and test your show without the need for real machines.

More information can be found in the [Show Modes](/docs/spikemark-6/navigating-spikemark/show-modes) section.

## 8. Properties Pane

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5efa8a9570a1fad791da8b91bf62ce42a0fae631%2Fproperties-pane.png?alt=media" alt="Properties Pane Overview"><figcaption></figcaption></figure>

The properties pane is where you can edit all the nitty-gritty properties of the currently selected Stagehand.

## 9. Stagehand Axis Grid

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-beb03ff8e20aac15ded12136d1b0aaa994cc246e%2Faxis-grid.png?alt=media" alt="Stagehand Axis Grid Overview"><figcaption></figcaption></figure>

The Stagehand Axis Grid is where you can see all the Stagehands in the show. Each Stagehand is represented by a card and shows the most important information like position and status. By selecting a Stagehand(s) you can get access to all of its properties as well as jog it or run it to a target position.

## 10. Axis Dashboard

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-eb467f3ee509a4c71776cf77b896ce79a429b91e%2Faxis-dashboard.png?alt=media" alt="Axis Dashboard Overview"><figcaption></figcaption></figure>

The axis dashboard is where you can see all the currently selected Stagehands. This is important because everything in the dashboard will move when you jog or run to a target position using move to position.

## 11. Quick Properties

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-abb2a30995323dfa6de156105f9f5e50de5fec95%2Fquick-properties.png?alt=media" alt="Quick Properties Overview"><figcaption></figcaption></figure>

The quick properties are a subset of the properties that are the most important for getting up and running quickly. Additionally, editing the quick properties will update the value for all selected Stagehands.


# Cues Workspace

The Cues Workspace is designed for programming and running cues for your show, and it is broken up into major 12 parts.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5b62879dde5f9c1f8625b32c35cb3039bed29b41%2Fcue-workspace-markup.png?alt=media" alt="Cues Workspace"><figcaption></figcaption></figure>

## 1. Menu Bar

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5dd21dcf829ca21daba3f96688db12e30d02ae9a%2Fmenu-bar.png?alt=media" alt="Menu Bar Overview"><figcaption></figcaption></figure>

The Menu Bar is located at the top of the Spikemark window. It contains the following menus:

* File: This menu contains options for creating, opening, saving, and exporting show files.
* Stagehand: This menu contains options for creating, connecting, and editing Stagehands.
* Cues: This menu contains options for creating, editing, and manipulating cues.
* Stage: This menu contains options for controlling the stage.
* Show Control: This menu contains options for connecting Spikemark to other systems like media servers and lighting consoles.
* Machine Library: This has all of Creative Conners' machines and their settings for quick programming.
* Showstopper: This menu contains options for displaying and controlling the Showstopper status'.
* Console: This menu contains options for configuring the console.
* Pendant: This menu contains options for configuring the pendant.
* Window: This menu contains options for popping out additional windows to customize the UI.
* Administration: This menu contains options for configuring the user authorization in Spikemark.
* Help: This menu contains options for accessing the log files and general Spikemark information.

## 2. Playbacks Controller

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-743fd01140b953dedb43b674c8e1a40add22033f%2Fplaybacks-controller.png?alt=media" alt="Playbacks Controller Overview"><figcaption></figcaption></figure>

The Playbacks Controller is where you can see all the playbacks in the show. From here you can also see the loaded and running cues on each playback. Additionally, you can control the playbacks by running, stopping, or adjusting the live speed.

## 3. Filter and Tag Bar

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3baf826fd41e205603b28ba52f4d9a47a7c7359b%2Ffilter-and-tag-bar.png?alt=media" alt="Filter and Tag Bar Overview"><figcaption></figcaption></figure>

The filter and tag bar is located at the top of the Spikemark window. It allows you to narrow down which Stagehands you are viewing by filtering them by name, status, or tag. This is helpful when you have a large number of Stagehands and are only concerned with a specific subset of them.

Detailed information can be found in the following sections:

* [Filters](/docs/spikemark-6/navigating-spikemark/filters)
* [Tags](/docs/spikemark-6/navigating-spikemark/tags)
* [Search](/docs/spikemark-6/navigating-spikemark/search)

## 4. Visualizer

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-b324d171bbbf2a3973ad5be74f8483e839941751%2Fvisualizer.png?alt=media" alt="Visualizer Overview"><figcaption></figcaption></figure>

The visualizer is where you can see a 3D representation of your motors and scenery. In the visualizer the scenery is tracking to the motors actual position so you can see where everything is in real time.

## 5. Control Devices

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-bba6abfb6806ec78d8b1f243a01a685455fc9266%2Fcontrol-devices.png?alt=media" alt="Control Devices Overview"><figcaption></figcaption></figure>

The Control Devices section is where you can quicly get to the configuration for the control devices as well as see the status of the devices.

There are 3 possible control device in Spikemark and more information for each can be found in the following sections:

* [Showstopper Consolette](/docs/showstopper/legacy/showstopper-consolette/operation-and-spikemark-integration)
* [Spikemark Pendant](/docs/showstopper/legacy/spikemark-pendant/setup)
* [Spikemark Console](https://github.com/creativeconners/PublicDocumentation/blob/main/spikemark-6/includes/control-devices-overview.md)

## 6. Showstopper Status

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-ae9c1ecfb711b0dbd2b69a4d1a49733f73a11e67%2Fshowstopper-status.png?alt=media" alt="Showstopper Status Overview"><figcaption></figcaption></figure>

The Showstopper status pane displays the state of each Showstopper 4 and later emergency stop button in the system. Detailed information on configuration can be found in the [Showstopper Node Editor](/docs/spikemark/showstopper-node-editor) section.

## 7. Show Modes

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-6dacdbdd1f73d7522e3275d2e2b3922955d51dd0%2Fenvironment-controls.png?alt=media" alt="Show Modes Overview"><figcaption></figcaption></figure>

Spikemark can be run in Live Mode, where you are connected to real machines, or it can be run in Simulator Mode where you can work offline and test your show without the need for real machines.

More information can be found in the [Show Modes](/docs/spikemark-6/navigating-spikemark/show-modes) section.

## 8. Properties Pane

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5efa8a9570a1fad791da8b91bf62ce42a0fae631%2Fproperties-pane.png?alt=media" alt="Properties Pane Overview"><figcaption></figcaption></figure>

The properties pane is where you can edit all the nitty-gritty properties of the currently selected Stagehand.

## 9. Cue List

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-23472c878f7aa3f8144312877c2214f1f6f714eb%2Fcue-list.png?alt=media" alt="Cue List Overview"><figcaption></figcaption></figure>

The Cue List is where you can see all the cues in the show in sequential order. Each cue describes the placement of scenic elements and performers on stage. Detailed information on cues can be found in the [cues](/docs/spikemark-6/cues) section.

## 10. Stagehand Axis List

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-8849ee00bf357dba72a85b6de7a2c744855200f3%2Faxis-list.png?alt=media" alt="Axis List Overview"><figcaption></figcaption></figure>

The Stagehand Axis List is where you can see all the Stagehands in the show. Each Stagehand is represented by a list item and shows the most important information like position and status. Additionally, this list is used to program cues by dragging and dropping from the list onto cues. Detailed instructions on programming cues can be found in the [cues](/docs/spikemark-6/cues) section.

## 11. Trigger Toolbox

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-9449e92a3fb9dfc2d406fddbe74b7eadcb5ff9f2%2Ftrigger-toolbox.png?alt=media" alt="Trigger Toolbox Overview"><figcaption></figcaption></figure>

The Trigger Toolbox is where you can see all the available types of triggers. The toolbox is used to program cues by dragging and dropping triggers onto cues. Detailed instructions on using triggers can be found in the [Triggers](/docs/spikemark-6/triggers) section.

## 12. Spikemark Action Toolbox

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-900a99ffb38cdc2762aaccdd28918897274477b7%2Fspikemark-action-toolbox.png?alt=media" alt="Spikemark Action Toolbox Overview"><figcaption></figcaption></figure>

The Spikemark Action Toolbox is where you can see all the available types of Spikemark actions. The toolbox is used to program cues by dragging and dropping Spikemark actions onto cues. Detailed instructions on using Spikemark actions can be found in the [Spikemark Actions](/docs/spikemark-6/navigating-spikemark/workspaces/cue-workspace-overview) section.


# Preset Workspace

The Preset Workspace is designed to recall any cue state with the touch of a button. Though this is available for all situations, it is most useful for permanent installations when untrained operators need to move machinery. The Preset Workspace is broken up into major 9 parts.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-2d2d9b91db4cf6d1cc5c412c01563629ae726b8c%2Fpreset-workspace-markup.png?alt=media" alt="Preset Workspace"><figcaption></figcaption></figure>

## 1. Menu Bar

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5dd21dcf829ca21daba3f96688db12e30d02ae9a%2Fmenu-bar.png?alt=media" alt="Menu Bar Overview"><figcaption></figcaption></figure>

The Menu Bar is located at the top of the Spikemark window. It contains the following menus:

* File: This menu contains options for creating, opening, saving, and exporting show files.
* Stagehand: This menu contains options for creating, connecting, and editing Stagehands.
* Cues: This menu contains options for creating, editing, and manipulating cues.
* Stage: This menu contains options for controlling the stage.
* Show Control: This menu contains options for connecting Spikemark to other systems like media servers and lighting consoles.
* Machine Library: This has all of Creative Conners' machines and their settings for quick programming.
* Showstopper: This menu contains options for displaying and controlling the Showstopper status'.
* Console: This menu contains options for configuring the console.
* Pendant: This menu contains options for configuring the pendant.
* Window: This menu contains options for popping out additional windows to customize the UI.
* Administration: This menu contains options for configuring the user authorization in Spikemark.
* Help: This menu contains options for accessing the log files and general Spikemark information.

## 2. Playbacks Controller

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-743fd01140b953dedb43b674c8e1a40add22033f%2Fplaybacks-controller.png?alt=media" alt="Playbacks Controller Overview"><figcaption></figcaption></figure>

The Playbacks Controller is where you can see all the playbacks in the show. From here you can also see the loaded and running cues on each playback. Additionally, you can control the playbacks by running, stopping, or adjusting the live speed.

## 3. Filter and Tag Bar

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3baf826fd41e205603b28ba52f4d9a47a7c7359b%2Ffilter-and-tag-bar.png?alt=media" alt="Filter and Tag Bar Overview"><figcaption></figcaption></figure>

The filter and tag bar is located at the top of the Spikemark window. It allows you to narrow down which Stagehands you are viewing by filtering them by name, status, or tag. This is helpful when you have a large number of Stagehands and are only concerned with a specific subset of them.

Detailed information can be found in the following sections:

* [Filters](/docs/spikemark-6/navigating-spikemark/filters)
* [Tags](/docs/spikemark-6/navigating-spikemark/tags)
* [Search](/docs/spikemark-6/navigating-spikemark/search)

## 4. Visualizer

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-b324d171bbbf2a3973ad5be74f8483e839941751%2Fvisualizer.png?alt=media" alt="Visualizer Overview"><figcaption></figcaption></figure>

The visualizer is where you can see a 3D representation of your motors and scenery. In the visualizer the scenery is tracking to the motors actual position so you can see where everything is in real time.

## 5. Control Devices

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-bba6abfb6806ec78d8b1f243a01a685455fc9266%2Fcontrol-devices.png?alt=media" alt="Control Devices Overview"><figcaption></figcaption></figure>

The Control Devices section is where you can quicly get to the configuration for the control devices as well as see the status of the devices.

There are 3 possible control device in Spikemark and more information for each can be found in the following sections:

* [Showstopper Consolette](/docs/showstopper/legacy/showstopper-consolette/operation-and-spikemark-integration)
* [Spikemark Pendant](/docs/showstopper/legacy/spikemark-pendant/setup)
* [Spikemark Console](https://github.com/creativeconners/PublicDocumentation/blob/main/spikemark-6/includes/control-devices-overview.md)

## 6. Showstopper Status

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-ae9c1ecfb711b0dbd2b69a4d1a49733f73a11e67%2Fshowstopper-status.png?alt=media" alt="Showstopper Status Overview"><figcaption></figcaption></figure>

The Showstopper status pane displays the state of each Showstopper 4 and later emergency stop button in the system. Detailed information on configuration can be found in the [Showstopper Node Editor](/docs/spikemark/showstopper-node-editor) section.

## 7. Show Modes

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-6dacdbdd1f73d7522e3275d2e2b3922955d51dd0%2Fenvironment-controls.png?alt=media" alt="Show Modes Overview"><figcaption></figcaption></figure>

Spikemark can be run in Live Mode, where you are connected to real machines, or it can be run in Simulator Mode where you can work offline and test your show without the need for real machines.

More information can be found in the [Show Modes](/docs/spikemark-6/navigating-spikemark/show-modes) section.

## 8. Properties Pane

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5efa8a9570a1fad791da8b91bf62ce42a0fae631%2Fproperties-pane.png?alt=media" alt="Properties Pane Overview"><figcaption></figcaption></figure>

The properties pane is where you can edit all the nitty-gritty properties of the currently selected Stagehand.

## 9. Preset List

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-cea1f6d4a928d44feb8018376ff93eec2f23564c%2Fpresets.png?alt=media" alt="Preset List Overview"><figcaption></figcaption></figure>

The Preset List is where you can see all the presets in the show. Each preset is represented by a list item and shows a visual representation of the ending state of the stage as well as text describing what will happen. Detailed information on presets can be found in the [presets](https://github.com/creativeconners/PublicDocumentation/blob/main/spikemark-6/presets/presets-overview.md) section.


# Customize Your Workspace

You can customize your workspace to fit your needs. This includes adjusting the size of the windows, and popping out additional windows to view more information at once.

## Splitter Panes

Each workspace is divided by adjustable splitter panes that can be dragged to customize the size and shape of your space. These examples are in the Jog Workspace, but they function they same in Cues and Presets.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-057da7dcbe3051d442a7ef8fd84bf7ffaf5b6542%2Fjog-workspace-splitter-panes.png?alt=media" alt="Jog Workspace Splitter Panes"><figcaption></figcaption></figure>

### Dragging Splitter Panes

Click and drag any splitter pane to customize the size of the adjacent windows.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-46529f28474cd462dd65e3a4663413fa3c7589a3%2Fjog-workspace-dragging-splitter-panes.gif?alt=media" alt="Dragging Splitter Panes"><figcaption></figcaption></figure>

### Collapse and Expand Splitter Panes

Double-Click on any splitter pane to collapse it to the side, or expand it back to its previous location.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-b5df641b24e11555dce10cbef58a1104f2ec4d7f%2Fjog-workspace-double-click-splitter-pane.gif?alt=media" alt="Collapse and Expand Splitter Panes"><figcaption></figcaption></figure>

## Pop Out Windows

The Windows menu in the upper toolbar allows you to open certain tools in separate windows. This is exceptionally useful when using multiple screens, or trying to condense more information into the Spikemark window.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-af071934e102a67974cc5e1dd97982adb2c6a133%2Fwindow-menu.png?alt=media" alt="Windows Menu"><figcaption></figcaption></figure>

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-425ff3519c90066bfa82fafe05f3e7d3ad846b9b%2Fcue-workspace-customized-layout.png?alt=media" alt="Customized Layout"><figcaption></figcaption></figure>

1. Cue Control
2. Visualizer
3. Playbacks Controller
4. Showstopper Status Viewer
5. Visualizer
6. Load Cells Viewer


# Selection and Input

As we go through the various screens, you’ll want to select and put information into various fields. Just like with most computer programs, you can left-click and right-click just about anywhere to achieve various actions.

* Left-Click
  * Typically, lef-clicking is used to select an option or activate an input field.
* Double-Click
  * Left-clicking twice quickly in succession on the Splitter Panes will automatically collapse and expand the associated window area.
* Right-Click
  * Typically, right-clicking opens a contextual menu for various options related to the object or area being clicked.

## Input Field

Input fields are identified by having a dark grey background. Each of these fields allows for either alphanumeric or numeric input. For example, in the Jog Workspace, the quick properties have various input fields and even some drop down menus, such as position units and spike type.

[Spikes](/docs/spikemark-6/navigating-spikemark/selection-and-input) are a little more complicated, so they don't follow the dark grey input field convention. Each field is editable, even though they are the backgrounds color.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-abb2a30995323dfa6de156105f9f5e50de5fec95%2Fquick-properties.png?alt=media" alt="Quick Properties"><figcaption></figcaption></figure>

## Confirming Data

When inputting data there are two methods for confirming or saving that information into that field.

* **Tab** - After the data has been entered, press the tab key. This will automatically cycle to the next input field and confirm the previously entered information.
* **Click** - Clicking into another text field will confirm the data you entered.


# Tags

Tags allow you to organize and find your Stagehands quickly.

When you click on a tag, Spikemark will show you only the Stagehands with that tag. If you want to see all the Stagehands in your show. Click the "All" tag.

## Using Tags In The Jogging Workspace

### Create A New Tag

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-a6e96a445dba32b1a6bcc10996dac3aaf415cc44%2Fadd-tag-from-identification.gif?alt=media" alt="Create a new tag"><figcaption></figcaption></figure>

1. From the Identification pane click the + button.
2. Give the tag a name.
3. Select a color for the tag.
4. Click "OK".

### Delete A Tag

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-e0395ea94b8dfd536452e93884505a54c901dfa0%2Fdelete-tag-from-identification.gif?alt=media" alt="Create a new tag"><figcaption></figcaption></figure>

1. From the Identification pane select the tag.
2. Click the "X" button.

### Assign A Tag

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-7f1c2d8a7450ebf8dcd19688023f95a17a197327%2Fassign-tag.gif?alt=media" alt="Create a new tag"><figcaption></figcaption></figure>

1. Select the Stagehands you want to tag.
2. Select the tag in the all tags box.
3. Click the right pointing arrow to assign the tag to the Stagehands.

### Un-Assign A Tag

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-bb5b290a81aa4420a8684b20191edd7606b5e8ce%2Funassign-tag.gif?alt=media" alt="Create a new tag"><figcaption></figcaption></figure>

1. Select the tag in the assigned box.
2. Click the left pointing arrow to un-assign the tag from the Stagehands.

## Using Tags From The Tags Bar

### Create A New Tag

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-fe34472847689a8dc77d94349a24f155b72d57dc%2Fadd-tag-from-tag-bar.gif?alt=media" alt="Create a new tag"><figcaption></figcaption></figure>

1. Right-click on a tag.
2. Click "Add Tag".
3. Give the tag a name.
4. Select a color for the tag.
5. Click "OK".

### Edit A Tag

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-962e0572dbdb0721809f0bc0d0568315cbf91311%2Fedit-tag-from-tag-bar.gif?alt=media" alt="Create a new tag"><figcaption></figcaption></figure>

1. Right-click on a tag.
2. Click "Edit Tag".
3. Change the name of the tag.
4. Change the color of the tag.
5. Click "OK".

### Delete A Tag

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-560dec009b12b2729578ccdea30567f9fb20feec%2Fdelete-tag-from-tag-bar.gif?alt=media" alt="Create a new tag"><figcaption></figcaption></figure>

1. Right-click on a tag.
2. Click "Delete Tag".


# Filters

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-6da36a59f530e7d4b6c3783127053b699c85aea7%2Fjog-workspace-filtering.gif?alt=media" alt="Filtering"><figcaption></figcaption></figure>

Filters allow you to quickly narrow down which Stagehands you see based off your filtering criteria.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-aa652592d62034f67b8e54339c701b8824383b4f%2Ffilters.png?alt=media" alt="Filters"><figcaption></figcaption></figure>

The filtering criteria is:

* Connection Status
  * Connected - This will display any Stagehands that are connected.
  * Disconnected - This will display any Stagehands that are not connected.
* Faulted - This will display any Stagehands that are faulted.
* Active - This will display any Stagehands that are active.
* Inactive - This will display any Stagehands that are inactive.
* Motor Status
  * Idle - This will display any Stagehands that are not, loaded, running, completed or faulted.
  * Loaded - This will display any Stagehands that have loaded a movement.
  * Running - This will display any Stagehands that are running a movement.
  * Completed - This will display any Stagehands that have completed a movement.

If you want to see all the Stagehands in your show. Make sure all filters are deselected.


# Search

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-19fbfa62749e6b82ee0b4259cc6777f2386ac710%2Fjog-workspace-search.gif?alt=media" alt="Searching"><figcaption></figcaption></figure>

Search allows you to quickly find the Stagehands that you want to see. Use the Search Bar to search for the name of your machine.


# Keyboard Shortcuts

## System Functions

| Command                 | Key              |
| ----------------------- | ---------------- |
| New Show File           | CTRL + N         |
| New From Show           | CTRL + SHIFT + N |
| Open Existing Show File | CTRL + O         |
| Save The Show File      | CTRL + S         |
| Print                   | CTRL + P         |
| Exit                    | ALT + F4         |
| Show Keyboard Shortcuts | SHIFT + /        |

## Stagehands

| Command                        | Key              |
| ------------------------------ | ---------------- |
| Add Motor                      | CTRL + M         |
| Add FX                         | CTRL + F         |
| Connect To Stagehand           | CTRL + T         |
| Disconnect From Stagehand      | ALT + T          |
| Connect To All Stagehands      | CTRL + SHIFT + T |
| Disconnect From All Stagehands | ALT + SHIFT + T  |
| Duplicate Stagehand            | ALT + 1          |
| Reset Drive                    | ALT + R          |

## Cues

| Command | Key      |
| ------- | -------- |
| Add Cue | CTRL + U |

## Cue Control

| Command      | Key |
| ------------ | --- |
| Previous Cue | F2  |
| Next Cue     | F3  |
| Jump To Cue  | F4  |
| Run Cue      | F5  |
| Soft Stop    | F6  |

## Workspace

| Command                    | Key |
| -------------------------- | --- |
| Add Log Entry              | F8  |
| Switch To Cue Workspace    | F9  |
| Switch To Jog Workspace    | F10 |
| Switch To Preset Workspace | F11 |
| Clear Selected Stagehands  | ESC |
| Close Movement Editor      | ESC |


# Cues

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-6a6877019b3e6cdbece17f9d138794ad232bf775%2Fcue.png?alt=media" alt="Cue"><figcaption></figcaption></figure>

Cues are the building blocks of a show. Cues describe the placement of scenic elements and performers on stage. Each cue is a snapshot of the stage at a specific moment in time.


# Cue Structure

## Cue List

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-23472c878f7aa3f8144312877c2214f1f6f714eb%2Fcue-list.png?alt=media" alt="Cue List"><figcaption></figcaption></figure>

Cues are sorted in the cue list in the order they will be played during the show. The sorting of cues is determined by the cue number and there is no limit on the number of cues that can be in a show.

## Cue

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-6a6877019b3e6cdbece17f9d138794ad232bf775%2Fcue.png?alt=media" alt="Cue"><figcaption></figcaption></figure>

A cue is the largest building block of a show and represents an entire look or moment on stage. Each cue is made up of individual movements, actions, and triggers that spell out the exact placement of scenic elements and performers on stage.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-36c501cf4bb4d230341ff51926ca484b6ed1445e%2Fsouthcoast-rep-of-good-stock-cue-2.png?alt=media" alt="Cue"><figcaption></figcaption></figure>

{% embed url="<https://www.youtube.com/watch?v=4th0DukqjZU>" %}

In this example cue 2 is the interior of the house.

## Playback

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-197f6b385baf7a86d8df99452e1d118094bd5d08%2Fplayback-in-cue.png?alt=media" alt="Playback"><figcaption></figcaption></figure>

A playback is the mechanism for controlling the execution of cues. Each playback can have one sequence assigned to it per cue.

## Sequence

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5a4f91bfa0af902c0c30ef6991019d4168f14f57%2Fsequence-in-cue.png?alt=media" alt="Sequence"><figcaption></figcaption></figure>

A sequence is made up of steps that are linked together with triggers. A sequence is assigned a playback that it will be run on during the show. Sequences are automatically created while programming.

## Step

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5f2ed8a7b71be8f4526be0e96cb1c67ae2a96118%2Fstep-in-cue.png?alt=media" alt="Step"><figcaption></figcaption></figure>

A step exists in a sequence and contains Stagehand movements, actions, and triggers. Each step can have an unlimited number of these components, and all the components will start at the same time when the step is run.

## Movement

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-bd7282a1619b046aa550b328fc4281ce1f3b063b%2Fmovement-in-cue.png?alt=media" alt="Movement"><figcaption></figcaption></figure>

Movements are the smallest building blocks of a cue. A movement exists in a step and performs a single task for a single Stagehand. Each type of Stagehand has its own [type of movement](/docs/spikemark-6/movements).

## Trigger

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c04e2486e0bdeb67ac21b3c97b0904250876f9d5%2Ftrigger-in-cue.png?alt=media" alt="Trigger"><figcaption></figcaption></figure>

Triggers link together steps to create more complex sequences. Each [type of trigger](/docs/spikemark-6/triggers) looks for a specific condition to be met before executing the next step in the sequence. Triggers can be stacked to create more complex conditions.


# Cue Creation

There are five ways to create a new cue in Spikemark.

## 1. Right Click

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-bc8d47a84d964c78011d13f669f6d4fcd681ce3a%2Fadd-cue-right-click.gif?alt=media" alt="Right Click"><figcaption></figcaption></figure>

Right-click on the cue list and select "Add Cue" from the context menu.

## 2. Keyboard Shortcut

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-12d305999f2493c5ccb2c038916157878009ba24%2Fadd-cue-keyboard-shortcut.gif?alt=media" alt="Keyboard Shortcut"><figcaption></figcaption></figure>

Press `Ctrl + U` on your keyboard to create a new cue.

## 3. Menu Bar

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d5828e363f736697719275795b3749740e0e057d%2Fadd-cue-menu-bar.gif?alt=media" alt="Menu Bar"><figcaption></figcaption></figure>

Select "Cues" from the menu bar and then "Add Cue...".

## 4. Duplicate An Existing Cue

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0cf9a6e672eac4a96137575b5f36303013712cc8%2Fadd-cue-duplicate-cue.gif?alt=media" alt="Duplicate Cue"><figcaption></figcaption></figure>

Right-click on an existing cue and select "Duplicate Cue".

## 5. Drag and Drop

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-69c0f986fe673ca48f6870108bf928bf62016151%2Fadd-cue-drag-drop.gif?alt=media" alt="Drag and Drop"><figcaption></figcaption></figure>

Drag a Stagehand from the [axis list](https://docs.creativeconners.com/docs/spikemark-6/cues/pages/1oX5bjumXO2rc4gNK0Om#id-10.-stagehand-axis-list) and drop it under a cue in the drop zone.


# Add Movements

Each type of Stagehand has a [different movement](/docs/spikemark-6/movements). There are three scenarios where you can add a movement to a cue.

## 1. Adding To An Empty Cue

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5a48da15aef169cf48da9fb21be0c1526a9cecf7%2Fadd-movement-to-empty-cue.gif?alt=media" alt="Add Movements To Empty Cue"><figcaption></figcaption></figure>

Drag a Stagehand from the [axis list](https://docs.creativeconners.com/docs/spikemark-6/cues/cue-creation/pages/1oX5bjumXO2rc4gNK0Om#id-10.-stagehand-axis-list) over top of the cue and drop the Stagehand ontop of the playback.

## 2. Adding To An Existing Cue

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-01f3a68b3f479a20867a57d6a9e109174f3e1c46%2Fadd-movement-to-existing-cue.gif?alt=media" alt="Add Movements To Existing Cue"><figcaption></figcaption></figure>

Drag a Stagehand from the [axis list](https://docs.creativeconners.com/docs/spikemark-6/cues/cue-creation/pages/1oX5bjumXO2rc4gNK0Om#id-10.-stagehand-axis-list) and drop the Stagehand ontop of a step.

## 3. Moving An Existing Movement

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c8d548566b9be870a6b248a75be493cacfe01e00%2Fadd-movement-from-step-to-step.gif?alt=media" alt="Move Movement"><figcaption></figcaption></figure>

Drag a movement from one step to another.

{% hint style="info" %}
Steps don't have to be built in order. You can add movements to any step at any time.
{% endhint %}


# Add Triggers

There are several [types of triggers](/docs/spikemark-6/triggers) and three scenarios where you can add a trigger to a cue.

## 1. Adding To An Empty Cue

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-15abd2329a3e82307659f00d5e5570bc3985d18f%2Fadd-trigger-empty-cue.gif?alt=media" alt="Add Triggers To Empty Cue"><figcaption></figcaption></figure>

Drag a trigger from the [trigger toolbox](https://docs.creativeconners.com/docs/spikemark-6/cues/cue-creation/pages/1oX5bjumXO2rc4gNK0Om#id-11.-trigger-toolbox) over top of the cue and drop the trigger ontop of the playback.

## 2. Adding To An Existing Cue

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-a234f3461b9fa31ee89229f7e6337ac00f9757a6%2Fadd-trigger-existing-step.gif?alt=media" alt="Add Triggers To Existing Cue"><figcaption></figcaption></figure>

Drag a trigger from the [trigger toolbox](https://docs.creativeconners.com/docs/spikemark-6/cues/cue-creation/pages/1oX5bjumXO2rc4gNK0Om#id-11.-trigger-toolbox) and drop the trigger ontop of a step.

## 3. Moving An Existing Trigger

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c5510ca65f57d06314862f3e79a48b8bcb4ecaac%2Fadd-trigger-moving-trigger.gif?alt=media" alt="Move Trigger"><figcaption></figcaption></figure>

Drag a trigger from one step to another.

{% hint style="info" %}
Triggers can be stacked to create more complex conditions.
{% endhint %}


# Add Actions

There are several [types of actions](/docs/spikemark-6/cues/cue-creation/add-actions) and three scenarios where you can add an action to a cue.

## 1. Adding To An Empty Cue

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-131456f7311a8bfc3794c82f88ae2c3960dceb9e%2Fadd-action-empty-cue.gif?alt=media" alt="Add Triggers To Empty Cue"><figcaption></figcaption></figure>

Drag an action from the [action toolbox](https://docs.creativeconners.com/docs/spikemark-6/cues/cue-creation/pages/1oX5bjumXO2rc4gNK0Om#id-12.-spikemark-action-toolbox) over top of the cue and drop the action ontop of the playback.

## 2. Adding To An Existing Cue

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-775cf79ae290e119ec2ec133b8c7c548f0f275b5%2Fadd-action-existing-step.gif?alt=media" alt="Add Triggers To Existing Cue"><figcaption></figcaption></figure>

Drag an action from the [action toolbox](https://docs.creativeconners.com/docs/spikemark-6/cues/cue-creation/pages/1oX5bjumXO2rc4gNK0Om#d-12.-spikemark-action-toolbox) and drop the action ontop of a step.

## 3. Moving An Existing Trigger

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-f395995c24ebbb8995f71d365882da0084472a31%2Fadd-action-move-action.gif?alt=media" alt="Move Trigger"><figcaption></figcaption></figure>

Drag an action from one step to another.

{% hint style="info" %}
Steps don't have to be built in order. You can add actions to any step at any time.
{% endhint %}


# Editing Cue Properties

## Cue Properties

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-48233bcd8d373b6c30342e151c37a1ffdb4487f7%2Fcue-properties-overview.png?alt=media" alt="Cue Properties Overview"><figcaption></figcaption></figure>

```
1. Cue Number
2. Cue Name
3. Cue Color
4. Cue Notes
```

## Editing Cue Properties

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-bd36a2e8f9ace4df0a5b95e2766acb40351c4987%2FSM6%20-%20EditingCues%20-%2001%20ClickCueHeader.png?alt=media" alt="Image of Cue Header"><figcaption></figcaption></figure>

Click anywhere on the cue header to edit its properties.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-41ac1d3e76dd110da5b2f1a109a2aae66b5d7d6e%2FSM6%20-%20EditingCues%20-%2002%20CueEditorWindow.png?alt=media" alt="Cue Editor Window"><figcaption></figcaption></figure>

The Cue Editor Window will appear, allowing you to modify all cue parameters.

{% hint style="info" %}
Click Save Changes to keep your changes or Discard Changes to cancel them.
{% endhint %}

## Cue Number

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-4eb7b39c7bc288a043f1176112e136c2870bac6d%2FSM6%20-%20EditingCues%20-%2003%20CueNumber.png?alt=media" alt="Cue Number"><figcaption></figcaption></figure>

Spikemark orders the Cue List numerically, starting from Cue 0. Each cue number must be numeric. To reorder cues, assign larger or smaller numbers. Use decimals (like 1.1 or 1.01) to insert cues between whole numbers.

## Cue Name

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c87636c5d7c0d66976876eb7f95e49bb9e900c59%2FSM6%20-%20EditingCues%20-%2004%20CueName.png?alt=media" alt="Cue Name"><figcaption></figcaption></figure>

Name your cue using any text. Common naming conventions include scene numbers, target Spikes, and page numbers.

## Cue Color

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-7b15bb1511fe5b663f98bf6f49a24b0281522da7%2FSM6%20-%20EditingCues%20-%2005%20PickColor.png?alt=media" alt="Pick Color Button"><figcaption></figcaption></figure>

Color-code your cues to improve organization and visibility. Click Pick to select a color or enter a hexadecimal color code directly.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3efeb16a52c17c090ed7f5be0c841d92cedd33f4%2FSM6%20-%20EditingCues%20-%2006%20ColorPickerWindow.png?alt=media" alt="Color Picker Window"><figcaption></figcaption></figure>

Save custom colors to reuse them across your show file.

## Cue Notes

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-ed73bc9952abf21ff61611f02450c00c49cf5d77%2FSM6%20-%20EditingCues%20-%2007%20CueNotes.png?alt=media" alt="Cue Notes"><figcaption></figcaption></figure>

### Formatting Cue Notes

Format your notes using the following tags:

`<FormatType>Your Text Here</FormatType>`

Available formatting options:

* Press Enter to create new lines
* `<bold>text</bold>` - creates bold text
* `<underline>text</underline>` - creates underlined text
* `<italic>text</italic>` - creates italicized text
* `<br />` - adds a line break
* `<big>text</big>` - increases font size
  * All tags can be Combined except for the `<big>` tag which must be placed as the outermost tag

{% hint style="info" %}
Text without tags or with incorrect tag syntax displays as plain text.
{% endhint %}

## Re-Order Cues

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-739f631158a907b33aefc5019597157a6197086d%2Freorder-cues.gif?alt=media" alt="reoder-cues"><figcaption></figcaption></figure>

Drag and Drop to reorder cues. The cue number will update automatically to stay in numerical order.


# Cue Deletion

There are 3 options to delete cues.

## Option 1 - Delete by Right Click

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-341d98a914b7b891462d9243af7d6ec51b5bee77%2Fdelete-rightclick.gif?alt=media" alt="Delete - Cue Right Click"><figcaption></figcaption></figure>

1. Right Click on the cue header
2. Click Delete Cue

## Option 2 - Delete by Drag and Drop Delete

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-795c579ef796af16bb5390ba8de9947f1ec29bd2%2Fdelete-drag.gif?alt=media" alt="Delete - Drag and Drop"><figcaption></figcaption></figure>

1. Click and hold the cue header
2. Drag it to the Trash Can Icon

## Option 3 - Delete by Cue Editor Window

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-1287b4df95208c2326d052a2f601dbf172acf438%2Fdelete-cueeditor.gif?alt=media" alt="Delete - Cue Editor"><figcaption></figcaption></figure>

1. Click on the cue header to open the Cue Editor Window
2. Click Delete Cue


# Movements

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-587b657f4d9b4e76385042e464b6f8b571a6aa51%2Fmovements-in-cue.png?alt=media" alt="Movement"><figcaption></figcaption></figure>

Movements are the smallest building blocks of a cue. A movement exists in a step and performs a single task for a single Stagehand. Each type of [Stagehand](/docs/spikemark-6/movements) has its own type of movement. Once a movement has been [added to a cue](/docs/spikemark-6/cues/cue-creation/add-movements) it can be clicked to edit its properties.


# Motor Movements

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-4751cbe4708c83a38b4ea49867e5167c46c73962%2Fmotor-movement-editor-overview.png?alt=media" alt="Movement"><figcaption></figcaption></figure>

## 1. Trajectory Properties

A motor movement defines a point to point trajectory for a motor. The starting point is the motor's previous position and the ending point is the target position programmed here. A motor movement can be programmed in either engineering units or time units.

### Engineering Units

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-70e006f5e380f58733e63bb42bf3d86fffe5a469%2Fmotor-movement-engineering-units.png?alt=media" alt="Motor movement engineering units"><figcaption></figcaption></figure>

#### Target

Target is the position where the motor will go. This number is displayed in scaled units (inches, feet, degrees, etc.). By default, Spikemark uses the current position of the motor as the target when a movement is created. You can also select a [Spike](/docs/spikemark-6/spikes) from the Spikes list below. If you have a Spike selected for your position, the target box will display the name of the Spike.

#### Speed

Speed indicates the speed at which you want the motor to travel. This number is displayed in units per second (inches/sec, degrees/sec, etc.). You can synchronize multiple motors by programming them at the same speed, regardless of gearing and encoder differences. Valid speed values are greater than zero and no greater than the motor's [max speed](/docs/spikemark-6/movements/motor-moves). Spikemark initially uses the [default speed](/docs/spikemark-6/movements/motor-moves).

#### Accel

Acceleration indicates the rate at which the speed will increase as the motor moves. This number is displayed in units per second per second (inches/sec/sec, etc.). A higher value will cause the motor to accelerate more quickly giving the motion more snap at the beginning of the move. A lower value will cause the motor to accelerate more slowly and smoothly. Valid acceleration values range from greater than zero to no greater than the motor's [max speed](/docs/spikemark-6/movements/motor-moves). Spikemark initially uses the [default acceleration](/docs/spikemark-6/movements/motor-moves).

#### Decel

Deceleration indicates the rate at which the speed will decrease as the motor moves. This number is displayed in unitsper second per second (inches/sec/sec, etc.). A higher value will cause the motor to decelerate more quickly giving themotion more snap at the end of the move. A lower value will cause the motor to decelerate more slowly and smoothly. Valid deceleration values range from greater than zero to no greater than the motor's [max speed](/docs/spikemark-6/movements/motor-moves). Spikemark initially uses the [default deceleration](/docs/spikemark-6/movements/motor-moves).

### Time Units

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-122de14bc3aaeac037e7173a7999189b8c0ae380%2Fmotor-movement-time-units.png?alt=media" alt="Motor movement time units"><figcaption></figcaption></figure>

#### Target

Target is the position where the motor will go. This number is displayed in scaled units (inches, feet, degrees, etc.). By default, Spikemark uses the current position of the motor as the target when a movement is created. You can also select a [Spike](/docs/spikemark-6/spikes) from the Spikes list below. If you have a Spike selected for your position, the target box will display the name of the Spike.

#### Total time

Total Time indicates the total number of seconds that the movement will take to complete. If you know that the motor needs to move the scenery in 10 seconds, you can enter a value of “10” and Spikemark will recalculate the Speed, Acceleration, and Deceleration values to make that happen.

{% hint style="info" %}
Entering a Total Time that would calculate a speed faster than the motor's [maximum speed](/docs/spikemark-6/movements/motor-moves) will default to the motor's maximum speed.
{% endhint %}

#### Accel time

Accel ramp time indicates the number of seconds that the motor will take to accelerate up to the programmed speed. Spikemark will automatically calculate a new acceleration value based on the time you enter.

#### Decel time

Decel ramp time indicates the number of seconds that the motor will take to decelerate from the programmed speed to stopped. Spikemark will automatically calculate a new deceleration value based on the time you enter.

{% hint style="warning" %}
All the times are calculated based on where the motor was previously programmed to be at. If you are running out of order then the times won't be accurate.
{% endhint %}

{% hint style="info" %}
You can perform math in all the trajectory text boxes using the [equation solver](/docs/spikemark-6/movements/motor-moves) to simplify your programming.
{% endhint %}

## 2. Trajectory Graph

The trajectory graph shows a visual representation of the programed trajectory.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-b378c490b448aa086ec973c5c0dc108e0f32648f%2Ftrajectory-graph-overview.png?alt=media" alt="Motor movement trajectory graph"><figcaption></figcaption></figure>

1. Motors max speed - the maximum speed the motor can move at.
2. Programmed speed - the speed the motor will move at.
3. Total time - the amount of time the programmed trajectory will take to complete.
4. Acceleration ramp time - the amount of time it will take for the motor to go from stopped to its programmed speed.
5. Deceleration ramp time - the amount of time it will take for the motor to go from its programmed speed to stopped.
6. Start of constant speed - the time at which the motor will stop accelerating.
7. End of constant speed - the time at which the motor will start decelerating.

## 3. Analyse Movement

When a motor has a detectable drive, that motor's current, frequency, and output voltage can be plotted against position for any of its movements. Clicking the analyze button will open the [Analyze Movement Window](/docs/spikemark-6/movements/analyze-motor-move).

## 4. Spikes

[Spikes](/docs/spikemark-6/spikes) are named positions that can be used as targets for movements and the Spikes list show all of the motor's Spikes.

## 5. Saving Changes

Changes to the movement don't take effect until you either click the "Save Changes" button or press the enter key in one of the text boxes. If you don't want to update the movement you can click the "Discard Changes" button or press the esc key on the keyboard.


# Movement Analyzer

When a motor has a [detectable drive](/docs/spikemark-6/movements/analyze-motor-move), that motors’ current, frequency, and output voltage can be plotted against position for each of its movements. This feature is available for both individual and grouped axes.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0df8f3b46afc51ac23b9afa0957cfa2f2572986f%2Fopen-move-analyze.gif?alt=media" alt="Open moevment analyzer"><figcaption></figcaption></figure>

To open up the analyze window for a particular movement, click the Analyze button in the movement editor.

The analyze window will show the live current, frequency, and output voltage while the motor is moving. Once the movement is complete, the data will be plotted against the position of the motor. This graph can be useful for determining the motor's performance and for troubleshooting the whole system.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-79bcefd8ac615c2f7193dcb5fe9d0f2e8d6779ea%2Frun-move-analyze.gif?alt=media" alt="Run movement analyzer"><figcaption></figcaption></figure>

To create the graph, load the movement and run playback 1. Once complete, select the timestamp to see the graph.


# Locked Group Movements

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-91fc6d9ec387ed79f7a40fa50a363da9c5eafff4%2Flocked-group-move-in-cue.png?alt=media" alt="Locked Group Movement"><figcaption></figcaption></figure>

A locked group movement is denoted in a cue by the lock symbol to the left of the group name. Aside from the lock symbol in the cue a locked group is programmed identically to a regular [Motor Movement](/docs/spikemark-6/movements/motor-moves).


# Unlocked Group Movements

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5463500cacc43352a203baf003dfb69566e0c701%2Funlocked-group-move-in-cue.png?alt=media" alt="Locked Group Movement"><figcaption></figcaption></figure>

An unlocked group movement is denoted in a cue by a gray header with an unlocked symbol to the left of the group name. Then each of the motors in the group are listed below with their own movement because unlocked groups allow each motor to move to a different location with a different speed. Aside from the way the group is displayed in the cue, each child movement is programmed identically to a regular [Motor Movement](/docs/spikemark-6/movements/motor-moves).

## Additional Properties

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-257e1a7bcf9abc282e22dd3890a479b52af8da27%2Funlocked-group-movement-editor.png?alt=media" alt="Unlocked group movement editor"><figcaption></figcaption></figure>

If you click the gray unlocked group header in the cue list then the unlocked group movement editor will open. This editor allows you to set total time, acceleration ramp time, and deceleration ramp time for all the child movements. This allows the child movements to run to different positions but still happen in the same amount of time.


# FX Movements

FX Movements allow you to control digital outputs on a Stagehand FX through programmed cues.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-8019f39d6df32c2790496f10c7591ee8bea0008b%2Fmovement-click-fx-output.png?alt=media" alt="FX Movement Output Checkbox"><figcaption></figcaption></figure>

The FX Movement Editor displays a list of your digital outputs.

* Select which output to change by clicking its checkbox.
* Click either the On or Off checkbox to set the output state.

When you run a cue with an FX Movement, the output state will latch until changed by another FX Movement.

{% hint style="info" %}
Best practice: explicitly set all outputs (On or Off) in each FX Movement.
{% endhint %}

{% hint style="warning" %}
Engaging the E-Stop turns off all FX Outputs.
{% endhint %}

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-41bbe7a6a6f688ceb2ec457e046265ce7356b8e7%2Fmovement-fx-save.png?alt=media" alt="FX Movement Save Changes"><figcaption></figcaption></figure>

Changes to the movement don't take effect until you click the "Save Changes" button. If you don't want to update the movement you can click the "Discard Changes" button or press the esc key on the keyboard.


# OSC Movements

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-bdda94c0a34565aca250b91a2d4aa26d6c430aa6%2Fosc-movement-overview.png?alt=media" alt="OSC Movement Editor"><figcaption></figcaption></figure>

## 1. OSC Message

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3113a4f14f60a4b18214aeb341ef1211ca55d975%2Fosc-message-string-to-send.png?alt=media" alt="OSC message to send"><figcaption></figcaption></figure>

An OSC message is made up of an address and any number of arguments. The arguments can be any combination of strings, integers, and floats. In Spikemark the OSC message is assembled as a comma separated list. The first item in the list is the OSC address which always starts with a forward slash (/). Following the address are the arguments seperated by commas (,).

For example, the command for adjusting the faders for a QLab cue is `/cue/1/sliderLevel,3,50.50`. The OSC address is `/cue/1/sliderLevel` and the two arguments channel and decibel level are respectively `3` and `50.50`.

## 2. Command Library

The command library is a collection of xml files that have OSC messages already defined. This makes it quick and easy to add OSC messages. To use the command library, click the + button to the right of the OSC message field.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-e50fd2aa3f6a92de4f1279da2a8648b1ddfd3e2f%2Fqlab-osc-command-library.png?alt=media" alt="OSC Movement Command Library"><figcaption></figcaption></figure>

By default Spikemark tries to load the Spikemark command library but using the Browse button, any OSC command library can be opened, like the QLab one. Then using the Commands list a command can be picked and its parameters and arguments will become editable.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-4956f94130bc29b23e744140cebc3d197546ad66%2Fqlab-osc-command-library-sliderlevel.png?alt=media" alt="OSC Movement Command Library"><figcaption></figcaption></figure>

Once all the values have been changed clicking the "Insert Command" button will close the OSC Library dialog and update the OSC message string.

You can also create your own OSC Library for communicating with software other than QLab and Eos.

## 3. Saving Changes

Changes to the movement don't take effect until you click the "Save Changes" button. If you don't want to update the movement you can click the "Discard Changes" button or press the esc key on the keyboard.


# Custom OSC Command Library

The nice thing about the command library is that each library is written in a simple XML format, allowing each library to be easily edited and created. When Spikemark was installed on your computer, a new folder was added at `C:\Users{user}\Documents\Spikemark\OSC Libraries` and some starter libraries were added. These starter libraries can be expanded or new custom libraries can be added. Spikemark has three preloaded OSC libraries Figure 53’s QLab, ETC’s EOS family of lighting consoles, and Spikemark's own OSC library. If you are looking to build a library of commands for a different control platform, you will need to build your new OSC library in the XML format defined below.

## Parts Of The Command Library

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-fb50f8dc40ad1b747c401f8f618b536736f9dc16%2Fosc-command-library-annotation.png?alt=media" alt="Command library parts"><figcaption></figcaption></figure>

1. OSC library name
2. OSC library description
3. OSC library version
4. OSC command names
5. OSC command address'
6. OSC command parameter and argument names
7. OSC command parameter and argument values
8. OSC command parameter and argument descriptions
9. OSC command parameter and argument data types

## Command Library Format

A command library has the following basic structure:

```xml
<osc>
    <libraryName>Custom Lib</libraryName>
    <libraryDescription>A collection of amazing OSC commands</libraryDescription>
    <libraryVersion>1</libraryVersion>
    <command>
            <name>Cue Volume</name>
            <address>/cue/{cueNum}/volume[level]</address>
            <parameter>
                    <name>cueNum</name>
                    <description>The cue that will have its volume adjusted.</description>
                    <dataType>float</dataType>
                    <default>1</default>                
            </parameter>
            <argument>
                    <name>level</name>
                    <description>The new volume level for the cue.</description>
                    <dataType>integer</dataType>
                    <dataType>string</dataType>
                    <default>1</default>        
                    <optional>True</optional>                
            </argument>
    </command>
</osc>
```

### Building A Custom Library

To build a custom library, you will need to create a new XML file with a `.xml` extension. Then in that file every library must have a root element of `<osc>` and the root element must have the following child elements:

* `<libraryName>`: The name of the library.
* `<libraryDescription>`: A description of the library.
* `<libraryVersion>`: The version of the library.

```xml
<osc>
    <libraryName>Brand New Library</libraryName>
    <libraryDescription>A collection of amazing OSC commands</libraryDescription>
    <libraryVersion>1</libraryVersion>
</osc>
```

Once the basics are in place, you can start adding commands to the library. Every command will be encapsulated in a `<command>` element and must have the following child elements:

* `<name>`: The name of the command.
* `<address>`: The OSC address of the command.

```xml
<command>
    <name>Stop Running Cue</name>
    <address>/cue/stop</address>
</command>
```

Additionally, each command can have a list of parameters and arguments. Parameters are values that go in the OSC address, while arguments are values that get sent with the OSC message. Parameters are denoted in the OSC address with curly braces `{}`, and arguments are denoted in the OSC address with square brackets `[]`. For example, in the address `/cue/{cueNum}/volume[level]`, `cueNum` is a parameter and `level` is an argument.

Parameters are encapsulated in a `<parameter>` element and must have the following child elements:

* `<name>`: The name of the parameter. This must match the name in the OSC address.
* `<description>`: A description of the parameter.
* `<dataType>`: The data type of the parameter. This can be `integer`, `float`, or `string`.
* `<default>`: The default value of the parameter.

```xml
<parameter>
    <name>cueNum</name>
    <description>The cue that will have its volume adjusted.</description>
    <dataType>float</dataType>
    <default>1</default>
</parameter>
```

Arguments are encapsulated in an `<argument>` element and must have the following child elements:

* `<name>`: The name of the argument. This must match the name in the OSC address.
* `<description>`: A description of the argument.
* `<dataType>`: The data type of the argument. This can be `integer`, `float`, or `string`.
* `<default>`: The default value of the argument.
* `<optional>`: A boolean value indicating if the argument is required. If this is set to `True` then it does not need to be filled out.

```xml
<argument>
    <name>level</name>
    <description>The new volume level for the cue.</description>
    <dataType>integer</dataType>
    <default>1</default>
    <optional>True</optional>
</argument>
```

{% hint style="info" %}
You can add as many commands as you want to the library by adding more `<command>` elements to the root `<osc>` element. Also, each command can have as many parameters and arguments as you want by adding more `<parameter>` and `<argument>` elements to the `<command>` element.
{% endhint %}


# UDP Movements


# Modbus Movements

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-f6c4bd33ba322b6cc9c6bb8a1bafe1ac8efa7a48%2Fmodbus-write-coil-movement-editor.png?alt=media" alt="Modbus Movement Editor"><figcaption></figcaption></figure>

Spikemark can trigger a Modbus coil. To do this, set the coil number and then choose to either activate or clear the coil.

{% hint style="info" %}
Changes to the movement don't take effect until you click the "Save Changes" button. If you don't want to update the movement you can click the "Discard Changes" button or press the esc key on the keyboard.
{% endhint %}


# Triggers

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-36525835d604ed5fcf02a7d40de918ddbcd29dba%2Ftrigger-toolbox.png?alt=media" alt="Trigger Toolbox"><figcaption></figcaption></figure>

Triggers are for joining together steps to create more complex looks. Triggers look for particular criteria to be met. Once their criteria is met, they automatically start the following step in the sequence. Spikemark 6 offers several types of triggers to best help you control your show while removing the onus of pressing the ‘Go’ button over and over (and over and over…).


# Playback Go Trigger

A playback go trigger is automatically created when you add something to a playback in a cue. Once the cue has been loaded a playback go trigger waits for the go button to be pressed and then starts the first step. There is no way to manually add a playback go trigger and there are no properties to edit.


# Delay Trigger

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d0cc309ca9d02bd41a30946454d7a7f232994ac6%2Fdelay-trigger-button.png?alt=media" alt="Delay Trigger"><figcaption></figcaption></figure>

A delay trigger waits the programmed number of seconds after the step has started, and then starts the following step.

## Editing

After you have [added a delay trigger](/docs/spikemark-6/cues/cue-creation/add-triggers) click it to open the trigger editor.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-24f0a4257b26167c5f2ddb9d3dce67b87d8ab9a5%2Fdelay-trigger-editor.png?alt=media" alt="Delay Trigger Editor"><figcaption></figcaption></figure>

* Enter the number of seconds to wait before starting the next step.
* Click the "Save Changes" button to save your changes.

{% hint style="warning" %}
Note that the delay starts as soon as the step starts. If you want the delay to start **after** the step has completed then [stack](/docs/spikemark-6/triggers/stacking-triggers) the delay trigger with a [completion trigger](/docs/spikemark-6/triggers/completion-trigger).
{% endhint %}


# Completion Trigger

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-fa830c413d422a1285d3bd2b7a1a7aeb7cce1c8c%2Fcompletion-trigger-button.png?alt=media" alt="Completion Trigger"><figcaption></figcaption></figure>

A completion trigger waits for all movements in the step to complete, and then starts the following step.

## Editing

After you have [added a completion trigger](/docs/spikemark-6/cues/cue-creation/add-triggers) you are done, there are no properties to edit.


# Position Trigger

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-9edbfef46c6c24dc4aab0cfd44d03a181305a566%2Fposition-trigger-button.png?alt=media" alt="Position Trigger"><figcaption></figcaption></figure>

A position trigger waits for a specified motor to reach or pass a target position, and then starts the following step.

For example if the position trigger is set at 100 inches and the motor is running forward then the trigger is looking for a position greater than or equal to 100 inches. If the motor is running in reverse then the trigger is looking for a position less than or equal to 100 inches.

## Editing

After you have [added a position trigger](/docs/spikemark-6/cues/cue-creation/add-triggers) click it to open the trigger editor.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c7b532c4406a8ee8294118e564079b1744599d46%2Fposition-trigger-editor.png?alt=media" alt="Position Trigger Editor"><figcaption></figcaption></figure>

* Select the motor that you want to monitor from the "Motor" dropdown list.
* Enter the target position in the "Watch Position" field.
* Click the "Save Changes" button to save your changes.

{% hint style="info" %}
The target motor doesn't have to be running on the same playback as the position trigger.
{% endhint %}


# FX Input Trigger

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-7e0f0c517d635158ed85e15adadeeb2d97938908%2Ffx-input-trigger-button.png?alt=media" alt="FX Input Trigger"><figcaption></figcaption></figure>

An FX Input trigger waits for an input switch to be activated on a Stagehand FX, then starts the following step.

## Editing

After you have [added a fx input trigger](/docs/spikemark-6/cues/cue-creation/add-triggers) click it to open the trigger editor.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-ec26f5665eb2093381bf3e0d84880e4b3fd76c76%2Ffx-input-trigger-editor.png?alt=media" alt="Position Trigger Editor"><figcaption></figcaption></figure>

* Select the FX that you want to monitor from the "Fx" dropdown list.
* Enter the target input in the "Watch Input" field.
* Click the "Save Changes" button to save your changes.

{% hint style="info" %}
The trigger becomes armed when the step starts. If the input is activated before the step starts, the trigger will not fire.
{% endhint %}


# Stacking Triggers

Triggers can be stacked to form more sophisticated triggers. Stacking triggers is just like [adding triggers](/docs/spikemark-6/cues/cue-creation/add-triggers) to a step. Some examples of useful stacked triggers are:

## Complete and Delay

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-bc8b08a58a1f7a9da48bd87c5636547062c6e8f3%2Fstacked-complete-and-delay-trigger.png?alt=media" alt="Stacked complete and delay trigger"><figcaption></figcaption></figure>

This is handy when you want everything to finish then wait for some time before starting the next step.

## Delay and Position

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-eaf06e43e2c879c3795b81e9706dc0ffca500318%2Fstacked-delay-and-position-trigger.png?alt=media" alt="Stacked delay and position trigger"><figcaption></figcaption></figure>

This is handy when you want to ensure motion has started in the desired direction before looking to see if the motor has crossed the watch position.


# Actions

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3ab04c4e1f81dcc1cd842d57caeeca5b9e386d9b%2Factions-overview.png?alt=media" alt="Actions Overview"><figcaption></figcaption></figure>

Actions in Spikemark allow you to adjust Motor Properties, change a Motor Method, or modify Playback Properties. You can simply drag and drop Actions onto the Cue and Playback to incorporate them as steps within the sequence.

These powerful tools enable customizations for each sequence, unlocking the full potential of Spikemark.


# Motor Property Action

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-ca3c455d0f2fe545ae8b49f5524979f202db7a1e%2Fmotor-property-action-button.png?alt=media" alt=""><figcaption></figcaption></figure>

Motor Property Action allow you to change specified motor properties in your cue sequence.

## Motor Properties

* Scenery Length
* Scenery Width
* Scenery Height
* Min Jogging Percentage
* Max Jogging Percentage

### Change Scenery Dimensions in the Stage Model

This feature solves a common staging challenge: When multiple set pieces run on the same deck track, you may want the model to reflect the different size set pieces. Create a Motor Property Action to update the set piece's dimensions in the Stage Model without leaving the cue list during your show.

You can idividually change the length, width, and height of the set piece in the Stage Model

### Jogging Percentage

Adjust Maximum and Minimum Jog Percentages to control joystick sensitivity. This proves especially useful when different show segments require different motor speed ranges for safe operation when jogging from the joystick.

## Editing and Executing a Motor Property Action

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-592d52cf27e723f05e039d1630cdf65543aee8d7%2Fedit-motor-properties-action.gif?alt=media" alt="edit-motor-property-action gif"><figcaption></figcaption></figure>

### To Edit

1. Click the action inside your cue
2. Select a motor from the Motor dropdown
3. Choose a property from the Property dropdown to Update
4. Enter the new value
5. Click Save to confirm or Discard Changes to cancel

### To Execute

1. Load the Cue
2. Press Go on the Playback that has the Motor Property Action


# Motor Method Action

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-57ba5238461f5ebd8fc5ce0d0905fe04bbe0b8fe%2Fmotor-method-action-button.png?alt=media" alt=""><figcaption></figcaption></figure>

Motor Method Action allow you to execute specified motor methods in your cue sequence.

## Available Motor Methods

* Soft Stop
* Activate
* Deactivate
* Zero Speed Brake Release
* Zero Speed Brake Engage

### Soft Stop

Add an action to stop a motor smoothly during cue execution.

This is particularly useful for Turntables running with large target position. Create a cue with a Soft Stop Motor Method Action to stop the Turntable without specifying a position.

### Activate and Deactivate

Control whether specific motors are active or inactive within a cue sequence.

You can use this feature when there is a stage obstructions that requires to temporarily prevent a machine's operation until cleared.

### Zero Speed Brake Release and Engage

Essential for complex, multi-directional movements such as performer flying. Build sequences that change direction while keeping the brake released, then specifically engage the brake at end of the sequence.

Note: This feature requires Stagehand Pro 5 or newer (manufactured after June 2023).

## Editing and Executing a Motor Method Action

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-aa7f05205671f42c26fcb09021c8614d45787ce5%2Fedit-motor-method-actions.gif?alt=media" alt=""><figcaption></figcaption></figure>

### To Edit

1. Click the action inside your cue
2. Select a motor from the motor dropdown
3. Choose a method from the method dropdown to update
4. Enter the new value
5. Click Save to confirm or Discard Changes to cancel

### To Execute

1. Load the Cue
2. Press Go on the Playback that has the Motor Method Action


# Playback Property Action

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c19ce35facd2e3f6b07aa4b8be3379c51df01ab2%2Fplayback-action-icon.jpg?alt=media" alt="playback property action icon"><figcaption></figcaption></figure>

Playback Property Actions allow you to change various playback properties in your cue sequence. This feature is especially useful when you want to ensure that your cues are executed with the correct settings.

## Playback Properties

* Min Playback Speed - the lowest value the playback's live speed can be turned down to.
* Max Playback Speed - the highest value the playback's live speed can be turned up to.
* Playback Speed - the live speed of the playback.

## Editing and Executing a Motor Property Action

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-95501636745a46b4934350628a7355fcf078210a%2Fedit-playback-property-action.gif?alt=media" alt="Edit playback property"><figcaption></figcaption></figure>

### To Edit

1. Click the action inside your cue
2. Select a playback from the Playback dropdown
3. Choose a property from the Property dropdown to Update
4. Enter the new value
5. Click Save to confirm or Discard Changes to cancel

### To Execute

1. Load the Cue
2. Press Go on the Playback that has the Playback Property Action


# Running Cues


# Playbacks

A playback controls cue execution, with each playback capable of managing one sequence per cue.

## Playback Components

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-17cc8056ad6ed2e5276802a3421e2a440982fa2b%2Fplayback-manager-overview.png?alt=media" alt="Playback Manager Overview"><figcaption></figcaption></figure>

Playback Manager Key Elements:

1. Playback Number
2. Active Cues
3. Loaded Cues (only one cue loadable at a time)
4. Playback Live Speed Control
5. Go Button
6. Stop Button

## Running a Cue

When you load a cue, the sequences that consist of [movements](/docs/spikemark-6/movements/motor-moves), [triggers](/docs/spikemark-6/triggers), and [actions](/docs/spikemark-6/actions) are loaded into their corresponding playback.

Running a cue involves two steps:

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0cd4a9f8a3d90f6c429a7a2f2139a60f96eb8517%2Fload-run-cue.gif?alt=media" alt="Load and Run Cue Process"><figcaption></figcaption></figure>

1. Load the desired cue
2. Press GO on the loaded playback

## Cue Status Colors

Cues are color-coded to indicate their current state:

* Red: Cue is Loaded
* Green: Cue is Running
* Blue: Cue is Complete

{% hint style="info" %}
If the operator is colorblind the cue colors can be changed in File > Spikemark Options > Accessibility
{% endhint %}

## Soft Stop

Soft Stop allows you to stop motion smoothly and safely.

### Soft Stop Options

You can soft stop:

* All machines on a specific playback
* All playbacks from the Cue Control Window

{% hint style="info" %}
Soft Stop provides a controlled, gradual deceleration to prevent abrupt machine stops.
{% endhint %}


# Playback Editing

## Adding Playbacks

At least one playback is required to create show cues.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0441073ca37a43647230095e395cf101066a13d7%2Fadd-playback.png?alt=media" alt="Adding a New Playback"><figcaption></figcaption></figure>

To add a playback:

1. Click Cue
2. Select "Add Playback"

## Deleting Playbacks

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3632d6788258ce08a4ca4325a37230d228f549a2%2Fdelete-playback.png?alt=media" alt="Deleting a Playback"><figcaption></figcaption></figure>

To delete a playback:

1. Right-click the playback header
2. Choose "Delete Playback"

## Customizing Playback Color

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-606e0333f149fb871f328fe737d2b60f3e2f007b%2Fplayback-color.png?alt=media" alt="Changing Playback Color"><figcaption></figcaption></figure>

To change a playback's color:

1. Right-click the playback header
2. Select "Playback Color..."
3. Choose from preset colors or create a custom color using the color wheel

{% hint style="info" %}
Playback colors help visually organize and differentiate between multiple playbacks in complex shows.
{% endhint %}


# Playback Control Speed

Control the relative speed of cues running on a playback.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-212f167fc648349ec2ca8bd6bbc3c67603532e11%2Fplayback-control-speed.png?alt=media" alt="Playback Speed Control Interface"><figcaption></figcaption></figure>

## How Playback Speed Works

When you adjust the Playback Speed, machine movements scale proportionally. For example:

* Original movement speed: 8 inches/second
* Playback Speed set to 50%
* Actual movement speed: 4 inches/second

### Key Features

* Adjust speed before or during cue execution
* Dynamically change sequence velocity mid-move

{% hint style="info" %}
Note: Only machine movements adjust speed. Delay Triggers maintain their original programmed timing.
{% endhint %}

## Compatibility

### Supported Stagehands

Playback speed control works on:

* Stagehand Pro 5
* Stagehand Apprentice 2
* Stagehands with Unipolar V6 Card

These models support "live" speed adjustment during cue execution.

### Legacy Stagehands

For Stagehands with earlier card versions, playback speed adjustment will not affect movement speed.

{% hint style="warning" %}
Verify your Stagehand's card version before attempting speed control.
{% endhint %}


# Playback Stacking

By default, Spikemark is set to allow playback stacking. Playback stacking allows you to have multiple cues running on the same playback at the same time. If playback stacking is disabled, you will only be allowed to have 1 active running cue for each playback, and you cannot load another cue if the playback is running.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-431bd741dda97dbdbd0a246ba65498e83bbd373c%2Fplayback-stacking.png?alt=media" alt="playback-stacking"><figcaption></figcaption></figure>

## To enable and disable playback stacking

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c48d8e8c5c3227effec25993392c345ea87d6f13%2Fplayback-stacking.gif?alt=media" alt="playback-stacking-mode"><figcaption></figcaption></figure>

1. Click File...
2. Click Spikemark Options
3. Click the Checkbox one or off for "Allow Playback Stacking"


# Cue Controls

## Cue Control Window

The Cue Control Window allows you to navigate through the Cue List.

### To open the Cue Control Window:

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-f6104cc6bc43c34b7e8bd7177edc41135bdc1392%2Fopen-cue-control-window.png?alt=media" alt="open-cue-control-window"><figcaption></figcaption></figure>

### Parts of the Cue Control Window

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-749c8c9db68ff2191c707ca7d6a03566cd485e9d%2Fcue-control-window.png?alt=media" alt="cue-control-window"><figcaption></figcaption></figure>

1. Loaded Cue
2. Stop All
3. Previous
4. Jump
5. Next

### Stop All

This will soft stop all [playbacks](/docs/spikemark-6/running-cues/playbacks)

### Next Cue

Pressing the Next Cue button will load the next cue.

Other ways to access Next Cue:

* Keyboard shrortcut: F3
* Press the Next key on the Spikemark Console
* Press the Next key on the Showstopper Consolette

### Previous Cue

Pressing the Previous Cue button will load the previous cue.

Other ways to access Previous Cue:

* Keyboard shortcut: F2
* Press Prev key on the Spikemark Console
* Press Prev key on the Showstopper Consolette

## Jump to Cue

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-9e5667535002921b078d16087aec66a22e2caf11%2Fjump-to-cue-window.png?alt=media" alt="Jump to Cue Window"><figcaption></figcaption></figure>

The Jump to Cue menu allows you to quickly scroll and search through cues without having to scroll through the entire [Cue List](/docs/spikemark-6/cues/cue-structure#cue-list), and allows you to directly load a cue.

### How To Access the Jump to Cue Menu

#### Top Menu Bar

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-7b4eaaf7ea43ffdf6dd1fd63264967f129366858%2Fjump-to-cue-top-menu.gif?alt=media" alt="Jump to Cue - Top Menu Bar Access"><figcaption></figcaption></figure>

1. Click **Cues** in the top menu bar
2. Click on **Jump To Cue...**

#### Keyboard Shortcut 1

* Press **F4**

#### Consolette

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-611e927ef2f51070767fbeaca3818097d97565ae%2Fjump-to-cue-consolette.png?alt=media" alt="Consolette Jump Button"><figcaption></figcaption></figure>

* Press the **Jump** button

### How To Use Jump to Cue

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-a4d5ce69b06ca9199804cbe2477d48cb1629d006%2Fjump-to-cue-use.gif?alt=media" alt="Selecting and loading a cue from Jump to Cue"><figcaption></figcaption></figure>

1. Open the Jump to Cue menu
2. Select the desired cue
3. Click **Ok** to load the cue and close the menu

### Jump to Cue Search Feature

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-e79ca7f5afa3b70da92dfa0658953763ac556253%2Fjump-to-cue-search.png?alt=media" alt="Jump to Cue Search Bar"><figcaption></figcaption></figure>

The search bar at the top of the Jump to Cue menu will automatically filter the results based on either **cue number** or **cue name** based off of simple character matching.

#### Number Search

Because of the simple character matching nature of these searches, typing any particular number will result in every instance of that number in both cue numbers and in the cue names. This can be particularly useful when searching for the beginning cue of sequences or when trying to find scene specific scene numbers.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-98326280ed7f67d0602101044be22d9598de530e%2Fjump-to-cue-numbers.png?alt=media" alt="Jump to Cue Number Search Demo"><figcaption></figcaption></figure>

Example Search: "0"

Search Results:

* Cue 0
* Cue 0.1
* Scene 10
* Wait 10
* Cue 10
* Cue 101

#### Character Search

Since cues can only contain numbers, any other characters automatically limit the search results to the description only. Character searches are also limited to exact matches, meaning that the more you type, the more exact the word or phrase needs to be to return the desired results.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-57cd2586a83fa6b8e03a19f6b597603b9d4b97ee%2Fjump-to-cue-characters.gif?alt=media" alt="Jump to Cue Character Search Demo"><figcaption></figcaption></figure>

Example Search: "The" Search Results:

* The Beginning
* The Middle
* The End

Example Search: "The M" Search Results:

* The Middle


# Console

Moving motors using the Spikemark Console.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-acf323100022151063e1a934c6e9126195d99cbf%2Fspikemark-console-setup.png?alt=media" alt="Spikemark Console Setup"><figcaption></figcaption></figure>

The Spikemark Console is a great tool for both running shows with multiple playbacks and for easily jogging motors. Check out the links below from the [Spikemark Console Manual](/docs/showstopper/spikemark-console) for more information.

## Setting Up The Console

* [Connecting Cables](/docs/showstopper/spikemark-console/making-the-connections)
* [Spikemark Configuration](/docs/showstopper/spikemark-console/making-the-connections#spikemark-software-integration)

## Running Cues

* [Spikemark Console Controls](/docs/showstopper/spikemark-console/using-the-console#cue-and-playback-controls)

## Stopping Motion

* [Emergency Stop](/docs/showstopper/spikemark-console/using-the-console#emergency-stop)
* [Hold To Run (HTR)](/docs/showstopper/spikemark-console/using-the-console#htr-all-soft-stop)


# Consolette

## Showstopper Consolette

Moving motors using the Showstopper Consolette.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-b8d37714e218cdfbcd49202645bd9526f2ab6eba%2Fshowstopper-4-consolette.jpg?alt=media" alt="Showstopper 4 Consolette Isometric View"><figcaption></figcaption></figure>

## Consolette Movements

The Consolette is a great tool both for running shows and for easily jogging motors to a desired location. Check out the links below from the [**Showstopper Consolette Manual**](/docs/showstopper/legacy/showstopper-consolette) for more information on cued movement using the Showstopper Consolette.

{% hint style="info" %}
When paired with Spikemark 6, the Consolette will control [**Playback 1**](https://github.com/creativeconners/PublicDocumentation/blob/main/spikemark-6/includes/playbacks-controller-overview.md).
{% endhint %}

### Setting Up the Consolette

* [**Connecting Consolette Cables**](/docs/showstopper/legacy/showstopper-consolette/making-the-connections)
* [**Connecting to Spikemark**](/docs/showstopper/legacy/showstopper-consolette/connecting-the-consolette-to-spikemark)

### Running Cues

* [**Status Display**](/docs/showstopper/legacy/showstopper-consolette/running-cues#status-display)
* [**Cue Control Buttons**](/docs/showstopper/legacy/showstopper-consolette/running-cues#cue-control-buttons)

### Stopping Motion

* [**Emergency Stop**](/docs/showstopper/legacy/showstopper-consolette/emergency-stop)
* [**Hold To Run (HTR) and Soft Stop**](/docs/showstopper/legacy/showstopper-consolette/running-cues#htr--soft-stop)


# Restore Cue

The Restore Cue function helps you precisely reposition machines during show preparation and rehearsal.

## Purpose

Restore Cue allows you to move machines to their most recent target positions, ensuring that the machines are in the correct starting position. To avoid risking collisions, move each machine individually and make sure the travel path for each machine is clear before running the move.

## Why Individual Machine Restoration Matters

A typical scenario during rehearsals is that a director often request revisiting specific moments in the show. Consider a 10-cue production where you're currently at Cue 6, and the director wants to return to Cue 4. However, not all cues move every machine. In our example, lets pretend that only one machine moved in Cue 3, but we have 4 machines in our show. Simply re-running Cue 3 won't guarantee all machines are in the correct starting position for Cue 4.

By using Restore Cue, you can:

* Move all your machines to the correct starting position
* Move machines individually
* Prevent potential set piece collisions

## How to Restore a Cue

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-7bf5385554726092ec95e07a9b7354ccb053d5b3%2Frestore-cue.gif?alt=media" alt="restore-cue"><figcaption></figcaption></figure>

1. Right-click the cue header of the cue you want to restore - this is usually the cue just before the cue you are about to run again
2. Select "Restore Cue" to open the Restore Stage Window
3. Select machine(s) you want to move by:
   * Single click for one machine
   * Ctrl+Click for multiple non-consecutive machines
   * Shift+Click for consecutive machines
4. Choose the Playback for loading moves
5. Set Speed, Acceleration, and Deceleration values
6. Click the Load icon to prepare the movement
7. Press GO on the loaded playback to execute
8. Repeat for each machine until all are correctly positioned
9. Close the Restore Stage Window after completing all moves

{% hint style="info" %}
Moving machines individually can help prevent potential collisions.
{% endhint %}


# Spikes

## What are Spikes?

Spikes are labels that mark specific positions on a motor or locked group, like a digital version of spike tape. They save you the hassle of remembering exact measurements. For example, instead of memorizing "251.13 inches" for the living room setup, you can simply name that position "Living Room."

## Why Use Spikes?

The real magic of Spikes is that when you update the position linked to a Spike, all movements referencing that Spike automatically adjust. If "On Stage" moves from 251.13 inches to 248 inches, updating the Spike once applies the change everywhere.

## Compatibility

Spikes work seamlessly with both individual motors and locked groups.

## Where to Use Spikes

1. [Motor Movements](/docs/spikemark-6/movements/motor-moves#4-spikes)
2. [Move to Position](/docs/spikemark/quickstart/jogging/3.3-move-to-position)


# Simple Spikes

Simple Spikes go to a specific, fixed location.

## Why Use Simple Spikes

Simple spikes are just like your spike tape on the stage. This is beneficial when you are returning to the same location multiple times throughout your show. If that location changes during tech, you can simply change the spike's [***Value***](#spike-value) and that location will automatically update in every cue where the spike is used.

### Simple Spike Fields

Simple Spikes have a **Name** and a position **Value**. Adding a new Spike will default to a **Simple Spike**.

### Spike Type

Simple Spikes are denoted with an `=` (equals sign) and only use a **Value**, not a Factor or an Offset.

### Spike Value

To change the position value:

1. Double click in the **Value** column
2. Type in the desired position location
3. Press `enter` to save it.

![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-8253b8980d23ebf549fe46e422911a507f4a4278%2FEdit%20Spike%20Value.gif?alt=media)

{% hint style="info" %}
Check out our section on [**Cue Movements**](/docs/spikemark-6/movements/motor-moves#4-spikes) to learn how to use Spikes in a cue.
{% endhint %}


# Dynamic Spikes

## Dynamic Spikes

Dynamic Spikes calculate positions on the fly. Dynamic Spikes determines the target position based on the starting point of a motor and then perform a calculation to get the final position. This makes adjustments quick and flexible.

## Why Use Dynamic Spikes?

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-50cf79467e08724b9da63e8704c9e518895c6154%2Fdynamic-spike-example.gif?alt=media" alt="Dynamic Spike Example"><figcaption></figcaption></figure>

Dynamic Spikes are useful for situations where the target position is not fixed, such as when using a turntable, and you want to "go another 180 degrees" or you want to run the turntable to "the 3-O'clock position." Instead of having to write cues that go 180, 360, 540, etc., you can use Dynamic Spikes to go to the next increment of 180 degrees.

### Dynamic Spike Fields

Unlike Simple Spikes which have a concrete position they're targeting, Dynamic Spikes use up to two different fields to make the calculation.

#### Spike Factor

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-dc94b39edfb5a77fa939ab6adbb3e553c8a8e1dc%2Fdynamic-spike-edit-factor.gif?alt=media" alt="Dynamic Spike Edit Factor"><figcaption></figcaption></figure>

The Spike Factor is essentially the number of different physical locations a unit can be moved to. It is really only relevant for turntables and treadmills, or other machines that can have continuous motion in a given direction.

For example, a turntable only has 360 degrees of travel before it is back to its original position. A treadmill that has a matching paint pattern every 2' could use a 24" factor so that it would always match the paint.

#### Spike Offset

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-e13af0a7939a715515aa7c90dd6fe3314e735220%2Fdynamic-spike-edit-offset.gif?alt=media" alt="Dynamic Spike Edit Offset"><figcaption></figcaption></figure>

Spike Offset is the location away from the origin.

{% hint style="info" %}
Check out our section on [**Cue Movements**](https://github.com/creativeconners/PublicDocumentation/blob/main/spikemark-6/spikes/movements/motor-moves.md#4-spikes) to learn how to use Spikes in a cue.
{% endhint %}


# Incremental Spikes

Incremental Spikes move the motor a specific distance away from the current location. Put another way:

$$NewPosition = CurrentMotorPosition + Offset$$

Incremental Spikes use the `+` icon in the Spike List to indicate that they are incremental.

## Change The Type

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d5acd365fb863e3360fe85e1f3751dff3808894d%2Fincremental-spike-change-type.gif?alt=media" alt="Dynamic Spike Edit Incremental"><figcaption></figcaption></figure>

To change the type of spike, select the spike in the Spike List and then select incremental from the type dropdown menu.

## Change The Offset

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-ce3d06b303c549c382f03d63374929ba1aa6b77d%2Fincremental-spike-change-offset.gif?alt=media" alt="Dynamic Spike Edit Offset"><figcaption></figcaption></figure>

To change the offset double-click in the Offset column and give it a new offset.


# Nearest Forward Multiple Spikes

Nearest Forward Multiple Spikes move the motor forward to the closest multiple of Factor plus Offset. Put another way:

$$NewPosition=Round↑(CurrentMotorPosition/Factor)∗Factor+Offset$$

Nearest Forward Multiple Spikes use the `→` icon in the Spike List to indicate that they are a nearest forward multiple.

## Change The Type

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-f077fcbf8e57ed5de2e9b21e6bde26ac122fdb3a%2Fnearest-fwd-edit-type.gif?alt=media" alt="Dynamic Spike Edit Nearest Forward Multiple Type"><figcaption></figcaption></figure>

To change the type of spike, select the spike in the Spike List and then select nearest forward multiple from the type dropdown menu.

## Changing The Factor

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3e7653c01645afe8a17a7ebddd00d655f167b4be%2Fnearest-fwd-edit-factor.gif?alt=media" alt="Dynamic Spike Edit Nearest Forward Multiple Factor"><figcaption></figcaption></figure>

To change the factor double-click in the Factor column and give it a new factor.

## Changing The Offset

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-bbe5a3adc200b744a1fadc5f7fe81aae7295686c%2Fnearest-fwd-edit-offset.gif?alt=media" alt="Dynamic Spike Edit Nearest Forward Multiple Offset"><figcaption></figcaption></figure>

To change the offset double-click in the Offset column and give it a new offset.

## Example

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0f28a7f62ef58c140e871e5a62fa8b73a263e149%2Fnearest-fwd-spike-example.gif?alt=media" alt="Dynamic Spike Example Nearest Forward Multiple"><figcaption></figcaption></figure>

In this example we want to rotate the turntable forward to the 9 o'clock position (assuming upstage is 12 o'clock and downstage is 6 o'clock). For this we set our factor to 360 degrees (one full revolution) and our offset to 270 degrees (9 o'clock).


# Nearest Reverse Multiple Spikes

Nearest Reverse Multiple Spikes move the motor reverse to the closest multiple of Factor plus Offset. Put another way:

$$NewPosition=Round↓(CurrentMotorPosition/Factor)∗Factor+Offset$$

Nearest Reverse Multiple Spikes use the `←` icon in the Spike List to indicate that they are a nearest reverse multiple.

## Change The Type

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-6f4270cd61800f15236cd6b5e6950dffc658fbfa%2Fnearest-rev-spike-edit-type.gif?alt=media" alt="Dynamic Spike Edit Nearest Reverse Multiple Type"><figcaption></figcaption></figure>

To change the type of spike, select the spike in the Spike List and then select nearest reverse multiple from the type dropdown menu.

## Changing The Factor

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-e64604399d99eebcaa34178426422fbaad2b282f%2Fnearest-rev-spike-edit-factor.gif?alt=media" alt="Dynamic Spike Edit Nearest Reverse Multiple Factor"><figcaption></figcaption></figure>

To change the factor double-click in the Factor column and give it a new factor.

## Changing The Offset

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-18e323ee1ee356573906ccaf794eea31a8d3667f%2Fnearest-rev-spike-edit-offset.gif?alt=media" alt="Dynamic Spike Edit Nearest Reverse Multiple Offset"><figcaption></figcaption></figure>

To change the offset double-click in the Offset column and give it a new offset.

## Example

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-6f176458f886fda907e9a21ec39eb807a91eea5a%2Fnearest-rev-spike-example.gif?alt=media" alt="Dynamic Spike Example Nearest Reverse Multiple"><figcaption></figcaption></figure>

In this example we want to rotate the turntable reverse to the 9 o'clock position (assuming upstage is 12 o'clock and downstage is 6 o'clock). For this we set our factor to 360 degrees (one full revolution) and our offset to 270 degrees (9 o'clock).


# Nearest Multiple Spikes

Nearest Multiple Spikes will move the motor in either direction to the closest multiple of Factor plus Offset. Put in other words:

$$NewTargetPosition=NearestMultiple(Factor+offSet)$$

The $$NearestMultiple(Factor+offSet)$$ is found by calculating the $$New Forward Position$$ and the $$New Reverse Position$$, then selecting which one is closest to the $$Current Motor Position$$ and setting that as the New Target Position.

* $$P\_C=$$ Current Position
* $$R↑=$$ Round Up
* $$R↓=$$ Round Down
* $$F=$$ Factor Value
* $$S=$$ Offset Value

$$|P\_C-(R↑\[P\_C/F]\*F+S)| <^? |P\_C-(R↓\[P\_C/F]\*F+S)|$$

#### If Yes, $$NewTargetPosition=NewForwardPosition$$

$$New Forward Position = Round↑(CurrentMotorPosition/Factor) \* Factor + Offset$$

#### If No, $$NewTargetPosition=NewReversePosition$$

$$New Reverse Position = Round↓(CurrentMotorPosition/Factor) \* Factor + Offset$$

Nearest Multiple Spikes use the `↔` icon in the Spike List to indicate that they are a nearest multiple.

## Change The Type

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c6f10d16f5aa850ea02247103c8e3c8eabed663a%2Fnearest-spike-edit-type.gif?alt=media" alt="Dynamic Spike Edit Nearest Multiple Type"><figcaption></figcaption></figure>

To change the type of spike, select the spike in the Spike List and then select nearest multiple from the type dropdown menu.

## Changing The Factor

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c6a2816eedbd13ea6ec3e0dbedfb9f0a49de3c76%2Fnearest-spike-edit-factor.gif?alt=media" alt="Dynamic Spike Edit Nearest Multiple Factor"><figcaption></figcaption></figure>

To change the factor double-click in the Factor column and give it a new factor.

## Changing The Offset

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-fcc106ab1cb1133ca350f11b205edf8f5d5f9063%2Fnearest-spike-edit-offset.gif?alt=media" alt="Dynamic Spike Edit Nearest Multiple Offset"><figcaption></figcaption></figure>

To change the offset double-click in the Offset column and give it a new offset.

## Example

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c2c59e069b0b51cc529285df78ccd2c324023517%2Fnearest-spike-example.gif?alt=media" alt="Dynamic Spike Example Nearest Multiple"><figcaption></figcaption></figure>

In this example the turntable is running until an actor says their line then we want to stop the turntable and center it up as quick as possible. To do this we will use the nearest multiple spike to allow the turntable to run either direction to get back to center. The factor is set to 360 degrees (one full revolution) and the offset is set to 180 degrees (center).


# Locked Group Spikes


# Presets

The Presets workspace is a simplified way to view and run Cues.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-963267e37717e5e588d404a4b556b69984c672d6%2FPresets-Overview.png?alt=media" alt="Presets Overview"><figcaption></figcaption></figure>


# Creating, Editing, and Deleting Presets

## Create Preset

Presets are another way to run a Playback in a Cue.

To create a Preset, activate the Cue workspace.

From the Cue Workspace navigate to the Cue to turn into a Preset.

1. Right click on the Playback in the Cue
2. Select "Create Playback"

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-64e692a6c8a8d7795bdb44ab8e3e8f60b101337b%2FPresets-CreatePreset.png?alt=media" alt="Create Preset"><figcaption></figcaption></figure>

The Preset Editor will appear

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-25ecbd8aa5171c001071d9a4c309abb1af029786%2FPresets-PresetEditor.png?alt=media" alt="Preset Editor Window"><figcaption></figcaption></figure>

From the Preset Editor window you can

* rename the Preset
* Change the Color of the Preset
* Add a description of the Preset

## Edit Preset

To edit a Preset, right click on the Preset Title and select Edit Preset from the menu.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d755dbb3efe41e9238aae0564944b862ec10e10e%2FPresets-EditPreset.png?alt=media" alt="Preset Editor Window"><figcaption></figcaption></figure>

The Preset Editor window will open.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-25ecbd8aa5171c001071d9a4c309abb1af029786%2FPresets-PresetEditor.png?alt=media" alt="Preset Editor Window"><figcaption></figcaption></figure>

From the Preset Editor window you can - rename the Preset - Change the Color of the Preset - Add a description of the Preset

## Delete Preset

To delete a Preset, right click on the Preset Title and select Delete Preset from the menu.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-0c701469de5a48de91b7a15ad79af6ffe2f8eb73%2FPresets-DeletePreset.png?alt=media" alt="Delete Preset"><figcaption></figcaption></figure>

> **PRO TIP**
>
> Clicking Delete Preset will immediately delete the Preset. The only way to recover the deleted Preset is to exit without saving


# Running Presets


# User Authentication and Authorization

Spikemark 6 offers a powerful new authentication and authorization system. This system is entirely self-contained within Spikemark, and utilizes [users](/docs/spikemark-6/auth/auth-users), [permissions](/docs/spikemark-6/auth/auth-permissions), and [roles](/docs/spikemark-6/auth/auth-roles).

{% hint style="info" %}
Authentication can be **enabled** or **disabled** at any point — by default, Spikemark is installed with authentication **disabled**.
{% endhint %}

## What is ‘Auth’?

Common in most modern-day softwares, authentication and authorization are crucial parts of security and access control. Authentication refers to the verification of credentials. For Spikemark, this means the ability to create a username and password, and then login as your own unique [user](/docs/spikemark-6/auth/auth-users) with those credentials.

Authorization refers to who has access to what once they’re logged into the application. This is controlled by [permissions](/docs/spikemark-6/auth/auth-permissions). In Spikemark 6, much of what you see in the main window can be ‘locked down’ with permissions. Running cues or editing cues? There’s a permission for that. Changing the Maximum jogging speed for a motor, but not the minimum? There’s a permission for that.

The list of available permissions is set in stone - that is, you can’t create your own custom permission - but you can select near-infinite combinations of the existing permissions to create unique levels of user access.

It would be tedious to re-assign the same group of permissions every time you create a new user, so instead Spikemark has [roles](/docs/spikemark-6/auth/auth-roles) assigned to a user. A role is just a grouping of permissions that you can then add to a user with a single click. Roles can contain as many or as few permissions as you like. Each user can only have one role assigned to them at a time.

Once a user logs in, Spikemark uses the role that the administrator has assigned them and determines what permissions the user does and doesn’t have. That affects what text fields are grayed out, what buttons are enabled, what the user can drag-and-drop, and lots more.


# Overview

Spikemark 6 offers a powerful new authentication and authorization system. This system is entirely self-contained within Spikemark, and utilizes [users](/docs/spikemark-6/auth/auth-users), [permissions](/docs/spikemark-6/auth/auth-permissions), and [roles](/docs/spikemark-6/auth/auth-roles).

{% hint style="info" %}
Authentication can be **enabled** or **disabled** at any point — by default, Spikemark is installed with authentication **disabled**.
{% endhint %}

## What is ‘Auth’?

Common in most modern-day softwares, authentication and authorization are crucial parts of security and access control. Authentication refers to the verification of credentials. For Spikemark, this means the ability to create a username and password, and then login as your own unique [user](/docs/spikemark-6/auth/auth-users) with those credentials.

Authorization refers to who has access to what once they’re logged into the application. This is controlled by [permissions](/docs/spikemark-6/auth/auth-permissions). In Spikemark 6, much of what you see in the main window can be ‘locked down’ with permissions. Running cues or editing cues? There’s a permission for that. Changing the Maximum jogging speed for a motor, but not the minimum? There’s a permission for that.

The list of available permissions is set in stone - that is, you can’t create your own custom permission - but you can select near-infinite combinations of the existing permissions to create unique levels of user access.

It would be tedious to re-assign the same group of permissions every time you create a new user, so instead Spikemark has [roles](/docs/spikemark-6/auth/auth-roles) assigned to a user. A role is just a grouping of permissions that you can then add to a user with a single click. Roles can contain as many or as few permissions as you like. Each user can only have one role assigned to them at a time.

Once a user logs in, Spikemark uses the role that the administrator has assigned them and determines what permissions the user does and doesn’t have. That affects what text fields are grayed out, what buttons are enabled, what the user can drag-and-drop, and lots more.


# Users

## Enable Authentication and Authorization

Spikemark will start with authentication and authorization disabled. To enable it, first ensure that any changes you’ve made to your show file are saved by pressing `Ctrl+S`.

![Screenshot of the Administration menu in Spikemark](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-9a296ef7a18e1e83da2c62272725bcbb4aacc73f%2FAuthMenu.png?alt=media)

Select `Administration → Enable Authorized` from the taskbar.

{% hint style="warning" %}
Enabling or disabling auth will trigger a restart of Spikemark - make sure to save your changes!
{% endhint %}

If this is your first time enabling authentication on the Spikemark computer, you’ll see the [Create New Account](#create-the-first-user-account) popup. If you’ve turned on authentication before, you’ll see a [Log In](#logging-in) screen and you can enter your user credentials as usual.

## Create the First User Account

![Screenshot of the Create New User Account dialog box in Spikemark](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-79fb698fdb456d39fb724d08d7a2ecbb210f3a45%2FCreateAccountFilledIn.png?alt=media)

The first time you are prompted to create a new account, the role will be Admin and cannot be changed until another admin is added. Simply fill out the username and password, and click ‘Create Account’. You will be directed to login with your new credentials.

## Logging In

When opening Spikemark with Authentication enabled or after another user has logged out, you will be required to login. Simply input your username and password, and click `Log In`.

![Screenshot of the Spikemark login dialog box](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-633ac975d9ea04dd1a988b9d85581c3ba2067283%2FLogin.png?alt=media)

When no user is logged in, all other Spikemark features will be inaccessible.

{% hint style="info" %}
Spikemark cannot be closed while the login screen is open.
{% endhint %}

If a user forgets their password, an [admin](/docs/spikemark-6/auth/auth-roles#admin-user) must login and mark their account for a password reset. For more information on passwords, see [Passwords and Security](#passwords-and-security).

## Logging Out

Once you’re ready to log out, make sure to first save your changes. If you’re ready to shutdown Spikemark, simply exit out of the application - you’ll automatically be logged out.

{% hint style="info" %}
You can’t close Spikemark if no user is logged in and authentication is turned on.
{% endhint %}

![Screenshot of the Administration→Logout menu](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-9fa01f7a3aba30f1752746db3794288d17c2e8ed%2FAdministrationMenuGuest.png?alt=media)

If you want to log out but leave Spikemark open, then select `Administration → Log out` from the menu. You’ll be prompted to confirm that you want to proceed.

{% hint style="warning" %}
Logging out will trigger a soft stop across all playbacks - this means everything will stop running and any loaded cues will be unloaded.
{% endhint %}

![Screenshot of the logout dialog box](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-cf2003dd09f3ae8ae579e635e638340d0f10422c%2FLogOut.png?alt=media)

Select `Log out`. Spikemark will return to the `Login` screen.

## User Management (Admin-Only)

[Spikemark Admins](/docs/spikemark-6/auth/auth-roles#admin-user) are able to access the User Management window, where they can edit and delete users on this Spikemark computer. To access the User Management pop-up, select `Administration → User Management` from the menu.

![Screenshot of the user management dialog box in Spikemark](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-e953fc4e90155afe9177d962a5aec0cb414c03ae%2FUserManagementResetPassword.png?alt=media)

On the left side of the window is the list of all users in the system. On the right side is the user editing pane. The selected user from the users list will show on the editing pane. The following actions are available:

1. `Undo Changes` - if you’ve made any changes to the user since the last save, you can restore the last saved version of the user. If there are no unsaved changes, this button will be grayed out
2. `Save` - Save any changes you’ve made to the selected user. This does not save changes for all users, just the current user in the editing pane.
3. `Delete` - Permanently deletes this user. The deletion is automatically saved, and cannot be undone.

{% hint style="info" %}
An [admin user](/docs/spikemark-6/auth/auth-roles#admin-user) is able to edit all users, including other admins. They cannot edit their own account.
{% endhint %}

Once you are done editing users, close the `User Management` window to return to Spikemark. Any unsaved changes will be discarded once the window is closed.

### User Properties

A Spikemark user contains a few key properties, some of which can be manipulated through the User Management editor pane.

![Screenshot of key user properties that can be edited in Spikemark](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-e953fc4e90155afe9177d962a5aec0cb414c03ae%2FUserManagementResetPassword.png?alt=media)

1. `Name` - the username for the user. This must be unique, and cannot be changed
2. `Role` - the editable role that is assigned to this user. Each Role has a set of permissions that governs what users can and can’t do in Spikemark. A user must have exactly one role assigned to them.
3. `Force Reset Password` - the editable flag to indicate if a user needs to reset their password. When checked, the user will be prompted to reset the password the next time they login.
4. `Password` *Not shown* - the password that the user or admin sets for the account. This can be set on account creation, and reset through the reset password process. For more details, see [Passwords and Security](#passwords-and-security).

### Creating a New User

Only admins are able to add new users to the Spikemark system. To create a new user, select `Administration → Create Account` from the menu.

![Screenshot of the Administration menu when logged in as admin](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-2b1092820c24e515e6f03f572ede48576ee18446%2FAdministrationMenuAdmin.png?alt=media)

In the `Create New Account` pop-up, enter the username and password for the new user. Select the [role](/docs/spikemark-6/auth/auth-roles) you would like the user to have. If you would like the user to set their own password, leave the password field blank and then toggle the `Force Reset Password` field on the `User Management` screen after you’ve created the account.

![Screenshot of the Creat New User dialog box in Spikemark](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-79fb698fdb456d39fb724d08d7a2ecbb210f3a45%2FCreateAccountFilledIn.png?alt=media)

Once you’ve filled out all the fields, select `Create Account` to save the new account.

{% hint style="warning" %}
If the username is blank or already exists, the `Create Account` button will be grayed out.
{% endhint %}

The new user will appear in the User Management window.

## Passwords and Security

{% hint style="danger" %}
When creating your account, it is **strongly recommended** that you use a unique password.

Passwords are encrypted and stored locally on your Spikemark computer.
{% endhint %}

### Resetting Passwords

Passwords can be reset by an [admin](/docs/spikemark-6/auth/auth-roles#admin-user). The admin should open `Administration → User Management` and select the `Force Reset Password` option for the user, then save their changes. See [User Management](#user-management-admin-only) for more info.

![Screenshot of the user management panel showing the force password reset checkbox](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-e953fc4e90155afe9177d962a5aec0cb414c03ae%2FUserManagementResetPassword.png?alt=media)

Once an admin has marked the user for password reset, the admin should log out (`Administration → Log Out`). The user should then enter their username (the password can be left blank) and click `Login`.

![Screenshot of the Reset Password dialog box in Spikemark](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-7e4941306eb60bd72c3f482dd5d78a0954b6d4bb%2FResetPassword.png?alt=media)

The `Reset Password` popup will appear. Enter and confirm the new password, and click `Save`. The user will be directed to the Login screen again, and should be able to login with their username and new password.

{% hint style="info" %}
If no admin has access to their account, please contact the Creative Conners support team and we can help restore access.
{% endhint %}

## Disable Authentication and Authorization (Admin-Only)

{% hint style="warning" %}
Before switching off user authentication, ensure you’ve saved any changes to your show, since turning off authentication requires restarting Spikemark.
{% endhint %}

![Screenshot of the Administration menu in Spikemark](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-2b1092820c24e515e6f03f572ede48576ee18446%2FAdministrationMenuAdmin.png?alt=media)

To turn of user authentication and authorization, select `Administration → Disable Authorization`.

![Screenshot of the warning message when turning off authentication](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5623e8876e60cb6d76ed22b97902a603b8c15d62%2FDisableSpikemarkPopup.png?alt=media)

You will be prompted to confirm that you want to disable authentication and restart Spikemark. Select `Yes`. After you confirm, you’ll be given a chance to save any unsaved changes to your show.

Spikemark will restart automatically, and open up with authentication disabled. Spikemark will return to its fully accessible state. Authentication will remain off until re-enabled.


# Roles

A Spikemark role is a grouping of permissions that can be assigned to users in the system. Below are the key parts of a role:

![Screenshot of the roles dialog box in Spikemark](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-78bba3f9dd7101734cd9c31c6f96a4a9f29f7127%2FRoleManagmentSelectedRole.png?alt=media)

1. `Role Name` - the non-editable identifier for this role. This is set once on creation of the role, and cannot be changed after.
2. `Admin Role` - the non-editable field that indicates if this is an **Admin** role, which means it has universal permissions and access to user and role management. There can only be one admin role in the system — the default Admin role that comes with Spikemark
3. `Users in the Role` - the list of [users](/docs/spikemark-6/auth/auth-users) that have this role assigned to them. To remove users from this role, edit the users through the [User Management](/docs/spikemark-6/auth/auth-users#user-management-admin-only) window.
4. `Permissions` - the list of individual permissions this role does or doesn’t have. Some permissions control a single field or action and are named after the field or button they control, like `Max Jogging Speed`. Other permissions are more widely encompassing, like `Goable Editor` or `Axis Editor`.

**Permissions are applicable for&#x20;*****all*****&#x20;axes, cues, connections, etc. to which they refer.**

For example, it is not possible to give a user permission to edit the maximum jogging speed of **Motor** A but not that of **Motor B**. Similarly, it’s not possible to allow a user to only run certain playbacks or cues - a user can either have the permission to run **all** cues or have the permission to run cues entirely withheld.

See [Permissions](/docs/spikemark-6/auth/auth-permissions) for details of the capability granted by each permission.

## Default Roles

Spikemark’s authorization system is quite flexible, and allows for the creation of custom roles. However, there are 5 default roles that come with Spikemark to cover most needs.

1. **Admin** - Admin users have universal permissions for Spikemark, and also have the ability to manage users and roles. Use this role sparingly! This role cannot be deleted.
2. **Commissioner** - Commissioners are similar to Admins in that they have permissions for everything in Spikemark; however, they don’t have the ability to manage users and roles.
3. **Programmer** - Programmer users have the permissions for everything required to build and program a show. They can edit and run cues and movements, edit a few key properties for motors like jogging speeds and load cell configurations, and save, open, and create new show files.
4. **Operator** - Operator users have the permissions for everything required to run through a show file. They can edit a few key properties for motors like jogging speeds and load cell configuration, open show files, and run cues. However, they aren’t able to edit cues or movements, nor can they save or create new shows.
5. **Guest** - The lowest level of access for Spikemark. Guest users are ‘read-only’ users - they aren’t able to edit or run anything in a Spikemark Show. By default, they can’t even exit the Spikemark application. This role cannot be deleted.

These default roles can be edited with different permissions to suit your needs, or you can create your own custom roles. See [Editing a Role](#editing-a-role) and [Creating a Custom Role](#creating-a-custom-role) for further instructions.

### Admin User

{% hint style="warning" %}
Spikemark has a special ‘Admin’ role built-in. **The Admin role grants universal access to everything in Spikemark. Use the Admin role sparingly.**
{% endhint %}

Users with the Admin role are also able to manage all the roles and users on the Spikemark computer. This includes adding, deleting, and editing roles and users.

By default, the first account created in Spikemark will be an admin. After that, more admins can be added by creating a new user account and simply assigning them the admin role.

## Editing a Role

To edit the [permissions](/docs/spikemark-6/auth/auth-permissions) for a role, select `Administration → Role Management` from the menu. Select a role from the roles list to display in the role editor pane.

{% hint style="warning" %}
To edit roles, you must be logged into Spikemark as an Admin.
{% endhint %}

![Screenshot of the roles dialog box in Spikemark](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-78bba3f9dd7101734cd9c31c6f96a4a9f29f7127%2FRoleManagmentSelectedRole.png?alt=media)

Check or uncheck permissions from the scrollable permissions list to add or remove the permission from the role. You can edit the permissions list of both built-in roles and new roles you create.

{% hint style="warning" %}
The permissions assigned to the built-in **Admin** role are not editable.
{% endhint %}

If you have unsaved changes, you’ll see an `Unsaved changes` message on the bottom of the role editor pane.

## Deleting a Role

To delete a role, select it from the roles list and click `Delete` on the role editor pane. The role will be permanently deleted, and no additional saving is necessary.

{% hint style="warning" %}
To delete roles, you must be logged into Spikemark as an Admin.
{% endhint %}

{% hint style="info" %}
If the `Delete` button is grayed out, here's why:

* The built-in Admin role is not deletable.
* The built-in Guest Role is not deletable.
* The role has users assigned to it. In order to delete the role, go to the [User Management](/docs/spikemark-6/auth/auth-users#user-management-admin-only) window and select a different role for all the users currently assigned to the role.
  {% endhint %}

{% hint style="warning" %}
Roles with users assigned to them can't be deleted. First, assign users to a different role, then delete the role.
{% endhint %}

{% hint style="success" %}
You can open the Role Management and User Management windows at the same time to cross-check the `Users in Role` list as you reassign users to roles.
{% endhint %}

## Creating a Custom Role

![Screenshot of the Role Management dialog in Spikemark](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-22e2851e75bc14b42ecdc8f2061bccb32ab037bd%2FRoleManagement.png?alt=media)

To create a new role, select `Administration → Role Management` from the menu. On the bottom of the role editor pane, select the `Create Role` button at the bottom of the dialog.

{% hint style="warning" %}
Only admins are able to add new roles to the Spikemark system.
{% endhint %}

![Screenshot of the Create Role dialog in Spikemark](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-9fedad1046e893e971c8adaa00b1e1c7fd2f637f%2FCreateRoleNotFilledIn.png?alt=media)

In the `Create New Role` dialog box, fill in the details of the new role. The only required fields are the `Role Name` and the `Permissions` list.

### Role Name

`Role Name` is the unique identifier for this role. This cannot be empty and cannot be the same as an existing role. The name cannot be changed after the role is created.

### Role Description (Optional)

`Role Description` is, shockingly, a short description for the role.

### Base role off existing role (Optional)

Use the `Base role off existing role` to copy permissions from an existing role to a new role. This is a quick way to derive a new role that is similar to an existing role, but needs a few permission tweaks.

The permissions are copied when the new role is created, but the two roles are not linked. You can edit the original role that was used as a template without impacting the new role.

In the example below, the **almost\_commissioner** role is derived from the **Commissioner** role. If you then remove the `RunCue` permission from the **Commissioner** role, **almost\_commissioner** is unchanged. The **almost\_commissioner** role will keep the `RunCue` permission.

![Screenshot of a new role being derived from an existing role](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-a0a8ebcfb69bb920c749098243a31a3ff3188f6e%2FCreateRoleFilledIn.png?alt=media)

### Permissions

[Permissions](/docs/spikemark-6/auth/auth-permissions) are the bread and butter of roles. This section contains the list of all permissions available to add to a role. Permissions that are checked off will be granted to the role and users in it, while unchecked permissions will not be included in the role. Which permissions are checked or unchecked can be edited at any time through the Role Management window ( `Administration → Role Management` )

![Screenshot of a new role being derived from an existing role](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-09a4871e4498360634d200ffe7b8519c77adae0a%2FRoleManagementWithNewRole.png?alt=media)

{% hint style="danger" %}
Permissions are applied to roles when Spikemark launches. If you add or remove permissions to a role, restart Spikemark for the changes to take affect. Changes made during a Spikemark session will not be registered until you relaunch Spikemark.
{% endhint %}

### Saving the role

Once you’ve filled out the role details, just click `Save` - you’ve created your own custom role! The role will immediately show in the Role Management window, as displayed above. You can now edit and assign users to the role.


# Permissions

## Overview

The Spikemark Permissions list is a comprehensive list of many components within the application that can be *locked down*. It allows for a fine-grained approach to controlling access between different users.

There are over 100 permissions you can select from when building your perfect Spikemark role. To help guide role editing, here's the list of all the permissions and a brief description of each.

## Permission List

When [creating](/docs/spikemark-6/auth/auth-roles#editing-a-role) or [editing a role](/docs/spikemark-6/auth/auth-roles#editing-a-role), Permissions that are checked off will be granted to the role and users in it, while unchecked permissions will not be included in the role.

#### Axis Editor

*Add and delete an axis (e.g. Motor, FX, etc.) from the show.*

Axes are normally added from the `Stagehand` menu, and deleted through the context menu of the **Stagehand Axis List** of the [Cues Workspace](/docs/spikemark-6/navigating-spikemark/workspaces/cue-workspace-overview) or [Jog Workspace](/docs/spikemark-6/navigating-spikemark/workspaces/jog-workspace-overview). Those menu items will be grayed out when this permission is missing from the role.

#### Goable Editor

*Edit parameters of a cue or its components.*

**Goables**, in Spikemark parlance, are cues and the component parts that make up a cue. Clicking on a:

* cue
* sequence
* step
* movement
* trigger
* action

will bring up an [editing window](/docs/spikemark-6/cues/cue-editing). If this permission is missing from the role, the parameters of the **Goable** will be displayed as read-only. No changes to the cue structure can be made without this permission.

#### RunCue

*Run a cue with a playback.*

#### IP Address

*Set the IP Address of a Stagehand in the Axis List.*

#### Auto Reconnect

*Enable or disable the option to automatically attempt to reconnect to a Stagehand if the network connection is dropped.*

#### Polling Interval

*Change how frequently Spikemark requests status updates from a Stagehand*

Set, per axis, in milliseconds from the `Advanced` section of the `Property Pane`. If this permission is missing from the role, the **Polling Interval** will be displayed as read-only.

#### Port Number

*Configure the Port Number for the connection of Modbus Effect, Messenger (UDP), and OSC Messenger axes.*

A network socket is configured with the combination of an IP Address and Port Number. To successfully deliver network messages, both the address and port must be correctly set. This permission allows the **Port Number** to be configured in the `Property Pane` for the following **Stagehand** axis types:

* Modbus Effect
* Messenger (UDP)
* OSC Messenger

If this permission is missing from the role, the **Port Number** will be displayed in read-only mode within the `Property Pane` when any of the above Stagehand types are selected.

#### Modbus Timeout

*Set the Modbus Timeout for a Modbus Effect axis.*

If this permission is missing from the role, the **Modbus Timeout** will be displayed in read-only mode within the `Property Pane` when any Modbus Effect is selected.

#### Max Fwd Position

*Set the maximum forward position for a motor.*

If this permission is missing from the role, the **Max Forward Position** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Min Rev Position

*Set the minimum reverse position for a motor.*

If this permission is missing from the role, the **Min Reverse Position** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Position Scale

*Set the position scale for a motor.*

If this permission is missing from the role, the **Position Scale** will be displayed in read-only mode within the `Property Pane` when any motor is selected. Additionally, the position scale wizard will be disabled.

#### Max Position Error

*Set the maximum position error for a motor.*

If this permission is missing from the role, the **Max Position Error** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Position Lag Time

*Set the position lag time for a motor.*

If this permission is missing from the role, the **Position Lag Time** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Abort On Position Error

*Set the abort on position error for a motor.*

If this permission is missing from the role, the **Abort On Position Error** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Position Units

*Set the position units for a motor.*

If this permission is missing from the role, the **Position Units** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Reset Position

*Reset the position of a motor.*

If this permission is missing from the role, the **Reset Position** button will be disabled in the `Property Pane` when any motor is selected.

#### Max Speed

*Set the maximum speed for a motor.*

If this permission is missing from the role, the **Max Speed** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Default Speed

*Set the default speed for a motor.*

If this permission is missing from the role, the **Default Speed** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Default Accel

*Set the default acceleration for a motor.*

If this permission is missing from the role, the **Default Acceleration** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Default Decel

*Set the default deceleration for a motor.*

If this permission is missing from the role, the **Default Deceleration** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Max Jog Percent

*Set the maximum jog percent for a motor.*

If this permission is missing from the role, the **Max Jog Percent** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Min Jog Percent

*Set the minimum jog percent for a motor.*

If this permission is missing from the role, the **Min Jog Percent** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Configure SLZ Params

*Configure the Speed Limited Zones (SLZ) parameters for a motor.*

If this permission is missing from the role, the **SLZ Parameters** will be displayed in read-only mode in the `SLZ Parameter Window` when any motor is selected.

#### P Gain

*Set the proportional gain for a motor.*

If this permission is missing from the role, the **Proportional Gain** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### D Gain

*Set the derivative gain for a motor.*

If this permission is missing from the role, the **Derivative Gain** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### D Sampling

*Set the derivative sampling time for a motor.*

If this permission is missing from the role, the **Derivative Sampling** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### I Gain

*Set the integral gain for a motor.*

If this permission is missing from the role, the **Integral Gain** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### I Limit

*Set the integral limit for a motor.*

If this permission is missing from the role, the **Integral Limit** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Wagon Style

*Set the wagon style and the wagon skins for a motor.*

If this permission is missing from the role, the **Wagon Style** will be displayed in read-only mode within the `Property Pane` when any motor is selected. Additionally, the **Wagon Skins** will be displayed in read-only mode within the `Wagon Scenery Styling` pane when any motor is selected.

#### Periaktos Sides

*Set the periaktos sides for a motor.*

If this permission is missing from the role, the **Periaktos Sides** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Wagon Rotation Clockwise

*Set the wagon rotation clockwise for a motor.*

If this permission is missing from the role, the **Wagon Rotation Clockwise** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Wagon Size X

*Set the wagon length for a motor.*

If this permission is missing from the role, the **Length** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Wagon Size Y

*Set the wagon height for a motor.*

If this permission is missing from the role, the **Height** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Wagon Size Z

*Set the wagon width for a motor.*

If this permission is missing from the role, the **Width** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Wagon Origin X

*Set the wagon distance from center for a motor.*

If this permission is missing from the role, the **Distance from Center** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Wagon Origin Y

*Set the wagon elevation from stage for a motor.*

If this permission is missing from the role, the **Elevation from Stage** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Wagon Origin Z

*Set the wagon distance from plaster for a motor.*

If this permission is missing from the role, the **Distance from Plaster** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Wagon Orientation X

*Set the scenery rotation X for a motor.*

If this permission is missing from the role, the **Scenery Rotation X** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Wagon Orientation Y

*Set the scenery rotation Y for a motor.*

If this permission is missing from the role, the **Scenery Rotation Y** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Wagon Orientation Z

*Set the scenery rotation Z for a motor.*

If this permission is missing from the role, the **Scenery Rotation Z** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Track Orientation X

*Set the track rotation X for a motor.*

If this permission is missing from the role, the **Track Rotation X** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Track Orientation Y

*Set the track rotation Y for a motor.*

If this permission is missing from the role, the **Track Rotation Y** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Track Orientation Z

*Set the track rotation Z for a motor.*

If this permission is missing from the role, the **Track Rotation Z** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Stagehand Name

*Set the name of a Stagehand in the Axis List.*

If this permission is missing from the role, the **Stagehand Name** will be displayed in read-only mode within the `Property Pane` when any Stagehand is selected.

#### Stagehand Active

*Set the active state of a Stagehand in the Axis List.*

If this permission is missing from the role, the **Stagehand Active** will be displayed in read-only mode within the `Property Pane` when any Stagehand is selected.

#### Axis Type

*Set the axis type of a motor.*

If this permission is missing from the role, the **Axis Type** will be displayed in read-only mode within the `Property Pane` when any Stagehand is selected.

#### Selected Simulation Hardware Version

*Set the selected simulation hardware version of a motor.*

If this permission is missing from the role, the **Simulation Hardware** will be displayed in read-only mode within the `Property Pane` when any Stagehand is selected.

#### Soft Stop Time

*Set the soft stop time for a motor.*

If this permission is missing from the role, the **Soft Stop Time** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Motor Reset Method

*Set the motor reset method for a motor.*

If this permission is missing from the role, the **Motor Reset Method** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Strict Timing Mode

*Set the strict timing mode for a motor.*

If this permission is missing from the role, the **Strict Timing Mode** will be displayed in read-only mode within the `Property Pane` when any motor is selected.

#### Update Motor Firmware

*Update the firmware of a motor.*

If this permission is missing from the role, the **Update Firmware** button will be disabled in the `Property Pane` when any motor is selected.

#### Toggle Load Alarms

*Enable or disable the load alarms for a motor.*

If this permission is missing from the role, the **Load Alarm** buttons will be disabled in the `Property Pane` when any motor is selected.

#### Fx Input 1 Name

*Set the name of the first FX input for a FX.*

If this permission is missing from the role, the **Input 1** will be displayed in read-only mode within the `Property Pane` when any FX is selected.

#### Fx Input 2 Name

*Set the name of the second FX input for a FX.*

If this permission is missing from the role, the **Input 2** will be displayed in read-only mode within the `Property Pane` when any FX is selected.

#### Fx Input 3 Name

*Set the name of the third FX input for a FX.*

If this permission is missing from the role, the **Input 3** will be displayed in read-only mode within the `Property Pane` when any FX is selected.

#### Fx Input 4 Name

*Set the name of the fourth FX input for a FX.*

If this permission is missing from the role, the **Input 4** will be displayed in read-only mode within the `Property Pane` when any FX is selected.

#### Fx Output 1 Name

*Set the name of the first FX output for a FX.*

If this permission is missing from the role, the **Output 1** will be displayed in read-only mode within the `Property Pane` when any FX is selected.

#### Fx Output 2 Name

*Set the name of the second FX output for a FX.*

If this permission is missing from the role, the **Output 2** will be displayed in read-only mode within the `Property Pane` when any FX is selected.

#### Fx Output 3 Name

*Set the name of the third FX output for a FX.*

If this permission is missing from the role, the **Output 3** will be displayed in read-only mode within the `Property Pane` when any FX is selected.

#### Fx Output 4 Name

*Set the name of the fourth FX output for a FX.*

If this permission is missing from the role, the **Output 4** will be displayed in read-only mode within the `Property Pane` when any FX is selected.

#### Modbus Unit ID

*Set the Modbus Unit ID for a Modbus Effect axis.*

If this permission is missing from the role, the **Modbus Unit ID** will be displayed in read-only mode within the `Property Pane` when any Modbus Effect is selected.

#### Group Max Forward Position

*Set the maximum forward position for a group.*

If this permission is missing from the role, the **Max Forward** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Group Min Reverse Position

*Set the minimum reverse position for a group.*

If this permission is missing from the role, the **Min Reverse** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Group Target Tolerance

*Set the target tolerance for a group.*

If this permission is missing from the role, the **Target Tolerance** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Group Max Speed

*Set the maximum speed for a group.*

If this permission is missing from the role, the **Max Speed** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Group Default Speed

*Set the default speed for a group.*

If this permission is missing from the role, the **Default Speed** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Group Default Accel

*Set the default acceleration for a group.*

If this permission is missing from the role, the **Default Acceleration** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Group Default Decel

*Set the default deceleration for a group.*

If this permission is missing from the role, the **Default Deceleration** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Group Max Jog Percent

*Set the maximum jog percent for a group.*

If this permission is missing from the role, the **Max Jogging Speed** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Group Min Jog Percent

*Set the minimum jog percent for a group.*

If this permission is missing from the role, the **Min Jogging Speed** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Group Slow Timeout

*Set the slow timeout for a group.*

If this permission is missing from the role, the **Slow Timeout** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Group Fast Timeout

*Set the fast timeout for a group.*

If this permission is missing from the role, the **Fast Timeout** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Group Scheduled Timeout

*Set the scheduled timeout for a group.*

If this permission is missing from the role, the **Scheduled Timeout** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Allow Independent Group Child Motion

*Allow independent group child motion for a group.*

If this permission is missing from the role, the **Allow Children To Be Run Independently** will be displayed in read-only mode within the `Property Pane` when any group is selected.

#### Accept Stagehand Load Cell Config

*Accept the load cell configuration for a motor.*

If this permission is missing from the role, the **Accept Load Cell Config** button will be disabled in the `Property Pane` when any motor is selected.

#### Reset Load Cell Peak

*Reset the load cell peak for a motor.*

If this permission is missing from the role, the **Reset Load Cell Peak** button will be disabled in the `Property Pane` when any motor is selected.

#### Reset Load Cell Min

*Reset the load cell min for a motor.*

If this permission is missing from the role, the **Reset Load Cell Min** button will be disabled in the `Property Pane` when any motor is selected.

#### Accept Spikemark Encoder Values

*Accept the absolute encoder values for a motor.*

If this permission is missing from the role, the **Accept Encoder Values** button will be disabled in the `Property Pane` when any motor with an absolute encoder is selected.

#### Accept Stagehand Encoder Values

*Accept the absolute encoder values for a motor.*

If this permission is missing from the role, the **Accept Encoder Values** button will be disabled in the `Property Pane` when any motor with an absolute encoder is selected.

#### Clear Encoder Offset

*Clear the encoder offset for a motor.*

If this permission is missing from the role, the **Clear Encoder Offset** button will be disabled in the `Property Pane` when any motor with an absolute encoder is selected.

#### Launch Absolute Encoder Config

*Launch the absolute encoder configuration window for a motor.*

If this permission is missing from the role, the **Launch Absolute Encoder Config** button will be disabled in the `Property Pane` when any motor with an absolute encoder is selected.

#### Redetect Drive

*Redetect the drive for a motor.*

If this permission is missing from the role, the **Redetect Drive** button will be disabled in the `Property Pane` when any motor is selected.

#### Launch Drive Auto Tune

*Launch the drive auto-tune window for a motor.*

If this permission is missing from the role, the **Launch Drive Auto Tune** button will be disabled in the `Property Pane` when any motor with a detected drive is selected.

#### Untag Stagehand

*Untag a Stagehand in the Axis List.*

If this permission is missing from the role, the **Untag** button will be disabled in the `Quick Properties Pane` when any Stagehand is selected.

#### Tag Stagehand

*Tag a Stagehand in the Axis List.*

If this permission is missing from the role, the **Tag** button will be disabled in the `Quick Properties Pane` when any Stagehand is selected.

#### Add Tag

*Add a tag to a Stagehand in the Axis List.*

If this permission is missing from the role, the **Add Tag** button will be disabled in the `Quick Properties Pane` when any Stagehand is selected.

#### Delete Tag

*Delete a tag from a Stagehand in the Axis List.*

If this permission is missing from the role, the **Delete Tag** button will be disabled in the `Quick Properties Pane` when any Stagehand is selected.

#### Edit Tag

*Edit a tag of a Stagehand in the Axis List.*

If this permission is missing from the role, the **Edit Tag** button will be disabled in the `Quick Properties Pane` when any Stagehand is selected.

#### Import Stagehands

*Import Stagehands from a file.*

If this permission is missing from the role, the **Import Stagehands** button will be disabled in the `File Menu`.

#### Exit Spikemark

*Exit the Spikemark application.*

If this permission is missing from the role, the **Exit Spikemark** button will be disabled in the `File Menu` and the `X` button will be disabled.

#### Save

*Save the current show.*

If this permission is missing from the role, the **Save** button will be disabled in the `File Menu`.

#### Save As

*Save the current show as a new file.*

If this permission is missing from the role, the **Save As** button will be disabled in the `File Menu`.

#### Open

*Open a show.*

If this permission is missing from the role, the **Open** button will be disabled in the `File Menu`.

#### New Show

*Create a new show.*

If this permission is missing from the role, the **New Show** button will be disabled in the `File Menu`.

#### New From Show

*Create a new show from an existing show.*

If this permission is missing from the role, the **New From Show** button will be disabled in the `File Menu`.

#### Playback Color

*Set the color of a playback.*

If this permission is missing from the role, the **Playback Color** will be displayed in read-only mode within the `Playback Context Menu` when any playback is right clicked.

#### Live Playback Speed

*Set the playback speed of a playback.*

If this permission is missing from the role, the **Playback Speed** will be displayed in read-only mode within the `Playback Control`.

#### Default Cue Color

*Set the default color of a cue.*

If this permission is missing from the role, the **Default Cue Color** will be displayed in read-only mode within the `Spikemark Options Window`.

#### Default Show

*Set the default show to open when Spikemark launches.*

If this permission is missing from the role, the **Default Show** will be displayed in read-only mode within the `Spikemark Options Window`.

#### Spikemark IP Address

*Set the Spikemark IP Address.*

If this permission is missing from the role, the **Spikemark IP Address** will be displayed in read-only mode within the `Spikemark Options Window`.

#### Playback Stacking

*Set the playback stacking mode.*

If this permission is missing from the role, the **Playback Stacking** will be displayed in read-only mode within the `Spikemark Options Window`.

#### Reset Playback Speed

*Reset the playback speed of a playback.*

If this permission is missing from the role, the **Reset Playback Speed** button will be disabled in the `Playback Control`.

#### Edit SS4 Nodes

*Edit the Showstopper nodes.*

If this permission is missing from the role, the **Showstopper Node Fields** will be displayed in read-only mode within the `Showstopper Node Editor Window`.

#### Edit SS4 Group Nodes

*Edit the Showstopper group nodes.*

If this permission is missing from the role, the **Showstopper Group Node Fields** will be displayed in read-only mode within the `Showstopper Group Node Editor Window`.

#### Edit Stage Dims

*Edit the stage dimensions.*

If this permission is missing from the role, the **Stage Dimensions** will be displayed in read-only mode within the `Stage Editor Window`.


# Show Control

Show control is the umbrella term for all the protocols that allow the various systems like lights, sound, automation, and video to communicate with each other. This is a very broad topic with many different protocols that can be used for show control and Spikemark supports the following.


# Open Sound Control (OSC)

[Open Sound Control or OSC](https://en.wikipedia.org/wiki/Open_Sound_Control) is an open source protocol for communicating between different systems. Spikemark supports sending OSC messages, receiving OSC messages, and streaming positions over OSC.


# Send OSC Messages

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-301e7b3047d3fd4849a888c31ea2818085e905f2%2Fosc-stagehand-and-osc-movement.png?alt=media" alt="OSC Messenger and OSC Movement"><figcaption></figcaption></figure>

OSC messages can be sent using the [OSC Messenger](/docs/spikemark-6/show-control/osc/send-osc-messages) and creating [OSC Movements](/docs/spikemark-6/movements/osc-movement)


# OSC Position Output

Spikemark can send real time motor position data using the OSC protocol to any device that supports UDP OSC such as QLab, ISADORA, ETC EOS, Disguise, and many more.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-9341da832c5c3f80318dfefc9fd8fd3f4b4223eb%2Fopen-osc-position-outupt.png?alt=media" alt="Open OSC Output Window"><figcaption></figcaption></figure>

From the Show Control menu click OSC Output... to open the configuration window.

## Configuration Window

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-2b2128734e3f052c0d3ca9012b83c6cec78fea26%2Fosc-position-output-window-overview.png?alt=media" alt="OSC Output Window"><figcaption></figcaption></figure>

### 1. Server Address

The server address is the IP address of the computer receiving position data from Spikemark.

### 2. Server Port

Similar to server address, server port is the UDP port that Spikemark will send data to.

### 3. Active

When checked, the given axis’ position will be sent. This allows Spikemark to selectively send position data. By default, active is unchecked.

### 4 - Address

Address is the identifying information in and OSC message and always starts with a forward slash (/). By default, it is set to /cue/2/translation/x/live which is a QLab 5 address for changing the horizontal position of a video cue. This can be changed on a per-axis basis and can be any valid OSC address.

### 5 - Scaling

Scaling is used to send larger or smaller position steps. It works by multiplying the scaling value by the axis’ position. For example if a motor is at a position of 100 and scaling is set to 1.5 the actual value sent will be 150. Scaling can be any number greater than zero (0) and defaults to one (1) which equates to no scaling.

### 6 - Update Interval

The update interval is the speed at witch OSC packets are sent. The recommended fastest speed is 30.

### 7 - Send Output

The send output button toggles the OSC output from Spikemark on or off.


# OSC Input Trigger

OSC Input triggers allow you to control Spikemark from some other software.

{% hint style="danger" %}
It can be dangerous to trigger motion automatically, the other computer won't be able to know if there is a person in the way. We strongly encourage the use of hold to run.
{% endhint %}

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-61b1562635a23913100ccd7c09837edac8da78ab%2Fosc-input-trigger-menu-bar.png?alt=media" alt=""><figcaption></figcaption></figure>

From the Show Control menu, select OSC Input Trigger... to open the OSC Input Trigger configuration window.

## Configuration

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-37e84f030430d1989fbae1f96f7ab52ecc6ef46b%2Fosc-input-trigger-window-overview.png?alt=media" alt="OSC Input Trigger Overview"><figcaption></figcaption></figure>

### 1. Listen Port

The port that Spikemark will start listening on for incoming OSC messages.

### 2. Respond Port

The port that Spikemark sends response and data messages back to.

### 3. Send Status Messages

Toggle on or off Spikemark's response messages.

### 4. Is Enabled

Indicates whether Spikemark is listening for OSC messages.

### 5. Disable

Stop listening for OSC messages.

### 6. Enable

Start listening for OSC messages


# OSC Input Messages

There are two types of responses that Spikemark will send back status messages and data messages. When OSC responses are turned on status messages will be sent back to the sender at the address `/spikemark/reply` with a JSON string parameter as follows:

```json
{
    "Address": "invoking address",
    "Success": true or false,
    "Message": "additional information if needed",
    "Data": additional decimal data if needed 
}
```

Some commands send back data, these data messages get sent back to the sender at the address `/reply/{invoking address}` with the relevant data passed as arguments. For example if `/cue/1/playback/1/step/1/totaltime` was sent to Spikemark it would respond with `/reply/cue/1/playback/1/step/1/totaltime 12.89`

When an OSC message needs a string as part of its address like `/motor/{motor_name}/position` the string in Spikemark can not contain any of the following characters.

| Character | Name                 |
| --------- | -------------------- |
| #         | number sign          |
| \*        | asterisk             |
| ,         | comma                |
| /         | forward slash        |
| ?         | question mark        |
| \[        | open bracket         |
| ]         | close bracket        |
| {         | open curly bracket   |
| }         | closed curly bracket |

Additionally, spaces aren't allowed in OSC address so if your motor name has any spaces then in the OSC address replace them with and underscore(\_). As an example if in Spikemark you had a motor with a name of `Pushstick V2` and you wanted to get its position you would send the OSC message with the address `/motor/Pushstick_V2/position`


# Cue Messages

Cue messages affect the whole cue or cue list.

***

## Soft Stop

### /cue/stop

**Note:** Soft stops all the Stagehands in the show.

***

## Run Playback

### /cue/{cue\_number}/playback/{playback\_number}/go

**Note:** Attempts to load cue\_number and then run the playback.

***


# Playback Messages

Playback messages affect the whole playback and everything running on it.

***

## Stop Playback

### /playback/{playback\_number}/stop

**Note:** Soft stops all the Stagehands running on the playback.

***

## Run Playback

### /cue/{cue\_number}/playback/{playback\_number}/go

**Note:** Attempts to load cue\_number and then run the playback.

***

## Adjust Live Speed

### /playback/{playback\_number}/speed \[number]

**Read:** If no arguments are given, the current speed of playback\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the speed of playback\_number.

***


# Sequence Step Messages

Sequence step messages affect the whole sequence step.

***

## Sequence Step Speed

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/speed \[number]

**Read:** If no arguments are given, the current speed of step\_number in cue\_number on playback\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the speed of step\_number in cue\_number on playback\_number.

***

## Sequence Step Acceleration

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/acceleration \[number]

**Read:** If no arguments are given, the current acceleration of step\_number in cue\_number on playback\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the acceleration of step\_number in cue\_number on playback\_number.

***

## Sequence Step Deceleration

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/deceleration \[number]

**Read:** If no arguments are given, the current deceleration of step\_number in cue\_number on playback\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the deceleration of step\_number in cue\_number on playback\_number.

***

## Sequence Step Acceleration Ramp Time

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/accelramptime \[number]

**Read:** If no arguments are given, the current acceleration ramp time of step\_number in cue\_number on playback\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the acceleration ramp time of step\_number in cue\_number on playback\_number.

***

## Sequence Step Deceleration Ramp Time

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/decelramptime \[number]

**Read:** If no arguments are given, the current deceleration ramp time of step\_number in cue\_number on playback\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the deceleration ramp time of step\_number in cue\_number on playback\_number.

***

## Sequence Step Total Time

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/totaltime \[number]

**Read:** If no arguments are given, the current total time of step\_number in cue\_number on playback\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the total time of step\_number in cue\_number on playback\_number.

***


# Motor Movement Messages

Motor movement messages affect specific motor movements.

***

## Movement Position

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/movement/{motor\_name}/position \[number]

**Read:** If no arguments are given, the position of the motor\_name's movement in cue\_number on playback\_number in step\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the position of motor\_name's movement in cue\_number on playback\_number in step\_number.

{% hint style="info" %}
Using this command to update the position will remove the existing spike. If you want to update a named spike's position then use either the `movement spike position` or the [motor spike command](/docs/spikemark-6/show-control/osc/input-triggers/osc-motor-messages).
{% endhint %}

***

## Movement Scaled Position

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/movement/{motor\_name}/scaled/position \[position\_int] \[scale\_float]

**Write:** Spikemark will attempt to set the scaled position of motor\_name's movement in cue\_number on playback\_number in step\_number to `position_int * scale_float`

{% hint style="info" %}
Using this command to update the position will remove the existing spike. If you want to update a named spike's position then use either the `movement spike position` or the [motor spike command](/docs/spikemark-6/show-control/osc/input-triggers/osc-motor-messages).
{% endhint %}

***

## Movement Spike Position

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/movement/{motor\_name}/spike/position \[number]

**Read:** If no arguments are given, the position of the spike in motor\_name's movement in cue\_number on playback\_number in step\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the position of the spike in motor\_name's movement in cue\_number on playback\_number in step\_number.

{% hint style="info" %}
This will update a spikes position which will affect every cue that uses the spike. If you only want to update the movements position then use the `movement position` command.
{% endhint %}

***

## Movement Spike Factor

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/movement/{motor\_name}/spike/factor \[number]

**Read:** If no arguments are given, the factor of the spike in motor\_name's movement in cue\_number on playback\_number in step\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the factor of the spike in motor\_name's movement in cue\_number on playback\_number in step\_number.

{% hint style="info" %}
This will update a spikes factor which will affect every cue that uses the spike.
{% endhint %}

***

## Movement Spike Offset

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/movement/{motor\_name}/spike/offset \[number]

**Read:** If no arguments are given, the offset of the spike in motor\_name's movement in cue\_number on playback\_number in step\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the offset of the spike in motor\_name's movement in cue\_number on playback\_number in step\_number.

{% hint style="info" %}
This will update a spikes offset which will affect every cue that uses the spike.
{% endhint %}

***

## Movement Speed

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/movement/{motor\_name}/speed \[number]

**Read:** If no arguments are given, the speed of the motor\_name's movement in cue\_number on playback\_number in step\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the speed of motor\_name's movement in cue\_number on playback\_number in step\_number.

***

## Movement Acceleration

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/movement/{motor\_name}/acceleration \[number]

**Read:** If no arguments are given, the acceleration of the motor\_name's movement in cue\_number on playback\_number in step\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the acceleration of motor\_name's movement in cue\_number on playback\_number in step\_number.

***

## Movement Deceleration

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/movement/{motor\_name}/deceleration \[number]

**Read:** If no arguments are given, the deceleration of the motor\_name's movement in cue\_number on playback\_number in step\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the deceleration of motor\_name's movement in cue\_number on playback\_number in step\_number.

***

## Movement Acceleration Ramp Time

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/movement/{motor\_name}/accelramptime \[number]

**Read:** If no arguments are given, the acceleration ramp time of the motor\_name's movement in cue\_number on playback\_number in step\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the acceleration ramp time of motor\_name's movement in cue\_number on playback\_number in step\_number.

***

## Movement Deceleration Ramp Time

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/movement/{motor\_name}/decelramptime \[number]

**Read:** If no arguments are given, the deceleration ramp time of the motor\_name's movement in cue\_number on playback\_number in step\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the deceleration ramp time of motor\_name's movement in cue\_number on playback\_number in step\_number.

***

## Movement Total Time

### /cue/{cue\_number}/playback/{playback\_number}/step/{step\_number}/movement/{motor\_name}/totaltime \[number]

**Read:** If no arguments are given, the total time of the motor\_name's movement in cue\_number on playback\_number in step\_number is returned.

**Write:** If an argument is given, Spikemark will attempt to set the total time of motor\_name's movement in cue\_number on playback\_number in step\_number.

***


# Motor Messages

Motor messages affect a single motor.

***

## Motor Position

### /motor/{motor\_name}/position \[number]

**Read:** If no arguments are given, the current position of motor\_name is returned.

**Write:** If an argument is given, Spikemark will attempt to reset the motor\_name's position.

***

## Stop Motor

### /motor/{motor\_name}/stop

**Note:** Soft stops motor\_name.

***

## Reset Drive

### /motor/{motor\_name}/drive/reset

**Note:** Resets the drive of motor\_name.

***

## Spike Position

### /motor/{motor\_name}/spike/{spike\_name}/position \[number]

**Read:** If no arguments are given, then the position of spike\_name on motor\_name is returned.

**Write:** If an argument is given, Spikemark will attempt to set the position of spike\_name on motor\_name.

{% hint style="info" %}
This will update a spikes position which will affect every cue that uses the spike.
{% endhint %}

***

## Spike Factor

### /motor/{motor\_name}/spike/{spike\_name}/factor \[number]

**Read:** If no arguments are given, then the factor of spike\_name on motor\_name is returned.

**Write:** If an argument is given, Spikemark will attempt to set the factor of spike\_name on motor\_name.

{% hint style="info" %}
This will update a spikes factor which will affect every cue that uses the spike.
{% endhint %}

***

## Spike Offset

### /motor/{motor\_name}/spike/{spike\_name}/offset \[number]

**Read:** If no arguments are given, then the offset of spike\_name on motor\_name is returned.

**Write:** If an argument is given, Spikemark will attempt to set the offset of spike\_name on motor\_name.

{% hint style="info" %}
This will update a spikes offset which will affect every cue that uses the spike.
{% endhint %}

***


# Troubleshooting OSC

## OSC Input Triggers Not Working

OSC Input triggers are very powerful and easy to use, but can be incredibly frustrating when you can't get the triggers to work. This page should walk you through the steps you can try if your Input Triggers are not working.

* Make sure you are using the latest version of Spikemark.
* Make sure OSC Input is enabled:

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-61b1562635a23913100ccd7c09837edac8da78ab%2Fosc-input-trigger-menu-bar.png?alt=media" alt="OSC input trigger menu"><figcaption></figcaption></figure>

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d1989bb80a41d419ec7dd77b3123f77222b53e0b%2Fosc-input-trigger-window-enabled.png?alt=media" alt="OSC input trigger window"><figcaption></figcaption></figure>

* Make sure you have your IP addresses set to be compatible.
* Make sure you are outputting on the correct port on your device that you are sending the OSC Message from.
* Make sure you are listening on that same port in Spikemark.
* If you are still having an Issue, try a different port.
* Make sure your firewall on both computers are not blocking the port you are sending messages on.
* You can even choose to turn off both firewalls for troubleshooting. It is a good choice to make sure you are not connected to the internet when you turn off the firewall.
* Lastly, try using a second computer running Spikemark with an OSC Output Stagehand to see if Spikemark can send Spikemark the OSC command. If Spikemark can send Spikemark the commands, but your software can't, we may need to change how you are writing the OSC message.

## Unpadded Messages

In some situation, you may use a software that doesn't supply 4-byte null padding as part of their message. In these situations, you may need to adjust how you send the command. Let's walk through an example on how you may make this modification. Let's Say you are trying to send and OSC command to Spikemark. We want to run cue 12 playback 1. We tell you to write an OSC message that looks like this:

```
/cue/12/playback/1/go
```

However, you find that this command will work properly if you send it from Spikemark, but won't work properly if you send it from your specific software. The reason, is that Spikemark sends this command using a 4-byte null padding format. This means that Spikemark is actually sending a message on the network that looks like:

```
/cue/12/playback/1/go!00!00!00,!00!00!00
```

However, if you wanted to run cue 1234 playback 1, the message would look like this:

```
/cue/1234/playback/1/go!00,!00!00!00
```

OSC operates on a pattern of 4 byte "DWORDS" so different parts of the message have to align with those 4 byte boundaries. The comma indicates the DWORDs before it represented the address, and the data after the comma represents parameter data. The comma is also part of a DWORD, so it has to be padded with null bytes as well. In Low Level Communicator, the convention for sending hexadecimal representation of null bytes is !00 so you would use this to "fill up" any missing bytes to make the DWORD alignment work.

```
| DWORD 00 | DWORD 01 | DWORD 02 | DWORD 03 | DWORD 04 | DWORD 05   | 
| /cue     | /12/     | play     | back     | /1/g     | o!00!00!00 |
| /cue     | /123     | /pla     | ybac     | k/1/     | go!00!00   |
| /cue     | /123     | 4/pl     | ayba     | ck/1     | /go!00     |
```


# OSC Response Window

Sometimes OSC messages respond back and other times OSC messages can be used to query information. In either of these cases Spikemark has the ability to receive these messages and display them.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-4d9008ec8bd7f60e68780e0923fd5bc6d2de1476%2Fosc-response-menu-bar.png?alt=media" alt="Open OSC Response Window"><figcaption></figcaption></figure>

From the Show Control menu click OSC Response... to open the status window.

This brings up the response dialog. In this dialog the Listening Port is the UDP port Spikemark will listen for messages on. It can be any integer, and it must correspond to the port number of an OSC client sending messages. Spikemark only listens for OSC messages when this dialog is open and the Listen button is pressed.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5aec12ac5e6a56f5c4fd94c1f82aa1569afb1755%2Fosc-response-window-with-message.png?alt=media" alt="OSC Response Window"><figcaption></figcaption></figure>

When an OSC message is received it is added to the messages list on the left. To view the contents of the OSC message click it. There are several ways to decode the message and this can be changed by selecting either Text, JSON, or ByteArray in the Decode As dropdown.


# Medialon Manager Configuration

Sending OSC from Medialon Manager to Spikemark is the special case where you have to manually do the [null padding](/docs/spikemark-6/show-control/osc/troubleshooting).

Medialon Manager has OSC Output Device, but the OSC Output Device adds in additional information into the command that Spikemark isn't expecting which causes Spikemark not to take the OSC action.

Do Not Use the OSC Output Device to send OSC commands to Spikemark. It will not work.

Instead, use a Medialon Low Level Communicator Device instead of an OSC Output Device.

Configure the Medialon Low Level Communicator Device as a UDP Output, and assign the port to match the listening port of Spikemark.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d48ad2dcaecb9c4d0e3a4d5513bdd5688c8bf7cb%2Fmedialon-manager-setup.png?alt=media" alt="Medialon Manager LLC Config"><figcaption></figcaption></figure>

Then setup your Output Command with the correct Spikemark IP Address and Listening Port, and use the above structure to format the command using 4-bye null padding.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-3db6f720c3d142573d51d1d8c019da3fc462e9e7%2Fmedialon-manager-output-command.png?alt=media" alt="Medialon Manager Output Command"><figcaption></figcaption></figure>


# UDP

[User Datagram Protocol or UDP](https://en.wikipedia.org/wiki/User_Datagram_Protocol) is a fast, connectionless protocol used for transmitting data over a network. It's known for its speed but unlike its more reliable counterpart, TCP, UDP does not guarantee packet delivery or order. Spikemark supports sending UDP messages and streaming positions over UDP.


# Send UDP Messages

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-4c4dd552a03d0f0ba8a1a9fcc2e92600b5a30db9%2Fudp-stagehand-and-udp-movement.png?alt=media" alt="UDP Messenger and UDP Movement"><figcaption></figcaption></figure>

UDP messages can be sent using the [Messenger](/docs/spikemark-6/show-control/udp/send-udp-messages) and creating [Messenger Movements](/docs/spikemark-6/movements/udp-moves)


# UDP Position Output

Spikemark can send real time motor position data using the UDP protocol to any device that supports UDP. Unlike the other position outputs, which have a fixed syntax for their messages the UDP Position Output allows you to pick the syntax. This can be handy for when a device doesn't support one of the standard outputs but can listen for UDP.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-f5d892455de2cbd1bed0e70c838e4aca67cbe657%2Fudp-menu-bar.png?alt=media" alt="Open OSC Output Window"><figcaption></figcaption></figure>

From the Show Control menu click UDP... to open the configuration window.

## Configuration Window

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-594c031afa392005d6830e697aca072d594cf940%2Fudp-position-output-window-overview.png?alt=media" alt="OSC Output Window"><figcaption></figcaption></figure>

### 1. Client Address

The IP address of the other device receiving data from Spikemark.

### 2. Client Port

The port number the other device is listening for data on.

### 3. Output Pattern

The syntax of the UDP message.

### 4. Active

When checked, the given axis’ position will be sent. This allows Spikemark to selectively send position data. By default, active is unchecked.

### 5. Motor Name

The name of the motor in Spikemark.

### 6. UDP Name

The name that the other device will see. By default, the UDP name is the same as the motor name but can be changed as needed. This allows an axis to be called one name in Spikemark and another on a UDP client.

### 7. Update Interval

The update interval is the speed at which UDP packets are sent. The recommended fastest speed is 30.

### 8. Send Output

Toggles the UDP output on or off.

## Output Pattern

One of the main advantages of the UDP position output is its flexibility. You get to decide which information you need and how it should be formatted. In the Output Pattern text box you can type any text you want as well as few special arguments. It is these arguments that will get replaced with the actual motor information.

### UDP Arguments

| Pattern             | Description                                                                        |
| ------------------- | ---------------------------------------------------------------------------------- |
| {name}              | The UDP name for the motor                                                         |
| {position}          | The simulated position based off of the loaded/running motion profile of the motor |
| {actual\_position}  | The actual position of the motor                                                   |
| {desired\_position} | The commanded position from the motion controller                                  |
| {speed}             | The simulated speed based off of the running motion profile of the motor           |
| {actual\_speed}     | The actual speed of the motor                                                      |
| {desired\_speed}    | The commanded speed from the motion controller                                     |
| {error}             | The simulated position minus the actual position                                   |
| {ti\_error}         | The desired position minus the actual position                                     |
| {cr}                | Carriage return character (\r)                                                     |
| {lf}                | Line feed character (\n)                                                           |
| {nl}                | New line character (\r\n)                                                          |
| {tab}               | Tab character (\t)                                                                 |

### Examples

| Pattern                              | Result                         |
| ------------------------------------ | ------------------------------ |
| {name} - {position}:{speed}          | Pushstick V2 - 12.47:8.6       |
| Axis {name} is at {actual\_position} | Axis Pushstick V2 is at 147.86 |
| {position}{tab}{speed}{tab}{name}    | 88.61 8.6 Pushstick V2         |


# Watchout Position Output

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-10b9fb82380523f66bbb1da5ffaab27ac601bbda%2Fwatchout-menu-bar.png?alt=media" alt="Watchout Output Window"><figcaption></figcaption></figure>

From the Show Control menu click Watchout... to open the configuration window.

## Configuration Window

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-f1b96429314d1cc5171f5191cd3cded91bcd00b2%2Fwatchout-window-overview.png?alt=media" alt="Watchout Output Window"><figcaption></figcaption></figure>

### 1 - Server Address

The [IP Address](https://github.com/creativeconners/PublicDocumentation/blob/main/spikemark-6/ip-address-and-network-connection/README.md) of the Watchout production computer. To send the position data to a backup you will need to use the broadcast address.

### 2 - Server Port

The port where Watchout listens for incoming data. By default, Watchout listens on 3040.

### 3 - Active

When checked, the given axis’ position will be sent. This allows Spikemark to selectively send position data. By default, active is unchecked.

### 4 - Motor Name

The name of the motor in Spikemark.

### 5 - Watchout Name

The name that the Watchout clients will see. By default, the Watchout name is the same as the motor name but can be changed as needed. This allows an axis to be called one name in Spikemark and another in the Watchout system.

### 6 - Update Interval & Status

* Sending Position Data - Indicates whether Spikemark is currently sending UDP packets to the address indicated in Server Address.
* Update Interval (ms) - The frequency with which Spikemark will send position updates to Watchout. The number entered here will determine how many milliseconds should elapse between updates. Higher numbers will result in a slower update cycle. In practice, 30ms is about the fastest rate consistently possible without adversely affecting Spikemark’s performance.
* Messages/second - The number of position updates that are actually being sent to Watchout each second. This number will often bounce around by 1 or 2 messages.

### 7 - Include transition rate in messages

If checked, Spikemark will send Watchout the number of milliseconds that have elapsed since the last position update. Watchout can use this information to smooth the animation of the image as it tracks with the motor. This generally results in a smoother visual result, but can be slightly inaccurate. Feel free to experiment with either setting to get the most appropriate result for your show.

### 8 - Send Output

This is a toggle button to turn on/off the data stream from Spikemark. The data is sent via UDP, which is a connectionless protocol, so there is no harm sending out the packets even if Watchout is disconnected from the network. UDP packets will blissfully fall into oblivion if the server is not around to receive them so you can start the output stream before Watchout is running.

## Stagehand FX Data To Watchout

Each FX is also listed. Unlike the motors in your show, FX’s don’t have a position to report. Instead, the FX will send data to describe which inputs and outputs are activated. The FX will send a value that maps the inputs and outputs as binary bits within a byte. These binary bit values have a corresponding decimal value that Watchout can be programmed to look for. The range for these values is 0-255.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c7aedb24334f8455080eb6a1ea7c221c23334256%2Fwatchout-fx-data-structure.png?alt=media" alt="Watchout FX Data Structure"><figcaption></figcaption></figure>

Spikemark has indicators that represent when an input or output is on or off, showing either green or red. When represented as numbers, on (green indicator) is equal to (1) and off (red indicator) is equal to (0). When looking at Spikemark, you can compare the status of your inputs and outputs to see what binary number will be sent to Watchout and read as the decimal value for the binary number. For example, all red indicators would show a binary number of (00000000), or 0 for your decimal value, while all green indicators would show (11111111), or 255 for the decimal value.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-fd96bafc8d7438fb3b304893bf1c3cbac7fe9c5f%2Fwatchout-fx-data-example-all-off.png?alt=media" alt="Watchout FX Data All Off"><figcaption></figcaption></figure>

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-f6ca13b2d38d4128edae23be6e2878c314f4eef4%2Fwatchout-fx-data-example-all-on.png?alt=media" alt="Watchout FX Data All On"><figcaption></figcaption></figure>

When looking at the below example, you can have a better visualization of how the indicators compare to their binary number. Each green indicator represents a (1), while each red indicator represents a (0). In the example, the full binary number would be (10101100), or 172 for the decimal value.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-c9e7ac72a4a749d1b5b028a8a12b7650717bc082%2Fwatchout-fx-data-example-on-and-off.png?alt=media" alt="Watchout FX Data On And Off"><figcaption></figcaption></figure>

To convert the binary numbers into decimal values, you can easily search for a conversion in Google, a binary calculator application, or the programmer calculator in Windows. You could also do the math on paper or count out the bits, but that may take a bit longer.


# PosiStageNet (PSN)

PosiStageNet (PSN) is a communication protocol developed by VYV and MA Lighting for communicating real time position tracking data. This allows Spikemark to broadcast the real time position of any motor in a show to a PSN client like a media server or a lighting console. More detailed information regarding the PSN protocol can be found at [http://www.posistage.net](https://www.posistage.net/).

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-90c15b3011da015ce04baac449b7f2046ad7fd13%2Fpsn-menu-bar.png?alt=media" alt="Open PSN Output Window"><figcaption></figcaption></figure>

From the Show Control menu click PosiStageNet... to open the configuration window.

## Configuration Window

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-a96cd3be1904a93bdd04a777e4479a7c4a7f4b94%2Fpsn-window-overview.png?alt=media" alt="PSN Output Window"><figcaption></figcaption></figure>

### 1 - Client Address

The client address is the IP address of the PSN client receiving position data from Spikemark. By default the address is 236.10.10.10. The Spikemark IP Address does not have to be in the same range.

### 2 - Client Port

Similar to client address, client port is the UDP port that Spikemark will send data over. By default the port number is set to 56565.

### 3 - Server Name

Spikemark is set up as a PSN Server and requires a name in order to announce itself to the PSN clients. By default, the name is Spikemark.

### 4 - Active

When checked, the given axis’ position will be sent. This allows Spikemark to selectively send position data. By default, active is unchecked.

### 5 - Motor Name

The name of the motor in Spikemark.

### 6 - PosiStageNet Name

The name that the PSN clients will see. By default, the PosiStageNet name is the same as the motor name but can be changed as needed. This allows an axis to be called one name in Spikemark and another on a PSN client.

### 7 - Type Of Motion

There are two possible values for type of motion: Translating along or Rotating around. Type Of Motion is changed depending on the axis model type (winch, turntable, periaktos) noted in the Stage Model Viewer. The product of this is determining what chunk is being set for the given PSN tracker. When Translating along is displayed the position chunk is set, and when Rotating around is displayed the orientation chunk is set.

### 8 - Axis Direction

The three possible values for Axis Direction. They are X, Y, or Z. By selecting one of these sets, the corresponding value in either the position chunk or the orientation chunk is used for the Axis Direction. By default, the Axis Direction is set to X.

### 9 - Data & Info Intervals

* The Data Interval is the speed at which PSN data packets are sent.
* The Info Interval is the speed at which PSN info packets are sent. The Info Interval is not changeable but instead is calculated based on the Data Interval. The recommended fastest speed for the Data Interval is 30.

### 10 - Send Output

The Send Output button toggles the PosiStageNet server in Spikemark on or off.


# Load Cells

## What is a Load Cell

A load cell is a device that measures the force (load). Generally speaking you won't have a load cell on a deck winch.

### Where do we use Load Cells?

* Spotline V2 Hoist
* Smart Chain Hoist
* Floorpocket

## How Does It Work?

A load cell measures the load based on an electrical signal - most often it's reading an analog signal. Our machines use load cells that output a 4-20mA signal to the Stagehand, which is turned into more useful output in pounds.\
Any machine leaving the factory will include a scaling factor and offset value. Check out the tag on the machine for those details.

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-732f74ed58a68971bf41bb813eb01e1b9133ea04%2Fimage.png?alt=media" alt="Creative Conners CM Smart Hoist Asset Tag" width="50%"><figcaption><p>Creative Conners Smart Chain Hoist Asset Tag</p></figcaption></figure>

## Load Cell Amplifier

A compatible load cell amp, and the one that's used in the Spotline V2, Spotline Mini V2 and Floorpocket is the Tacuna Systems EMBSGB200 load cell amplifier. It outputs 24VDC to power the load cell and outputs a 4-20mA signal back to the Stagehand Pro 5.

## Load Cell Scaling

If your machine doesn't have a scaling tag or you're incorporating another manufacturers machine, you'll need to set the load cell scaling and the offset factor.

Much like position scaling with encoders, the load cell signal needs to be scaled before we can see an accurate value. Scaling is done through Spikemark software and the scaling value is stored on the Stagehand controller as well as in the Spikemark show file.

Creating a new scale is straightforward - use the Load Cell Wizard. You'll need to have 2 known weights, one as low as possible and the other as high as possible. Don't worry if you don't have 1/2T to hang from your Chain Hoist - just get it as high as reasonably possible. Follow the on screen instructions and you'll find the load scale and offset value.


# Load Cell Troubleshooting

Load cells are super cool and can help reduce underload and overload situations. They are yet another sensor that can cause trouble.

## Load Status Icons

| ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-189302b361cdb7adb7b8a7660c51feb5b9cd090e%2FOverweight_125x86.png?alt=media) | ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-6ff5191377c0b755b0c2a0b9d8b3186db90c5232%2FUnderweight_125x86.png?alt=media) | ![](https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-d0c7a21e863b4bd83f1ade07f69268b7fd3a2699%2FLoad%20Cell%20Mismatch_125x86.png?alt=media) |
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|                                                                                                  **Overweight**                                                                                                  |                                                                                                  **Underweight**                                                                                                  |                                                                                                    **Load Cell Mismatch**                                                                                                    |

## Load Cell Mismatch

The load cell mismatch fault rears its ugly head when any of **Weight Scaling** or **Weight Alarm** numbers differs between what's stored on the Stagehand and what's stored in Spikemark.

### How To Fix Load Cell Mismatch

* Click **Update Values** to send the **Spikemark Values** to the Stagehand\
  **OR**
* Click **Accept Stagehand Values** to import the **Stagehand Values** into Spikemark.

### When does this typically happen?

* Starting a new show file
* [Swapping to a different Stagehand](#swapping-stagehand)
* [Reconnecting to a Stagehand (rounding error)](#reconnecting-to-the-same-stagehand)

#### In this image, the Weight Scaling numbers are different, so we are telling Spikemark to send the new "Spikemark Values" to the Stagehand

<figure><img src="https://3040525219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFI6SSKpm8M7EkrYqp%2Fuploads%2Fgit-blob-5b7dd8f6d19037b39556db830a29e4c45ae743a2%2Fimage.png?alt=media" alt="Load Cell Configuration Window with differning values and Update Values button indicated" width="25%"><figcaption></figcaption></figure>

## Swapping Stagehand

If you've connected a new Stagehand, it's almost guaranteed that the stored Load Scale will be different from what is stored in the Spikemark file. In this case you want to push the Spikemark value to the Stagehand:

## Reconnecting to the Same Stagehand

If you haven't changed the show file, Stagehand controller or the hoist yet still encounter the Load Cell Mismatch, the issue is a rounding error. Computers are really good at storing numbers - they can store many digits to the right of the decimal. That's great for precision, but challenging to display and parse for human brains. Spikemark rounds the scale value to fewer digits than is initially stored on the Stagehand, and causes the mismatch fault to display. In this case, you want to **pull the Stagehand Value into Spikemark.**




---

[Next Page](https://docs.creativeconners.com/docs/llms-full.txt/1)

