-
Notifications
You must be signed in to change notification settings - Fork 0
QueueSpeak
Smart fully integrated conferencing & voting system for customizable microphone and camera management, maximizing the power of Q-SYS and its automation capabilities.
A smart customizable conferencing & voting system plugin fully integrated with Q-SYS.
QueueSpeak transforms Q-SYS systems into a powerful conferencing and voting system, seamlessly integrating microphone, camera, and real-time polling management. Designed for large-scale meetings and events, it leverages Q-SYS automation to streamline operations and provides post-event statistical exports for in-depth poll analysis.
Get started quickly with pre-configured presets for common use cases or craft tailored setups by combining modes and options. Save and recall custom presets to suit any event, ensuring flexibility and ease of use.
QueueSpeak's multi-level priority system empowers you to manage diverse participants with varying roles, privileges, and vote weights. Its integrated queue management automates operations, enabling smooth control for complex events.
Dedicated settings for each module put you in command. Fine-tune microphone, camera, and polling behaviors to deliver a polished, professional experience tailored to your audience and moderators.
- Full control of cameras and microphones for seamless, flexible operation
- Large seating capacity supports between 4 and 260 delegates
- Configurable maximum queue length for efficient management of large venues
- Two floor camera positions, enabling smooth switching between attendee and floor views
- Floor audio input with gain control for injecting audio into the mix or distributing it across all seats
- Eight group mix outputs for flexible audio routing and zoning
- Includes automation features to designate a default 'home' seat position
- Powerful moderator dashboards for intuitive visual control of seats, mutes, queues, and timers
- Multiple camera presets per seat with intelligent camera routing delivering seamless, seat-to-seat transitions for a buttery-smooth experience
- Built-in and customizable presets, maximizing flexibility for system designers
- Dedicated mix-minus output pin for each seat (excluding the active speaker)
- Compatible with physical buttons/LEDs and touchscreen interfaces for seamless integration
- Integrated seat-priority system allowing interruptions based on priority levels
- Fully customizable voting system allowing attendees to cast votes using the same infrastructure as the conferencing system
- Vote weighting system that allows customizable seat weights during polling
- Poll list preparation engine allowing the moderator to prepare polling questions, available options, default options, and rules
- Voting dashboard with poll selection and control options, displaying real-time charts and live poll results
- Simplified operation with support for single-button and single-LED configurations
- Audio detection feature enabling partial or full automation of switching operations
- Configurable timer and countdown functions for managing seat-switching intervals and polling durations
- Supports both new-generation NC Series and legacy PTZ Series cameras
This document is written for the plugin: QueueSpeak V2.0.0.0
2025-10-xx: V2.0.0.0
- Added voting module
- Added seat timers
- Added countdown timers
- Added group mixes (0-6)
- Added open microphones dashboard list
- Redesigned UI
- Added floor name customization
- Added seat mic lock
- Added seat timers and countdown functionality
- Added group mixes audio output
- Added seats' floor mix function
- Added floor seat naming
- Added standby seat function
- Added additional modes to action buttons (mute/unmute/toggle mute)
- Changed maximum seat number to 260
- Dashboard UI redesign
2025-02-16: V1.0.0.0
- Initial release to Asset Manager
This plugin has been developed and tested on the following versions:
| Q-SYS Designer Version | Compatibility |
|---|---|
| 9.10.x | ✓ |
| 9.12.x | ✓ |
| 9.13.x | ✓ |
| 10.0.x | ✓ |
Type: String
Default value: Empty
Description: License key activated for the main core.
Licenses are issued on a "per core" basis, as in each core needs its own license to run as many instances of the plugin as needed on this particular core and licenses are not transferable from core to core.
License keys can be added while in Offline mode, in the Properties pane on the right. To purchase licenses, go to https://ad-da.ca.
The plugin can be emulated for free, allowing you to prepare everything without requiring you to have access to a core. However, once you run your design on a core, you will need a license to run the plugin for more than 30 minutes.
Type: String
Default value: Empty
Description: License key activated for the backup core.
If your main Q-SYS Core fails, the backup Core automatically takes over without needing a license to function as a temporary replacement. However, if the design boots from the backup Core, a valid license is required. Additionally, if the backup Core is restarted (due to power loss or other reasons), the plugin instances cannot initialize without a valid license.
Type: Boolean
Default value: No
Description: Enables or disables the plugin's "Seat" mode.
When this property is set to "Yes", the plugin switches into "Seat" mode. This mode is designed to be used alongside at least one instance of the plugin in its default mode. It facilitates the configuration of individual seats and helps when creating complex layouts by allowing seat configuration in sequence just by changing the seat number in the seat's interface. Using a single instance of the plugin in "Seat" mode without a default-mode instance would not be effective.
Important: When a plugin is used in "Seat Mode", the "Script Access" property of the main instance of the plugin must be set to "Script" or "All". However, instances configured in "Seat" mode do not need to be set to "Script" or "All", as they only communicate one way to the plugin and do not receive any script commands.
For system integrators: The seat mode layout fields are useful for anyone building a "User Control Interface" in Q-SYS because they are not hard coded to specific seat numbers. This makes the controls and fields generic, allowing them to be easily copied and pasted into a custom interface, saving significant time on renaming controls.
Type: String
Default value: 20
Accepted values: 4 to 260
Description: Sets the number of seats to add to the layout.
Type: Boolean
Default value: Yes
Description: Controls the visibility of seat-related tabs in the interface.
Defines if the "Seats 1-x" and "Vote Seats" tabs are to be available in the Q-SYS user's interface.
Type: Boolean
Default value: Yes
Description: Enables or disables camera control features.
Determines whether the plugin's "Camera" features will be used. If set to "No", camera controls are not created in the interface, and the plugin will operate using only audio features.
For system integrators: When "Camera Control" is enabled, certain conditions must be met for the plugin to function correctly. These conditions are:
- At least one Mediacast router must be in the design.
- As least one camera must be in the design.
- Mediacast and camera(s) must be "Named Components" (see "How to rename a component" for more details).
- The "Script Access" property of the Mediacast and cameras must be set to "Script" or "All".
Type: Boolean
Default value: No
Description: Enables or disables auto framing camera support.
Defines if the "Auto Framing" function* is supported by the system. When set to "Yes", an "Auto Frame" button is added to the seat camera parameters page. This button will enable the auto framing function of the camera (if available).
* Only available when the "Camera Control" property is set to "Yes"
Type: String
Default value: 8
Accepted values: 0 to 8
Description: Sets the number of auxiliary audio mix groups.
Determines the number of auxiliary audio mix groups to add to the layout for flexible audio routing options.
Type: Boolean
Default value: Yes
Description: Controls the audio output configuration.
When this property is set to "Yes", the plugin provides a "Seat Mix [#]" audio output pin for each seat. These outputs carry the floor mix (the plugin's main audio output) with the respective seat's microphone signal removed, ensuring an optimized audio stream that enhances clarity by minimizing feedback and echo issues. When this property is set to "No", the plugin will provide a single audio output (Floor Mix) that includes all unmuted microphones and the audio-in signal from the floor seat.
Type: Boolean
Default value: No
Description: Enables or disables the voting module.
Defines if the voting module is to be enabled. When set to "yes", the Vote Dashboard, Vote Seats and Vote Settings tabs are added to the interface.
The following tables list the available control pins for integration with other Q-SYS components:
These pins allow integration with cameras and routers in the Q-SYS system:
| Pin Name | Value | Position | Pins Available |
|---|---|---|---|
| Component [x] | (text) | Input / Output | Camera |
| Component | (text) | Input / Output | Router |
| Output | (text) | Input / Output | Router |
These pins provide control over the main dashboard functionality:
| Pin Name | Value Range | Values | Position | Pins Available |
|---|---|---|---|---|
| Block | 0, 1 | false, true | Input / Output | Controls |
| Delete | 0, 1 | false, true | Input / Output | Controls |
| Next | (Trigger) | - | Input / Output | Controls |
| Play Pause Timer | (Trigger) | - | Input / Output | Controls |
| Reset | (Trigger) | - | Input / Output | Controls |
| Reset Seat's Mute Lock | (Trigger) | - | Input / Output | Controls |
| Reset Timer | (Trigger) | - | Input / Output | Controls |
| Set default seat | 0, 1 | false, true | Input / Output | Controls |
| Trigger | 0, 1 | false, true | Input / Output | Floor |
| Pin Name | Value Range | Values | Position | Pins Available |
|---|---|---|---|---|
| Name | (text) | - | Output | Seat |
| [x] Mute | 0, 1 | false, true | Input / Output | Seat |
| [x] Mute Lock | 0, 1 | false, true | Input / Output | Seat |
| [x] Name | (text) | - | Output | Seat |
| [x] Trigger | 0, 1 | false, true | Input / Output | Seat |
| Pin Name | Value | Position | Pins Available |
|---|---|---|---|
| Active Camera | (Integer) | Output | Status |
| Active Seat | (Integer) | Output | Status |
| Active Seat Name | (String) | Output | Status |
| Standby Camera | (Integer) | Output | Status |
| Standby Seat | (Integer) | Output | Status |
| Standby Seat Name | (String) | Output | Status |
| Countdown Timer | (String) | Output | Status |
| Open microphones | (String) | Output | Status |
| Queue | (String) | Output | Status |
| Timer | (String) | Output | Status |
Type: Indicator-Text
Description: Displays the operational status of the plugin.
Indicates the detailed operational status of the plugin:
- OK: The plugin is running
- Fault - Mediacast router missing: There must be at least 1 Mediacast router per layout
- Fault - Seat #[x] missing a valid camera: A seat is trying to activate but there is no camera saved to that seat. There must be at least 1 camera configured as primary or secondary for each active seat.
Type: Indicator-Text
Description: Displays the current queue status of all seats.
The queue display shows each seat's position in the first column. The active seat is marked with an "A" while other queued seats are numbered sequentially from 1 up to the total number of seats. The second column shows the seat ID. If the option "Display seat name on Queue" is enabled in the Settings tab, seats are displayed using both their number and name (e.g., [001] Delegate 1). Otherwise, seats are identified as "Seat-[###]".
Type: Indicator-Text
Description: Lists all currently unmuted microphones.
Displays the currently open (unmuted) microphones. If the option "Display seat name on Queue" is enabled in the "Settings" tab, each seat will be shown with both its number and name (e.g., [001] Delegate 1). Otherwise, the seat will be displayed as "Seat-[###]".
Type: Indicator-Text
Description: Shows the running timer value.
Displays the elapsed time since the timer started.
Type: Indicator-Text
Description: Shows the countdown timer value.
Displays the remaining time until the countdown ends.
Type: Indicator-Text
Description: Shows which seat is currently active.
Displays the ID of the currently active seat.
Type: Indicator-Text
Description: Shows the name of the currently active seat.
Displays the NAME of the currently active seat.
Type: Indicator-Text
Description: Shows which seat is next in the queue.
Displays the ID of the next seat in queue if any.
Type: Indicator-Text
Description: Shows the name of the next seat in the queue.
Displays the NAME of the next seat in queue if any.
Type: Indicator-Text
Description: Shows which camera is currently active.
Displays the ID of the currently active camera. This ID corresponds to the position of the camera in the "Components" tab.
Type: Indicator-Text
Description: Shows which camera is next to be activated.
Displays the ID of the camera that the plugin will use for the next seat in the queue (Standby Seat). Unless no other option is available, the system will always attempt to use a different camera than the active one for the Standby Camera. The plugin is designed so that the Standby Camera takes position as soon as it is selected by the system. Most importantly, this occurs while the active camera is in use, preventing unnecessary camera movement delays between delegates.
Button-Trigger
Clears the queue list and activate the default seat immediately using the best camera available based on the active camera.
Button-Trigger
Advances to the next seat in queue. If the queue is empty, pressing this button will activate the default seat.
Type: Button-Toggle
Description: Removes a seat from the queue.
Initiates the removal of a seat from the queue. To delete a seat, click the [DEL] button, then select the corresponding seat button at the bottom of the dashboard to remove it from the queue.
Type: Button-Toggle
Description: Designates the default or "home" seat.
Used to designate the Default Seat, also referred to as the Home Position. The Default Seat is automatically activated when the Next button is pressed while the queue is empty. To change the Default Seat, click the [DEF] button, then select the corresponding seat button at the bottom of the dashboard for the seat you want to assign as the Default Seat.
Type: Button-Toggle
Description: Sets the next seat in the queue.
Used to add a seat to the standby queue (next in line) via the dashboard seat buttons. To designate a seat as "next to speak," click the [STBY] button, then select the corresponding seat button at the bottom of the dashboard. The selected seat will be inserted into the current queue immediately after the active seat.
Type: Button-Trigger
Description: Unlocks all mute controls.
Disables any "Mute Lock" from the Dashboard or Seats, allowing for manual control of the mute functions.
Type: Button-Toggle
Description: Prevents delegate interaction.
Used to disable "Request" and "Release" buttons on the seats' interfaces, preventing delegates from adding themselves to the queue.
Type: Button-Trigger
Description: Controls the timer function.
Used to start, pause and resume the timer for tracking speaking time.
Type: Button-Trigger
Description: Resets the current timer.
Used to restart the timer without changing the active seat, allowing you to reset or add time to that seat's allotted duration.
Type: Button-Trigger
Description: Activates the floor position.
Used to manually activate the "Floor" seat instantly, muting the microphone and switching the cameras for the active seat. The button remains gray when the floor is inactive and changes to light blue when active.
Pro Tip: For the "Floor" seat, consider setting two wide-angle shots of the room using two camera positions and assign them as "Primary" and "Secondary" camera position. This ensures that when the "Floor" is activated, a wide-angle view of the room is displayed from either the primary or the secondary camera. Additionally, you can use the audio input to send signals, such as music or room microphones, to broadcast to the floor mix and/or the seats. Be aware that adding room microphones and sending them to the floor mix may create a feedback situation if the floor mix is sent back to loudspeakers located in the room.
Type: Button-Trigger
Description: Activates the corresponding seat.
Used to manually activate the corresponding seats. Also used to select the "Seat" while using the "DEL" and "DEF" buttons. The label of each button shows the seat number followed by the name of the seat. When "Display queue position on dashboard" option is activated ("Settings" tab), the buttons will display their current queue position and the default seat will be marked by an asterisk (*).
The voting module is the major new feature in QueueSpeak V2.0.0.0, providing a comprehensive system for conducting polls and tracking votes during meetings. It allows for real-time voting, results visualization, and detailed poll management.
Type: ComboBox
Description: Selects the current poll to manage or display.
Allows selection from available polls that have been created in the system. The selected poll becomes the active poll for all vote-related operations.
Type: Button-Trigger
Description: Begins the voting process.
Initiates voting for the currently selected poll, making it available for all delegates to cast their votes.
Type: Button-Trigger
Description: Ends the voting process.
Terminates the active voting session, preventing additional votes from being cast and finalizing the results.
These pins provide integration with external control systems for the voting functionality:
| Pin Name | Value Range | Values | Position | Pins Available |
|---|---|---|---|---|
| Vote Start | (Trigger) | - | Input / Output | Controls |
| Vote Stop | (Trigger) | - | Input / Output | Controls |
| Vote In Progress | 0, 1 | false, true | Output | Status |
| Vote Result | (String) | - | Output | Status |
| Seat [x] Vote Value | (String) | - | Output | Seat |
| Seat [x] Vote Casted | 0, 1 | false, true | Output | Seat |
| Seat [x] Vote Weight | (Integer) | - | Input / Output | Seat |
| Seat [x] Vote Options | (String) | - | Input / Output | Seat |
| Seat [x] Vote Cast | (Trigger) | - | Input / Output | Seat |
Graphical Pie Chart
Displays a graphical pie chart representing the proportion of responses for each available answer option.
Indicator-Text
Shows a list of poll results, displaying the percentage followed by the corresponding answer option.
Button-Toggle
Toggles the use of colored text for displaying poll results.
Indicator-Text
Displays the elapsed time since the timer was started.
Indicator-Text
Displays the remaining time before the timer expires.
Indicator-Text
Displays the active question for the current poll.
Button-Trigger
Starts the voting process by initiating the timer.
Button-Trigger
Stops the voting process manually, overriding the timer.
Text-Combobox
Lists the available polls to select the one to be activated.
Indicator-Led
Turns solid green when a voting session is currently active.
Indicator-Text
Displays in real time the vote value cast by each participant, corresponding to their seat.
Indicator-Led
Turns solid green as soon as the vote is cast for the corresponding seat.
Indicator-Text
Displays the current vote weight assigned to the selected seat.
Text-ComboBox
Lists the available options for the active poll that can be selected for this pool.
Button-Trigger
Used to send the selected option as the casted vote for this seat.
Indicator-text
Displays the recorded vote for this seat as stored by the system.
Indicator-led
LED indicator that lit green once a vote has been successfully cast for this seat.
Indicator-Text
Displays a list of polls stored in the plugin's memory, showing the following columns:
- Read-only Status
- Poll name
- Poll ID
- Timestamp of completion
Up to 50 polls can be stored in the plugin's memory, including read-only (template) polls.
Button-Trigger
Creates a new blank poll.
Button-Trigger
Deletes the currently selected poll.
Warning: This action is irreversible, and all associated poll results will be permanently removed.
Button-Trigger
Creates a new poll based on the currently selected poll as a starting point.
Pro Tip: Use this function when you want to create new polls from a "Template" poll, allowing you to generate multiple similar poll questions quickly.
Button-Trigger
Button used to initiate a poll exportation to a .txt file on the core.
Text-Text Edit
Text field used to define the name of the poll. This name will appear as the selectable item in the poll list on the Vote Dashboard.
Text-Text Edit
Text field used to define the question that will be asked to participants for the selected poll.
Text-Text Edit
Text field used to specify the answer options available to participants for the selected poll. Each option must be separated by a comma (,).
Text-ComboBox
Displays the list of options defined in Vote Options. Used to select the default answer that will be preselected for the corresponding question.
Button-Toggle
Button used to toggle the read-only status of the currently selected poll, preventing any further modifications or deletions. This feature allows the poll to be kept as a reusable template for future use.
© 2025 INTEGRATEUR AD-DA INC. All rights reserved.