Skip to content

Commit

Permalink
Merge pull request #481 from AvolitesLtd/u/Simone/v1.3.48
Browse files Browse the repository at this point in the history
U/simone/v1.3.48
  • Loading branch information
iamterryclark committed May 3, 2024
2 parents 4c57b30 + 430bcc3 commit 5aa8b91
Show file tree
Hide file tree
Showing 60 changed files with 1,361 additions and 251 deletions.
26 changes: 25 additions & 1 deletion parse/download.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,26 @@ class Download {
}
}

function parsePrismAsset(name) {

let version = '';
// "Prism-Player-v1-2.pdf" -> "Prism Player v1.2"
// Remove file extension
version = name.replace(/\.[^.]+$/, "");
// Find the index of the last occurrence of "-"
var lastDashIndex = version.lastIndexOf("-");
if (lastDashIndex !== -1) {
// Replace the last "-" with a "."
version = version.substring(0, lastDashIndex) + "." + version.substring(lastDashIndex + 1);
}

// Replace '-' with space
version = version.replace(/-/g, ' ');

return version
}


function parseAssets(assets) {
let downloads = {
Windows: {},
Expand All @@ -75,9 +95,13 @@ function parseAssets(assets) {
case name.endsWith(".pdf"):
let version = ''

if(name.includes('Pre-Release') || name.includes('Latest')) {
if (name.includes('Pre-Release') || name.includes('Latest')) {
version = 'Pre-Release'
}
else if (name.includes('Prism')) {
// "Prism-Player-v1-2.pdf" -> "Prism Player v1.2"
version = parsePrismAsset(name);
}
else {
let pdfParts = name.split("-",3)
pdfParts.shift() // remove Titan
Expand Down
6 changes: 4 additions & 2 deletions parse/prism-pdf.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,10 @@ const logoPath = path.join(__dirname,"PDF/avo.png");
let previousHeading = ""; //use to help determine when a page break should happen

const docs = [
{ sidebar: 'player', appName: 'Prism Player', version: "v1.2", path: 'Player' },
{ sidebar: 'zero', appName: 'Prism Zero', version: "v1.2", path: 'Zero' },
{ sidebar: 'player', appName: 'Prism Player', version: "v1.3", path: 'Player' },
{ sidebar: 'zero', appName: 'Prism Zero', version: "v1.3", path: 'Zero' },
{ sidebar: 'prism', appName: 'Prism', version: "v1.3", path: 'Prism' },
// Add more pages as needed
]

for (doc of docs)
Expand Down
92 changes: 92 additions & 0 deletions prismdocs/copyAndReplaceSharedContent.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
const fs = require('fs');
const path = require('path');

// Data for generating Markdown files
const pages = [
{ id: 'prism-player', app: 'Prism Player', path: 'Player', excludes: ["layer-options"] },
{ id: 'prism-zero', app: 'Prism Zero', path: 'Zero' },
{ id: 'prism', app: 'Prism', path: 'Prism' },
// Add more pages as needed
]

function copyDirectoryContents(excludes, sourceDir, targetDir) {
// Ensure that both source and target directories exist
if (!fs.existsSync(sourceDir)) {
console.error("Source directory does not exist.");
return;
}

// Create target directory if it does not exist
if (!fs.existsSync(targetDir)) {
fs.mkdirSync(targetDir, { recursive: true });
}

// Get the list of files in the source directory
const files = fs.readdirSync(sourceDir);

// Iterate over each file in the source directory
files.forEach(file => {

if (excludes?.includes(file.split('.')[0]))
return;

const sourcePath = path.join(sourceDir, file);
const targetPath = path.join(targetDir, file);

// Check if the file is a directory
if (fs.statSync(sourcePath).isDirectory()) {
// Recursively copy the directory
copyDirectoryContents(excludes, sourcePath, targetPath);
} else {
// Copy the file
fs.copyFileSync(sourcePath, targetPath);
}
});

//console.log("Directory contents copied successfully.");
}


// Function to replace text in a file
function replaceTextInFile(filePath, page) {
const content = fs.readFileSync(filePath, 'utf8');
const result = content.
replace(new RegExp('{{PRISM-APP}}', 'g'), page.app).
replace(new RegExp('{{PRISM-PATH}}', 'g'), page.path);
fs.writeFileSync(filePath, result, 'utf8');
}

// Function to copy a file
function copyFile(source, target) {
fs.copyFileSync(source, target);
}

function processFiles(directoryPath, page) {

fs.readdirSync(directoryPath).forEach(file => {
const filePath = path.join(directoryPath, file);
const stats = fs.statSync(filePath);
if (stats.isFile()) {
replaceTextInFile(filePath, page);
const newFilePath = path.join(directoryPath, file);
copyFile(filePath, newFilePath);
} else if (stats.isDirectory()) {
processFiles(filePath, page); // Recursively process subdirectories
}
});

}

const currentDirectory = process.cwd();

// Generate Markdown files
pages.forEach(page => {

let sourceDir = path.join(currentDirectory, 'shared');
let targetDir = path.join(currentDirectory, page.path);
//console.log(sourceDir, targetDir);
copyDirectoryContents(page.excludes, sourceDir, targetDir);

processFiles(targetDir, page);

});
18 changes: 13 additions & 5 deletions prismdocs/licensing.md → prismdocs/licensing/licensing.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
---
id: licensing
title: Licensing
sidebar_label: Licensing
title: Prism Licensing
sidebar_label: Prism Licensing
---

---

# Prism Zero

Prism Zero will already work with your **AvoKey** or **Editor Keys**. Both can also be purchased from any of our distributors.

# Prism Player

_Important Note: valid for version (1.1)_
Expand All @@ -18,12 +22,16 @@ If you have no internet connection, and no AvoKey, you will need to purchase an

If Prism Player doesn’t start, then please submit a support request to <a href="mailto:support@avolites.com?subject=Prism%20Zero:">support@avolites.com</a>

# Prism Zero
# Prism Suite v1.3

Prism Zero will already work with your **AvoKey** or **Editor Keys**. Both can also be purchased from any of our distributors.
| | Ai Demo | Ai Anjuna | Ai Bondi | Ai Miami | Prism Player | Prism Zero | Prism One |
|-----------------|:--------:|:---------:|:--------:|:--------:|:-------------:|:----------:|:---------:|
| **Prism** | | x | x | x | | | x |
| **Prism Zero** | x | x | x | x | | x | x |
| **Prism Player**| x | x | x | x | x | x | x |

# CodeMeter

- To Find out which license you already have installed, open **CodeMeter Control Center**.
- Select your available licenses on codeMeter Control Center from the left side menu.
- Then click on **WebAdmin** on the bottom righthand side. And find a list of licenses you have installed under **Avolites LTD**.
- Then click on **WebAdmin** on the bottom righthand side. And find a list of licenses you have installed under **Avolites LTD**.
6 changes: 3 additions & 3 deletions prismdocs/player/encoder/encoder-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ This button will adjust both the video and audio settings to match those of the

Selection of the AiM SubCodec:

- Super Stream - Highest quality image and best playback performance
- Performance – Produces the smallest files but can suffer on complex imagery
- Quality - Medium quality image, variable file size depending on content
- Super Stream - Highest quality image and best playback performance.
- Performance – Produces the smallest files but can suffer on complex imagery.
- Quality - Medium quality image, variable file size depending on content.

### Resolution Preset

Expand Down
10 changes: 5 additions & 5 deletions prismdocs/player/encoder/encoder.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ The **Encoder** section allows for files to be converted from common video codec

![Encodelist Details](/prismdocs/images/encoderdetails.png)

When a piece of media is loaded into the **Encoder**, several details about the file can be viewed
When a piece of media is loaded into the **Encoder**, several details about the file can be viewed:

- The codec that the media will be exported to and whether it has alpha
- The resolution, frame rate and length of the file to be exported
- The audio codec and format to be exported
- The codec that the media will be exported to and whether it has alpha.
- The resolution, frame rate and length of the file to be exported.
- The audio codec and format to be exported.
- The destination of the rendered clip.
- The current status of the job - _Ready_, _In Progress_ or _Done_
- The current status of the job - _Ready_, _In Progress_ or _Done_.

Pressing the <Keys.PrismKey>Sub Menu</Keys.PrismKey> icon on individual files allows access to the following actions:

Expand Down
10 changes: 5 additions & 5 deletions prismdocs/player/play/bank.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ When a piece of media is loaded into the **Bank**, several details about the fil

![Prism Zero Bank Details](/prismdocs/images/playlistdetails.png)

- The name / tag name of the file
- The current video codec of the file and whether it has alpha
- The resolution, frame rate, length and size of the file
- The current audio codec in use
- The location of the file, which can be directly accessed by clicking the address
- The name / tag name of the file.
- The current video codec of the file and whether it has alpha.
- The resolution, frame rate, length and size of the file.
- The current audio codec in use.
- The location of the file, which can be directly accessed by clicking the address.

The selection box at the top of the list can be used to select or deselect all of the files in the bank. It also provides feedback on how many files are currently selected.

Expand Down
8 changes: 4 additions & 4 deletions prismdocs/player/play/mediaplayer.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ At the bottom of the **Preview Area** are options to control the playback:

![Play Bar](/prismdocs/images/playerplayhead.png)

- Whether files should play once, loop as a Bank or shuffle
- Whether files should play once, loop as a Bank or shuffle.
- A playhead to show the current position within the file. This can be scrubbed manually by dragging the playhead along the timeline.
- Pressing <Keys.PrismKey>Trim</Keys.PrismKey> will give you the ability to set the currently playing media's playback trim in and out points.
- Application volume control.
Expand All @@ -43,9 +43,9 @@ The bottom left of the interface is used to monitor machine performance by provi

Media can be added and played using several different methods:

- Selecting file(s) in your file explorer and dragging them onto the _"Drag drop or select"_ icon in the **Bank** or **Encoder** area or at the bottom of the UI
- Pressing the _"Select Files"_ button in the **Bank** or **Encoder** area
- Dragging a file into the **Preview Area** area will automatically add the video to the Bank and begin playing
- Selecting file(s) in your file explorer and dragging them onto the _"Drag drop or select"_ icon in the **Bank** or **Encoder** area or at the bottom of the UI.
- Pressing the _"Select Files"_ button in the **Bank** or **Encoder** area.
- Dragging a file into the **Preview Area** area will automatically add the video to the Bank and begin playing.

**Prism Player** will save all files to a standard default location `Documents > Avolites > Prism > Player` unless individually specified within the settings of any **Encoder Element**. The path of this folder can be changed in the **Encoder section** of the **Settings Page**.

Expand Down
2 changes: 1 addition & 1 deletion prismdocs/player/quick-start/system-tray.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ sidebar_label: System Tray

Once **Prism Player** has been started, a **System Tray** icon becomes available to access several features:

- The current port which is being used for **Prism Player** - currently this is set to 9030
- The current port which is being used for **Prism Player** - currently this is set to 9030.
- The **Exit** function allows you to fully close **Prism Player**.
16 changes: 8 additions & 8 deletions prismdocs/player/settings/settings-synergy.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,23 @@ sidebar_label: Synergy

### Synergy

**Prism Zero** includes **Synergy** compatibility with **Avolites Titan**, providing easier setup as well as advanced features such as previewing of **Prism Zero** within **Titan**, using the output from **Prism Zero** within Titan's Pixelmapper and allowing media transfer directly from the console to **Prism Zero**.
**Prism Player** includes **Synergy** compatibility with **Avolites Titan**, providing easier setup as well as advanced features such as previewing of **Prism Player** within **Titan**, using the output from **Prism Player** within Titan's Pixelmapper and allowing media transfer directly from the console to **Prism Player**.

The **Synergy** version in use must match the Titan version. If a missmatch is identified within Titan's **Synergy** Settings, a different version can be selected via this dropdown.

More information on how to setup a **Synergy** connection can be found [here](../../../../docs/synergy)
More information on how to setup a **Synergy** connection can be found [here](../../../../docs/synergy).

**Port** specifies which port is used to allow **Prism Zero** and **Titan** to communicate.
**Port** specifies which port is used to allow **Prism Player** and **Titan** to communicate.

**Enable Synergy** is used to activate the **Synergy** connection between **Prism Zero** and the controlling device.
**Enable Synergy** is used to activate the **Synergy** connection between **Prism Player** and the controlling device.

**Connection Status** indicates the current status of the **Synergy** connection between **Prism Zero** and **Titan**
**Connection Status** indicates the current status of the **Synergy** connection between **Prism Player** and **Titan**.

The **Default Upload Folder** shows the storage location used by all media transfered to **Prism Zero** from **Titan** via a **Synergy** connection.
The **Default Upload Folder** shows the storage location used by all media transfered to **Prism Player** from **Titan** via a **Synergy** connection.

![Change Folder](/prismdocs/images/change_folder.png)

This may be adjusted using the **CHANGE FOLDER** button.
When activated, the **Auto Transcode** option will allow for automatic conversion of any files transferred to **Prism Zero** via **Synergy** without the need for user input.
When activated, the **Auto Transcode** option will allow for automatic conversion of any files transferred to **Prism Player** via **Synergy** without the need for user input.

When adjusting the **Group Layout** of fixtures within **Titan**, the **Position Overlay** tool can be used to ensure precise alignment of the fixtures within the area of the media surface. **Show / Hide Point Overlay** activates this visual feedback within **Prism Zero**.
When adjusting the **Group Layout** of fixtures within **Titan**, the **Position Overlay** tool can be used to ensure precise alignment of the fixtures within the area of the media surface. **Show / Hide Point Overlay** activates this visual feedback within **Prism Player**.
Loading

0 comments on commit 5aa8b91

Please sign in to comment.