# Controls

- BTN_1 — Song selection number buttons.
- BTN_A — Song selection letter buttons.
- BTN_BACKSPACE
- BTN_CLEAR
- BTN_CLEARALL
- BTN_CLEARQUEUE
- BTN_COIN1 — Adds credits to the jukebox.
- BTN_COIN2 — Adds credits to the jukebox.
- BTN_COIN3 — Adds credits to the jukebox.
- BTN_COIN4 — Adds credits to the jukebox.
- BTN_EXIT
- BTN_FIRSTPG — Change to first or last page.
- BTN_FREEPLAY
- BTN_FREEPLAY_OFF
- BTN_FREEPLAY_ON
- BTN_GUI_DOWN
- BTN_GUI_LEFT
- BTN_GUI_NEXT
- BTN_GUI_PREV
- BTN_GUI_RIGHT
- BTN_GUI_SELECT
- BTN_GUI_UP
- BTN_LASTPG — Change to first or last page.
- BTN_LOOP
- BTN_LOOP_OFF
- BTN_LOOP_ON
- BTN_NEXTALPHA — Change to previous or next artist in the alphabet.
- BTN_NEXTPG — Page change buttons.
- BTN_PAUSE — Toggles pause off and on for the currently playing song.
- BTN_PAUSE_OFF — Unpauses the currently playing song.
- BTN_PAUSE_ON — Pauses the currently playing song.
- BTN_PLAYSTIMULATOR — Toggles the PlayStimulator timer on and off.
- BTN_PLAYSTIMULATOR_OFF — Turns the PlayStimulator timer off.
- BTN_PLAYSTIMULATOR_ON — Turns the PlayStimulator timer on.
- BTN_POPULAR — Displays list of most popular songs.
- BTN_PREVALPHA — Change to previous or next artist in the alphabet.
- BTN_PREVPG — Page change buttons.
- BTN_RADIO — Toggles radio mode on and off
- BTN_RADIO_OFF — Turns radio mode off
- BTN_RADIO_ON — Turns radio mode on
- BTN_RANDOM — Selects a random song.
- BTN_SCREENSAVER — Toggles the screen saver on and off
- BTN_SCREENSAVER_OFF — Turns the screen saver off
- BTN_SCREENSAVER_ON — Turns the screen saver on
- BTN_SCREENSHOT — Saves a screenshot to disk
- BTN_SELECT — Selects the song entered.
- BTN_SHUFFLE — Randomizes the order of the songs in the queue.
- BTN_SKIN_1
- BTN_SKIN_10
- BTN_SKIN_2
- BTN_SKIN_3
- BTN_SKIN_4
- BTN_SKIN_5
- BTN_SKIN_6
- BTN_SKIN_7
- BTN_SKIN_8
- BTN_SKIN_9
- BTN_SKIN_NEXT
- BTN_SKIN_PREV
- BTN_SKIP
- BTN_SKIPLAST
- BTN_TOPTUNE — Selects the most popular song.

The jukebox is designed to emulate a real, physical jukebox, not a media player or video jukebox. thus, it is designed to use physical buttons on a control panel rather than a mouse or keyboard. The standard way to do this is through a keyboard encoder such as a KeyWiz or I-Pac, or by hacking a keyboard or game controller. All jukebox functions can be mapped to any keyboard key, or to the two main axes or buttons on a gamepad.

## Configuring the Control Panel

Control information is stored in a separate configuration file. The default control map file is controls.ini; however, you can select a different file by changing the Controls setting in the Controls section in jukebox.ini.

In controls.ini, physical keys or gamepad buttons are mapped to jukebox functions. This allows more than one key or button to provide the same function. The jukebox can read any key on a standard PC keyboard, including the Shift, Ctrl, Alt, Lock, and Windows keys, and it can read up to 14 buttons and the 4 main directions on the first two axes of the first four gamepads or joysticks in the system. (DOS users will be limited to two buttons on two gamepads or four buttons on one gamepad due to limitations on the DOS PC gameport.) Mouse buttons can be mapped as well; however, mouse button 1 always controls the user interface, so mouse button1 should only remapped for skins with no clickable icons.

The default controls.ini file includes every mappable key and button for demonstration purposes; however, you are only required to include keys or buttons that you are actually using.

Some buttons are required for basic jukebox operation, such as controls to change pages or select songs. Others represent optional functions such as displaying a list of the most popular songs, volume control, etc.

## Required Buttons:

BTN_A, BTN_B, etc.
These are the letters used by jukeboxes that use either one letter and one number or just one letter to select a song. BTN_A through BTN_Z are available. The default controls.ini maps BTN_A through BTN_J to their PC keyboard counterparts. The default skin uses BTN_A through BTN_D for song selection and ignores higher letters.

If you are using a skin with a numeric selection method, the letter keys will jump directly to the first page starting with an artist with a name starting with that letter.

> See also: BTN_SELECT.

