veadotube Plugin for Touch Portal

A plugin to control veadotube with Touch Portal


Made for Touch Portal

This is an unofficial plugin, please don’t harass the devs of either program if you have issues with the plugin.
This Plugin is free, but you need to buy the Touch Portal Pro upgrade install and use Plugins.

Table of Contents

Requirements

  • Java 8 Runtime or higher
  • Touch Portal (The pro upgrade bought through the Android/iOS Store needed to use Plugins)
  • Veadotube Mini v2.0 or higher (Older versions are NOT supported)

Releases

The latest version is 0.7.1.

  • Beta release - stable enough for general use but testing is ongoing.
  • Tested with veadotube mini v2.0a and veadotube mini v2.1
  • The following features are planned before 1.0 release
    • New Version Notification
    • Actions for controlling specific named instances

All releases are available here.

Getting Help

The easiest way to get help is to ask in the Touch Portal Discord under Plugins > Streaming > Veadotube

License

  • This Plugin Licensed under GPL v3, and is Free to use in accordance with any Licenses and Agreements

How to use

Install Plugin

  • Download the latest release from GitHub
  • Import the plugin into Touch Portal on the computer Veadotube is running on Screenshot of Touch Portal Plugin Screen
  • Touch Portal will show a warning, asking if you want to allow the Plugin to run.
    Select Yes or Trust Always to let it run Yes will make Touch Portal ask you again each time it starts
    Screenshot of Touch Portal Plugin Warning

Plugin Settings

These are optional, but you may want to enable Auto Request Current State Thumbnail Screenshot of Veadotube Plugin Settings Panel in Touch Portal

Primary Instance Name Override
If you run more than one copy of Veadotube and have changed the window title, you can enter it here to force the plugin to control it.
Note: If nothing is entered, or if no match is found, the oldest running window/instance is controlled by default

Auto Request Current State Thumbnail
If you want a Button to show the thumbnail current Avatar State, type ‘enable’ and the plugin will fetch it for you

Example:
Screenshot of Touch Portal Plugin Screen with example settings

Only one copy of Veadotube Mini is running, it has the default title.
Enable has been entered for Request Thumbnail

Setting up Pages in Touch Portal

You can find an example Touch Portal Page you can download and import here

The example page and the examples below use one of the default avatars, O Gato by BELLA!
You can find it in Veadotube Mini by clicking Avatar Settings > Load Default Avatar…
Screenshot of the Example Touch Portal Page on Android

Basic Button Setup

The Plugin Actions can be found under Veadotube - Primary Instance

Basic Avatar Change Trigger

  1. Make sure you have the Avatar you want to use open in veadotube

  2. Add Set Avatar State from List to your button
    • Alternatively you can use Set Avatar State by Name if you’d prefer to use a text box or Touch Portal Value to set the name
  3. Set the avatar you want this button to activate.
    • If using Set Avatar State from List, click the dropdown arrow to show all the current Avatars. You will see the state name, or number assigned by veadotube if you didn’t set one.
      Screenshot of the Touch Portal showing 'Set Avatar State to' and a dropdown list with Avatar States
    • Alternatively if you’re using Set Avatar State by Name, you can copy & paste the State name from veadotube into the text box.
      Screenshot of the Touch Portal showing 'Set Avatar to State with Name' and a text box with the name #3

    Note: Changing the name of a State in veadotube will break your Touch Portal buttons - you will need to come back and update the buttons of any you change.

  4. Set the Button Text, Background, etc.
    Closer Screenshot of the Touch Portal showing a button labeled "Change to #1" 'Set Avatar State to' with State #1 selected

  5. Repeat with other buttons

Screenshot of Veadotube with State #2 selected and open so the State Name is visible Opening the avatar state in veadotube shows the name box - you can copy this into Touch Portal text boxes

You can now press the buttons and change the active avatar!
Note: Here When Plug-in state changes has been used to make the buttons reactive - If you want buttons to change with the state, even when changed directly in veadotube, see under Advanced Buttons below

Screenshot of the Example Touch Portal Page on Android with 3 Example Change Buttons. State #3 showing as an Icon After Pressing Button #3

