An extension for Gig Performer that provides an additional resizable window for selecting rackspaces/variations or songs/parts. It has two display modes: a compact list of rackspaces/songs, or an expanded window with a large display of the current and previous/next rackspace or song.
The visibility of the window can also be controlled via widgets (e.g. it could be triggered by an external MIDI controller).
Disclaimer: This is a user-created extension and is not supported by Deskew Technologies. Extensions can cause unexpected behaviour in Gig Performer, and in extreme situations could cause it to crash. Please test it thoroughly before using it in any live performances!
Download the extension (library) files for either MacOS or Windows from the Releases page.
Mac users will need to move the libGPSelector.dylib file into this folder and then restart Gig Performer:
/Users/Shared/Gig Performer/Extensions
Mac users will also need to authorize the extension via System Settings > Privacy & Security. Scroll down until you locate an entry that references the extension. Allow it to be loaded and then restart Gig Performer.
Windows users will need to move the GPSelector.dll file into this folder and then restart Gig Performer:
C:\Users\Public\Documents\Gig Performer\Extensions
When opening Gig Performer, a prompt will appear asking to confirm whether to install the extension.
After installing the extension, the selector window can be displayed or hidden via a new Extensions entry in the Gig Performer menu bar.
Additional menu bar items are available to:
- Toggle Zero-Based Numbers: Switch between the rackspace/song numbering starting from 0 or starting from 1.
- Toggle Immediate Switching: Control whether selecting a rackspace/song will immediately select it and the first variation/part. When disabled, this will allow a specific variation/part to be selected from any rackspace or song (without it's first variation/part automatically being activated).
- Toggle Large Scroll Area: Add a blank area to the right of the buttons to be used for scrolling the list with your finger on touchscreens. This reduces the likelihood of accidentally selecting a button when scrolling.
- Toggle Thick Borders: Add a thicker border for the selected rackspace/song and variation/part. This is useful when the custom button colors are being used.
Any changes to the default options will need to be re-applied every time Gig Performer is opened, unless you use the optional preferences file (refer to the details below).
The icons in the upper-right corner of the extension header provide functionality to:
- Fullscreen mode for the extension window (only visible when the window is in its expanded mode).
- Pin the extension window to the top of all open windows.
- Expand the window to display the large rackspace/song names (current/previous/next). The previous and next names can be clicked to move to this rackspace/song.
A button widget can be used to open and close the selector window. In the widget properties Advanced tab, enter the name GP_SELECTOR.
A knob or fader widget can be used to scroll the list of songs/rackspaces. In the widget properties Advanced tab, enter the name GP_SELECTOR_SCROLL. Use the widget properties Value tab to reverse the direction of the scrolling.
It is recommended to use the Global Rackspace for these widgets.
Custom colors can be defined for the rackspace/song buttons, and the variation/song part buttons. This is managed via the optional preferences file (refer below), in which a set of keywords can be listed, along with a corresponding color value. Any rackspace, song, variation, or song part name that contains one of these keywords will have the color applied to the button. You can also enter a full name instead of a keyword (e.g. the full rackspace name) if you want to apply the color more specifically.
The preferences file also allows you to control whether the colors are applied to rackspaces and songs, and/or variations and song parts. An optional preference for TextColor will apply a custom text color to all buttons.
The optional preferences file included in the release download (GPSelectorPrefs.txt) can be added to the Extensions folder and will apply a number of default settings for the extension, including window position and size, as well as allow custom button colors to be defined.
[Defaults]
DisplayNumbers = true
ZeroBasedNumbers = false
ImmediateSwitching = true
LargeScrollArea = false
ThickBorders = false
BorderColor = FFE5E5E5
RemoveColorKeywordFromName = false
ApplyColorToRacksAndSongs = true
ApplyColorToVariationsAndParts = true
PositionAndSize = 100,100,300,600
[Colors]
Clean = FF346573
Crunch = FFBF6509
Lead = FF960303
The option RemoveColorKeywordFromName will remove the keyword you use in the Colors section from the displayed variation or song part name e.g. a variation called "My Clean Guitar" will become "My Guitar".
An optional preference for TextColor will apply a custom text color to all buttons.
Another optional preference, FixedHeight, will keep the buttons at the specified height (the default behavior is an automatic resizing as the window size changes). The minimum allowed height is 40 and maximum is 100. For context, the default minimum is 50.
Use the Panel widgets in Gig Performer to find the color codes. Transparency won’t be needed, so the first two characters should always be "FF" (which is the alpha/transparency setting).
Switching between Panels view and Setlist view will reload the color settings from the preferences file. This allows colors to be added/updated without needing to restart Gig Performer.
PositionAndSize defines the default window position and size (x, y, w, h). The first two digits are the x,y coordinates of window's upper left corner. The second two digits set the window's width (w) and height (h).
Click the 'Pin' icon in the header and it will display the window's current position and size in Gig Performer's Script Logger (open via Window menu). This provides a simple method to obtain your preferred default position and size.
To customize/build the extension, refer to the Gig Performer SDK GitHub page.