BTN_1, BTN_2, etc.
These are the number buttons on the jukebox; they are used in all control setups except those that use just a single letter to select a song. BTN_1 through BTN_25 are available. Note that BTN_10 through BTN_25 represent a single button with the two-digit number on its face and not two separate buttons. In addition, if the skin file is designed to use a zero, BTN_0 will also be used. The default skin uses BTN_1 through BTN_4 for song selection and ignores higher numbers.

> See also: BTN_SELECT.

BTN_PREVPG
BTN_NEXTPG

These buttons page through the available songs. By default, they are mapped to the Page Up and Page Down keys.

> See also: BTN_PREVALPHA, BTN_NEXTALPHA, BTN_FIRSTPG, BTN_LASTPG.

## Optional Buttons

BTN_SELECT
Selects the song entered. This button is optional is the AutoSelect option is enabled in jukebox.ini; otherwise it is required. By default, for the default skin, the user should press a letter button and a number button followed by the Select button to start a song. If you would prefer the song to be started immediately rather than requiring the Select button, enable the AutoSelect option in jukebox.ini. By default, it is mapped to both Enter keys on the keyboard.

> See also: AutoSelect.

BTN_FIRSTPG
BTN_LASTPG
These buttons will jump to the first or last pages of the available songs.

> See also: BTN_PREVPG, BTN_NEXTPG, BTN_PREVALPHA, BTN_NEXTALPHA.

BTN_PREVALPHA
BTN_NEXTALPHA
These buttons skip to the next or previous page where the first letter of the artist is different (not counting the word "THE"). This allows paging through large collections quickly. By default, these functions are mapped to the comma and period keys (think of < and > as arrows pointing to the next character in the alphabet).

> See also: BTN_PREVPG, BTN_NEXTPG.

BTN_POPULAR
BTN_POPULAR temporarily changes the Coming Up display to show the most popular songs rather than the song queue. Pressing this button again will show the next page of popular songs. After a few seconds, the display will return to showing the upcoming song queue. (The exact number of seconds the popular song list is displayed can be set in jukebox.ini via the MostPopularDisplayTime setting, which defaults to 5 seconds.) This button is mapped to the F7 key on the keyboard by default.

BTN_RADIO
BTN_RADIO toggles "radio mode" on and off where random songs will be continually played. Pressing BTN_RADIO again will stop radio mode. BTN_RADIO is mapped to the F3 key by default.

> See also: MSG_RADIO.

BTN_RADIO_ON
BTN_RADIO_ON turns "radio mode" on if it is currently disabled; otherwise it has no effect. It is not mapped by default.

> See also: MSG_RADIO.

BTN_RADIO_OFF
BTN_RADIO_OFF turns "radio mode" off if it is currently enabled; otherwise it has no effect. It is not mapped by default.

> See also: MSG_RADIO.

BTN_PLAYSTIMULATOR
BTN_PLAYSTIMULATOR toggles the PlayStimulator on and off. If no time was specified for the PlayStimulator, it is set to 10 minutes when enabled.

> See also: MSG_PLAYSTIMULATOR.

BTN_PLAYSTIMULATOR_ON
BTN_PLAYSTIMULATOR_ON turns the PlayStimulator on if it was disabled; otherwise it has no effect. If no time was specified for the PlayStimulator, it is set to 10 minutes when enabled. This button is not mapped by default.

> See also: MSG_PLAYSTIMULATOR.

BTN_PLAYSTIMULATOR_OFF
BTN_PLAYSTIMULATOR_OFF turns the PlayStimulator of if it was ensabled; otherwise it has no effect. This button is not mapped by default.

> See also: MSG_PLAYSTIMULATOR.

BTN_RANDOM
This selects a random song and adds it to the queue. As this is a selection button, it requires a credit if credits are required.

BTN_SHUFFLE
BTN_SHUFFLE reorganizes the songs in the queue, placing them in a random order.

BTN_TOPTUNE
BTN_TOPTUNE selects the most-played song on the popularity list. If that song is already playing or already in the queue, the next most popular song will be played, etc. As this is a selection button, it requires a credit if credits are required.

> See also: BTN_POPULAR.

BTN_COIN1
BTN_COIN2
BTN_COIN3
BTN_COIN4
The BTN_COIN buttons represent the coin slots on a jukebox that requires credits to play. Up to 4 individual coin slots can be defined. Coins are only required if RequireCredits is enabled in jukebox.ini. By default, BTN_COIN1 is mapped to the Insert key. Credits are added to the jukebox based on the CoinXCredit settings in jukebox.ini.

> See also: Coin1Credit, Coin2Credit, Coin3Credit, Coin4Credit.

BTN_PAUSE
BTN_PAUSE will pause the currently playing song, or restart it if the song is paused. It is by default mapped to the F8 key.

BTN_PAUSE_ON
BTN_PAUSE_ON will pause the currently playing song; if the song is already paused it will have no effect. It is not mapped by default.

BTN_PAUSE_OFF
BTN_PAUSE_OFF will unpause the current song, if the song is already paused. If the song is not paused or no song is playing it will have no effect. It is not mapped by default.

