Skip to content

Commit

Permalink
Merge pull request #9 from stagetimerio/main
Browse files Browse the repository at this point in the history
Release v2.1.0
  • Loading branch information
lhermann authored Dec 11, 2023
2 parents b54d89a + e68e721 commit 5b74bfd
Show file tree
Hide file tree
Showing 22 changed files with 2,692 additions and 2,063 deletions.
5 changes: 5 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[*.{js,json}]
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true
12 changes: 0 additions & 12 deletions .eslintrc.json

This file was deleted.

56 changes: 47 additions & 9 deletions companion/HELP.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ This module lets you remotely control [Stagetimer](https://stagetimer.io/) using

It connects using the [Stagetimer HTTP RPC API](https://stagetimer.io/docs/api-v1) and [Stagetimer Socket.io endpoint](https://stagetimer.io/docs/api-v1/#socket-io-endpoint).

---

## Requirements

To use this module you need:
Expand All @@ -14,26 +16,42 @@ To use this module you need:
- **Room ID**: The ID of the Stagetimer room you want to control.
- **API Key**: A key that authorizes you to use the Stagetimer API. You can generate an API key on the controller page.

---

## Configuration

1. Click on the module in the Connections list to reveal the configuration pane.
2. Enter your **Room ID** and **API Key** in the form and click *Save*.
3. If the details you entered are correct, the module will connect. If the module fails to connect, please review the output in the Companion Logs tab.

---

## Presets

There are multiple presets available for the most common actions, ready to drop into your button layout.

Find a complete list in the **Presets** section of this guide in the Stagetimer docs:
**[Controlling Stagetimer via Companion for Stream Deck (Comprehensive Guide)](https://stagetimer.io/docs/integration-with-streamdeck-companion/#presets)**

---

## Actions

The following Actions are available:

**Message actions:**

- **Message: Hide**
Hide a message in the room
Hide a message in the room
- **Message: Show**
Show a message in the room
Show a message in the room
- **Message: Toggle visibility**
Show/hide a message in the room
Show/hide a message in the room
- **Message: Create new message**
Create a new message in the room

**Timer actions:**

- **Timer: Reset**
Reset a specific timer to original duration
- **Timer: Start**
Expand All @@ -42,6 +60,11 @@ The following Actions are available:
Stop a specific timer in the room
- **Timer: Toggle playback**
Toggle (start/stop) a specific timer in the room
- **Timer: Create new timer**
Create a new timer in the room

**Transport actions:**

- **Transport: Add time**
Add an amount of time to the highlighted timer in the room.
- **Transport: Next**
Expand All @@ -56,12 +79,9 @@ The following Actions are available:
Stop the highlighted timer in the room
- **Transport: Subtract time**
Subtract an amount of time from the highlighted timer in the room.
- **Utility: Get room**
Get status of the room
- **Utility: Get status**
Get playback status of the room
- **Utility: Test auth**
Test connection and authentication

**Viewer actions:**

- **Viewer: Disable blackout mode**
Disable blackout mode in the room
- **Viewer: Disable focus mode**
Expand All @@ -79,18 +99,36 @@ The following Actions are available:
- **Viewer: Toggle focus mode**
Toggle (enable/disable) focus mode in the room

**Utility actions:**

- **Utility: Get room**
Get status of the room
- **Utility: Get status**
Get playback status of the room
- **Utility: Test auth**
Test connection and authentication

---

## Variables

- `$(stagetimer:currentTimerAppearance)` - Timer appearance ([Docs](https://stagetimer.io/docs/using-timers/#timer-appearances))
- `$(stagetimer:currentTimerDuration)` - Timer duration
- `$(stagetimer:currentTimerDurationAsMs)` - Timer duration (ms)
- `$(stagetimer:currentTimerId)` - Timer ID
- `$(stagetimer:currentTimerName)` - Timer name
- `$(stagetimer:currentTimerNotes)` - Timer notes
- `$(stagetimer:currentTimerRemaining)` - Timer remaining time
- `$(stagetimer:currentTimerRemainingAsMs)` - Timer remaining time (ms)
- `$(stagetimer:currentTimerRemainingHours)` - Timer remaining time (hours)
- `$(stagetimer:currentTimerRemainingMinutes)` - Timer remaining time (minutes)
- `$(stagetimer:currentTimerRemainingSeconds)` - Timer remaining time (seconds)
- `$(stagetimer:currentTimerSpeaker)` - Timer speaker
- `$(stagetimer:roomId)` - Room ID
- `$(stagetimer:roomName)` - Room name
- `$(stagetimer:roomTimezone)` - Room timezone ([Docs](https://stagetimer.io/docs/using-timers/#timezones))

---

## Feedbacks

Expand Down
68 changes: 34 additions & 34 deletions companion/manifest.json
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
{
"id": "stagetimerio-api",
"name": "stagetimer",
"shortname": "stagetimer",
"description": "Stagetimer.io module for Companion v3",
"version": "2.0.0",
"license": "MIT",
"repository": "git+https://github.com/bitfocus/companion-module-stagetimerio-api.git",
"bugs": "https://github.com/bitfocus/companion-module-stagetimerio-api/issues",
"maintainers": [
{
"name": "Lukas Hermann",
"email": "[email protected]"
}
],
"runtime": {
"type": "node18",
"api": "nodejs-ipc",
"apiVersion": "0.0.0",
"entrypoint": "../src/index.js"
},
"legacyIds": [
"hermann-stagetimerio"
],
"manufacturer": "stagetimer.io",
"products": [
"Stagetimer API"
],
"keywords": [
"Stagetimer",
"stagetimer.io",
"Timer",
"Companion"
]
}
"id": "stagetimerio-api",
"name": "stagetimer",
"shortname": "stagetimer",
"description": "Stagetimer.io module for Companion v3",
"version": "2.1.0",
"license": "MIT",
"repository": "git+https://github.com/bitfocus/companion-module-stagetimerio-api.git",
"bugs": "https://github.com/bitfocus/companion-module-stagetimerio-api/issues",
"maintainers": [
{
"name": "Lukas Hermann",
"email": "[email protected]"
}
],
"runtime": {
"type": "node18",
"api": "nodejs-ipc",
"apiVersion": "0.0.0",
"entrypoint": "../src/index.js"
},
"legacyIds": [
"hermann-stagetimerio"
],
"manufacturer": "stagetimer.io",
"products": [
"Stagetimer API"
],
"keywords": [
"Stagetimer",
"stagetimer.io",
"Timer",
"Companion"
]
}
31 changes: 31 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import js from '@eslint/js'
import globals from 'globals'

export default [
js.configs.recommended,
{
languageOptions: {
globals: {
...globals.nodeBuiltin,
},
},
},
{
files: ['**/*.js'],
rules: {
'indent': ['warn', 2, { 'SwitchCase': 1 }],
'quotes': ['warn', 'single'],
'semi': ['warn', 'never'],
'comma-dangle': ['warn', 'always-multiline'],
'no-console': 'warn',
'no-unused-vars': ['warn', { 'args': 'all', 'argsIgnorePattern': '^_' }],
'no-var': 'warn',
'no-duplicate-imports': 'warn',
'no-useless-return': 'warn',
'space-before-function-paren': ['warn', 'always'],
'object-curly-spacing': ['warn', 'always'],
'no-use-before-define': ['error', 'nofunc'],
'no-unused-expressions': 'error',
},
},
]
17 changes: 9 additions & 8 deletions jsconfig.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
{
"compilerOptions": {
"checkJs": true,
},
"exclude": [
"node_modules",
"**/node_modules/*"
]
}
"compilerOptions": {
"checkJs": true,
"strict": true,
},
"exclude": [
"node_modules",
"**/node_modules/*"
]
}
44 changes: 21 additions & 23 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
{
"name": "stagetimerio-api",
"version": "2.0.0",
"main": "src/index.js",
"type": "module",
"scripts": {
"format": "prettier -w .",
"lint": "eslint --ext .js --ignore-pattern dist --ignore-pattern pkg"
},
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/bitfocus/companion-module-stagetimerio-api.git"
},
"dependencies": {
"@companion-module/base": "~1.4.1",
"date-fns": "^2.30.0",
"socket.io-client": "^4.7.1"
},
"devDependencies": {
"@companion-module/tools": "^1.3.2"
},
"prettier": "@companion-module/tools/.prettierrc.json"
}
"name": "stagetimerio-api",
"version": "2.1.0",
"main": "src/index.js",
"type": "module",
"scripts": {
"lint": "eslint ./src",
"test": "node --test"
},
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/bitfocus/companion-module-stagetimerio-api.git"
},
"dependencies": {
"@companion-module/base": "~1.6.0",
"socket.io-client": "^4.7.1"
},
"devDependencies": {
"@companion-module/tools": "^1.3.2"
}
}
Loading

0 comments on commit 5b74bfd

Please sign in to comment.