diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 1d1a354..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,44 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: CI - -# Controls when the workflow will run -on: - # Triggers the workflow on push or pull request events but only for the "main" branch - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v3 - - uses: actions/setup-python@v2 - with: - python-version: 3.x - - run: pip install mkdocs-material mkdocs-glightbox mkdocs-video mkdocs-macros-plugin - - name: Deploy Documentation - env: - GOOGLE_ANALYTICS_KEY: ${{ secrets.GOOGLE_ANALYTICS }} - run: mkdocs gh-deploy --force - post-build: - needs: build - runs-on: ubuntu-latest - environment: webhooks - steps: - - uses: joelwmale/webhook-action@448a17bf857ead98546cfbdbe3b9d4cf979dda95 - with: - url: ${{ secrets.WEBHOOK_URL }} - headers: '{"repository": "joelwmale/webhook-action"}' - body: '{"content": "A new update has been deployed to https://docs.barraider.com πŸ‘€", "repository": "joelwmale/webhook-action"}' diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..a9b0566 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,74 @@ +# Verifies that the PR does not prevent MKdocs from building +# Does NOT (cannot) check resulting documentation for errors such as typos +# Does NOT deploy the docs to GH pages (see deploy.yml) +name: Testing + +# Run the action when a pull request is updated. +on: + pull_request: + types: [opened, reopened, closed] + branches: [ "main" ] + push: + branches: [ "main" ] + # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + # Checkout and setup Python environment + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: 3.x + - run: pip3 install --upgrade -r requirements.txt + - name: Build Docs + env: + GOOGLE_ANALYTICS_KEY: ${{ secrets.google-analytics }} + run: mkdocs build + - name: Upload Build + uses: actions/upload-artifact@v4 + with: + name: my-build + path: site/ + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + if: github.event.pull_request.merged == true || github.event_name == 'push' + runs-on: ubuntu-latest + needs: build + steps: + - name: Get Build + uses: actions/download-artifact@v4 + with: + name: my-build + path: site/ + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: 'site/' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4.0.5 + + post-deploy: + # Skip this step if we're deploying a fork (since that would be testing-only). + if: ${{ github.repository == 'barraiders/barraiders.github.io' }} + needs: deploy + runs-on: ubuntu-latest + environment: webhooks + steps: + - uses: joelwmale/webhook-action@448a17bf857ead98546cfbdbe3b9d4cf979dda95 + with: + url: ${{ secrets.WEBHOOK_URL }} + body: '{"username": "Botty McBotface","avatar_url": "https://docs.barraider.com/img/barraider-logo2.png","content": "A new update has been deployed to the [Docs](https://docs.barraider.com/)πŸ‘€","embeds": [],"components": [{"type": 1,"components": [{"type": 2,"style": 5,"label": "Visit The Docs","url": "https://docs.barraider.com"}]}]}' \ No newline at end of file diff --git a/.github/workflows/post-deploy.yml b/.github/workflows/post-deploy.yml deleted file mode 100644 index 22d1798..0000000 --- a/.github/workflows/post-deploy.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: post-deployment workflow -run-name: ${{ github.actor }} is learning GitHub Actions -on: [deployment] -jobs: - check-bats-version: - runs-on: ubuntu-latest - environment: webhooks - steps: - - uses: joelwmale/webhook-action@448a17bf857ead98546cfbdbe3b9d4cf979dda95 - with: - url: ${{ secrets.WEBHOOK_URL }} - headers: '{"repository": "joelwmale/webhook-action"}' - body: '{"content": "deployment", "repository": "joelwmale/webhook-action"}' diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dee864a --- /dev/null +++ b/.gitignore @@ -0,0 +1,225 @@ +# Created by https://www.toptal.com/developers/gitignore/api/python,visualstudiocode +# Edit at https://www.toptal.com/developers/gitignore?templates=python,visualstudiocode + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +### Python Patch ### +# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration +poetry.toml + +# ruff +.ruff_cache/ + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +# End of https://www.toptal.com/developers/gitignore/api/python,visualstudiocode,macos diff --git a/README.md b/README.md index b5f5d95..fd26031 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Git and [Python 3](https://www.python.org/downloads/windows/) are the only prere 1. `git clone` your fork (using the Green "Code" button) to create a local copy of the site. 2. Open the command prompt (Windows), navigate to the location you cloned the project to. -3. Run command `pip install mkdocs-material mkdocs-glightbox mkdocs-video`. If you receive an error that Pip is not recognized, close and re-open the command prompt and try again +3. Run command `pip3 install --upgrade -r requirements.txt`. If you receive an error that Pip3 is not recognized, close and re-open the command prompt and try again 4. Start a local development server by running the command `mkdocs serve`. By default, this will build and run the website at `http://localhost:8000/` on your machine. ### Auto-Reload (Local Install Only) diff --git a/__pycache__/main.cpython-310.pyc b/__pycache__/main.cpython-310.pyc deleted file mode 100644 index 17f0b3a..0000000 Binary files a/__pycache__/main.cpython-310.pyc and /dev/null differ diff --git a/base.yml b/base.yml index 3fe81c4..d66fee8 100644 --- a/base.yml +++ b/base.yml @@ -2,18 +2,21 @@ site_url: !ENV [SITE_NAME, 'http://docs.barraider.com'] # do_not_index: true site_name: BarRaider's Plugin Documentation markdown_extensions: - - admonition # Fancy callouts (https://squidfunk.github.io/mkdocs-material/reference/admonitions/#admonition-icons) - - pymdownx.details # Collapsible callouts - - pymdownx.superfences # Nest Markdown in callouts (https://facelessuser.github.io/pymdown-extensions/extensions/superfences/) - - pymdownx.keys # Render Keyboard keys with markdown (https://facelessuser.github.io/pymdown-extensions/extensions/keys/) - - md_in_html # Currently we're using this for image captions - - pymdownx.tasklist: # Support for Tabs (https://fabacademy.org/2022/labs/kannai/Instruction/tips/tab_in_markdown/) + - admonition # Fancy callouts (https://squidfunk.github.io/mkdocs-material/reference/admonitions/#admonition-icons) + - pymdownx.details # Collapsible callouts + - pymdownx.superfences # Nest Markdown in callouts (https://facelessuser.github.io/pymdown-extensions/extensions/superfences/) + - pymdownx.keys # Render Keyboard keys with markdown (https://facelessuser.github.io/pymdown-extensions/extensions/keys/) + - md_in_html # Currently we're using this for image captions + - pymdownx.tasklist: # Support for Tabs (https://fabacademy.org/2022/labs/kannai/Instruction/tips/tab_in_markdown/) custom_checkbox: true - pymdownx.superfences - pymdownx.tabbed: alternate_style: true - - meta # advanced customizable metadata + - meta # advanced customizable metadata - tables + - attr_list # Adds attribute lists to generated HTML + - toc: # Builds a table of contents + permalink: "#" # Puts a "#" at the end of each header, which copies a link to that header when clicked extra_javascript: - https://unpkg.com/tablesort@5.3.0/dist/tablesort.min.js - javascripts/tablesort.js @@ -24,6 +27,7 @@ plugins: - mkdocs-video theme: name: "material" + favicon: "img/favicon.ico" custom_dir: overrides logo: "img/barraider-logo2.png" features: @@ -32,6 +36,10 @@ theme: #- navigation.tabs.sticky # and scrolls with the page on longer pages #- navigation.expand # Show sub-sections in left pane - navigation.indexes # Simpler Nav for sub-sections with overview pages + # v9 specific options + - content.code.copy # copy-to-clipboard setting + - navigation.footer + - navigation.instant.preview palette: # Palette toggle for light mode - media: "(prefers-color-scheme: light)" diff --git a/docs/faqs/api-ninja/index.md b/docs/faqs/api-ninja/index.md index a0ecf93..83494ba 100644 --- a/docs/faqs/api-ninja/index.md +++ b/docs/faqs/api-ninja/index.md @@ -1,3 +1,8 @@ +--- +title: API Ninja +description: Connect to any API with API Ninja for Stream Deck. Post Discord messages, check the weather, and more. Download on our Discord and take control today. +--- + # API Ninja ## Usage examples diff --git a/docs/faqs/battery/ghub.md b/docs/faqs/battery/ghub.md index aec38a0..1afb410 100644 --- a/docs/faqs/battery/ghub.md +++ b/docs/faqs/battery/ghub.md @@ -1,3 +1,3 @@ -# Logitech G HUB +# Battery - Logitech G HUB ## I can't see my device in the dropdown Some devices are not supported by G HUB, specifically ones that just show a battery icon instead of actual % in G HUB. If it's a wireless device, try plugging it in via USB to the PC, there seems to be some GHub bug related to wireless in latest versions. If it still doesn't work, you'd need to contact [Logitech](https://support.logi.com/hc/en-us) and ask them to add support for your device. \ No newline at end of file diff --git a/docs/faqs/battery/icue.md b/docs/faqs/battery/icue.md index 41027e7..f2ef9a8 100644 --- a/docs/faqs/battery/icue.md +++ b/docs/faqs/battery/icue.md @@ -6,42 +6,46 @@ ## Installation Please follow these step-by-step instructions to allow the Stream Deck plugin to read the battery stats from your CORSAIR device. -
- iCue 4 - -iCue 4 setup - - -
    -
  1. Open iCue and Select your device from the top menu bar.
  2. -
  3. On the left hand side, click Device Settings
  4. -
  5. Select Enable Battery Gauge in Notification Area
  6. -
- -
- -
- iCue 3 (Legacy devices) -
    -
  1. Open iCue and Select your device from the top menu bar
  2. -
  3. On the left hand side, click Device Settings
  4. -
  5. Select Enable Battery Gauge in Notification Area - Step 3
  6. -
  7. Open iCue and Select Settings from the top menu bar
  8. -
  9. Choose the device you want to see the battery stats for (and verify it shows the battery status right under the device’s image)
  10. -
  11. Select Enable Battery Gauge in the System Taskbar - Step 6
  12. -
  13. Right-Click the Windows taskbar and choose Taskbar Settings - Step 7
  14. -
  15. Windows 10: Scroll down to the Notification Area and click on Select which icons appear on the taskbar
    - Windows 11: Click on Taskbar corner overflow - Step 8
  16. -
  17. Find iCue in the list and make sure it’s set to On
  18. -
  19. Verify that you now have a battery icon on the taskbar and notice the name of the device is showing along with the battery status.
    - Step 10
  20. -
  21. In the plugin, write the name of the device as shown in the image above (in this case type IRONCLAW)
  22. -
