UNPKG

v8hd

Version:

Control interface for Roland V-8HD video switchers

238 lines 8.19 kB
import { ButtonState, InputSource, SplitVfxType, TransitionType } from '../enums'; /** * Class for controlling Roland V-8HD video switcher via MIDI * Provides methods to control video transitions, effects, and audio levels */ export declare class RolandV8HD { private output; private readonly MIDI_CHANNEL; /** * Creates a new instance of RolandV8HD controller * Automatically searches for and connects to the Roland V-8HD device * @throws {Error} If Roland V-8HD MIDI device is not found */ constructor(); /** * Initializes MIDI connection with Roland V-8HD * @private * @throws {Error} If Roland V-8HD device cannot be found */ private initializeMidi; /** * Sends a MIDI Control Change message to the device * @private * @param {CC} cc - Control Change number * @param {number} value - Value to send (0-127) */ private sendControlChange; /** * Sets the video fader position * @param {number} position - Position value (0-127, bottom to top) * @throws {Error} If position is out of range */ setVideoFader(position: number): void; /** * Sets the transition type * @param {TransitionType} type - Type of transition (MIX or WIPE) */ setTransitionType(type: TransitionType): void; /** * Sets the Mix/Wipe transition time * @param {number} seconds - Transition time in seconds (0.0-4.0) * @throws {Error} If time is out of range */ setMixWipeTime(seconds: number): void; /** * Sets the PinP 1 transition time * @param {number} seconds - Transition time in seconds (0.0-4.0) * @throws {Error} If time is out of range */ setPinP1Time(seconds: number): void; /** * Sets the PinP 2 transition time * @param {number} seconds - Transition time in seconds (0.0-4.0) * @throws {Error} If time is out of range */ setPinP2Time(seconds: number): void; /** * Sets the DSK transition time * @param {number} seconds - Transition time in seconds (0.0-4.0) * @throws {Error} If time is out of range */ setDSKTime(seconds: number): void; /** * Sets the PinP 1 input source * @param {InputSource} source - Source to use for PinP 1 */ setPinP1Source(source: InputSource): void; /** * Sets the PinP 1 horizontal position * @param {number} percent - Position as percentage (-50 to 50%) * @throws {Error} If position is out of range */ setPinP1PositionH(percent: number): void; /** * Sets the PinP 1 vertical position * @param {number} percent - Position as percentage (-50 to 50%) * @throws {Error} If position is out of range */ setPinP1PositionV(percent: number): void; /** * Sets the PinP 1 size * @param {number} percent - Size as percentage (10-100%) * @throws {Error} If size is out of range */ setPinP1Size(percent: number): void; /** * Sets the PinP 1 view zoom * @param {number} percent - Zoom as percentage (100-1000%) * @throws {Error} If zoom is out of range */ setPinP1ViewZoom(percent: number): void; /** * Sets the PinP 2 input source * @param {InputSource} source - Source to use for PinP 2 */ setPinP2Source(source: InputSource): void; /** * Sets the PinP 2 horizontal position * @param {number} percent - Position as percentage (-50 to 50%) * @throws {Error} If position is out of range */ setPinP2PositionH(percent: number): void; /** * Sets the PinP 2 vertical position * @param {number} percent - Position as percentage (-50 to 50%) * @throws {Error} If position is out of range */ setPinP2PositionV(percent: number): void; /** * Sets the PinP 2 size * @param {number} percent - Size as percentage (10-100%) * @throws {Error} If size is out of range */ setPinP2Size(percent: number): void; /** * Sets the PinP 2 view zoom * @param {number} percent - Zoom as percentage (100-1000%) * @throws {Error} If zoom is out of range */ setPinP2ViewZoom(percent: number): void; /** * Sets the DSK source * @param {InputSource} source - Source to use for DSK */ setDSKSource(source: InputSource): void; /** * Sets the DSK level * @param {number} level - Level value (0-127) * @throws {Error} If level is out of range */ setDSKLevel(level: number): void; /** * Sets the DSK gain * @param {number} gain - Gain value (0-127, converts to 0-255) * @throws {Error} If gain is out of range */ setDSKGain(gain: number): void; /** * Sets the DSK mix level * @param {number} level - Mix level value (0-127, converts to 0-255) * @throws {Error} If level is out of range */ setDSKMixLevel(level: number): void; /** * Sets the SPLIT/VFX A switch state * @param {ButtonState} state - ON or OFF state, defaults to ON */ setSplitVfxASwitch(state?: ButtonState): void; /** * Sets the SPLIT/VFX A effect type * @param {SplitVfxType} type - Effect type to use */ setSplitVfxAType(type: SplitVfxType): void; /** * Sets the SPLIT/VFX B switch state * @param {ButtonState} state - ON or OFF state, defaults to ON */ setSplitVfxBSwitch(state?: ButtonState): void; /** * Sets the SPLIT/VFX B effect type * @param {SplitVfxType} type - Effect type to use */ setSplitVfxBType(type: SplitVfxType): void; /** * Sets the OUTPUT FADE knob counter-clockwise value * @param {number} value - Fade value (0-63) * @throws {Error} If value is out of range */ setOutputFadeCCW(value: number): void; /** * Sets the OUTPUT FADE knob clockwise value * @param {number} value - Fade value (0-63) * @throws {Error} If value is out of range */ setOutputFadeCW(value: number): void; /** * Sets the audio input level for a specific input channel * @param {number} input - Input channel (1-8) * @param {number} level - Level value (0-127) * @throws {Error} If input or level is out of range */ setAudioInputLevel(input: number, level: number): void; /** * Sets the audio level for the AUDIO IN source * @param {number} level - Level value (0-127) * @throws {Error} If level is out of range */ setAudioInLevel(level: number): void; /** * Sets the audio output level * @param {number} level - Level value (0-127) * @throws {Error} If level is out of range */ setAudioOutputLevel(level: number): void; /** * Sets the CUT button state * @param {ButtonState} state - ON or OFF state, defaults to ON */ setCutButton(state?: ButtonState): void; /** * Sets the AUTO button state * @param {ButtonState} state - ON or OFF state, defaults to ON */ setAutoButton(state?: ButtonState): void; /** * Triggers the H CUT I video switch * Performs an immediate cut transition */ triggerHCutI(): void; /** * Triggers the H AUTO TAKE I video switch * Performs an auto transition based on current settings */ triggerHAutoTakeI(): void; /** * Sets the audio input mute state for a specific input channel * @param {number} input - Input channel (1-8) * @param {ButtonState} state - Mute state (ON to mute, OFF to unmute) * @throws {Error} If input is out of range */ setAudioInputMute(input: number, state: ButtonState): void; /** * Sets the AUDIO IN mute state * @param {ButtonState} state - Mute state (ON to mute, OFF to unmute) */ setAudioInMute(state: ButtonState): void; /** * Sets the audio output mute state * @param {ButtonState} state - Mute state (ON to mute, OFF to unmute) */ setAudioOutputMute(state: ButtonState): void; /** * Closes the MIDI connection and releases resources * Call this method when finished using the controller */ close(): void; } //# sourceMappingURL=RolandV8HD.d.ts.map