> For the complete documentation index, see [llms.txt](https://developers.newbluefx.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.newbluefx.com/getting-started/terminology.md).

# Terminology

A quick summary of the key components in this system follows:

* Titles
* Controllers
* Inputs
* Variables
* Scheduler

## Titles

Titles are individual graphic designs that display text and other visual information. As such, the term “graphic” is sometimes used to refer to a title.

Multiple titles can be displayed at the same time and they will naturally layer one on top of the other. Items that are higher in the project list will display on top of lower items, and therefore, titles can sometimes be referred to as “layers.”

Finally, the project list can contain items that are not titles per se. Transitions, workflow controllers, media items, and more may show up in the project list.

Nevertheless, the API consistently uses the term Title in reference to any project item that is "playable," whether that is a graphical title, a media sequence, or something else.

## Controllers

Controllers, also called “data controllers” or “service handlers,” are custom data drivers that connect with specific title graphics and control what to display in the title fields, from text and images to colors and even bar graphs.

The controller might read data from a source or create the data itself. It then sends the data as variables to the scheduler, which routes the data to the appropriate title graphics.

For example:

* A controller for a basketball scoreboard might read live score and clock data from a hardware device and convert it into the appropriate text updates for a scoreboard title.
* A weather controller might read current temperature, barometric pressure, city name and photograph to send to a weather title.
* A track and field controller might offer a web interface that allows a user to key in names and results to then display a leaderboard title.

## Inputs

Each controller represents itself to the system with one or more “inputs.” They are called inputs because they ingest data from an outside source and bring it into Captivate to be used by a title . Therefore, an input represents a specific connection between external data and a title for a specific purpose.

For example, a controller that reads and displays stock prices might have two inputs that offer different kinds of data:

1. The first is a set of data about any specific stock that presents via a card title graphic.
2. The second is a constantly running list of stock values, perhaps to be played as a crawl across the screen bottom.

## Variables <a href="#variables" id="variables"></a>

Variables refer to the actual data values that flow from a controller’s input through the scheduler to a specific title for visual display. Variables come in several data types, with the most frequently used being text, image, and color.

The variable system makes it possible for one title to display different values throughout a production without needing to create multiple similar titles.

For example, a lower third design might be used to show the names of different people in a program. Instead of having one title for each person, just one title is prepared and the controller driving it sends the different names via variable values.

## Scheduler

The scheduler is the core of the API and it exposes nearly all functions that can be done in the Captivate user interface. The scheduler manages playback of titles, updating variable values for inputs, and much more.


---

# 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
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developers.newbluefx.com/getting-started/terminology.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