Screenshot of the Example Touch Portal Page on Android with 3 Example Change Buttons. Now State #1 showing as an Icon After Pressing Button #1

Reactive Buttons

You can set up the buttons to react to the Avatar State Changing - this also works if you change it by clicking directly in Veadotube

Add:

  1. Event: When Plugin State Changes
    Choose Veadotube Plugin > Primary Instance > Current Avatar State - Name
    Screenshot of the Touch Portal showing 'When the plugin State' event as Current State Avatar - Name changed to #1 and the Change Button Visuals action set to change the background colour to Green and Gray. A Do not Change to #1 Event has the 'Restore Button visuals for' 'Background settings' inside

  2. Set the 2nd box to ‘changes to’ and the 3rd to the Avatar Name (you can copy and paste this from veadotube)

  3. Add a Change Button Visuals action inside the event and choose how you want the button to show the Avatar State is active

  4. Copy the When Plugin State Changes event but set the 2nd box to does not change to and add a Restore button visuals action

  5. Repeat on your other buttons

Now you can see which avatar is active by the button that’s highlighted

Screenshot of the Example Touch Portal Page on Android with 3 Example Change Buttons. Change to #1 Button is Green-Gray and State #1 showing as an Icon Avatar State #1 is Active

Screenshot of the Example Touch Portal Page on Android with 3 Example Change Buttons. Change to #3 Button is Green-Gray and State #3 showing as an Icon Avatar State #3 is Active

Use Current Avatar State as an Icon

If you’ve enabled Auto Request Current State Thumbnail you can create a ‘button’ that shows the current Avatar

You can create this by adding:

  1. Event: When Plugin State Changes
    Choose Veadotube Plugin > Primary Instance > Current Avatar State - Thumbnail

    Screenshot of the Touch Portal showing 'When the plugin State' event and the plugin state dropdown open to 'Veadotube Plugin', 'Veadotube Primary Instance' and 'Current Avatar State - Thumbnail' highlighted

    Set the 2nd box to does not change to, and leave the 3rd box blank Screenshot of the Touch Portal showing 'When the plugin State' event, the plugin state 'Current Avatar State - Thumbnail' chosen, 'does not change to' chosen and a blank text box

  2. Inside the Event, add Change visuals by Plugin State and select Icon and Current Avatar State - Thumbnail
    Screenshot of the Touch Portal showing 'When the plugin State' event with Change Visuals by plug-in state action. It is set to change the Icon with the value from "Current Avatar State - Thumbnail"

Now the Icon will change when the Avatar does - even if it’s changed directly in the app!

Show active Avatar State name

You can set a ‘button’ to show the name of the currently active avatar

Add:

  1. Event: When Plugin State Changes

    Choose Veadotube Plugin > Primary Instance > Current Avatar State - Name Screenshot of the Touch Portal showing 'When the plugin State' event as 'Current State Avatar - Name' does not change to blank and the Change Button Visuals action set to change Text. The Text Box is empty

  2. Add a Change Button Visuals action inside the event and set it to use the Name to change the button text Screenshot of the Touch Portal showing 'When the plugin State' event as 'Current State Avatar - Name' does not change to blank and the Change Button Visuals action set to change Text. The Variable selector is open to Veadotube Plugin, Primary Instance, 'Current Avatar State - Name' You can add other Text to the change action as well

The Button should now show the current active Avatar Name

Advanced - Custom JSON Requests

You can send custom JSON Messages to the API, useful if you want to use an API feature that’s not supported directly by this plugin Screenshot of the Touch Portal showing 'Send Custom JSON Request' with 'nodes' in the channel text box and a JSON Message String to set the avatar state to '#2' In this example you can see a Custom JSON Request to set the avatar state to ‘#2’ to be sent to the ‘nodes’ channel

Advanced - Plugin Refresh Buttons

You can create buttons to Force a refresh as well Screenshot of the Touch Portal showing 'Refresh Avatar State List' and 'Refresh Current Avatar State' Actions under On Pressed Actions
You won’t need these normally, but it can be useful if you’re running veadotube mini 2.0a and changing the order/images/names of Avatar States and want to refresh without restarting either Touch Portal of Veadotube.
From mini 2.1 the Plugin will receive an update if there’s a change to any States.