84 lines
1.6 KiB
TypeScript
84 lines
1.6 KiB
TypeScript
|
|
interface SourceData {
|
|
type: string; // "audio"
|
|
title: string; // "Musescore audio"
|
|
nid: number;
|
|
}
|
|
|
|
type CommentData = any;
|
|
|
|
interface PartData {
|
|
part: {
|
|
name: string;
|
|
program: number;
|
|
}
|
|
}
|
|
|
|
interface Metadata {
|
|
title: string;
|
|
subtitle?: string;
|
|
composer?: string;
|
|
poet?: string;
|
|
pages: number;
|
|
measures: number;
|
|
lyrics: number;
|
|
chordnames: number;
|
|
keysig: number;
|
|
duration: number;
|
|
dimensions: number;
|
|
parts: PartData[];
|
|
}
|
|
|
|
interface ScoreJson {
|
|
id: number;
|
|
vid: number;
|
|
dates: {
|
|
revised: number;
|
|
};
|
|
secret: string;
|
|
permalink: string;
|
|
custom_url: string;
|
|
format: string; // "0"
|
|
has_custom_audio: 0 | 1;
|
|
metadata: Metadata;
|
|
}
|
|
|
|
interface UrlsData {
|
|
midi: string;
|
|
mp3: string;
|
|
space: string;
|
|
image_path: string;
|
|
media?: string[];
|
|
}
|
|
|
|
interface AccessControlData {
|
|
enabled: boolean;
|
|
hasAccess: boolean;
|
|
}
|
|
|
|
interface PianoKeyboardData extends AccessControlData {
|
|
midiUrl: string;
|
|
}
|
|
|
|
interface PianoRollData extends AccessControlData {
|
|
resourcesUrl: string;
|
|
feedbackUrl: string;
|
|
forceShow: boolean;
|
|
}
|
|
|
|
export interface ScorePlayerData {
|
|
embed: boolean;
|
|
sources: SourceData[];
|
|
default_source?: SourceData;
|
|
mixer?: string;
|
|
secondaryMixer?: string;
|
|
bucket?: string; // "https://musescore.com/static/musescore/scoredata"
|
|
json: ScoreJson;
|
|
render_vector: boolean;
|
|
comments: CommentData[];
|
|
score_id: number;
|
|
urls: UrlsData;
|
|
sendEvents?: boolean;
|
|
pianoKeyboard: PianoKeyboardData;
|
|
pianoRoll: PianoRollData;
|
|
}
|