BTN_SCREENSAVER
BTN_SCREENSAVER will force the screensaver to be activated or deactivated right away, rather than waiting for the timeout. It is not mapped by default.

BTN_SCREENSAVER_ON
BTN_SCREENSAVER_ON will force the screensaver to be activated if it is currently not active; otherwise it will have no efferct. It is not mapped by default.

BTN_SCREENSAVER_OFF
BTN_SCREENSAVER_OFF will force the screensaver to be deactivated if it is currently active; otherwise it will have no efferct. It is not mapped by default.

BTN_SCREENSHOT
BTN_SCREENSHOT will save a snapshot of the jukebox to a file. In higher resolutions, it may take several seconds to save the screenshot, during which the music will probably repeatedly loop a short section of music. BTN_SCREENSHOT is mapped to the F12 key by default.

BTN_EXIT
Exits the jukebox. BTN_EXIT is mapped to the Escape key by default.

BTN_BACKSPACE
Clears the last entered button. By default, this is mapped to the Backspace key on the keyboard.

BTN_CLEAR
Clears all currently entered buttons. This button is not mapped by default.

BTN_LOOP
Toggles LoopMode, where as soon as a song finishes playing it is re-added to the queue. Songs removed with MSG_SKIP are not looped. Songs added to the queue through this method do not consume a credit, but they do increase the play count. Useful at parties or holiday occasions to keep a particular set of songs on continuous play. It is mapped to the F5 key by default.

> See also: MSG_LOOP.

BTN_LOOP_ON
Enables LoopMode, if it is not already enabled; otherwise it has no effect. It is not mapped by default.

BTN_LOOP_OFF
Disables LoopMode, if it is already enabled; otherwise it has no effect. It is not mapped by default.

BTN_SKIP
Cancels the currently playing song and starts the next song in the queue. As this action does not restore credit to the credits counter, it should probably not be included on a jukebox that is set up to use credits. By default, it is mapped to the Delete key.

> See also: BTN_SKIPLAST.

BTN_CLEARQUEUE
Cancels all of the songs in the queue. If credits are enabled, a number of credits equal to the number of songs waiting in the queue will be added. By default, it is mapped to the F1 key.

> See also: BTN_CLEARALL.

BTN_CLEARALL
Cancels all of the songs in the queue, including the currently playing song. If credits are enabled, a number of credits equal to the number of songs waiting in the queue will be added. Credit is not returned for the currently playing song. This button is not mapped by default.

> See also: BTN_CLEARQUEUE.

BTN_FREEPLAY
Toggles between free play and credits required modes.

BTN_FREEPLAY_ON
Turns free play mode on if credits are currently required; otherwise it has no effect. It is not mapped by default.

BTN_FREEPLAY_OFF
Turns free play mode off if it is currently enabled; otherwise it has no effect. It is not mapped by default.

BTN_SKIPLAST
Deletes the last song in the queue. Note that you cannot skip the currently playing song this way. This button can only be used during the time specified by SkipLastTimeLimit in jukebox.ini. If SkipLastTimeLimit is set to 0, this button can be used at any time to remove the most recent addition. If SkipLastTimeLimit is set to any value higher than 0, BTN_SKIPLAST can only remove the single most recent addition, unless LimitSkipLastToMostRecent is set to False.

> See also: BTN_SKIP, SkipLastTimeLimit, LimitSkipLastToMostRecent.

## GUI Navigation Buttons

On a control panel with very limited controls, such as a single 4-way joystick with one button, the jukebox can be navigated as a GUI. This is not the recommended way to use the jukebox, but it is available for those who need it. Navigating off the left or right sides of the screen will cause the page to turn without explicitly having to select a page change button. The available GUI controls are:

BTN_GUI_LEFT
BTN_GUI_RIGHT
BTN_GUI_UP
BTN_GUI_DOWN
Moves the GUI focus in the appropriate direction. The control with focus will be marked with a dotted line. These buttons are mapped to the cursor keys by default. The directions are relative to the screen rotation.

BTN_GUI_SELECT
Selects the control that currently has focus, i.e. "clicks" the button. By default, this is mapped to the spacebar.

BTN_GUI_NEXT
BTN_GUI_PREV
Moves the focus to the next or previous control. By default, BTN_GUI_NEXT is mapped to the Tab key; BTN_GUI_PREV is not mapped by default.

BTN_SKIN_PREV
BTN_SKIN_NEXT
Switches to the next or previous skin. By default, BTN_SKIN_NEXT is mapped to the F10 key; BTN_SKIN_PREV is mapped to the F9 key.

BTN_SKIN_1
BTN_SKIN_2
BTN_SKIN_3
BTN_SKIN_4
BTN_SKIN_5
BTN_SKIN_6
BTN_SKIN_7
BTN_SKIN_8
BTN_SKIN_9
BTN_SKIN_10
Switches directly to a specific skin. None of these buttons are mapped by default.

Back to contents