-
+### iCue 4 and above + +
+1. Open iCue and select your device from the top menu bar. +2. On the left hand side, click **Device Settings**. +3. Toggle on** Enable Battery Gauge in Notification Area**. +![Getting the iCue app ready](img/icue4-setup.png) +4. Right-click the Windows taskbar and choose (2) **Taskbar Settings**. + 5. **Windows 10:** Scroll down to the Notification Area and click on (1) **Select which icons appear on the taskbar**. + 6. **Windows 11:** Click on **Other system tray icons**. +5. Find iCue in the list and toggle it on. +![Toggle icon to appear in taskbar](img/icue3-s7.png) +6. Verify that you now have a battery icon on the taskbar and notice the name of the device is showing along with the battery status. +
+![Verify it works](img/icue3-s10.png) +7. In the plugin, write the name of the device as shown in the image above (in this case type IRONCLAW). +
+ +1. ![Windows 10](img/icue3-s8.png) +2. ![Taskbar settings, right click](img/taskbarSettings.png) + +### iCue 3 - Legacy devices +
+1. Open iCue and select your device from the top menu bar. +2. On the left hand side, click **Device Settings**. +3. Toggle on** Enable Battery Gauge in Notification Area**. +![Getting the iCue app ready](img/icue3-s3.png) +4. Right-click the Windows taskbar and choose (2) **Taskbar Settings**. + 5. **Windows 10:** Scroll down to the Notification Area and click on (1) **Select which icons appear on the taskbar**. + 6. **Windows 11:** Click on **Other system tray icons**. +5. Find iCue in the list and toggle it on. +![Toggle icon to appear in taskbar](img/icue3-s7.png) +6. Verify that you now have a battery icon on the taskbar and notice the name of the device is showing along with the battery status. +
+![Verify it works](img/icue3-s10.png) +7. In the plugin, write the name of the device as shown in the image above (in this case type IRONCLAW). +
+ +1. ![Windows 10](img/icue3-s8.png) +2. ![Taskbar settings, right click](img/taskbarSettings.png) ## Troubleshooting ### The Enable Battery in System Tray option doesn't exist for my device diff --git a/docs/faqs/battery/img/taskbarSettings.png b/docs/faqs/battery/img/taskbarSettings.png new file mode 100644 index 0000000..8fc4f86 Binary files /dev/null and b/docs/faqs/battery/img/taskbarSettings.png differ diff --git a/docs/faqs/general/compatibility.md b/docs/faqs/general/compatibility.md index 05010be..ccec853 100644 --- a/docs/faqs/general/compatibility.md +++ b/docs/faqs/general/compatibility.md @@ -1,44 +1,65 @@ +--- +title: Compatibility Chart +description: Find a complete list of what Stream Deck plugins by BarRaider is supported on your Elgato device for both Windows and Mac and see if ur system is supported! +--- + -# Compatibility Chart -Here you find a complete list of compatibility for Windows and Mac OS & Elgato Devices + +# Compatibility + +## Device not supported + +If you see a icon saying *Device Not "Supported"* there are two possibilites: + +1. You need to update your Stream Deck. +2. Your Device is not genuine Elgato hardare or software and therefore not supported. + +## Mac support + +BarRaider plugins will not work on Mac as expected. At the current time there are no plans to add Mac support. + +## Chart +Here you find a complete list of compatibility for Elgato hardware and Software. + !!! info "What does the icons mean?" [βœ…]("Supported") - Plugin is fully supported.
- [πŸ”…]("Partially supported.") - Partially supported.
+ [πŸ”…]("Partially supported") - Partially supported.
[❌]("Not supported") - Plugin is not supported or the plugin uses profiles not supported by the listed device. -| Plugin | Windows | Mac | XL | SD | MK.2 | Mini | Plus | Pedal | Mobile | -| ----------------------- | ------- | --- | --- | --- | ---- | ---- | ---- | ----- | ------ | -| Advanced Launcher | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Advanced Screen Saver | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| API Ninja | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Audio Meter | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Battery | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Cam Control | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Disco Visual Effects | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [❌]("Not supported") | [❌]("Not supported") | [❌]("Not supported") | -| Elgato Facecam | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Emoji Picker | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Minecraft Stats | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| OBS Tools | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| ShadowPlay | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Soundpad Integration | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Speed Test | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Spotify Integration | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Stock Ticker | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Stopwatch | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Stream Countdown Timer | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Stream Counter | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Stream Deck Games | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [❌]("Not supported") | [❌]("Not supported") | [❌]("Not supported") | -| Super Macro | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Text File Tools | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| TextToSpeech | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Twitch Tools | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [πŸ”…]("Partially supported") | [❌]("Not supported") | [❌]("Not supported") | -| VoiceMeeter Integration | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| Win Tools | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [❌]("Not supported") | [❌]("Not supported") | [❌]("Not supported") | -| Windows Mover & Resizer | [βœ…]("Supported") | [❌]("Not supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | -| World Time | [βœ…]("Supported") | [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported")| [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | \ No newline at end of file +| Plugin | XL | SD | MK.2 | Mini | Plus | Neo | Pedal | Mobile | +| :---------------------- | :---------------: | :----------------: | :----------------: | :--------------------------: | :--------------------------: | :---------------------------: | :-------------------: | :--------------------: | +| Advanced Launcher | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Advanced Screen Saver | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [❌]("Not supported") | [❌]("Not supported") | [❌]("Not supported") | [❌]("Not supported") | +| API Ninja | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Audio Meter | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Battery | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Cam Control | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Disco Visual Effects | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [❌]("Not supported") | [βœ…]("Supported") | [βœ…]("Supported") | [❌]("Not supported") | [❌]("Not supported") | +| Elgato Facecam | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Emoji Picker | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Minecraft Stats | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| OBS Tools | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| ShadowPlay | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Soundpad Integration | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Speed Test | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Spotify Integration | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Stock Ticker | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Stopwatch | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Stream Countdown Timer | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Stream Counter | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Stream Deck Games | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [❌]("Not supported") | [❌]("Not supported") | [❌]("Not supported") | [❌]("Not supported") | [❌]("Not supported") | +| Super Macro | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Text File Tools | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| TextToSpeech | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Twitch Tools | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [πŸ”…]("Partially supported") | [πŸ”…]("Partially supported") | [πŸ”…]("Partially supported") | [❌]("Not supported") | [❌]("Not supported") | +| VoiceMeeter Integration | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| Win Tools | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [πŸ”…]("Partially supported") | [πŸ”…]("Partially supported") | [πŸ”…]("Partially supported") | [❌]("Not supported") | [❌]("Not supported") | +| Windows Mover & Resizer | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | +| World Time | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | [βœ…]("Supported") | + diff --git a/docs/faqs/general/helping.md b/docs/faqs/general/helping.md index 571bed1..f2ef125 100644 --- a/docs/faqs/general/helping.md +++ b/docs/faqs/general/helping.md @@ -1,9 +1,14 @@ -# How can I help? +--- +title: Ways to support BarRaider +description: Want to help BarRaider and the team out? Find out how to donate and help members. Join the BarRaider community today! +--- + +# Ways to support BarRaider. There are several ways you can help us out! -- Supporting BarRaider through [Patreon](https://www.patreon.com/barraider) -- Writing help articles or making YouTube guides that we can use -- Helping people in the [Discord server](https://www.discord.barraider.com) +- Supporting BarRaider through [Patreon](https://www.patreon.com/barraider). +- Writing help articles or making YouTube guides that we can use. +- Helping people by joining our [Discord server](https://www.discord.barraider.com) and start helping the BarRaider community today! diff --git a/docs/faqs/general/index.md b/docs/faqs/general/index.md index d0f7bed..94ba859 100644 --- a/docs/faqs/general/index.md +++ b/docs/faqs/general/index.md @@ -1,3 +1,8 @@ +--- +title: Troubleshooting General Issues with BarRaider Plugins +description: Troubleshoot Stream Deck issues that's not plugin specific, such as install issues, text not displaying on key and early access information. +--- + # General Issues (Not plugin specific) On this page you will find troubleshooting steps for general issues that are not specific to a Stream Deck plugin. @@ -19,7 +24,14 @@ If you're having any sort of issue with a BarRaider plugin, we're going to want ### Installing a plugin Plugins can be installed from the Elgato Store in the Stream Deck software, or from our [Discord](http://discord.barraider.com) in the [#plugin-releases](https://discord.com/channels/538862772285603880/545898345286336513) channel. -We also offer Early access versions of plugins. Read more about it below +We also offer Early access versions of plugins. Read more about it below. + +#### Installing from Discord +If you have downloaded a plugin from the BarRaider Discord all you have to do to install the plugin is. + +1. Open the .zip file that downloaded. +2. Double-click the file inside of the .zip file. +3. A message will appear briefly in your Stream Deck app telling you that the plugin was installed. ### Early Access You can get early access to new plugin updates or plugin releases. @@ -29,9 +41,7 @@ This is all done through our [Discord](http://discord.barraider.com). Head over From the right-hand action bar, find one of the plugin's actions, right click it and choose uninstall. ![How to uninstall](img/uninstall.png"How to uninstall plugin") -Alternatively, you can go to the Stream Deck Store, find the plugin and click "Uninstall". - -#### I can't Install/Uninstall the plugin (pressing Install doesn't do anything) +#### The plugin will not install / does not appear in my Stream Deck app This issue is usually related to Stream Deck not updating/uninstalling the plugin properly. Try uninstalling and reinstalling the plugin. If you can't reinstall, head to `%appdata%\elgato\streamdeck\plugins` and delete the plugin folder (`com.barraider.`) diff --git a/docs/faqs/general/plugins.md b/docs/faqs/general/plugins.md new file mode 100644 index 0000000..80717ff --- /dev/null +++ b/docs/faqs/general/plugins.md @@ -0,0 +1,37 @@ +--- +title: Stream Deck plugins made by BarRaider +description: Here you will find a list, with download links to all plugins made by BarRaider for the Elgato Stream Deck. +--- + +# Plugins + +|Plugin Name|Download Links|Description| +|--------|--------|-------| +|Advanced Launcher|[Elgato Marketplace](https://marketplace.elgato.com/product/advanced-launcher-d9a289e4-9f61-4613-9f86-0069f5897125)|Smart application launcher for the Stream Deck with a bunch of customizable options| +|API Ninja|[Elgato Marketplace](https://marketplace.elgato.com/product/api-ninja-fd59edeb-e7e5-412f-91ef-304c3e03f035)|Send GET/POST/PUT API commands and see the result on the Stream Deck. Supports Headers (including OAuth tokens) and sending Data in multiple formats.| +|Audio Meter|[Elgato Marketplace](https://marketplace.elgato.com/product/audio-meter-c07f73e1-6742-43b6-af56-8b501d3dcd33)|Audio meter that shows the levels of your playback/recording devices on the Stream Deck| +|Battery|[Elgato Marketplace](https://marketplace.elgato.com/product/battery-042cddfb-557e-4e60-998a-e574398e9496)|Display battery levels for Logitech G HUB and CORSAIR iCue devices on the Stream Deck| +|Cam Control|[Elgato Marketplace](https://marketplace.elgato.com/product/cam-control-0566de9a-1509-4af3-bc74-07de68b3b0ab)|Control your webcam from the Stream Deck. Supports Zoom, Focus, Brightness, Contrast, White Balance, Exposure and more.| +|Disco Visual Effects|[Elgato Marketplace](https://marketplace.elgato.com/product/disco-visual-effects-1cd68842-ca4e-4830-97c7-e50c9c4be1d8)|Run cool visual effects on your Stream Deck| +|Elgato Facecam|[Elgato Marketplace](https://marketplace.elgato.com/product/elgato-facecam-e6909e12-78b0-4db7-8ebf-e1a1b37735cd)|Control Elgato Facecam with a tap of a key. Zoom dramatically, change brightness for various lighting conditions, and more.| +|EmojiPicker|[Elgato Marketplace](https://marketplace.elgato.com/product/emoji-picker-750788a6-11e9-4186-ab0d-f511f038b36f)|Set a Stream Deck key to type an Emoji| +|Minecraft Stats|[Elgato Marketplace](https://marketplace.elgato.com/product/minecraft-stats-eef5ae19-e130-4d31-b40e-8b470c81d52f)|Get stats of your favorite Minecraft server live on the Stream Deck| +|OBS Tools|[Elgato Marketplace](https://marketplace.elgato.com/product/obs-tools-1736515e-1452-41a3-9548-d2b3a689076f)|Advaned Control OBS from your Elgato Stream Deck| +|ShadowPlay|[Elgato Marketplace](https://marketplace.elgato.com/product/shadowplay-a98025e9-397e-466a-a2e1-39c22986afe7)|Control NVIDIA ShadowPlay from your Stream Deck| +|SoundPad Integration|[Elgato Marketplace](https://marketplace.elgato.com/product/soundpad-integration-9b5c4dee-11a8-4ef3-950c-18c1027e3735)|Soundpad integration for your Stream Deck. Play sounds directly from Soundpad, without needing to configure hotkeys| +|Speed Test|[Elgato Marketplace](https://marketplace.elgato.com/product/speed-test-b493077c-ac84-4dc7-9f9f-0561d3007772)|Run a Speedtest.Net speed test directly from you Stream Deck and display the results| +|Spotify Integration|[Elgato Marketplace](https://marketplace.elgato.com/product/spotify-integration-5e3a6d60-570a-40f3-b186-dbcd122216a2)|Control your Spotify from the Stream Deck| +|Stock Ticker|[Elgato Marketplace](https://marketplace.elgato.com/product/stock-ticker-84602e37-3ef1-48d4-b20b-3b303edd99f5)|Stock, Currency and Crypto all in one plugin! View live data on the Stream Deck for one or multiple stocks| +|Stopwatch|[Elgato Marketplace](https://marketplace.elgato.com/product/stopwatch-637dd05d-6f95-4f19-9df7-0fcee0b9845b)|Stopwatch that you can also display on your stream| +|Stream Counter|[Elgato Marketplace](https://marketplace.elgato.com/product/stream-counter-ab18c97d-4b52-442e-a903-fcfe21801b45)|Keep score of kills/deaths/etc and show it live on your stream. Includes advanced features such as sound support, changing the increments of each keypress + creating a Count-Down counter| +|Stream Countdown Timer|[Elgato Marketplace](https://marketplace.elgato.com/product/stream-countdown-timer-625838c6-85ce-4be7-a754-30f00c809b34)|Set a timer on your Stream Deck, and have it shown on your Stream too. Will start flashing in a color of your choice when the time is up.Includes sound support & Streamathon mode (increase/decrease the time left on every key press) +|Stream Deck Games|[Elgato Marketplace](https://marketplace.elgato.com/product/stream-deck-games-5610386b-e778-4b58-9c5d-f4499a986106)|Suite of games for your Stream Deck. Includes: Dice Roller, Pacman, Snake, Hangman, Puzzles, Tic-Tac-Toe, Minesweeper, Simon Says, Breakout, and an 8-Ball you can display on stream| +|SuperMacro|[Elgato Marketplace](https://marketplace.elgato.com/product/supermacro-62195fec-7bcb-403d-b650-c342e9dfec67)|Simulates both keyboard and mouse. Advanced functions and variables allow to create complex macros| +|ScreenSaver|[Elgato Marketplace](https://marketplace.elgato.com/product/advanced-screen-saver-7fc6ca9f-f576-4606-8c27-51e68925d5f3)| +|Text File Tools|[Elgato Marketplace](https://marketplace.elgato.com/product/text-file-tools-8ed62b66-35f3-44fe-b801-486976ddd188)|Manipulate text files with your Stream Deck| +|Text To Speech|[Elgato Marketplace](https://marketplace.elgato.com/product/texttospeech-d9615c50-eca4-42e3-ac99-04708a9fa620)|Text To Speech at a press of a button| +|Twitch Tools|[Elgato Marketplace](https://marketplace.elgato.com/product/twitch-tools-b64d96eb-c5b3-4880-8eb8-64f8a698c335)|Advanced tools to control Twitch from your Stream Deck| +|VoiceMeeter|[Elgato Marketplace](https://marketplace.elgato.com/product/voicemeeter-integration-f879a66f-4b9b-42de-9635-539797e5b5a7)|Control VoiceMeeter and get live feedback all on your Stream Deck| +|Windows Mover & Resizer|[Elgato Marketplace](https://marketplace.elgato.com/product/windows-mover-resizer-5fa50346-eff5-4c75-b5e6-a8e377d694dc)|Allows you to control the position and size of application windows on your Windows PC. Maximize/Minimize windows or change height, width and position. Supports moving applications across multiple screens| +|World Time|[Elgato Marketplace](https://marketplace.elgato.com/product/world-time-ccf461d7-ee4d-4421-a043-0e75174582ac)|Displays the local date and time in cities around the world| +|Win Tools|[Elgato Marketplace](https://marketplace.elgato.com/product/win-tools-c17abe0e-f565-4d86-a80a-73b1d31c0c7d)|Control Windows functions from your Stream Deck, also has Virtual Desktop support| diff --git a/docs/faqs/obs-tools/actions.md b/docs/faqs/obs-tools/actions.md index 47c8d93..b94ca73 100644 --- a/docs/faqs/obs-tools/actions.md +++ b/docs/faqs/obs-tools/actions.md @@ -1,60 +1,71 @@ -# Available Actions +--- +title: OBS Tools - Available Actions +description: Find a list of available actions offered by the BarRaider OBS Plugin to help improve your streaming experience. Smart Scene Switcher, Source Animation, Studio Mode Toggle, Video player, and more. +--- + +# OBS Tools - Available Actions ## Smart Scene Switcher - Easily switch scenes between Preview/Studio (if enabled) and Live modes. -- Shows a border on the scene indicating if it’s in preview or live -- See a Preview of how the scene will look on the Stream Deck key +- Shows a border on the scene indicating if it’s in preview or live. +- See a Preview of how the scene will look on the Stream Deck key. ## Source Animation - Create cool transitions and effects for your sources with one click! -- Phases allow multi-phased animations, without the need of a multi-action -- Easily create animation with the Record feature: -- Place the source at the starting position, then press "Record". -- Move/Modify the source to end result and then press β€˜End Recording’ => The plugin will automatically calculate and input the changes. -- Import/Export Settings allows you to share your animations (or keep a backup) -- Options to hide source/remove filters at various stages +- Phases allow multi-phased animations, without the need of a multi-action. +- Easily create animation with the Record feature: + 1. Place the source at the starting position, then press **Record**. + 2. Move/Modify the source to end result and then press **End Recording** => The plugin will automatically calculate and input the changes. +- Import/Export Settings allows you to share your animations (or keep as a backup). +- Options to hide source/remove filters at various stages. ## Studio Mode Toggle - Allows you to quickly toggle Studio/Preview mode on and off. ## Video player -- Allows using the same source to display different media files -- Support for modifying the speed of Videos/Instant Replay (great when you want to do slow motion) +- Allows using the same source to display different media files. +- Support for modifying the speed of Videos/Instant Replay (great when you want to do slow motion). ## Source Volume - Allows increasing/decreasing/setting the volume of an audio source. ## Dropped Frames Alarm - Shows the current amount of dropped frames and starts alerting if it increases. -- Choose between 3 different dropped frame types: Dropped Frames, Output Skipped Frames, Render Missed Frames- -- You can now customize the color of the alert- +- Choose between three different dropped frame types: + - Dropped Frames + - Frames that were intended to be included in the output but were not transmitted due to high CPU usage or poor internet connection. + - Output Skipped Frames + - Frames that were rendered but not included in the output, meaning they were not transmitted to the viewer due to slower rendering or encoder overload. + - Render Missed Frames + - Frames that were not rendered by the GPU in time to be included in the output, meaning they were not transmitted to the viewer due to overloaded GPU or slow rendering process. +- You can now customize the color of the alert. ## CPU Usage -- Shows how much CPU is being utilized by OBS- +- Shows how much CPU is being utilized by OBS. ## Previous Scene -- Allows you to switch back to your previously used scene. Writes the name of the scene on the key. +- Allows you to switch back to your previously used scene. It will also display the name of the scene on the Stream Deck key. ## Twitch Integration -- Allow your chat to type !replay and trigger an instant replay which is shown on stream -- Instant Replay can now also create a Twitch Clip for you and post it on chat -- Instant Replay can now create a Twitch Clip even if the replay buffer is off +- Allow your chat to type `!replay` and trigger an instant replay which is shown on stream. +- Instant Replay allows you to create a Twitch Clip for you and post it on chat. +- Instant Replay also allows to create a Twitch Clip even if the replay buffer is off. ## Browser Sources -- Modify Browser Sources with your Stream Deck +- Modify Browser Sources with your Stream Deck. ## Remote Recording Toggle -- Toggle recording from a remote PC (if your Stream Deck is not connected to your Streaming PC) +- Toggle recording from a remote PC (if your Stream Deck is not connected to your Streaming PC). ## Set Transition -- Allows you to modify the default scene transition from the Stream Deck +- Allows you to modify the default scene transition from the Stream Deck. ## Filter Toggle - Allows you to enable/disable filters on a source from the Stream Deck. ## Instant Replay -- Click to save the last seconds of your stream to your OBS β€œRecordings” folder. -- Long-Press the button to toggle whether the Instant Replay buffer is recording or not +- Click to save the last seconds of your stream to your OBS *Recordings* folder. +- Long-Press the button to toggle whether the Instant Replay buffer is recording or not. ### Setting Up Instant Replay ![type:video](https://www.youtube.com/embed/7mioa-hnndw) diff --git a/docs/faqs/obs-tools/getting-started.md b/docs/faqs/obs-tools/getting-started.md index 027751f..e8146a2 100644 --- a/docs/faqs/obs-tools/getting-started.md +++ b/docs/faqs/obs-tools/getting-started.md @@ -1,4 +1,9 @@ -# Getting Started +--- +title: OBS Tools - Getting Started +description: Learn how to install and set up the BarRaider OBS Tools plugin on your Stream Deck to control OBS Studio, make the Stream Deck your very own stream Control Center today! +--- + +# OBS Tools - Getting Started !!! info "Did you turn it on?" @@ -7,8 +12,8 @@ ## Installation Install the BarRaider OBS plugin from the Elgato store or from our [Discord](http://discord.barraider.com). -1. After installing, enable the websocket in OBS Studio: `Tools -> obs-websocket Setting` -2. After following the steps above, drag one of the OBS Tools actions on to your Stream Deck and follow the setup wizard’s instructions. (You’ll need the port and password set in the previous step) +1. After installing, enable the websocket in OBS Studio: `Tools -> Websocket Server settings` +2. After following the steps above, drag one of the OBS Tools actions on to your Stream Deck and follow the setup wizard’s instructions (You’ll need the port and password set in the previous step).

@@ -17,7 +22,7 @@ Install the BarRaider OBS plugin from the Elgato store or from our [Discord](htt

-## Testing It Out +## Testing that the plugin works There are a ton of [Available Actions](./actions.md) in this plugin, but just to make sure everything is working, let's add the `CPU Usage` action as a test. This action is pretty simple, if OBS Studio is running and everything is connected, it will display the CPU usage of OBS like this.

diff --git a/docs/faqs/obs-tools/troubleshooting.md b/docs/faqs/obs-tools/troubleshooting.md index 937e730..d819828 100644 --- a/docs/faqs/obs-tools/troubleshooting.md +++ b/docs/faqs/obs-tools/troubleshooting.md @@ -1,4 +1,9 @@ -# Troubleshooting +--- +title: OBS Tools - Troubleshooting +description: Encountering issues with the OBS Tools plugin on your Stream Deck? Check out our troubleshooting guide for solutions to common problems such as error images, reconnection issues and OBS version compatibility. +--- + +# OBS Tools - Troubleshooting ## Error Images on Keys If there is an error in the plugin configuration, you might see something like the images below. Don't worry, they're easy problems to fix! @@ -9,7 +14,7 @@ If there is an error in the plugin configuration, you might see something like t If you see this image, you probably don't have OBS open. Launch OBS and wait a few seconds. The plugin should update all your keys appropriately. -If you still see this image after a minute, make sure that OBS Websocket is enabled inside OBS `Tools > obs-websocket Settings > Enable Websocket Server` and make sure you apply any changes you make. +If you still see this image after a minute, make sure that OBS Websocket is enabled inside OBS `Tools > Websocket Server settings > Enable Websocket Server` and make sure you apply any changes you make.

![Disconnected](img/disconnected.png) @@ -22,18 +27,4 @@ Something is wrong with the connection between OBS and the plugin. We need to r 2. The prompt you filled out when you were first [getting started](getting-started.md) will appear. Fill it out again, extra carefully. Once you close the final prompt, the plugin should reconnect. ## ERROR: The scene item doesn't exist -Make sure the source you are trying to edit is in your current active scene in OBS. (It cannot be in Studio Preview) - -## I wish to keep using OBS v27.x - -If you're still using OBS **v27.x**, please follow the instructions below to downgrade to **OBS Tools 2.7**: - -1. Uninstall **OBS Tools 2.8** from the Stream Deck software. -2. Install **OBS Tools 2.7** following [this link](https://github.com/BarRaider/streamdeck-obstools/releases/download/v2.7/com.barraider.obstools.streamDeckPlugin). -3. Quit the Stream Deck software see image bellow. -4. Navigate to `%appdata%\Elgato\StreamDeck\Plugins\com.barraider.obstools.sdPlugin`. -5. Inside of the directory above, locate the `manifest.json` file, and open it in a text editor of your choice (e.g. Notepad). -6. Use the **Find** feature (`CTRL+F`) and search for `"Version"`. Once located, change the value from **2.7** to **2.8**. -7. Save the file, restart the Stream Deck software and you'll be all set. - -![Restart](https://barraider.com/images/restart.png) \ No newline at end of file +Make sure the source you are trying to edit is in your current active scene in OBS (It cannot be in Studio Preview). diff --git a/docs/faqs/soundpad/index.md b/docs/faqs/soundpad/index.md index f08890a..82c9591 100644 --- a/docs/faqs/soundpad/index.md +++ b/docs/faqs/soundpad/index.md @@ -1,5 +1,10 @@ -# SoundPad -## Troubleshooting -### "Soundpad Not Running" error +--- +title: SoundPad - Troubleshooting +description: Encountering issues with the SoundPad plugin on your Stream Deck? Our troubleshooting guide has the answers. Find solutions to common problems and get your setup back on track with BarRaider's plugin documentation. +--- + +# SoundPad - Troubleshooting + +## "Soundpad Not Running" error Make sure you're running the [PAID version](https://leppsoft.com/soundpad/en/buy/). The plugin is not supported in the trail version of Soundpad (because the API doesn’t exist in this version). If you recently installed the paid version of Soundpad, you may need to restart your computer. \ No newline at end of file diff --git a/docs/faqs/spotify/getting-started.md b/docs/faqs/spotify/getting-started.md index e97be5d..7c60e1b 100644 --- a/docs/faqs/spotify/getting-started.md +++ b/docs/faqs/spotify/getting-started.md @@ -1,51 +1,96 @@ +--- +title: Spotify Plugin - Getting Started +description: Follow this step-by-step guide to create your own Spotify Developer Application, and get started with the Spotify plugin on your Stream Deck. Once setup is complete, control spotify from your Stream Deck and enjoy your music! +--- + + +# Spotify - Getting Started + ## Installation Please follow the step-by-step instructions below to create your own Spotify Developer Application. (Client ID & Client Secret) -!!! note +!!! warning "Spotify Premium required" + + An active Spotify Premium subscription is required to use the plugin. + +### Create Spotify Developer App +1. Go to the [Spotify Developer Dashboard](https://developer.spotify.com/dashboard/ "Spotify developer dasboard"). +2. Login using your Spotify account. +3. Click the **Create app** button. + + ![Step 2](img/spotauth2.png "Click create app in top right corner") + +4. Fill out the form with the following information. + + 1. **App Name**: `Stream Deck` + ![Step 3](img/spotauth3.png "Set app name to Stream Deck") + + 2. **App description**: `Stream Deck plugin integration` + + 3. **Website**: Leave empty. + + 4. **Redirect URI**: Copy text below then click **Add**. + + !!! warning annotate "Pay Attention: This step has changed in versions v3.2 and above" + + If you see **Auth v2** (1) in top left corner of Spotify Integration setup window: + { .annotate } + + 1. ![Auth v2](img/spotifyAuthv2.png) + + ``` + http://127.0.0.1:4202 + ``` + + If you DON'T see **Auth v2** there, you must upgrade your plugin to a newer version. + + ![Step 3b and 3c](img/spotauth3bc.png "Setting redirect URI to http://127.0.0.1:4202") + + 5. Check the checkbox for **Web API**. + + ![Step d](img/spotapichoice.png "Enable Web API Checkbox") + +5. Accept Spotify's **Terms and Conditions**. + + ![Step 4](img/spotauth4.png "Accepting terms and conditions") + +6. Compare your app settings with ours below, then click **Save**. + + ![Step 5](img/spotauthoverview.png "Compare your settings the the ones in the image") + + ### Getting Spotify API Credentials + +7. Click the **Settings** button in the application dasboard. + + ![Step 6](img/spothome.png "Button to press to enter application settings") - Spotify Premium is required for the plugin to work. +8. Click **View client secret**. -!!! warning + ![Step 7](img/spotsettings.png "Displaying client secret") - Do NOT share your Client ID or Client Secret with anybody! +9. Copy the **Client ID** and **Client secret** and paste them inside of the Spotify Integration setup. -!!! warning + ![Step 8](img/spotcredentials.png "Copy credentials shown in image") - The plugin will not work if you skip a step! Follow the steps slowly, ensuring everything is done correctly. + !!! danger "Do not share your Client Secret!" -1. Open [Spotify Developer Dashboard](https://developer.spotify.com/dashboard/) and Login with your Spotify account. -2. Choose to β€œCreate An App” on the Developer Dashboard. - ![Step 2](img/spotauth1.png) -3. Give your App a unique name and description. (these can be set to anything of your choice) - Select the checkboxes at the bottom and click CREATE. - ![Step 3](img/spotauth2b.png) -4. Congrats! You have created your App! Now click Edit Settings to add a few necessary details. - ![Step 4](img/spotauth5.png) -5. Copy the text bellow and paste into the **Website field** - ``` - http://localhost:4202 - ``` - ![Step 5](img/spotapp1b.png) -6. Copy the text bellow and paste into the **Redirect URIs field** then click **add**. - ``` - http://localhost:4202 - ``` - ![Step 6](img/spotapp2b.png) -7. Compare your App settings with ours below. If the Website or Redirect URI is any different, make changes before saving. - ![Step 7](img/spotapp3b.png) + Do not share your **Client secret**. If you accidentally share it, click **Rotate client secret** to generate a new one. - !!! note + ### Setting up play action button - The Save button may reappear. If it does, click it again to save your changes and return to the [Dashboard](https://developer.spotify.com/dashboard/applications). +10. Drag and drop the **Play/Pause** action from the sidebar under the **Spotify [BarRaider]** category. -8. On the left hand side, you’ll now be able to reveal your Client ID and Client Secret which you’ll now need. - Copy & Paste both the Client ID and Client Secret into the relevant fields in the plugin’s Setup Wizard. + ![Step 9](img/spotdevice.png "Dragging button and chosing device") - ![Step 8](img/spotauth8.png) +11. To populate the device list: + 1. Start playing a song in the Spotify Application + 2. Whilst a song is playing, click the **Reload devices** button. + 3. Click the drowndown menu and select your device. + + !!! warning "Play music in your Spotify App" -9. That’s it! Continue with the instructions in the plugin’s Setup Wizard. -10. Once the entire setup is complete, ensure you have the Play/Pause action on your Stream Deck and your device is selected! + Make sure you are playing music in your Spotify Application before hitting reload devices. - ![Step 10](img/spothelp3.png) + !!! question "My device list is still emtpy" - Failing to do so will result in an alert (⚠️) symbol when the key is pressed, or a red connection symbol as shown in the image below. \ No newline at end of file + If you don't see your device listed, please refer to the **Device / playlist** section on the [troubleshooting](../troubleshooting/#the-device-dropdown-is-empty "Troubleshooting emtpy device dropdown list") page. diff --git a/docs/faqs/spotify/img/gettingURI.gif b/docs/faqs/spotify/img/gettingURI.gif new file mode 100644 index 0000000..5d27d4f Binary files /dev/null and b/docs/faqs/spotify/img/gettingURI.gif differ diff --git a/docs/faqs/spotify/img/key.webp b/docs/faqs/spotify/img/key.webp new file mode 100644 index 0000000..c9d96c3 Binary files /dev/null and b/docs/faqs/spotify/img/key.webp differ diff --git a/docs/faqs/spotify/img/spotapichoice.png b/docs/faqs/spotify/img/spotapichoice.png new file mode 100644 index 0000000..ba69f1f Binary files /dev/null and b/docs/faqs/spotify/img/spotapichoice.png differ diff --git a/docs/faqs/spotify/img/spotapp1b.png b/docs/faqs/spotify/img/spotapp1b.png deleted file mode 100644 index b5cb82a..0000000 Binary files a/docs/faqs/spotify/img/spotapp1b.png and /dev/null differ diff --git a/docs/faqs/spotify/img/spotapp2b.png b/docs/faqs/spotify/img/spotapp2b.png deleted file mode 100644 index 8efceaa..0000000 Binary files a/docs/faqs/spotify/img/spotapp2b.png and /dev/null differ diff --git a/docs/faqs/spotify/img/spotapp3b.png b/docs/faqs/spotify/img/spotapp3b.png deleted file mode 100644 index bb3df12..0000000 Binary files a/docs/faqs/spotify/img/spotapp3b.png and /dev/null differ diff --git a/docs/faqs/spotify/img/spotauth1.png b/docs/faqs/spotify/img/spotauth1.png deleted file mode 100644 index 0c9ec4e..0000000 Binary files a/docs/faqs/spotify/img/spotauth1.png and /dev/null differ diff --git a/docs/faqs/spotify/img/spotauth2.png b/docs/faqs/spotify/img/spotauth2.png new file mode 100644 index 0000000..258831d Binary files /dev/null and b/docs/faqs/spotify/img/spotauth2.png differ diff --git a/docs/faqs/spotify/img/spotauth2b.png b/docs/faqs/spotify/img/spotauth2b.png deleted file mode 100644 index 9441984..0000000 Binary files a/docs/faqs/spotify/img/spotauth2b.png and /dev/null differ diff --git a/docs/faqs/spotify/img/spotauth3.png b/docs/faqs/spotify/img/spotauth3.png new file mode 100644 index 0000000..4f336c3 Binary files /dev/null and b/docs/faqs/spotify/img/spotauth3.png differ diff --git a/docs/faqs/spotify/img/spotauth3a.png b/docs/faqs/spotify/img/spotauth3a.png new file mode 100644 index 0000000..c119ef8 Binary files /dev/null and b/docs/faqs/spotify/img/spotauth3a.png differ diff --git a/docs/faqs/spotify/img/spotauth3bc.png b/docs/faqs/spotify/img/spotauth3bc.png new file mode 100644 index 0000000..ee5d1b2 Binary files /dev/null and b/docs/faqs/spotify/img/spotauth3bc.png differ diff --git a/docs/faqs/spotify/img/spotauth4.png b/docs/faqs/spotify/img/spotauth4.png new file mode 100644 index 0000000..edaf49c Binary files /dev/null and b/docs/faqs/spotify/img/spotauth4.png differ diff --git a/docs/faqs/spotify/img/spotauth5.png b/docs/faqs/spotify/img/spotauth5.png deleted file mode 100644 index 068734f..0000000 Binary files a/docs/faqs/spotify/img/spotauth5.png and /dev/null differ diff --git a/docs/faqs/spotify/img/spotauth8.png b/docs/faqs/spotify/img/spotauth8.png deleted file mode 100644 index 95559f4..0000000 Binary files a/docs/faqs/spotify/img/spotauth8.png and /dev/null differ diff --git a/docs/faqs/spotify/img/spotauthoverview.png b/docs/faqs/spotify/img/spotauthoverview.png new file mode 100644 index 0000000..d62e86c Binary files /dev/null and b/docs/faqs/spotify/img/spotauthoverview.png differ diff --git a/docs/faqs/spotify/img/spotcredentials.png b/docs/faqs/spotify/img/spotcredentials.png new file mode 100644 index 0000000..5eceb1a Binary files /dev/null and b/docs/faqs/spotify/img/spotcredentials.png differ diff --git a/docs/faqs/spotify/img/spothelp3.png b/docs/faqs/spotify/img/spotdevice.png similarity index 100% rename from docs/faqs/spotify/img/spothelp3.png rename to docs/faqs/spotify/img/spotdevice.png diff --git a/docs/faqs/spotify/img/spothome.png b/docs/faqs/spotify/img/spothome.png new file mode 100644 index 0000000..fd06b54 Binary files /dev/null and b/docs/faqs/spotify/img/spothome.png differ diff --git a/docs/faqs/spotify/img/spotifyAuthv2.png b/docs/faqs/spotify/img/spotifyAuthv2.png new file mode 100644 index 0000000..b8982e3 Binary files /dev/null and b/docs/faqs/spotify/img/spotifyAuthv2.png differ diff --git a/docs/faqs/spotify/img/spotifyRevokebtn.png b/docs/faqs/spotify/img/spotifyRevokebtn.png new file mode 100644 index 0000000..1d92e04 Binary files /dev/null and b/docs/faqs/spotify/img/spotifyRevokebtn.png differ diff --git a/docs/faqs/spotify/img/spotify_free.webp b/docs/faqs/spotify/img/spotify_free.webp new file mode 100644 index 0000000..28d7332 Binary files /dev/null and b/docs/faqs/spotify/img/spotify_free.webp differ diff --git a/docs/faqs/spotify/img/spotify_no_connection.webp b/docs/faqs/spotify/img/spotify_no_connection.webp new file mode 100644 index 0000000..715484e Binary files /dev/null and b/docs/faqs/spotify/img/spotify_no_connection.webp differ diff --git a/docs/faqs/spotify/img/spotify_wifi.webp b/docs/faqs/spotify/img/spotify_wifi.webp new file mode 100644 index 0000000..3a55310 Binary files /dev/null and b/docs/faqs/spotify/img/spotify_wifi.webp differ diff --git a/docs/faqs/spotify/img/spotsettings.png b/docs/faqs/spotify/img/spotsettings.png new file mode 100644 index 0000000..ebb4aab Binary files /dev/null and b/docs/faqs/spotify/img/spotsettings.png differ diff --git a/docs/faqs/spotify/img/throttled.webp b/docs/faqs/spotify/img/throttled.webp new file mode 100644 index 0000000..09ac4dc Binary files /dev/null and b/docs/faqs/spotify/img/throttled.webp differ diff --git a/docs/faqs/spotify/img/yourSpotUsername.png b/docs/faqs/spotify/img/yourSpotUsername.png new file mode 100644 index 0000000..243e12a Binary files /dev/null and b/docs/faqs/spotify/img/yourSpotUsername.png differ diff --git a/docs/faqs/spotify/play-uri-action.md b/docs/faqs/spotify/play-uri-action.md new file mode 100644 index 0000000..6a45beb --- /dev/null +++ b/docs/faqs/spotify/play-uri-action.md @@ -0,0 +1,35 @@ +--- +title: Spotify Plugin - Using Play URI +description: Follow this step-by-step guide on how to use the Play URI action and getting the URI from the Spotify App. +--- + +# Steps to get a Spotify Play URI +A Spotify URI (Uniform Resource Identifier) is a unique identifier for Spotify content like playlists, songs, or albums. +It looks something like this: `spotify:track:6rqhFgbbKwnb9MLmUQDhG6` + +1. Launch the **Spotify desktop** app. +2. Navigate to the playlist/song you want to get the URI for. +3. Open the Context Menu: + 1. Right-click the playlist name. + 2. Hover mouse over **Share**. + 2. Press and hold ++ctrl++ then click **Copy Spotify URI**. +5. Paste the link into the Play URI Action. + +![Playlist URI](img/gettingURI.gif "Getting playlist URI") + +# Playing Liked Songs playlist from Stream Deck +Spotify does not allow for playing Liked Songs from the API, but there is a workaround using the Play URI action. Follow the steps below to get started! + +1. Drag the **Play URI** button to your Stream Deck. +2. Select your **Device**. +3. Copy `spotify:user::collection` and paste it into the Play URI action. +4. Replace `` with your Spotify username. + +## Getting your Spotify username + +
+1. Go to [Spotify Edit profile](https://www.spotify.com/account/profile/) page in your Browser. +2. Your username can then be found under **Username** (1) +
+ +1. ![Spotify Username](img/yourSpotUsername.png "Your Spotify Username") diff --git a/docs/faqs/spotify/troubleshooting.md b/docs/faqs/spotify/troubleshooting.md index 9f035d2..9372712 100644 --- a/docs/faqs/spotify/troubleshooting.md +++ b/docs/faqs/spotify/troubleshooting.md @@ -1,18 +1,35 @@ -# Troubleshooting +--- +title: Spotify Plugin - Troubleshooting +description: Encountering issues with the Spotify plugin on your Stream Deck? Our troubleshooting guide has the answers. Find solutions to common problems and get your setup back on track with BarRaider's plugin documentation. +--- + +# Spotify - Troubleshooting ## General Issues -### Do I need Spotify premium in order to use the plugin? -Yes, Spotify requires you to have a Premium subscription to access their API. + +### Button error icons explained + +| Icon | Explanation | +| --- | --- | +| ![Free Icon](img/spotify_free.webp) | Spotify Premium is required to use the Spotify plugin, this is a requirement set by Spotify. | +| ![Key Icon](img/key.webp) | The key is not configured, you need to **Revoke Approval** from the bottom of the **Play button** settings, then go trough wizard again because your tokens are invalid. | +| ![Throttled Icon](img/throttled.webp) | You are being throttled by Spotify, go to the [throttling section](./#throttling) to find out more. | +| ![No Connection Icon](img/spotify_no_connection.webp) | The plugin lost connection to Spotify's servers. You can press the key to try and resume manually. | + ### Button does not work or displays ⚠️ 1. Make sure you set the Device setting to the device you want to play on. 2. Make sure the Private Session feature is not enabled. You may need to restart your PC after disabling it. ### I have a premium subscription but my button says "Free" +
1. Log out from your Spotify desktop app. - 2. Go to [https://spotify.com](https://spotify.com/ "Spotify Website") and Sign Out. - 3. Press the **"Revoke"** button in the Spotify plugin settings (at the very bottom) + 2. Go to [spotify.com](https://spotify.com/ "Spotify Website") and sign out. + 3. Press the **Revoke** button (1) in the Spotify plugin settings (at the very bottom). 4. Restart your computer, sign in and try again. +
+ +1. ![Revoke Button](img/spotifyRevokebtn.png) ### Wrong song/URI being added to playlist/written to file Make sure you have a play/pause button active on that profile/page @@ -24,29 +41,32 @@ If the button is telling that you are being throttled, Spotify has throttled you ### I'm getting a "Throttled" image on my keys for a few seconds and it then disappears You are sending too many requests to Spotify. The following actions are API-intensive, consider removing them and see if it improves, or place the actions inside of a folder/ secondary profile. -- Play/Pause action -- Repeat Mode action -- Shuffle Mode action -- Volume actions (if Display volume on key is enabled) +- Play/Pause action. +- Repeat Mode action. +- Shuffle Mode action. +- Volume actions (if Display volume on key is enabled). ### I keep having to authenticate my account -This is a known issue if you are running Stream Deck as admin. Running Stream Deck as administrator is strongly discouraged. It's firstly a security risk as it allows 3rd party plugins to run as administrator. Secondly, it is known to cause various issues in saving plugin settings as well as losing authentication tokens. +This is a known issue if you are running Stream Deck as administrator. Doing this is strongly discouraged. It's firstly a security risk as it allows 3rd party plugins to run as administrator. Secondly, it is known to cause various issues in saving plugin settings as well as losing authentication tokens. ## Device / playlist ### The device dropdown is empty -**Note:** Not ALL devices will be recognized, simply because Spotify’s API doesn’t support them. For example, SONOS. +**Note:** Not ALL devices will be recognized, simply because Spotify’s API doesn’t support them. SONOS is one example of devices not supported. -Start by playing a song in your player (the one you want to control). Then go out of the profile that has the Spotify action on and it, and then back in. Combo should populate. +Start by playing a song in your player (the one you want to control). Then go out of the profile that has the Spotify action on and it, and then back in. Combo should populate.
**If after the above it's not populating:** Chances are you authorized on a different Spotify account than the one you're now playing the song in. -**Try the following:** - -1. Log out from both your browser and Spotify app. -2. Press the Revoke button on the Spotify plugin (at the very bottom of the settings) +**Try the following:** +
+1. Log out of your Spotify account in both your browser and Spotify app. +2. Press the **Revoke button** (1) on the Spotify plugin (at the very bottom of the settings). 3. Press the "Click here" message in the setup wizard. 4. Verify that it asks you to log in then log in again with the same username to both the player and the browser. 5. Leave the Stream Deck profile that has your Spotify plugin to another on, then go back. +
+ +1. ![Revoke Button](img/spotifyRevokebtn.png) ### The playlist dropdown is empty Start by playing a song in your player (the one you want to control). Then go out of the profile that has the Spotify action on and it, and then back in. Combo should populate. @@ -56,15 +76,36 @@ Spotify limits to the first 50 playlists. You can move a playlist up in the orde ## Installation issues ### "INVALID_CLIENT: Invalid redirect URI" Error -You have done step **5 & 6** incorrectly in [getting started](../getting-started/#step-5). +The URL in step 4c in [getting started](../getting-started/) is incorrect. 1. Go to your [Spotify Developer Dashboard](https://developer.spotify.com/dashboard/login "Spotify Developer Dashboard") and click on your application. -2. Go to "Edit settings" in the top right corner. -3. Make sure **Website** has: -``` -http://localhost:4202 -``` -and **Redirect URIs** has -``` -http://localhost:4202 -``` \ No newline at end of file +2. Go to **Edit settings** in the top right corner. +3. Make sure **Redirect URIs** has: + + **Spotify plugin version 3.1.1 and later:**
+ If you have a **Auth v2** (1) in top left corner of Spotify Integration setup window: + { .annotate } + + 1. ![Auth v2](img/spotifyAuthv2.png) + + ``` + http://127.0.0.1:4202 + ``` + +### "VALIDATION FAILED" Error +Spotify tries to connect, browser says it succeeded but plugin shows a VALIDATION FAILED error after ~60 seconds. +Solution depends on what you see in your browser: + +#### Browser shows an Error + +1. Try restarting the Stream Deck and try again. +2. Change your default browser to Edge and try again. +3. In Edge browser follow [this guide](https://www.whatismybrowser.com/guides/how-to-enable-javascript/edge "How to enable JavaScript") and when you come across the allow/block list, add `127.0.0.1:4202` to the allow list. + +#### Browser shows Success but plugin still won't connect +This is related to the plugin not being able to connect to Spotify's servers. There are a mix of reasons why this may happen. The most common are a Firewall, AntiVirus or VPN blocking connection. Locate which one of them on your PC is causing the issue and fix accordingly. + +#### Less common but also possible culprits + +- Windows not being updated (make sure you have the latest Windows Update), +- Spotify is infamous to having issues with IPv6. Follow [this guide](https://buz.bz/ipv6 "How to disable IPv6 on Windows 10 and 11") on disabling it to see if it helps. \ No newline at end of file diff --git a/docs/faqs/stock-ticker/getting-started.md b/docs/faqs/stock-ticker/getting-started.md new file mode 100644 index 0000000..848da41 --- /dev/null +++ b/docs/faqs/stock-ticker/getting-started.md @@ -0,0 +1,16 @@ +--- +title: Stock Ticker plugin - Setting up finnhub.io API Key +description: Get started using API Key from finnhub.io to track stocks, Crypto and more! +--- + +# Stock Ticker - Setting up finnhub.io API Key + +1. Register a free account at [finnhub.io](https://finnhub.io/dashboard) using a valid email address. +2. Verify the account by clicking on the email received. +3. Go to the [dashboard](https://finnhub.io/dashboard) and copy the API Key. + + ![Step 3](img/api_key.png) + +4. Paste the API key you got from finnhub.io into the API Key field in **Stock Ticker settings**. + + ![Step 4](img/streamdeck_apikey.png) diff --git a/docs/faqs/stock-ticker/img/api_key.png b/docs/faqs/stock-ticker/img/api_key.png new file mode 100644 index 0000000..57874b8 Binary files /dev/null and b/docs/faqs/stock-ticker/img/api_key.png differ diff --git a/docs/faqs/stock-ticker/img/streamdeck_apikey.png b/docs/faqs/stock-ticker/img/streamdeck_apikey.png new file mode 100644 index 0000000..8a87c5d Binary files /dev/null and b/docs/faqs/stock-ticker/img/streamdeck_apikey.png differ diff --git a/docs/faqs/stream-counter/getting-started.md b/docs/faqs/stream-counter/getting-started.md index 9cbeabb..c1a8990 100644 --- a/docs/faqs/stream-counter/getting-started.md +++ b/docs/faqs/stream-counter/getting-started.md @@ -1,8 +1,22 @@ -# Getting started -## Setup tutorial +# Stream Counter - Getting started +## Setting up Stream Counter -!!! warning +1. Download and install the plugin Stream Counter from the Elgato Store or our [Discord server](https://discord.barraider.com). +![Install plugin](img/install-plugin.png"Installing Stream Counter plugin"){: style="height:350px;"} +2. Once installed navigate back to the Stream Deck software and find the BarRaider section on the right hand side , then find the **Stream Counter** action. +![Stream Counter action](img/stream-counter-action.png"Stream Counter action in the action overview"){: style="height:350px;"} +3. Drag the **Stream Counter** action to one of the keys on your Stream Deck. +4. In the **File name** setting, click the three `...` + - If pressing the `...` does not open File Explorer, go to the [troubleshooting page](../troubleshooting/#pressing-doesnt-open-file-explorer). +5. Create a `.txt` file and give it a fitting name. + - !!! warning "Create .txt file" - Make sure you create a `.txt` file. + Make sure you create a `.txt` file. +6. Click the `.txt` file you created and click **save**. + - If you get a **Access Denied in FileName after pressing Save** in the filename when pressing **save**, go to the [troubleshooting page](../troubleshooting/#pressing-doesnt-open-file-explorer). +7. Now you can press the Stream Deck key, and the counter will count upwards and save it to the `.txt` file to be used in your streaming software. +8. Press and hold the key to reset the counter. + +### Video setup guide ![type:video](https://www.youtube.com/embed/glzDoYcwauY) \ No newline at end of file diff --git a/docs/faqs/stream-counter/img/install-plugin.png b/docs/faqs/stream-counter/img/install-plugin.png new file mode 100644 index 0000000..f7d89f2 Binary files /dev/null and b/docs/faqs/stream-counter/img/install-plugin.png differ diff --git a/docs/faqs/stream-counter/img/stream-counter-action.png b/docs/faqs/stream-counter/img/stream-counter-action.png new file mode 100644 index 0000000..06d4b16 Binary files /dev/null and b/docs/faqs/stream-counter/img/stream-counter-action.png differ diff --git a/docs/faqs/stream-counter/troubleshooting.md b/docs/faqs/stream-counter/troubleshooting.md index fbba5c6..0d266c7 100644 --- a/docs/faqs/stream-counter/troubleshooting.md +++ b/docs/faqs/stream-counter/troubleshooting.md @@ -1,6 +1,6 @@ -## Troubleshooting +# Stream Counter - Troubleshooting -## ACCESS DENIED in FileName after pressing Save: +## Access Denied in FileName after pressing Save You're trying to save to a location where the plugin doesn't have permission to write too. Instead try `c:\temp\myfile.txt` or your *My Documents* folder. ## Pressing `...` doesn't open file explorer diff --git a/docs/faqs/supermacro/actions.md b/docs/faqs/supermacro/actions.md index 68601be..88c390c 100644 --- a/docs/faqs/supermacro/actions.md +++ b/docs/faqs/supermacro/actions.md @@ -1,10 +1,15 @@ +--- +title: SuperMacro - Available Actions +description: Explore all the available actions in the SuperMacro plugin by BarRaider for the Elgato Stream Deck. +--- + -# Available actions -The plugin includes 6 actions (each can be dragged from the Stream Deck app on to an key). Here is a more in depth description of each action: +# SuperMacro - Available actions +The plugin includes six actions. Below you will find a more in depth description of each action. ## Super Macro This is the basic implementation. Create a macro and run it on keypress. Examples can be seen in the [Usage Examples](./examples.md) section. @@ -25,4 +30,4 @@ This action limits the action to either one command (such as `{{ "{{ctrl}{c}}" } !!! info "Long pressing button" **Note:** Long pressing the button on the Stream Deck will copy the current X,Y shown on the key to your Clipboard. -Consider this more of a helper action, it shows you the current position of your mouse cursor. You can use it to determine where you want SuperMacro to move your mouse (Using the `{{ "{{MOUSEXY}}" }}` [mouse command](./commands.md)). +Shows you the current position of your mouse cursor. You can use it to determine where you want SuperMacro to move your mouse (Using the `{{ "{{MOUSEXY}}" }}` [mouse command](./commands.md)). diff --git a/docs/faqs/supermacro/advanced-settings.md b/docs/faqs/supermacro/advanced-settings.md index 8de0304..a57a677 100644 --- a/docs/faqs/supermacro/advanced-settings.md +++ b/docs/faqs/supermacro/advanced-settings.md @@ -1,10 +1,10 @@ -# Advanced Settings +# SuperMacro - Advanced Settings Here you will find a detailed explanation of what each of the advanced settings does in SuperMacro. ​![Advanced settings overview](img/advanced-settings.png"Advanced settings overview") ​ ## Settings -### Secondary ENTER behavior +### Secondary enter behavior By default, when SuperMacro notices a new line, it simulates a newline keystroke. When this is enabled SuperMacro will instead simulate a KEYPRESS event for the Enter/Return virtual keycode. In some apps, this may work better when dealing with new lines. ### Forced Macro Mode diff --git a/docs/faqs/supermacro/commands.md b/docs/faqs/supermacro/commands.md index b6e39cc..9e47a0c 100644 --- a/docs/faqs/supermacro/commands.md +++ b/docs/faqs/supermacro/commands.md @@ -1,3 +1,8 @@ +--- +title: SuperMacro - Available Commands +description: Find a list of all available commands for the SuperMacro plugin for the Stream Deck by BarRaider. Get started using SuperMacro today! +--- + -# List of commands +# SuperMacro - Available Commands
-=== "Keyboard Commands" - ## Keyboard commands +## Keyboard commands - | Keyboard Key| Macro command | - | ----------- | ----------- | - | ++a++ - ++z++ | {{ "{{VK_XXXX}}" }} (XXXX = the letter - e.g. VK_A / VK_B ...) | - | ++0++ - ++9++ | {{ "{{VK_XXXX}}" }} (XXXX = the number - e.g. VK_0 / VK_1 ...) | - | Any of the following characters: ``;/\`[\]':?~{|}\"`` | Exact command changes between keyboard layouts:
Try the following macros to figure out the correct command:
{{ "{{oem_1}} "}}{{ "{{oem_2}} "}}{{ "{{oem_3}} "}}{{ "{{oem_4}} "}}{{ "{{oem_5}} "}} {{ "{{oem_6}} "}}{{ "{{oem_7}} "}}{{ "{{oem_8}} "}} {{ "{{shift}{oem_1}} "}}{{ "{{shift}{oem_2}} "}}{{ "{{shift}{oem_3}} "}} {{ "{{shift}{oem_4}} "}}{{ "{{shift}{oem_5}} "}} {{ "{{shift}{oem_6}} "}}{{ "{{shift}{oem_7}} "}}{{ "{{shift}{oem_8}} "}} | - | ++num0++ | {{ "{{NUMPAD0}}" }} | - | ++num1++ | {{ "{{NUMPAD1}}" }} | - | ++num2++ | {{ "{{NUMPAD2}}" }} | - | ++num3++ | {{ "{{NUMPAD3}}" }} | - | ++num4++ | {{ "{{NUMPAD4}}" }} | - | ++num5++ | {{ "{{NUMPAD5}}" }} | - | ++num6++ | {{ "{{NUMPAD6}}" }} | - | ++num7++ | {{ "{{NUMPAD7}}" }} | - | ++num8++ | {{ "{{NUMPAD8}}" }} | - | ++num9++ | {{ "{{NUMPAD9}}" }} | - | ++multiply++ | {{ "{{MULTIPLY}}" }} | - | ++add++ | {{ "{{ADD}}" }}| - | ++num-minus++ | {{ "{{SUBTRACT}}" }} | - | ++num-separator++ | {{ "{{DECIMAL}}" }}| - | ++num-slash++ | {{ "{{DIVIDE}}" }} | - | ++back++| {{ "{{BACK}}" }} | - | ++tab++| {{ "{{TAB}}" }}| - | ++clear++| {{ "{{CLEAR}}" }}| - | ++enter++| {{ "{{RETURN}}" }} or {{ "{{ENTER}}" }} | - | ++shift++| {{ "{{SHIFT}}" }}| - | ++left-shift++ | {{ "{{LSHIFT}}" }} | - | ++right-shift++| {{ "{{RSHIFT}}" }} | - | ++ctrl++ | {{ "{{CONTROL}}" }} or {{ "{{CTRL}}" }} | - | ++left-ctrl++ | {{ "{{LCONTROL}}" }} or {{ "{{LCTRL}}" }} | - | ++right-ctrl++ | {{ "{{RCONTROL}}" }} or {{ "{{RCTRL}}" }} | - | ++alt++ | {{ "{{ALT}}" }} or {{ "{{MENU}}" }}| - | ++left-alt++ | {{ "{{LALT}}" }} or {{ "{{LMENU}}" }} | - | ++right-alt++ | {{ "{{RALT}}" }} or {{ "{{RMENU}}" }} | - | ++media-pause++ / ++break++| {{ "{{BREAK}}" }}| - | ++caps-lock++ | {{ "{{CAPITAL}}" }}| - | ++esc++ | {{ "{{ESCAPE}}" }} | - | ++space++ | {{ "{{SPACE}}" }}| - | ++page-up++ | {{ "{{PAGEUP}}" }} or {{ "{{PGUP}}" }} or {{ "{{PRIOR}}" }} | - | ++"Num Page Up"++| {{ "{{NUMPAD_PAGEUP}}" }}| - | ++page-down++ | {{ "{{PAGEDOWN}}" }} or {{ "{{PGDN}}" }} or {{ "{{NEXT}}" }} | - | ++"Num Page Down"++| {{ "{{NUMPAD_PAGEDOWN}}" }}| - | ++home++ | {{ "{{HOME}}" }} | - | ++"Num Home"++| {{ "{{NUMPAD_HOME}}" }} | - | ++end++ | {{ "{{END}}" }}| - | ++"Num End"++ | {{ "{{NUMPAD_END}}" }}| - | ++arrow-up++ | {{ "{{UP}}" }} | - | ++"↑ Num Up"++ | {{ "{{NUMPAD_UP}}" }} | - | ++arrow-left++ | {{ "{{LEFT}}" }} | - | ++"← Num Left"++| {{ "{{NUMPAD_LEFT}}" }} | - | ++arrow-right++| {{ "{{RIGHT}}" }}| - | ++"β†’ Num Right"++| {{ "{{NUMPAD_RIGHT}}" }}| - | ++arrow-down++ | {{ "{{DOWN}}" }} | - | ++"↓ Num Down"++ | {{ "{{NUMPAD_DOWN}}" }} | - | ++select++ | {{ "{{SELECT}}" }} | - | ++print-screen++ | {{ "{{SNAPSHOT}}" }} | - | ++print++ | {{ "{{PRINT}}" }}| - | ++"Execute"++ | {{ "{{EXECUTE}}" }}| - | ++insert++ | {{ "{{INSERT}}" }} | - | ++"βŽ€ Num Ins"++ | {{ "{{NUMPAD_INSERT}}" }}| - | ++delete++ | {{ "{{DELETE}}" }} | - | ++"⌦ Num Del"++ | {{ "{{NUMPAD_DEL}}" }}| - | ++help++ | {{ "{{HELP}}" }} | - | ++left-windows++ | {{ "{{LWIN}}" }} or {{ "{{WIN}}" }} or {{ "{{WINDOWS}}" }} | - | ++right-windows++ | {{ "{{RWIN}}" }} | - | ++f1++ - ++f24++ | {{ "{{fXX}}" }} (XX = the number - e.g. f1 / f24 ...) | - | ++plus++ / ++equal++ | {{ "{{OEM_PLUS}}" }} / {{ "{{SHIFT}{OEM_PLUS}} "}} | - | ++minus++ / ++underscore++ | {{ "{{OEM_MINUS}}" }} / {{ "{{SHIFT}{OEM_MINUS}} "}} | - | ++period++ / ++greater++ | {{ "{{OEM_PERIOD}}" }} / {{ "{{SHIFT}{OEM_PERIOD}} "}} | - | ++comma++ / ++less++| {{ "{{OEM_COMMA}}" }} / {{ "{{SHIFT}{OEM_COMMA}} "}} | - | ++num-lock++ | {{ "{{NUMLOCK}}" }} | - | ++scroll-lock++ | {{ "{{SCROLL}}" }} | +| Keyboard Key| Macro command | +| ----------- | ----------- | +| ++a++ - ++z++ | {{ "{{VK_XXXX}}" }} (XXXX = the letter - e.g. VK_A / VK_B ...) | +| ++0++ - ++9++ | {{ "{{VK_XXXX}}" }} (XXXX = the number - e.g. VK_0 / VK_1 ...) | +| Any of the following characters: ``;/\`[\]':?~{|}\"`` | Exact command changes between keyboard layouts:
Try the following macros to figure out the correct command:
{{ "{{oem_1}} "}}{{ "{{oem_2}} "}}{{ "{{oem_3}} "}}{{ "{{oem_4}} "}}{{ "{{oem_5}} "}} {{ "{{oem_6}} "}}{{ "{{oem_7}} "}}{{ "{{oem_8}} "}} {{ "{{shift}{oem_1}} "}}{{ "{{shift}{oem_2}} "}}{{ "{{shift}{oem_3}} "}} {{ "{{shift}{oem_4}} "}}{{ "{{shift}{oem_5}} "}} {{ "{{shift}{oem_6}} "}}{{ "{{shift}{oem_7}} "}}{{ "{{shift}{oem_8}} "}} | +| ++num0++ | {{ "{{NUMPAD0}}" }} | +| ++num1++ | {{ "{{NUMPAD1}}" }} | +| ++num2++ | {{ "{{NUMPAD2}}" }} | +| ++num3++ | {{ "{{NUMPAD3}}" }} | +| ++num4++ | {{ "{{NUMPAD4}}" }} | +| ++num5++ | {{ "{{NUMPAD5}}" }} | +| ++num6++ | {{ "{{NUMPAD6}}" }} | +| ++num7++ | {{ "{{NUMPAD7}}" }} | +| ++num8++ | {{ "{{NUMPAD8}}" }} | +| ++num9++ | {{ "{{NUMPAD9}}" }} | +| ++multiply++ | {{ "{{MULTIPLY}}" }} | +| ++add++ | {{ "{{ADD}}" }}| +| ++num-minus++ | {{ "{{SUBTRACT}}" }} | +| ++num-separator++ | {{ "{{DECIMAL}}" }}| +| ++num-slash++ | {{ "{{DIVIDE}}" }} | +| ++back++| {{ "{{BACK}}" }} | +| ++tab++| {{ "{{TAB}}" }}| +| ++clear++| {{ "{{CLEAR}}" }}| +| ++enter++| {{ "{{RETURN}}" }} or {{ "{{ENTER}}" }} | +| ++shift++| {{ "{{SHIFT}}" }}| +| ++left-shift++ | {{ "{{LSHIFT}}" }} | +| ++right-shift++| {{ "{{RSHIFT}}" }} | +| ++ctrl++ | {{ "{{CONTROL}}" }} or {{ "{{CTRL}}" }} | +| ++left-ctrl++ | {{ "{{LCONTROL}}" }} or {{ "{{LCTRL}}" }} | +| ++right-ctrl++ | {{ "{{RCONTROL}}" }} or {{ "{{RCTRL}}" }} | +| ++alt++ | {{ "{{ALT}}" }} or {{ "{{MENU}}" }}| +| ++left-alt++ | {{ "{{LALT}}" }} or {{ "{{LMENU}}" }} | +| ++right-alt++ | {{ "{{RALT}}" }} or {{ "{{RMENU}}" }} | +| ++media-pause++ / ++break++| {{ "{{BREAK}}" }}| +| ++caps-lock++ | {{ "{{CAPITAL}}" }}| +| ++esc++ | {{ "{{ESCAPE}}" }} | +| ++space++ | {{ "{{SPACE}}" }}| +| ++page-up++ | {{ "{{PAGEUP}}" }} or {{ "{{PGUP}}" }} or {{ "{{PRIOR}}" }} | +| ++"Num Page Up"++| {{ "{{NUMPAD_PAGEUP}}" }}| +| ++page-down++ | {{ "{{PAGEDOWN}}" }} or {{ "{{PGDN}}" }} or {{ "{{NEXT}}" }} | +| ++"Num Page Down"++| {{ "{{NUMPAD_PAGEDOWN}}" }}| +| ++home++ | {{ "{{HOME}}" }} | +| ++"Num Home"++| {{ "{{NUMPAD_HOME}}" }} | +| ++end++ | {{ "{{END}}" }}| +| ++"Num End"++ | {{ "{{NUMPAD_END}}" }}| +| ++arrow-up++ | {{ "{{UP}}" }} | +| ++"↑ Num Up"++ | {{ "{{NUMPAD_UP}}" }} | +| ++arrow-left++ | {{ "{{LEFT}}" }} | +| ++"← Num Left"++| {{ "{{NUMPAD_LEFT}}" }} | +| ++arrow-right++| {{ "{{RIGHT}}" }}| +| ++"β†’ Num Right"++| {{ "{{NUMPAD_RIGHT}}" }}| +| ++arrow-down++ | {{ "{{DOWN}}" }} | +| ++"↓ Num Down"++ | {{ "{{NUMPAD_DOWN}}" }} | +| ++select++ | {{ "{{SELECT}}" }} | +| ++print-screen++ | {{ "{{SNAPSHOT}}" }} | +| ++print++ | {{ "{{PRINT}}" }}| +| ++"Execute"++ | {{ "{{EXECUTE}}" }}| +| ++insert++ | {{ "{{INSERT}}" }} | +| ++"βŽ€ Num Ins"++ | {{ "{{NUMPAD_INSERT}}" }}| +| ++delete++ | {{ "{{DELETE}}" }} | +| ++"⌦ Num Del"++ | {{ "{{NUMPAD_DEL}}" }}| +| ++help++ | {{ "{{HELP}}" }} | +| ++left-windows++ | {{ "{{LWIN}}" }} or {{ "{{WIN}}" }} or {{ "{{WINDOWS}}" }} | +| ++right-windows++ | {{ "{{RWIN}}" }} | +| ++f1++ - ++f24++ | {{ "{{fXX}}" }} (XX = the number - e.g. f1 / f24 ...) | +| ++plus++ / ++equal++ | {{ "{{OEM_PLUS}}" }} / {{ "{{SHIFT}{OEM_PLUS}} "}} | +| ++minus++ / ++underscore++ | {{ "{{OEM_MINUS}}" }} / {{ "{{SHIFT}{OEM_MINUS}} "}} | +| ++period++ / ++greater++ | {{ "{{OEM_PERIOD}}" }} / {{ "{{SHIFT}{OEM_PERIOD}} "}} | +| ++comma++ / ++less++| {{ "{{OEM_COMMA}}" }} / {{ "{{SHIFT}{OEM_COMMA}} "}} | +| ++num-lock++ | {{ "{{NUMLOCK}}" }} | +| ++scroll-lock++ | {{ "{{SCROLL}}" }} | -=== "Mouse Commands" +## Mouse commands - ## Mouse commands +|Mouse Key|Macro Command| +|----|----| +| Mouse Left-Click|{{ "{{LBUTTON}} "}}| +| Mouse Left Double-Click|{{ "{{MLEFTDBLCLICK}} "}}| +| Mouse Left Button Down|{{ "{{MLEFTDOWN}} "}}| +| Mouse Left Button Up|{{ "{{MLEFTUP}} "}}| +| Mouse Right-Click|{{ "{{RBUTTON}} "}}| +| Mouse Right Double-Click|{{ "{{MRIGHTDBLCLICK}} "}}| +| Mouse Right Button Down|{{ "{{MRIGHTDOWN}} "}}| +| Mouse Right Button Up|{{ "{{MRIGHTUP}} "}}| +| Mouse Middle Click|{{ "{{MBUTTON}} "}}| +| Mouse Middle Button Down|{{ "{{MMIDDLEDOWN}} "}}| +| Mouse Middle Button Up|{{ "{{MMIDDLEUP}} "}}| +| Mouse Button 4 Click|{{ "{{XBUTTON1}} "}}| +| Mouse Button 5 Click|{{ "{{XBUTTON2}} "}}| +| Mouse Scroll Wheel Up|{{ "{{MSCROLLUP}} "}}
Optional: Set the number of 'clicks' to scroll up: {{ "{{MSCROLLUP:10}} "}} will scroll up 10 clicks| +| Mouse Scroll Wheel Down|{{ "{{MSCROLLDOWN}} "}}
Optional: Set the number of 'clicks' to scroll down: {{ "{{MSCROLLDOWN:3}} "}} will scroll down 3 clicks| +| Mouse Horizontal Scroll Left|{{ "{{MSCROLLLEFT}} "}}
Optional: Set the number of 'clicks' to scroll left: {{ "{{MSCROLLLEFT:3}} "}} will scroll left 3 clicks| +| Mouse Horizontal Scroll Right|{{ "{{MSCROLLRIGHT}} "}}
Optional: Set the number of 'clicks' to scroll right: {{ "{{MSCROLLRIGHT:3}} "}} will scroll right 3 clicks| +| Mouse Move based on CURRENT position|{{ "{{MOUSEMOVE:X,Y}} "}} (Move the cursor by X,Y from current position)| +| Mouse Move based on multi-screen resolutions|{{ "{{MOUSEXY:X,Y}} "}} (Move the cursor to the X,Y position on the screen. 0,0 is the [top-left] of your primary monitor. Supports both positive and negative values. Use along with the `Mouse Location` action to easily find the right coordinates on your PC
Supports variables too: {{ "{{MOUSEXY:$Var1,$Var2}} "}}| +| Store current mouse position|{{ "{{MSAVEPOS}} "}} stores the current mouse cursor position.
The position is stored in variables: $MOUSE_X and $MOUSE_Y| +| Move mouse to previous stored position|{{ "{{MLOADPOS}} "}} moves the mouse to the previous set position (when `{MSAVEPOS}` was called).| +| (DEPRECATED) Mouse Move based on ABSOLUTE position (DEPRECATED)|{{ "{{MOUSEPOS:X,Y}} "}} (Move the cursor to the X,Y position on the screen. Values from 0,0 [top-left] to 65535,65535 [bottom-right])| - |Mouse Key|Macro Command| - |----|----| - | Mouse Left-Click|{{ "{{LBUTTON}} "}}| - | Mouse Left Double-Click|{{ "{{MLEFTDBLCLICK}} "}}| - | Mouse Left Button Down|{{ "{{MLEFTDOWN}} "}}| - | Mouse Left Button Up|{{ "{{MLEFTUP}} "}}| - | Mouse Right-Click|{{ "{{RBUTTON}} "}}| - | Mouse Right Double-Click|{{ "{{MRIGHTDBLCLICK}} "}}| - | Mouse Right Button Down|{{ "{{MRIGHTDOWN}} "}}| - | Mouse Right Button Up|{{ "{{MRIGHTUP}} "}}| - | Mouse Middle Click|{{ "{{MBUTTON}} "}}| - | Mouse Middle Button Down|{{ "{{MMIDDLEDOWN}} "}}| - | Mouse Middle Button Up|{{ "{{MMIDDLEUP}} "}}| - | Mouse Button 4 Click|{{ "{{XBUTTON1}} "}}| - | Mouse Button 5 Click|{{ "{{XBUTTON2}} "}}| - | Mouse Scroll Wheel Up|{{ "{{MSCROLLUP}} "}}
Optional: Set the number of 'clicks' to scroll up: {{ "{{MSCROLLUP:10}} "}} will scroll up 10 clicks| - | Mouse Scroll Wheel Down|{{ "{{MSCROLLDOWN}} "}}
Optional: Set the number of 'clicks' to scroll down: {{ "{{MSCROLLDOWN:3}} "}} will scroll down 3 clicks| - | Mouse Horizontal Scroll Left|{{ "{{MSCROLLLEFT}} "}}
Optional: Set the number of 'clicks' to scroll left: {{ "{{MSCROLLLEFT:3}} "}} will scroll left 3 clicks| - | Mouse Horizontal Scroll Right|{{ "{{MSCROLLRIGHT}} "}}
Optional: Set the number of 'clicks' to scroll right: {{ "{{MSCROLLRIGHT:3}} "}} will scroll right 3 clicks| - | Mouse Move based on CURRENT position|{{ "{{MOUSEMOVE:X,Y}} "}} (Move the cursor by X,Y from current position)| - | Mouse Move based on multi-screen resolutions|{{ "{{MOUSEXY:X,Y}} "}} (Move the cursor to the X,Y position on the screen. 0,0 is the [top-left] of your primary monitor. Supports both positive and negative values. Use along with the `Mouse Location` action to easily find the right coordinates on your PC
Supports variables too: {{ "{{MOUSEXY:$Var1,$Var2}} "}}| - | Store current mouse position|{{ "{{MSAVEPOS}} "}} stores the current mouse cursor position.
The position is stored in variables: $MOUSE_X and $MOUSE_Y| - | Move mouse to previous stored position|{{ "{{MLOADPOS}} "}} moves the mouse to the previous set position (when `{MSAVEPOS}` was called).| - | (DEPRECATED) Mouse Move based on ABSOLUTE position (DEPRECATED)|{{ "{{MOUSEPOS:X,Y}} "}} (Move the cursor to the X,Y position on the screen. Values from 0,0 [top-left] to 65535,65535 [bottom-right])| +## Windows Commands -=== "Windows Commands" +|Action|Macro Command| +|----|----| +| ++browser-back++ |{{ "{{BROWSER_BACK}}" }}| +| ++browser-forward++ |{{ "{{BROWSER_FORWARD}}" }}| +| ++browser-home++ |{{ "{{BROWSER_HOME}}" }}| +| ++browser-refresh++ |{{ "{{BROWSER_REFRESH}}" }}| +| ++browser-stop++ |{{ "{{BROWSER_STOP}}" }}| +| ++browser-search++ |{{ "{{BROWSER_SEARCH}}" }}| +| ++browser-favorites++ |{{ "{{BROWSER_FAVORITES}}" }}| +| ++media-next-track++|{{ "{{MEDIA_NEXT_TRACK}}" }}| +| ++media-prev-track++ |{{ "{{MEDIA_PREV_TRACK}}" }}| +| ++media-play++ / ++media-pause++ |{{ "{{MEDIA_PLAY_PAUSE}}" }}| +| ++media-stop++ |{{ "{{MEDIA_STOP}}" }}| +| ++volume-up++ |{{ "{{VOLUME_UP}}" }}| +| ++volume-down++ |{{ "{{VOLUME_DOWN}}" }}| +| ++volume-mute++ |{{ "{{VOLUME_MUTE}}" }}| - |Action|Macro Command| - |----|----| - | ++browser-back++ |{{ "{{BROWSER_BACK}}" }}| - | ++browser-forward++ |{{ "{{BROWSER_FORWARD}}" }}| - | ++browser-home++ |{{ "{{BROWSER_HOME}}" }}| - | ++browser-refresh++ |{{ "{{BROWSER_REFRESH}}" }}| - | ++browser-stop++ |{{ "{{BROWSER_STOP}}" }}| - | ++browser-search++ |{{ "{{BROWSER_SEARCH}}" }}| - | ++browser-favorites++ |{{ "{{BROWSER_FAVORITES}}" }}| - | ++media-next-track++|{{ "{{MEDIA_NEXT_TRACK}}" }}| - | ++media-prev-track++ |{{ "{{MEDIA_PREV_TRACK}}" }}| - | ++media-play++ / ++media-pause++ |{{ "{{MEDIA_PLAY_PAUSE}}" }}| - | ++media-stop++ |{{ "{{MEDIA_STOP}}" }}| - | ++volume-up++ |{{ "{{VOLUME_UP}}" }}| - | ++volume-down++ |{{ "{{VOLUME_DOWN}}" }}| - | ++volume-mute++ |{{ "{{VOLUME_MUTE}}" }}| +## Advanced Commands -=== "Advanced Commands" - |Action|Macro Command| - |----|----| - |{{ "{{//}} "}}|Comments Support: Anything after the {{ "{{//}} "}} sign will be ignored until end of line.
**Note:** The "Don't treat "New Line" as Enter" setting must be DISABLED for this to work properly| - |PAUSE|{{ "{{PAUSE:XXXX}} "}} (XXXX = length in milliseconds). Will pause execution of the rest of the SuperMacro for the time specified| - |KeyDown|{{ "{{KeyDown:XXXX}} "}} (XXXX = name of key| example {{ "{{KeyDown:F1}} "}}). Simulates holding the key down on the keyboard.
**Note:** Should be eventually accompanied by a `KeyUp` command| - |KeyUp|{{ "{{KeyUp:XXXX}} "}} (XXXX = name of key| example {{ "{{KeyUp:SHIFT}} "}})| - |MSavePos|{{ "{{MSAVEPOS}} "}} stores the current mouse cursor position.
The position is stored in variables: $MOUSE_X and $MOUSE_Y| - |MLoadPos|{{ "{{MLOADPOS}} "}} moves the mouse to the previous set position (when `{MSAVEPOS}` was called).| - |SetKeyTitle|{{ "{{SetKeyTitle:$MyVar}} "}} Sets the text on the Stream Deck key to the contents of `MyVar`.| - |SetClipboard|{{ "{{SetClipboard:$MyVar}} "}} Sets the clipboard to the contents of `MyVar`.| +|Action|Macro Command| +|----|----| +|{{ "{{//}}" }}|Comments Support: Anything after the {{ "{{//}} "}} sign will be ignored until end of line.
**Note:** The "Don't treat "New Line" as Enter" setting must be DISABLED for this to work properly| +|PAUSE|{{ "{{PAUSE:XXXX}}" }} (XXXX = length in milliseconds). Will pause execution of the rest of the SuperMacro for the time specified| +|πŸ†• KeyPress |{{ "{{KeyPress:XXXX:YYYY:ZZZZ}}" }}
(XXXX = name of key, YYYY = number of repeats, ZZZZ = delay in ms between repeats).
Example1: `{{ "{{KeyPress:C:5:1000}}" }}` Simulates pressing 'C' 5 times, with 1 sec delay between presses
Example2: `{{ "{{KEYPRESS:$Var1:$Var2}}" }}` when Var1={{ "down" }} and Var2={{ "5" }} will simulate pressing the ++arrow-down++ key 5 times| +|KeyDown|{{ "{{KeyDown:XXXX}}" }} (XXXX = name of key) example {{ "{{KeyDown:F1}} "}}). Simulates holding the key down on the keyboard.
**Note:** Should be eventually accompanied by a `KeyUp` command| +|KeyUp|{{ "{{KeyUp:XXXX}}" }} (XXXX = name of key) example {{ "{{KeyUp:SHIFT}} "}})| +|MSavePos|{{ "{{MSAVEPOS}}" }} stores the current mouse cursor position.
The position is stored in variables: $MOUSE_X and $MOUSE_Y| +|MLoadPos|{{ "{{MLOADPOS}}" }} moves the mouse to the previous set position (when `{MSAVEPOS}` was called). \ No newline at end of file diff --git a/docs/faqs/supermacro/examples.md b/docs/faqs/supermacro/examples.md index adea9a8..9fd81d8 100644 --- a/docs/faqs/supermacro/examples.md +++ b/docs/faqs/supermacro/examples.md @@ -1,9 +1,14 @@ +--- +title: SuperMacro - Examples +description: Looking for ideas on how to use the SuperMacro plugin? Find macro examples and improve your workflow today with SuperMacro by BarRaider. +--- + -# Examples +# SuperMacro - Examples
Open Windows Explorer then go to C:\Program Files @@ -52,9 +57,9 @@
Add comments in the code using {{ "`{{//}}`" }} command ``` - {{ "INPUT:myNumber" }} {{ "//" }} User inputs number. - {{ "FUNC:MUL:MyResult:$myNumber:10" }} {{ "//" }} Multiply number by 10 - {{ "OUTPUTTOFILE:MyResult:c:\\temp\\result.txt" }} {{ "//" }} Save result in file + {{ "{{INPUT:myNumber:Input a number}}" }} {{ "{{//}}" }} User inputs number. + {{ "{{FUNC:MUL:MyResult:$myNumber:10}}" }} {{ "{{//}}" }} Multiply number by 10 + {{ "{{OUTPUTTOFILE:MyResult:c:\\temp\\result.txt}}" }} {{ "{{//}}" }} Save result in file ```
@@ -153,6 +158,12 @@ ```
+
+ Click the mouse while a key is held (in this example we will simulate a shift click) + ``` + {{ "{{KeyDown:LSHIFT}}{{LBUTTON}}{{KeyUp:LSHIFT}}" }} + ``` +
## Variables
@@ -194,3 +205,40 @@ {{ "{{OUTPUTTOFILE:MyResult:c:\\temp\\result.txt}}" }} ```
+ + +
+ Input a key, repeat it N times + ``` + {{ "{{INPUT:myChar:Choose a key}}" }} + {{ "{{INPUT:repeats:Choose number of repeats}}" }} + {{ "{{KEYPRESS:$myChar:$repeats}}" }} + ``` +
+ +
+ Make string all uppercase + ``` + {{ "{{VARSET:myString:I loVe BaRrAiDer}}" }} + {{ "{{FUNC:UPPERCASE:newString:$myString}}" }} + {{ "{{OUTPUT:$newString}}" }} {{ "{{//}}" }} => I LOVE BARRAIDER + ``` +
+ +
+ Make string all lowercase + ``` + {{ "{{VARSET:myString:I loVe BaRrAiDer}}" }} + {{ "{{FUNC:LowerCase:newString:$myString}}" }} + {{ "{{OUTPUT:$newString}}" }} {{ "{{//}}" }} => i love barraider + ``` +
+ +
+ Make string all titlecase + ``` + {{ "{{VARSET:myString:I loVe BaRrAiDer}}" }} + {{ "{{FUNC:TitleCase:newString:$myString}}" }} + {{ "{{OUTPUT:$newString}}" }} {{ "{{//}}" }} => I Love Barraider + ``` +
diff --git a/docs/faqs/supermacro/functions.md b/docs/faqs/supermacro/functions.md index 172f8b1..286b4b4 100644 --- a/docs/faqs/supermacro/functions.md +++ b/docs/faqs/supermacro/functions.md @@ -1,4 +1,10 @@ -# Functions +--- +title: SuperMacro - Functions +description: Learn how to use functions in the SuperMacro plugin for the Stream Deck. Do mathematical calculations, replace text, get current date and more with functions to make ur SuperMacro's even more advanced. +--- + + +# SuperMacro - Functions ## Syntax !!! note @@ -11,9 +17,9 @@ Where `InputParamX` can either be text (`10`) or another variable (`$MyVar`) **Drill-Down of syntax:** -1. All functions always start with the FUNC keyword -2. The 2nd argument would be the name of the function (see column 1 in table below) -3. The 3rd argument would be the return variable (i.e. the variable which will hold the result of the function). Note: No $ is needed here +1. All functions always start with the FUNC keyword. +2. The 2nd argument would be the name of the function (see column 1 in table below). +3. The 3rd argument would be the return variable (i.e. the variable which will hold the result of the function). **Note:** No $ is needed here. 4. Arguments 4 and up are the input needed for the function. Each function has a different number of Input arguments (as stated in column 2 in the table below). !!! note @@ -21,17 +27,54 @@ Where `InputParamX` can either be text (`10`) or another variable (`$MyVar`) To differentiate between regular text and variables, start with a $ if you're referring to a variable ## Supported Functions + +### Math Functions |Function Name|Number of Input arguments|Example|Comments| |----|----|----|----| |ADD|2|`{{ "{{FUNC:ADD:MyVar:10:20}}" }}` (10+20 and store in MyVar)
`{{ "{{FUNC:ADD:Var1:10:$Var2}}" }}` (Add 10 to Var2 and store in Var1)
`{{ "{{FUNC:ADD:Result:$Var1:$Var2}}" }}` (Sum Var1 and Var2 and store in Result)| |SUB|2|`{{ "{{FUNC:SUB:MyVar:20:10}}" }}` (20-10 and store in MyVar)|(Additional examples similar to ADD above)| |MUL|2|`{{ "{{FUNC:MUL:MyVar:10:20}}" }}` (10*20 and store in MyVar)|(Additional examples similar to ADD above)| |DIV|2|`{{ "{{FUNC:DIV:MyVar:​100:50}}" }}` (100/50 and store in MyVar).|(Additional examples similar to ADD above)| +|ROUND|1|`{{ "{{FUNC:ROUND:MyVar:10,11:2}}" }}`Rounds a value to the specified number of fractional digits| |RANDOM|2|`{{ "{{FUNC:RANDOM:MyVar:1:20}}" }}` (Find a random number between 1 (inclusive) and 20 (exclusive) and store in MyVar.
`{{ "{{FUNC:RANDOM:MyVar:$FirstVal:$SecondVal}}" }}` (Find a random number between FirstVal variable (inclusive) and SecondVal variable (exclusive) and store in MyVar.
**Note:** First value must be LOWER than Second value.| -|CONCAT|Unlimited|`{{ "{{FUNC:CONCAT:MyVar:Hello:World:$Var1:Hi:$Var2}}" }}`
MyVar will have the string: HelloWorldXXXXHiYYYY Where XXXX is the contents of Var1 and YYYY is the contents of Var2| -|REPLACE|3|`{{ "{{FUNC:REPLACE:MyVar:Hello:He:Y}}" }}`
MyVar will have the string: *Yello*
`{{ "{{VARSET:XX:Hello World}}" }} {{ "{{VARSET:A:l}}" }}{{ "{{VARSET:B:Z}}" }} {{ "{{FUNC:REPLACE:MyVar:$XX:$A:$B}}" }}`
MyVar will have the string: *HeZZo WorZd*| |NOW|1|`{{ "{{FUNC:NOW:MyVar:yyyy-MM-dd HH:mm:ss}}" }}`
MyVar will have the current date and time.| +|FLOOR|1|Returns the largest integral value less than or equal to the specified number
`{{ "{{FUNC:FLOOR:num:3.1415}}" }}` => num contains 3| +|CEILING|1|Returns the smallest integral value greater than or equal to the specified number
`{{ "{{FUNC:CEILING:num:3.1415}}" }}` => num contains 4| +|MIN|2|Returns the smaller of two numbers
`{{ "{{FUNC:MIN:num:-100:100}}" }}` => num contains -100| +|MAX|2|Returns the larger of two numbers
`{{ "{{FUNC:MAX:num:-100:100}}" }}` => num contains 100| +|ABS|1|Returns the absolute value of a specified number
`{{ "{{FUNC:ABS:num:-100}}" }}` => num contains 100| + + +### String Functions +|Function Name|Number of Input arguments|Example|Comments| +|----|----|----|----| +|CONCAT|Unlimited|`{{ "{{FUNC:CONCAT:MyVar:Hello:World:$Var1:Hi:$Var2}}" }}`
MyVar will have the string: HelloWorldXXXXHiYYYY Where XXXX is the contents of Var1 and YYYY is the contents of Var2| +|REPLACE|3|`{{ "{{FUNC:REPLACE:MyVar:Hello:He:Y}}" }}`
MyVar will have the string: **Yllo**
`{{ "{{VARSET:XX:Hello World}}" }} {{ "{{VARSET:A:l}}" }}{{ "{{VARSET:B:Z}}" }} {{ "{{FUNC:REPLACE:MyVar:$XX:$A:$B}}" }}`
MyVar will have the string: *HeZZo WorZd*| |LEN|1|`{{ "{{FUNC:LEN:MyVar:Hello World}}" }}` (Length of the string 'Hello World')
MyVar will have the value 11| -|MID|(Arguments: 1. 0-Based Start Position 2. [Optional] Length)|`{{ "{{FUNC:MID:RES:Hello:2}}" }}` RES will have llo
`{{ "{{FUNC:MID:RES:Hello:0:2}}" }}` RES will have He| +|MID|2|(Arguments: 1. 0-Based Start Position 2. [Optional] Length)
`{{ "{{FUNC:MID:RES:Hello:2}}" }}` RES will have llo
`{{ "{{FUNC:MID:RES:Hello:0:2}}" }}` RES will have He| |REVERSE|1|`{{ "{{FUNC:REVERSE:MyVar:Hello World}}" }}`
MyVar will have the value: dlroW olleH| |INDEXOF|2|Returns the first 0-based position of a text in the string.
`{{ "{{FUNC:INDEXOF:RES:Hello:e}}" }}` will return 1 into RES (since e has an index of 1 in the string)| +|UPPERCASE|1|`{{ "{{FUNC:UPPERCASE:MyVar:HeLlO woRlD}}" }}`
MyVar will have the string: **HELLO WORLD**| +|LOWERCASE|1|`{{ "{{FUNC:LOWERCASE:MyVar:HeLlO woRlD}}" }}`
MyVar will have the string: **hello world**| +|TITLECASE|1|`{{ "{{FUNC:TITLECASE:MyVar:HeLlO woRlD}}" }}`
MyVar will have the string: **Hello World**| + +### Date Time Functions + +!!! hint + + Negative values will calculate Date/Time Functions backwards. + +|Function Name|Number of Input arguments|Example|Comments| +|----|----|----|----| +|AddDays|3|`{{ "{{FUNC:NOW:today:yyyy-MM-dd}}" }}`
`{{ "{{FUNC:AddDays:yesterday:$today:-1}} "}}`
`{{ "{{SetClipboard:$yesterday}}" }}`
`{{ "{{ctrl}{v}}" }}`|Prints yesterdays date from clipboard using an existing datetime.| +|AddMonths|3|`{{ "{{FUNC:AddMonths:lastmonth:$today:-1}}" }}`|Counts one month back from an existing datetime and saves to a new var.| +|AddSeconds|3|`{{ "{{FUNC:AddSeconds:125secondsfromnow:$today:125}}" }}`|Add 125 seconds to an existing datetime and saves to a new var.| +|AddMinutes|3|`{{ "{{FUNC:AddMonths:65minutes:$today:65}}" }}`|Add 65 minutes to an existing datetime and saves to a new var.)| +|AddHours|3|`{{ "{{FUNC:AddMonths:20hours:$today:20}}" }}`|Add 20 hours to an existing datetime and saves to a new var.| +|DateDif|4|`{{ "{{FUNC:DATEDIFF:RES:$date1:$date2:d}}" }}`|Compares two datetimes and return the time difference between them (result can be in **d**ays/**h**ours/**m**inutes/**s**econds/miliseconds)| +|DateFormat|4|`{{ "{{FUNC:DATEFORMAT:RES:$date1:dd/MM/yyyy HH:mm:ss}}" }}`|Allows to format a date| + +### Other functions +|Function|Format|Example|Comments| +|----|----|----|----| +|EXEC|`{{ "{{EXEC:FILENAME|RUNASADMIN|ARGUMENTS}}" }}`|`{{ "{{EXEC:C:\WINDOWS\\NOTEPAD.EXE|0|C:\myfile.txt}}" }}`|Can also be used to load websites. `{{ "{{EXEC:https://docs.barraider.com}}" }}`| diff --git a/docs/faqs/supermacro/getting-started.md b/docs/faqs/supermacro/getting-started.md index e69de29..e6fcafe 100644 --- a/docs/faqs/supermacro/getting-started.md +++ b/docs/faqs/supermacro/getting-started.md @@ -0,0 +1,26 @@ +--- +title: SuperMacro - Getting started +description: Get started with the SuperMacro plugin for the Stream Deck and automate repetitive tasks with ease. Learn about the available actions, commands, functions, and variables supported by SuperMacro. Explore usage examples and start simplifying your workflow today. +--- + +# SuperMacro - Getting Started + +The SuperMacro plugin includes six [actions](./actions.md). that can cover a whole range of use cases, allowing you to automate and simplify repetitive complex or time-consuming tasks. + +Some examples are reading text from files, copy text to clipboard, move your mouse and more. In this documentation you will find in depth descriptions of all the settings that SuperMacro supports to help you get started, with [usage examples](./examples.md). + +## How do I get started? +Start by dragging an [action](./actions.md) to your Stream Deck, you can then type [commands](./commands.md) or normal text into the macro input fields. + +![Dragging action](img/action_drag.gif"Dragging action to Stream Deck"){: style="height:350px;"} + +### Commands +Examples of commands can be `{{ "{{F5}}" }}` or `{{ "{{WIN}}" }}`, or a keystroke like `{{ "{{CTRL}{C}}" }}`. + +Note that commands are always enclosed in `{` `}`, and each individual key in the command is also enclosed in `{{ "{" }}` `{{ "}" }}`. You should **always** see two `{{ "{{" }}`'s at the beginning and two `{{ "}}" }}`'s at the end of a command. + +You can find a complete list of commands by going to [this page](./commands.md). + +### Functions and variables + +The plugin also supports the use of [functions](./functions.md) and [variables](./variables.md) for even more advanced Macros. Go to [usage examples](./examples.md) to see examples on how they can be used. diff --git a/docs/faqs/supermacro/img/action_drag.gif b/docs/faqs/supermacro/img/action_drag.gif new file mode 100644 index 0000000..fdb9381 Binary files /dev/null and b/docs/faqs/supermacro/img/action_drag.gif differ diff --git a/docs/faqs/supermacro/loops.md b/docs/faqs/supermacro/loops.md index 2b20285..20c90c0 100644 --- a/docs/faqs/supermacro/loops.md +++ b/docs/faqs/supermacro/loops.md @@ -1,3 +1,10 @@ -# Loops +--- +title: SuperMacro - Loops +description: Use SuperMacro Loops that Auto stops after N rounds. Available for the Sticky SuperMacro and Sticky Keystroke action on your Elgato Stream Deck. +--- + +# SuperMacro - Loops Loops are currently supported in the **Sticky SuperMacro** and **Sticky Keystroke** actions. Use the *Auto Stop After N Rounds* setting to create loops which will run a customizable amount of times. + +Additionally: The new **KEYPRESS** command allows repeating a specific key a customizable amount times. \ No newline at end of file diff --git a/docs/faqs/supermacro/variables.md b/docs/faqs/supermacro/variables.md index 7ed02e2..e4ddb1c 100644 --- a/docs/faqs/supermacro/variables.md +++ b/docs/faqs/supermacro/variables.md @@ -1,3 +1,8 @@ +--- +title: SuperMacro - Variables +description: Learn how to use variables in the SuperMacro plugin to store and manipulate data for use further down in a the macro, or a different macro all together. Variables opens up a world of new possibilities for your SuperMacro's on the Stream Deck. +--- +