Introduction
This document is a guide on how to use the ISAACPlayer module in Pixera. The module integrates Smart Monkeys's ISAAC management system into Pixera.
The module supports three modes, please note this documentation covers only those versions of the module that use a single 24 hour timeline. Versions before 0.9 used two main timelines that covered dynamically assigned time periods. That approach is deprecated.
First Mode
In the first mode, the module builds a timeline based on an ISAAC schedule. The timeline is 24 hours long and is kept in sync with the current time of day, i.e. time zero on the timeline corresponds to midnight (12 AM). After 24 hours the timeline loops.
Every 30 seconds, the module checks ISAAC for new data. Media files are checked first. If new files are needed the downloader stores them on the hard drive. Pixera then distributes the files to the clients as configured in the resource distribution settings.
Next, a schedule is pulled from ISAAC. The schedule contains ISAAC playables, i.e. media and/or compositions, that are to be played at a certain time. The module moves through the schedule from the current time up to a set number of future entries and creates clips at the right points in time using resources that refer to the media specified in the schedule.
In the following update cycles, media files which are no longer needed are removed, new ones are added, and the clips in the timeline are updated accordingly.
Second Mode
The second mode is ISAAC's loop mode. In this mode a single playable is placed on the timeline for the whole 24 hours.
Third Mode
The third mode is called “instant play.” It can be used in combination with either of the other two modes. In this mode, playables marked as available for instant play are downloaded in the background. When instant play is triggered in the ISAAC UI the playable is placed on a second timeline. This timeline is pushed into the foreground and played when in use.
Be aware that downloading the media can take some time. The mode is instant in the sense that it is not based on a schedule. However, the fact that it may take time for the media to be available on disk may cause delays
First Steps in ISAAC
-
Settings
-
Modules
-
Register module Pixera fleet.
- Add player to the Fleet.
- The Module ID is used to establish the communication between Pixera and ISAAC.
- Select the mode.
- Mark media for instant play in the Players tab (optional).
- Add composition templates at Templates (optional).
-
Register module Pixera fleet.
-
Modules
-
Upload media using the media manager.
- Mark media for instant play (optional).
- Use the schedule editor to create playlists/blocks and a schedule.
First Steps in Pixera
- If the module was not pre-installed with your version of Pixera, then import it by using the plus button at the bottom of the Library subtab.
- Add the module to the Pixera Control workspace by dragging it from the Library subtab.
- Edit the module's startup settings so that it can connect to ISAAC and has the correct media download folder.
- Create or rename a timeline so that it matches the property in the module (see below).
- If using instant play create a second timeline and give it a name that matches the property (see below).
- Initialize the module by running the init() action. This automatically creates the layers needed to hold generated clips.
Configure the layers for output by relating them to screen perspectives and ensuring that the screens are mapped correctly to the outputs (as far as mapping and rendering is concerned the layers do not differ in any way from standard Pixera layers).
Updating the Module
If the module is preinstalled, your new Pixera installer may also include a new version of the module. If not, then manually update the module in the library:
-
Select the Module in the Library tab
- Right click Show In Explorer
- Replace the modules content with the content from the zip
When the Library is up to date (new installer or manual update) update the instantiated modules:
-
Update
- Right click on the modules header
- Update From Library
- Click Ok
- Repeat for all Isaac Player Modules
-
Older Pixera versions may require a reset to the Aux directory
- Right click on the modules header
- Click “Store in Own Aux Directory”, if it is available
Web UI
The module has a Web UI that allows basic operation via a simple interface and provides an overview of the module's state.
![](https://static.helpjuice.com/helpjuice_production/uploads/upload/image/9741/direct/1702994704661-image.png)
- Start / stop button. Runs the init() and uninit() actions.
- ISAAC status indicator. This is green if the module is regularly receiving heartbeats from the ISAAC server meaning that schedule processing is possible in principle.
- Name of the module.
- Enable or disable maintenance mode.
- Log window for status information and important errors.
- Status of the main timeline. This includes progress of the current playable and the current transition.
- Status of instant play.
- System load statistics.
Tips for Common Use Cases
- Enable the “Auto Init” property in the module to ensure continued operation after changes to the system.
-
Pixera Resource Distribution Settings
- Enable the “Transfer Resource on Import” property to ensure that importing a resource via ISAAC will automatically trigger distribution to all clients.
- Adjust the cache settings so that the clients playing out media can cache the files locally.
- Activating “Follow Nowpointer” in the timeline's button bar makes it easier to keep track of timeline changes near the currently visible timeline position.
-
Using Multiple ISAAC Modules in Parallel
- Each module must refer to its own set of timelines (modules can not share timelines).
- Each module must have its own resource folder and on-disk download directory.
Module Properties
-
Startup
-
ISAAC URL:
- Address of the ISAAC server instance.
-
ISAAC Module ID:
- The ID of the corresponding player in a Pixera fleet in ISAAC.
-
ISAAC Downloaded Media Directory
- An existing directory on the hard drive to which the media should by downloaded.
-
Timeline Main name:
- The name of the 24 hour timeline.
-
ISAAC URL:
-
Content
-
Pixera Media Resource Folder
- Root directory for the resources (in the Resources subtab of the Compositing tab in Pixera).
- If multiple ISAAC modules are used then this must be different for every module.
-
Delete Unscheduled Media
-
Enabled (Automatic)
- Resources that are unused for the next two days are removed from the downloaded media directory (instant play playables are excluded from the removal).
-
Disabled
- All media is kept.
- Required for Remove asset mode
-
Enabled (Automatic)
-
Remove Asset Mode
- Never (Disabled)
-
Instant
- Remove assets when the media is removed from the library. This also remove files from manager and client caches.
-
Automatically at time
- Marks the media for removal and then removes them daily at a specific time.
- Delete unscheduled media time (24h) (hh:mm)
-
Pixera Media Resource Folder
-
Timeline
-
Content Layer Name
- Default layer for generated clips.
- Automatically added when missing.
-
Instant Play mode
- Disabled (no Instant Play timeline required)
-
Enabled
- Separate timeline is used to run the instant play playable.
- Main 24h timeline continues to play in the background.
- Seamless switching back to 24H timeline.
- More hardware resources are required.
-
Enabled and stop timelines
- Separate timeline is used to run the instant play playable.
- Main 24 hour timeline is stopped. After the end of instant play the main timeline is rebuilt and starts to play.
- Less hardware resources are required.
- Continuation can take some time.
- Timeline Instant Name
-
Wait For Instant Media
-
When the playable for instant play is marked for “Available for instant play” only a short time ago the media may not be read yet.
- When enabled the start of instant play is postponed until the media is ready.
- When disabled and the media is missing the start of instant play is skipped.
-
When the playable for instant play is marked for “Available for instant play” only a short time ago the media may not be read yet.
-
Instant Play Fadetime (ms)
- Fade In and Fade Out Time when starting or ending instant play.
-
Keep Playables For Minutes After Ending
- When running a schedule the clips are kept for at least the specified time.
-
Max Playables To Build On Timeline
- Maximum number of playables that are pulled to be placed on the timeline (to limit the maximum length of timelines).
-
Fade If Overlapping
-
Enabled
- Playables that are overlapping are crossfaded.
-
Disabled
- Overlapping playables are cut to prevent overlap.
-
Enabled
-
Content Layer Name
-
Transition
-
Transition Layer Name
- Name of the layer for transition playables.
-
Transition Resource Folder
- Resource folder for transition media.
- Note: Files have to be added manually and are not synced with the ISAAC instance.
-
Transition Mode
-
Cut
- Transition is disabled.
-
Fixed
- The media with the name “Transition media overlay fixed resource” is used for the transition.
-
Random
- Media chosen at random from the transition resources is used.
-
Cut
- Transition Media Overlay Fixed Resource
-
Transition Duration (ms)
- Duration of the transition when at 100%.
-
Transition Dissolve In (ms)
- Duration it takes from 0 to 100%.
-
Transition Dissolve Out (ms)
- Duration it takes from 100% to 0.
-
Transition Offset (ms)
- Move the transition by this amount of milliseconds.
- When the offset is zero the middle of the transition duration is placed at the end of a playable.
-
Apply Transition Dissolve To
-
Stills
- Do not apply to videos.
-
Stills and Video
- Apply to images and videos.
-
Stills
-
Max Transition Length (s)
- Limit the maximum transition length.
-
Transition Duration Of Video
- Use the transition duration for the video length.
- Use the actual video duration for the transition length.
-
Transition Layer Name
![](https://static.helpjuice.com/helpjuice_production/uploads/upload/image/9741/direct/1702909444525-image.png)
-
Composition
-
Enable Compositions
-
Enabled
- Composition templates that match the composition groups are synced with the module.
- Note: The layers for the compositions are created and therefore require manual mapping to screens.
-
Enabled
-
Composition Groups
- Specify groups which should be synced.
- Multiple groups are separated by “;”.
-
Custom Content Resource Folder
- Compositions can use special resource like Live Input. The resource folder for these has to be set here.
-
Transition Length for Image [s]
- When Images are used for a transition the duration of the can be set with this property.
-
Merge To Transition Layer
- When the composition in use contains only one of each transition type (in / out), it is possible to merge it to the transition layer. Otherwise two layers would be used.
-
Enable Compositions
-
Expert
-
Schedule Update Interval
- Interval for updating media and timeline.
- Heartbeat Interval
-
Use Timecode
- Enabled timecode.
- Pauses the timecode when an explicit stop is performed.
-
Include Live Input Resource
- Enable to access the Live Input Resource Folder
-
Max Log Length (Web)
- Limit the log messages for the Web UI.
-
Hide Downloader Console
- Hide the command line of the downloader.
-
Delay before Import (ms)
- Delay the import into the Pixera Resource Library after the downloader has finished, to prevent locked blocking file-transfers .
-
Wait For File Transfers
- Wait until the media is synced to the clients before playing on the timeline.
-
Timer Reset (Min)
- If something goes wrong and the internal heartbeat is broken, this value specifies the time when the heartbeat is reseted.
- Network adapter
-
Live System to Monitor
- Specifies the name of the livesystem of which the information should be displayed in the web UI
-
Schedule ID for schedule (if different)
- When using a player as backup this can be set to the original schedule ID. This allows a backup player to show as online as well as playing the main schedule.
-
Max maintenance (s)
- Disable maintenance mode after a specific time.
-
Pause Timeline UI Update
- When enabled the visual update of the timeline is paused. This speeds up timeline construction.
- Output is not affected at all.
-
Reinit On System Time Change
- When enabled the module reinitializes on system time changes. Note: This causes a rebuild of the timeline.
-
Schedule Update Interval
- Automatic Audio
- Add Audio Files with matching name
- Enable the automatic audio.
- Audio Layer Name
- Name of the layer where the audio files are placed.
- Audio Extensions
- A list of file extensions of the audio files.
- List is seperated by“;”
- Video Extensions
- A list of file extensions of the video files.
- List is seperated by“;”
- Add Audio Files with matching name
- Variable
- Variable Name
- Name of the variable which should be added
- Create String Variable
- Create a string variable with the variable name.
- Create Number Variable
- Create a number Variable with the variable name.
- Current Variables
- List of already created variables.
- Remove Variable
- Remove the selected current variable.
- Rebuild Variable
- Recreate the variables, ( e.g. after updating the the module)
- Variable Name
Compositions
Compositions allow multiple files to be assigned and positioned within one playable. The module will create layers to represent them when they are shown at the same time.
To create a composition definition use the composition editor in the templates section of the management console for Pixera Media Players in ISAAC.
Example of a composition template:
[
{
"id": "med_001_029a4f1c-4f7f-4899-9b19-9ef6330ae31e",
"type": "mediaSelector",
"refer": "",
"toolTip": "Tooltip",
"indented": false,
"validation": "Joi.string().allow('').optional()",
"displayName": "Media 001",
"isReferParent": false,
"mediaListTags": [],
"showThumbnail": true,
"ignoreDuration": false,
"mediaListTagsExclude": []
},
{
"id": "ccs_001_9c1f2f08-915d-4e32-9d8b-650600cbdba5",
"type": "combo",
"options": [
"none",
"input 1",
"input 2",
"input 3",
"input 4"
],
"toolTip": "Tooltip",
"indented": false,
"validation": "Joi.string()",
"displayName": "Live Input",
"defaultValue": ""
},
{
"id": "ccd_001_edfc5b0b-d742-4b92-a77e-a4a93cde3fc0",
"type": "duration",
"toolTip": "Tooltip",
"indented": false,
"validation": "Joi.number().min(0).max(100000)",
"displayName": "Duration Field",
"defaultValue": 50000,
"ignoreDuration": true
},
{
"id": "tri_001_3f75eac4-c6ba-4f93-8a5b-b53bbc07777b",
"type": "mediaSelector",
"refer": "",
"toolTip": "Tooltip",
"indented": false,
"validation": "Joi.string().allow('').optional()",
"displayName": "Transition 001 IN",
"isReferParent": false,
"mediaListTags": [],
"showThumbnail": true,
"ignoreDuration": true,
"mediaListTagsExclude": []
},
{
"id": "tro_001_0cdacf71-220a-4244-914c-f53940124eb5",
"type": "mediaSelector",
"refer": "",
"toolTip": "Tooltip",
"indented": false,
"validation": "Joi.string().allow('').optional()",
"displayName": "Transition 001 OUT",
"isReferParent": false,
"mediaListTags": [],
"showThumbnail": true,
"ignoreDuration": true,
"mediaListTagsExclude": []
},
{
"id": "trc_001_ac111bc5-665b-4f93-81cf-8ce98a3eb7ef",
"type": "combo",
"options": [
"Force In",
"Force Out"
],
"toolTip": "Tooltip",
"indented": false,
"validation": "Joi.string()",
"displayName": "Transition 001 Conflict Behavior",
"defaultValue": ""
}
]
The Functionality of the objects in this json depends on the id and on the type.
The id is devided into 3 parts seperated by “_”.
- Tag
- med
- Mediaselector
- Main media.
- The name of the Layer is “displayName”
- tri
- Mediaselector
- Transition In media.
- The name of the Layer is “displayName”.
- This media is placed as a transition (overlapping the main media) from the previous playable to this playable, when no conflict with the transion out of the previous playable occures or the transition collision behaviour is set to “Force In”.
- tro
- Mediaselector
- Transition Out media.
- The name of the Layer is “displayName”.
- This media is placed as a transition between (overlapping the main media) from this playable to the next playable, when no conflict with the next transion In occures or the transition collision behaviour is set to “Force Out”.
- trc
- Combo
- Transition collision behaviour
- Force In or Force Out
- ccs
- Combo
- Custom content media (Live input, browser,…).
- The name of the layer is “displayName”.
- The options are equal with the name of the custom content.
- To ignore the custom content select “None”.
- ccd
- Duration
- Custom content duration
- If the duration is 0 the duration of the whole playable/ composition will be used.
- If a duration is set, the duration willl be applied. No range check is done.
- "ignoreDuration": true
- When not set to true the duration will be added to the whole playables duration.
- med
- Number
- 3 digits
- Ids with the same number are tied together
- tri, tro and trc with the same number are describing the same transition and its beaviour.
- ccs and ccd with the same number are describing the same custom content and its duration.
- Iid
- Unique id
- The id must be unique between all transition templates
- Unique in a single template
- Unique between all template
It is possible to create compositions with multiple groups of custom content or media with transitions und connect them with differend numbers. Be aware to use differen layers by using different displaynames.
Automatic Audio
When enabled, the module pulls all audio files matching the defined audio extensions. When a playable with a matching video extensions is found, the module checks for a corresponding audio file, by comparing the filename. When found, the audio file is placed on the specified audio layer.
Variables
Variables can be created and removed in the properties. Actions for these variables are created and added into variables folder of the module. This actions can be triggered with an external function call or by connectiing with an other action and using callrefs. When the variables are executed, the value is sent to Isaac.
After updateing the module use “Rebuild Variables” to make them available again.
Content Management
Integrated ISAAC Downloader.
The ISAAC downloader is bundled with the module. It downloads and (when enabled) deletes unused media. This includes downloads for instant play.
Timecode
The main timeline can be set to use timecode. Enable this in Pixera (in the Audio settings for LTC, in the SMPTE (USB) settings for timecode via USB interface as well as in the timeline inspector). The timecode must run from 0 to 24 hours.
The expert property “Enable Timecode” allows pausing the timecode chase when using the play, pause and stop actions (ISAACPlayer.Player). The timecode configuration is still active, but the timeline ignores the input when paused or stopped. Without this setting enabled it would not be possible to stop the timeline because it is locked to timecode. Play will continue the timecode chase again.
Stop/Pause Timelines
Use these actions for pausing, stopping, and playing the timelines. This can be used when the ISAAC module should be bypassed. Like mentioned in the entry on timecode, this temporarily disables timecode chase and therefore allows the module to be stopped.
Maintenance Mode
Can be activated in the web interface. The communication with the ISAAC instance is disabled until reenabled or the “Max Maintenance” has been reached. While in maintenance the ISAAC host can be updated without interrupting the playback, but only if the timeline has been build before.
Pixera 2.0.111,2.1.30 | 11. July 2024 | M.E.