Add core MCP server implementation and Ross Talk protocol handler: types.ts
This commit is contained in:
parent
0bb71d63bb
commit
f269e7a638
1 changed files with 69 additions and 0 deletions
69
src/types.ts
Normal file
69
src/types.ts
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
export interface RossUltrixState {
|
||||||
|
connected: boolean;
|
||||||
|
panels: Record<string, PanelStatus>;
|
||||||
|
inputs: Record<string, InputStatus>;
|
||||||
|
lastUpdate: Date;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PanelStatus {
|
||||||
|
id: string;
|
||||||
|
active: boolean;
|
||||||
|
mixEffect?: string;
|
||||||
|
lastUpdate: Date;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface InputStatus {
|
||||||
|
id: string;
|
||||||
|
name: string;
|
||||||
|
live: boolean;
|
||||||
|
preview: boolean;
|
||||||
|
lastUpdate: Date;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RossTalkConfig {
|
||||||
|
host: string;
|
||||||
|
port: number;
|
||||||
|
onStateChange?: (state: Partial<RossUltrixState>) => void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RossCommand {
|
||||||
|
type: 'take' | 'auto' | 'preview' | 'program' | 'panel' | 'macro' | 'status';
|
||||||
|
target?: string;
|
||||||
|
parameters?: Record<string, any>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RossSource {
|
||||||
|
id: string;
|
||||||
|
name: string;
|
||||||
|
type: 'camera' | 'media' | 'cg' | 'aux' | 'color' | 'test';
|
||||||
|
available: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RossPanel {
|
||||||
|
id: string;
|
||||||
|
name: string;
|
||||||
|
active: boolean;
|
||||||
|
mixEffect?: string;
|
||||||
|
type: 'me' | 'aux' | 'dsk';
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RossMacro {
|
||||||
|
id: string;
|
||||||
|
name: string;
|
||||||
|
description?: string;
|
||||||
|
parameters?: Record<string, any>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RossTransition {
|
||||||
|
type: 'cut' | 'mix' | 'dip' | 'wipe';
|
||||||
|
duration?: number;
|
||||||
|
parameters?: Record<string, any>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RossMixEffect {
|
||||||
|
id: string;
|
||||||
|
program: string | null;
|
||||||
|
preview: string | null;
|
||||||
|
transition: RossTransition;
|
||||||
|
inTransition: boolean;
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue