The arrows indicate the direction the message goes.
- ← indicates the message is sent from the amp to the computer
- → indicates the message is sent from the computer to the amp
(← →) Base message type used to communicate with the amp
All messages are of this type, and encapsulate the actual message
| Field | Type | Label | Description | Direction |
|---|---|---|---|---|
| responseType | ResponseType | required | Response type. All messages from the host to the amp are UNSOLICITED Default: UNSOLICITED | ← → |
| processorUtilizationRequest | ProcessorUtilizationRequest | optional | → | |
| processorUtilization | ProcessorUtilization | optional | ||
| memoryUsageRequest | MemoryUsageRequest | optional | → | |
| memoryUsageStatus | MemoryUsageStatus | optional | → | |
| presetJSONMessageRequest_LT | PresetJSONMessageRequest_LT | optional | ||
| presetJSONMessage | PresetJSONMessage | optional | ||
| currentPresetStatus | CurrentPresetStatus | optional | ||
| loadPreset | LoadPreset | optional | → | |
| setDspUnitParameter | SetDspUnitParameter | optional | → | |
| setDspUnitParameterStatus | SetDspUnitParameterStatus | optional | ||
| dspUnitParameterStatus | DspUnitParameterStatus | optional | ||
| currentLoadedPresetIndexStatus | CurrentLoadedPresetIndexStatus | optional | ||
| presetEditedStatus | PresetEditedStatus | optional | ||
| replaceNode | ReplaceNode | optional | → | |
| replaceNodeStatus | ReplaceNodeStatus | optional | ||
| shiftPreset | ShiftPreset | optional | → | |
| shiftPresetStatus | ShiftPresetStatus | optional | ||
| swapPreset | SwapPreset | optional | → | |
| swapPresetStatus | SwapPresetStatus | optional | ||
| currentPresetSet | CurrentPresetSet | optional | ||
| currentLoadedPresetIndexBypassStatus | CurrentLoadedPresetIndexBypassStatus | optional | ||
| currentDisplayedPresetIndexStatus | CurrentDisplayedPresetIndexStatus | optional | ||
| presetSavedStatus | PresetSavedStatus | optional | ||
| clearPreset | ClearPreset | optional | → | |
| clearPresetStatus | ClearPresetStatus | optional | ||
| saveCurrentPreset | SaveCurrentPreset | optional | → | |
| saveCurrentPresetTo | SaveCurrentPresetTo | optional | → | |
| savePresetAs | SavePresetAs | optional | → | |
| newPresetSavedStatus | NewPresetSavedStatus | optional | ||
| renamePresetAt | RenamePresetAt | optional | → | |
| auditionPreset | AuditionPreset | optional | → | |
| auditionPresetStatus | AuditionPresetStatus | optional | ||
| exitAuditionPreset | ExitAuditionPreset | optional | → | |
| exitAuditionPresetStatus | ExitAuditionPresetStatus | optional | ||
| auditionStateRequest | AuditionStateRequest | optional | → | |
| auditionStateStatus | AuditionStateStatus | optional | ||
| productIdentificationStatus | ProductIdentificationStatus | optional | ||
| productIdentificationRequest | ProductIdentificationRequest | optional | → | |
| firmwareVersionRequest | FirmwareVersionRequest | optional | → | |
| firmwareVersionStatus | FirmwareVersionStatus | optional | ||
| currentPresetRequest | CurrentPresetRequest | optional | → | |
| retrievePreset | RetrievePreset | optional | → | |
| usbGainRequest | UsbGainRequest | optional | → | |
| usbGainStatus | UsbGainStatus | optional | ||
| qASlotsRequest | QASlotsRequest | optional | → | |
| qASlotsStatus | QASlotsStatus | optional | ||
| lineOutGainRequest | LineOutGainRequest | optional | → | |
| lineOutGainStatus | LineOutGainStatus | optional | ||
| modalStatusMessage | ModalStatusMessage | optional | ||
| usbGainSet | UsbGainSet | optional | → | |
| lineOutGainSet | LineOutGainSet | optional | → | |
| qASlotsSet | QASlotsSet | optional | → | |
| unsupportedMessageStatus | UnsupportedMessageStatus | optional | ||
| heartbeat | Heartbeat | optional | → | |
| connectionStatusRequest | ConnectionStatusRequest | optional | → | |
| connectionStatus | ConnectionStatus | optional | ||
| indexPot | IndexPot | optional | ||
| indexButton | IndexButton | optional | ||
| indexEncoder | IndexEncoder | optional | ||
| activeDisplay | ActiveDisplay | optional | ||
| frameBufferMessageRequest | FrameBufferMessageRequest | optional | → | |
| frameBufferMessage | FrameBufferMessage | optional | ||
| lt4FootswitchModeRequest | LT4FootswitchModeRequest | optional | → | |
| lt4FootswitchModeStatus | LT4FootswitchModeStatus | optional | ||
| loadPreset_TestSuite | LoadPreset_TestSuite | optional | ||
| loopbackTest | LoopbackTest | optional |
Message response type
| Name | Number | Description |
|---|---|---|
| UNSOLICITED | 0 | Message sent not as the result of a command |
| NOT_LAST_ACK | 1 | Message sent as the result of a command, but NOT the last message in the batch |
| IS_LAST_ACK | 2 | Message sent as the last result of a command |
(→) Sends a preset to the amp to be "auditioned"
response: AuditionPresetStatus message containing the preset data loaded to the amp
| Field | Type | Label | Description |
|---|---|---|---|
| presetData | string | required | JSON string conaining the preset to be auditioned |
(←) Response to an AuditionPreset message
| Field | Type | Label | Description |
|---|---|---|---|
| presetData | string | required | JSON data conatining preset data being auditioned |
(→) Queries the amp for its audition state
response: AuditionStateStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| request | bool | required | Always true on requests |
(←) The current audition state of the amp. Resposne to an AuditionStateRequest message
| Field | Type | Label | Description |
|---|---|---|---|
| isAuditioning | bool | required | True if the amp is in audition mode |
(→) Leaves audition mode
response: ExitAuditionPresetStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| exit | bool | required | True to exit audition mode |
(←) Result message for an ExitAuditionPreset message
| Field | Type | Label | Description |
|---|---|---|---|
| isSuccess | bool | required | True if audition mode was exited successfully |
(→) Requests the current preset from the amp
response: CurrentPresetStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| request | bool | required | Always true on requests |
(→) Sets the current preset of the amp
response: CurrentPresetStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| currentPresetData | string | required | JSON data conatining preset data |
(←) Returns the state of the current preset
| Field | Type | Label | Description |
|---|---|---|---|
| currentPresetData | string | required | JSON data conatining current preset data |
| currentSlotIndex | int32 | required | Current preset bank number |
| currentPresetDirtyStatus | bool | required | True if current preset has been edited and not saved |
(→) Switches the amp to the specified preset number
response: CurrentLoadedPresetIndexStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| presetIndex | int32 | required | Preset bank number currently loaded |
(←) The current preset displayed on the amp. Sent when the preset is changed at the amp
| Field | Type | Label | Description |
|---|---|---|---|
| currentDisplayedPresetIndex | int32 | required | The current preset bank number |
(←) The current preset displayed on the amp. Sent when the preset is changed at the amp or via a LoadPreset message
| Field | Type | Label | Description |
|---|---|---|---|
| currentLoadedPresetIndex | int32 | required | The current preset bank number |
(←) Queries the amp on the stored presets
response: PresetJsonMessage
| Field | Type | Label | Description |
|---|---|---|---|
| slot | int32 | required | Preset bank to retrieve |
(←) Saved preset data
| Field | Type | Label | Description |
|---|---|---|---|
| data | string | required | JSON data conatining preset data for requested preset bank |
| slotIndex | int32 | required | Preset bank this preset is stored in |
(→) Moves a preset to the specified point, shifting all other presets
response: ShiftPresetStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| indexToShiftFrom | int32 | required | Preset to shift |
| indexToShiftTo | int32 | required | Destination of preset to shift |
(←) Response to a ShiftPreset message with the status of the command
| Field | Type | Label | Description |
|---|---|---|---|
| indexToShiftFrom | int32 | required | Preset shifted |
| indexToShiftTo | int32 | required | Destination |
(→) Swaps the presets in indexA and indexB
response: SwapPresetStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| indexA | int32 | required | |
| indexB | int32 | required |
(←) result of a SwapPreset message
| Field | Type | Label | Description |
|---|---|---|---|
| indexA | int32 | required | |
| indexB | int32 | required |
(→) saves the current preset
response: PresetSavedStatus
| Field | Type | Label | Description |
|---|---|---|---|
| save | bool | required |
(→) response: PresetSavedStatus
| Field | Type | Label | Description |
|---|---|---|---|
| presetName | string | required | |
| presetSlot | int32 | required |
(→) response: PresetSavedStatus
| Field | Type | Label | Description |
|---|---|---|---|
| presetData | string | required | |
| isLoadPreset | bool | required | |
| presetSlot | int32 | required |
(←) Result of a SaveCurrentPreset, SaveCurrentPresetTo, or SavePresetAs message. Also sent when the preset is saved on the amp.
| Field | Type | Label | Description |
|---|---|---|---|
| name | string | required | Name of the preset saved |
| slot | int32 | required | Preset bank of the saved preset |
(→) Renames a preset
| Field | Type | Label | Description |
|---|---|---|---|
| presetName | string | required | new preset name |
| presetSlot | int32 | required | slot index to rename |
(←)
| Field | Type | Label | Description |
|---|---|---|---|
| presetData | string | required | |
| presetSlot | int32 | required |
(→) Clears a preset in the amp
response: ClearPresetStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| slotIndex | int32 | required | Preset bank to clear |
| isLoadPreset | bool | required | ??? the Tone app sets this to true when clearing the preset |
(←) Response to a ClearPreset message
| Field | Type | Label | Description |
|---|---|---|---|
| slotIndex | int32 | required | bank number cleared |
(→) Swaps out a node (amp, stomp, mod, delay, or reverb)
response: ReplaceNodeStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| nodeIdToReplace | string | required | nodeid to replace (amp, stomp, mod, delay, or reverb) |
| fenderIdToReplaceWith | string | required | FenderId of node to set |
(←) Status of a ReplaceNode message; also sent when the node is changed at the amp
| Field | Type | Label | Description |
|---|---|---|---|
| nodeIdReplaced | string | required | node replaced (amp, stomp, mod, delay, or reverb) |
| fenderIdReplaced | string | required | FenderId of node set |
(→) Changes the parameters of the DSP units
response: SetDspUnitParameterStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| nodeId | string | required | string id of the node to change (one of amp, stomp, mod, delay, reverb) |
| parameterId | string | required | string id of the parameter to change |
| floatParameter | float | optional | |
| stringParameter | string | optional | |
| sint32Parameter | sint32 | optional | |
| boolParameter | bool | optional |
(←) Status of the SetDspUnitParameter message. Also sent when parameters are adjusted on the amp
| Field | Type | Label | Description |
|---|---|---|---|
| nodeId | string | required | string id of the node changed (one of amp, stomp, mod, delay, reverb) |
| parameterId | string | required | string id of the parameter to change |
| floatParameter | float | optional | |
| stringParameter | string | optional | |
| sint32Parameter | sint32 | optional | |
| boolParameter | bool | optional |
(←)
Editing status of the current preset
| Field | Type | Label | Description |
|---|---|---|---|
| presetEdited | bool | required | True if the preset is in editing state Default: false |
Changes the state of the amp
response: A ModalStatusMessage with the result of the request
| Field | Type | Label | Description |
|---|---|---|---|
| context | ModalContext | required | Context to switch to |
| state | ModalState | required | The result of the request. Requests to the amp are sent with an OK state |
| Name | Number | Description |
|---|---|---|
| SYNC_BEGIN | 0 | Used during the initialization of the connection |
| SYNC_END | 1 | Used during the initialization of the connection |
| BACKUP_BEGIN | 2 | |
| BACKUP_END | 3 | |
| RESTORE_BEGIN | 4 | |
| RESTORE_END | 5 | |
| TUNER_ENABLE | 6 | Enables the tuner |
| TUNER_DISABLE | 7 | Disables the tuner |
| FACTORY_RESTORE_BEGIN | 8 | |
| FACTORY_RESTORE_END | 9 | |
| TONE_BUSY_BEGIN | 10 | |
| TONE_BUSY_END | 11 |
| Name | Number | Description |
|---|---|---|
| OK | 0 | Success; also the default when sending this message to the amp |
| FAIL | 1 | Failure |
Queries the connection status of the amp
response: ConnectionStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| request | bool | required | Always true on requests |
(←) The current connection state of the amp. Response to a ConnectionStatusRequest message
| Field | Type | Label | Description |
|---|---|---|---|
| isConnected | bool | required | True if the amp is connected |
(→) Requests the current filrware version
response: FirmwareVersionStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| request | bool | required | Always true on requests |
(←) The firmware version of the amp
| Field | Type | Label | Description |
|---|---|---|---|
| version | string | required | Firmware Version |
(→) Heartbeat message sent every second to keep the connection alive
| Field | Type | Label | Description |
|---|---|---|---|
| dummyField | bool | required |
(→) Requests memory usage statistics from the amp
response: MemoryUsageStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| request | bool | required | Always true on requests |
(←) Message conainting current memory usage statistics
| Field | Type | Label | Description |
|---|---|---|---|
| stack | int32 | required | |
| heap | int32 | required |
(→) Requests processor statistics from the amp
response: ProcessorUtilization message
| Field | Type | Label | Description |
|---|---|---|---|
| request | bool | required | Always true on requests |
(←) Current processor utilization statistics
| Field | Type | Label | Description |
|---|---|---|---|
| percent | float | required | |
| minPercent | float | required | |
| maxPercent | float | required |
(→)
Identifies the amplifier
response: ProductIdentificationStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| request | bool | required | Always true on requests |
(←)
| Field | Type | Label | Description |
|---|---|---|---|
| id | string | required |
(→) Requests the settings of the footswitch presets
response: QASlotsStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| request | bool | required | Always true on requests |
(→) Assigns preset banks to the footswitch
response: QASlotsStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| slots | uint32 | repeated | Preset banks to assign to the footswitch |
(←) The current settings of the footswitch presets
| Field | Type | Label | Description |
|---|---|---|---|
| slots | uint32 | repeated | The preset banks assigned to the footswitch |
(→) Gets the current USB Gain settings
response: UsbGainStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| request | bool | required |
(→) Sets the gain for the USB audio device
response: UsbGainStatus message
| Field | Type | Label | Description |
|---|---|---|---|
| valueDB | float | required | gain in dB |
(←) The current setting of the gain for the USB audio device
| Field | Type | Label | Description |
|---|---|---|---|
| valueDB | float | required | gain in dB |
Sent when a message is invalid
| Field | Type | Label | Description |
|---|---|---|---|
| status | ErrorType | required |
| Name | Number | Description |
|---|---|---|
| UNSUPPORTED | 0 | |
| FAILED | 1 | |
| INVALID_PARAM | 2 | |
| INVALID_NODE_ID | 3 | |
| PARAM_OUT_OF_BOUNDS | 4 | |
| FACTORY_RESTORE_IN_PROGRESS | 5 |
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
|---|---|---|---|---|---|---|---|---|
| double | double | double | float | float64 | double | float | Float | |
| float | float | float | float | float32 | float | float | Float | |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |
| Field | Type | Label | Description |
|---|---|---|---|
| pageName | string | required |
The bypass status of the DSP units.
| Field | Type | Label | Description |
|---|---|---|---|
| currentLoadedPresetIndex | int32 | required | |
| bypassStatus | bool | repeated | Indicates whether the DSP unit is bypassed or not |
| Field | Type | Label | Description |
|---|---|---|---|
| nodeId | string | required | |
| parameterId | string | required | |
| floatParameter | float | optional | |
| stringParameter | string | optional | |
| sint32Parameter | sint32 | optional | |
| boolParameter | bool | optional |
| Field | Type | Label | Description |
|---|---|---|---|
| data | bytes | required |
| Field | Type | Label | Description |
|---|---|---|---|
| request | bool | required | Always true on requests |
| Field | Type | Label | Description |
|---|---|---|---|
| index | int32 | required | |
| event | IndexButton.Event | required | |
| timestamp_ms | uint32 | optional |
| Name | Number | Description |
|---|---|---|
| EVENT_ERROR | 0 | |
| BUTTON_DOWN | 1 | |
| BUTTON_UP | 2 | |
| BUTTON_HELD | 3 |
| Field | Type | Label | Description |
|---|---|---|---|
| index | int32 | required | |
| ticks | int32 | required |
| Field | Type | Label | Description |
|---|---|---|---|
| index | int32 | required | |
| position | float | required |
| Field | Type | Label | Description |
|---|---|---|---|
| request | bool | required | Always true on requests |
| Field | Type | Label | Description |
|---|---|---|---|
| currentMode | LT4FtswModes | required | Default: LT4_FTSW_MODE_OFF |
| Name | Number | Description |
|---|---|---|
| LT4_FTSW_MODE_OFF | 0 | |
| LT4_FTSW_MODE_BANK1 | 1 | |
| LT4_FTSW_MODE_BANK2 | 2 | |
| LT4_FTSW_MODE_FX | 3 |
| Field | Type | Label | Description |
|---|---|---|---|
| request | bool | required | Always true on requests |
| Field | Type | Label | Description |
|---|---|---|---|
| valueDB | float | required |
| Field | Type | Label | Description |
|---|---|---|---|
| valueDB | float | required |
| Field | Type | Label | Description |
|---|---|---|---|
| presetIndex | int32 | required |
| Field | Type | Label | Description |
|---|---|---|---|
| data | string | required |
| Field | Type | Label | Description |
|---|---|---|---|
| request | int32 | required |