@nice2dev/ui-audio 1.1.5 → 1.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +52 -0
- package/dist/__benchmarks__/audio-latency.bench.d.ts +0 -1
- package/dist/config/noteSoundSets.d.ts +0 -1
- package/dist/constants/audioColors.d.ts +0 -1
- package/dist/constants/debugKaraoke.d.ts +0 -1
- package/dist/constants/index.d.ts +0 -1
- package/dist/constants/karaokeScoringConfig.d.ts +0 -1
- package/dist/constants/playerColors.d.ts +0 -1
- package/dist/constants/ui.d.ts +0 -1
- package/dist/core/NiceAudioErrorBoundary.d.ts +0 -1
- package/dist/core/audioIcons.d.ts +0 -1
- package/dist/core/i18n.d.ts +0 -1
- package/dist/dmx/DmxChannelControls.d.ts +0 -1
- package/dist/dmx/DmxEditor.d.ts +0 -1
- package/dist/dmx/dmxService.d.ts +0 -1
- package/dist/editor/AudioClipBox.d.ts +0 -1
- package/dist/editor/AudioClipInfo.d.ts +0 -1
- package/dist/editor/AudioEditorPianoRoll.d.ts +0 -1
- package/dist/editor/AudioEditorPianoRollContainer.d.ts +0 -1
- package/dist/editor/AudioLayerDetails.d.ts +0 -1
- package/dist/editor/AudioLayerDetailsContainer.d.ts +0 -1
- package/dist/editor/AudioLayersNavContainer.d.ts +0 -1
- package/dist/editor/AudioMiniMap.d.ts +0 -1
- package/dist/editor/AudioMiniMapContainer.d.ts +0 -1
- package/dist/editor/AudioSourceDetails.d.ts +0 -1
- package/dist/editor/AudioStudio.d.ts +0 -1
- package/dist/editor/AudioTimeline.d.ts +0 -1
- package/dist/editor/AudioTimelineContainer.d.ts +0 -1
- package/dist/editor/AudioTimelineNavContainer.d.ts +0 -1
- package/dist/editor/CCLane.d.ts +0 -1
- package/dist/editor/CCLaneSelector.d.ts +0 -1
- package/dist/editor/NiceSampleBrowser.d.ts +0 -1
- package/dist/editor/PianoRoll.d.ts +0 -1
- package/dist/editor/Waveform.d.ts +0 -1
- package/dist/editor/editorDisplayModes.d.ts +0 -1
- package/dist/editor/editorIO.d.ts +0 -1
- package/dist/editor/hooks/index.d.ts +0 -1
- package/dist/editor/hooks/useAutoSave.d.ts +0 -1
- package/dist/editor/hooks/usePlaybackEngine.d.ts +0 -1
- package/dist/editor/hooks/useProjectCRUD.d.ts +0 -1
- package/dist/editor/hooks/useRecording.d.ts +0 -1
- package/dist/editor/nav/AudioLayersNav.d.ts +0 -1
- package/dist/editor/nav/AudioProjectSectionNav.d.ts +0 -1
- package/dist/editor/nav/AudioTimelineNav.d.ts +0 -1
- package/dist/editor/nav/SaveLoadControls.d.ts +0 -1
- package/dist/editor/panels/AdvancedEditingPanel.d.ts +0 -1
- package/dist/editor/panels/ArpeggiatorPanel.d.ts +0 -1
- package/dist/editor/panels/CCAutomationLaneEditor.d.ts +0 -1
- package/dist/editor/panels/DisplayModeSelector.d.ts +0 -1
- package/dist/editor/panels/EditorPanels.d.ts +0 -1
- package/dist/editor/panels/LFOPanel.d.ts +0 -1
- package/dist/editor/panels/LayerTrack.d.ts +0 -1
- package/dist/editor/panels/ProjectPanel.d.ts +0 -1
- package/dist/editor/panels/SectionPanel.d.ts +0 -1
- package/dist/editor/panels/StepSequencerPanel.d.ts +0 -1
- package/dist/editor/useEditorRecording.d.ts +0 -1
- package/dist/editor/useEditorTrack.d.ts +0 -1
- package/dist/effects/NoteParticles.d.ts +0 -1
- package/dist/effects/NoteRiver.d.ts +0 -1
- package/dist/effects/noteThemeColors.d.ts +0 -1
- package/dist/engine/NiceAudioEffects.d.ts +0 -1
- package/dist/engine/NiceAudioEffectsRack.d.ts +0 -1
- package/dist/engine/NiceAudioWorklet.d.ts +0 -1
- package/dist/engine/NiceMultitrackExport.d.ts +0 -1
- package/dist/engine/audioContext.d.ts +0 -1
- package/dist/engine/audioKeyboard.d.ts +0 -1
- package/dist/engine/audioLayerDetails.d.ts +0 -1
- package/dist/engine/audioPlaybackEngine.d.ts +0 -1
- package/dist/engine/audioProject.d.ts +0 -1
- package/dist/engine/audioSource.d.ts +0 -1
- package/dist/engine/audioTimeline.d.ts +0 -1
- package/dist/engine/audioUtils.d.ts +0 -1
- package/dist/engine/daw-core.d.ts +0 -1
- package/dist/engine/effects-pro.d.ts +0 -1
- package/dist/engine/generate-pitch-points.d.ts +0 -1
- package/dist/engine/instrumentPresets.d.ts +0 -1
- package/dist/engine/karaoke-pro.d.ts +0 -1
- package/dist/engine/midi-pro.d.ts +0 -1
- package/dist/engine/notation.d.ts +0 -1
- package/dist/engine/pitch-worklet-processor.d.ts +0 -1
- package/dist/engine/pitch_client.d.ts +0 -1
- package/dist/engine/recording.d.ts +0 -1
- package/dist/engine/simpleSynth.d.ts +0 -1
- package/dist/engine/sound-design.d.ts +0 -1
- package/dist/hooks/useCCAutomation.d.ts +0 -1
- package/dist/hooks/useStepSequencer.d.ts +0 -1
- package/dist/index.cjs +36 -36
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +6829 -6751
- package/dist/input/AudioInputPicker.d.ts +0 -1
- package/dist/input/VocalEffectsRack.d.ts +0 -1
- package/dist/karaoke/AudioPitchAnalyzer.d.ts +0 -1
- package/dist/karaoke/BarFillEditor.d.ts +0 -1
- package/dist/karaoke/KaraokeLyrics.d.ts +13 -5
- package/dist/karaoke/KaraokeManager.d.ts +0 -1
- package/dist/karaoke/KaraokeSelectionMode.d.ts +4 -2
- package/dist/karaoke/KaraokeSessionJoin.d.ts +5 -3
- package/dist/karaoke/KaraokeSetupPanel.d.ts +5 -4
- package/dist/karaoke/KaraokeSongBrowser.d.ts +0 -1
- package/dist/karaoke/KaraokeSummaryOverlay.d.ts +0 -1
- package/dist/karaoke/KaraokeTimeline.d.ts +0 -1
- package/dist/karaoke/KaraokeUploader.d.ts +0 -1
- package/dist/karaoke/LatencyCalibrator.d.ts +0 -1
- package/dist/karaoke/PadKaraokeOverlay.d.ts +0 -1
- package/dist/karaoke/VocalPerformanceReport.d.ts +30 -10
- package/dist/karaoke/karaokeTimelineTypes.d.ts +0 -1
- package/dist/karaoke/rendering/fontCatalog.d.ts +0 -1
- package/dist/karaoke/rendering/glossyBarCaps.d.ts +0 -1
- package/dist/karaoke/rendering/glossyBarPatterns.d.ts +0 -1
- package/dist/karaoke/rendering/glossyBarRenderer.d.ts +0 -1
- package/dist/karaoke/rendering/karaokeAnimations.d.ts +0 -1
- package/dist/karaoke/rendering/karaokeDisplaySettings.d.ts +0 -1
- package/dist/karaoke/rendering/karaokeLyrics.d.ts +0 -1
- package/dist/karaoke/rendering/karaokeNoteParsing.d.ts +0 -1
- package/dist/karaoke/rendering/karaokeSettings.d.ts +0 -1
- package/dist/karaoke/rendering/karaokeTimeline.d.ts +0 -1
- package/dist/karaoke/rendering/karaokeTimelineRenderer.d.ts +0 -1
- package/dist/karaoke/rendering/karaokeTimelineTypes.d.ts +0 -1
- package/dist/karaoke/rendering/padNotePlayer.d.ts +0 -1
- package/dist/karaoke/rendering/textureCache.d.ts +0 -1
- package/dist/karaoke/rendering/textureCatalog.d.ts +0 -1
- package/dist/karaoke/useKaraokePitch.d.ts +0 -1
- package/dist/karaoke/useKaraokeScoring.d.ts +0 -1
- package/dist/karaokeEditor/KaraokeEditorManager.d.ts +0 -1
- package/dist/karaokeEditor/KaraokePhaserRenderer.d.ts +0 -1
- package/dist/library/MusicLibraryExplorer.d.ts +0 -1
- package/dist/lighting/NiceDMXTimeline.d.ts +0 -1
- package/dist/midi/midiSeedGenerator.d.ts +0 -1
- package/dist/midi/oxygen25Profile.d.ts +9 -10
- package/dist/midi/useMidiLearn.d.ts +0 -1
- package/dist/midi/useOxygen25.d.ts +0 -1
- package/dist/midi/useWebMidi.d.ts +0 -1
- package/dist/models/editor/audioTypes.d.ts +0 -1
- package/dist/models/editor/fxTypes.d.ts +0 -1
- package/dist/models/editor/midiTypes.d.ts +0 -1
- package/dist/models/editor/timelineTypes.d.ts +0 -1
- package/dist/models/game/modelsGame.d.ts +0 -1
- package/dist/models/index.d.ts +0 -1
- package/dist/models/modelsAiAudio.d.ts +0 -1
- package/dist/models/modelsAiVideo.d.ts +1 -2
- package/dist/models/modelsAudio.d.ts +0 -1
- package/dist/models/modelsDmx.d.ts +0 -1
- package/dist/models/modelsEditor.d.ts +0 -1
- package/dist/models/modelsKaraoke.d.ts +0 -1
- package/dist/models/modelsMusicPlatform.d.ts +0 -1
- package/dist/models/modelsPlatforms.d.ts +1 -2
- package/dist/models/modelsPlaylistManager.d.ts +2 -3
- package/dist/models/modelsPlaylists.d.ts +0 -1
- package/dist/player/GenericPlayer.d.ts +0 -1
- package/dist/player/GenericPlayerControls.d.ts +0 -1
- package/dist/player/GenericPlayerStage.d.ts +0 -1
- package/dist/player/GenericPlayerStageVisualizer.d.ts +0 -1
- package/dist/player/GenericPlayerTrackList.d.ts +0 -1
- package/dist/player/YouTubePlayer.d.ts +0 -1
- package/dist/player/nowPlayingAdapter.d.ts +0 -1
- package/dist/player/visualizer/ModeSwitcher.d.ts +0 -1
- package/dist/player/visualizer/StageVisualizer.d.ts +0 -1
- package/dist/player/visualizer/VuOverlay.d.ts +0 -1
- package/dist/player/visualizer/modes/BarsMode.d.ts +0 -1
- package/dist/player/visualizer/modes/BlobFlowMode.d.ts +0 -1
- package/dist/player/visualizer/modes/ColorRipplesMode.d.ts +0 -1
- package/dist/player/visualizer/modes/CoverMode.d.ts +0 -1
- package/dist/player/visualizer/modes/CozyFireplaceMode.d.ts +0 -1
- package/dist/player/visualizer/modes/EqualizerCircleMode.d.ts +0 -1
- package/dist/player/visualizer/modes/GridMode.d.ts +0 -1
- package/dist/player/visualizer/modes/ImageTornadoMode.d.ts +0 -1
- package/dist/player/visualizer/modes/LavaLampMode.d.ts +0 -1
- package/dist/player/visualizer/modes/NeonTrianglesMode.d.ts +0 -1
- package/dist/player/visualizer/modes/OrbitalsMode.d.ts +0 -1
- package/dist/player/visualizer/modes/PaletteMode.d.ts +0 -1
- package/dist/player/visualizer/modes/ParticlesMode.d.ts +0 -1
- package/dist/player/visualizer/modes/PlasmaBallMode.d.ts +0 -1
- package/dist/player/visualizer/modes/RadialMode.d.ts +0 -1
- package/dist/player/visualizer/modes/RaysMode.d.ts +0 -1
- package/dist/player/visualizer/modes/RiftMode.d.ts +0 -1
- package/dist/player/visualizer/modes/RingsMode.d.ts +0 -1
- package/dist/player/visualizer/modes/SpectrumMode.d.ts +0 -1
- package/dist/player/visualizer/modes/StarfieldMode.d.ts +0 -1
- package/dist/player/visualizer/modes/WaveformMode.d.ts +0 -1
- package/dist/player/visualizer/types.d.ts +0 -1
- package/dist/player/visualizer/useLocalStorageState.d.ts +0 -1
- package/dist/playlist/DynamicRuleEditor.d.ts +0 -1
- package/dist/playlist/GenericPlaylist.d.ts +0 -1
- package/dist/playlist/GenericPlaylistItem.d.ts +0 -1
- package/dist/playlist/PlaylistBrowser.d.ts +0 -1
- package/dist/playlist/PlaylistDualPane.d.ts +0 -1
- package/dist/playlist/PlaylistGridView.d.ts +0 -1
- package/dist/playlist/PlaylistImportWizard.d.ts +0 -1
- package/dist/playlist/PlaylistList.d.ts +0 -1
- package/dist/playlist/PlaylistOverview.d.ts +0 -1
- package/dist/playlist/PlaylistSearchBar.d.ts +0 -1
- package/dist/playlist/PlaylistSidebar.d.ts +0 -1
- package/dist/playlist/PlaylistTagEditor.d.ts +0 -1
- package/dist/playlist/PlaylistTrackList.d.ts +0 -1
- package/dist/playlist/useLocalPlaylists.d.ts +0 -1
- package/dist/radio/NiceRadioPlayer.d.ts +2 -4
- package/dist/streaming/NiceStreamingVisualizer.d.ts +0 -1
- package/dist/streaming/NiceVoiceChatOverlay.d.ts +0 -1
- package/dist/streaming/index.d.ts +0 -1
- package/dist/streaming/liveStreamManager.d.ts +0 -1
- package/dist/streaming/useLiveStream.d.ts +0 -1
- package/dist/streaming/webrtcAudio.d.ts +0 -1
- package/dist/ui-audio.css +1 -1
- package/dist/utils/BaseStreamClient.d.ts +0 -1
- package/dist/utils/arpeggiator.d.ts +0 -1
- package/dist/utils/articulationEngine.d.ts +0 -1
- package/dist/utils/audioDragDrop.d.ts +0 -1
- package/dist/utils/audioEditorUtils.d.ts +0 -1
- package/dist/utils/audioFxUtils.d.ts +0 -1
- package/dist/utils/audioMidiUtils.d.ts +0 -1
- package/dist/utils/audioPitchAlgorithms.d.ts +1 -2
- package/dist/utils/audioPitchAnalyzeFile.d.ts +0 -1
- package/dist/utils/audioTimelineUtils.d.ts +0 -1
- package/dist/utils/ccAutomation.d.ts +0 -1
- package/dist/utils/chordScale.d.ts +0 -1
- package/dist/utils/clipLauncher.d.ts +0 -1
- package/dist/utils/colorResolver.d.ts +0 -1
- package/dist/utils/crepeStreaming.d.ts +0 -1
- package/dist/utils/drawTool.d.ts +0 -1
- package/dist/utils/envelopeFollower.d.ts +0 -1
- package/dist/utils/gameAudio.d.ts +0 -1
- package/dist/utils/grooveTemplates.d.ts +0 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/karaokeHelpers.d.ts +0 -1
- package/dist/utils/karaokeMetadata.d.ts +0 -1
- package/dist/utils/karaokeScoring.d.ts +0 -1
- package/dist/utils/latencyEstimate.d.ts +0 -1
- package/dist/utils/lfoEngine.d.ts +0 -1
- package/dist/utils/librosaStreaming.d.ts +0 -1
- package/dist/utils/logger.d.ts +0 -1
- package/dist/utils/macroSystem.d.ts +0 -1
- package/dist/utils/midiCCMapping.d.ts +0 -1
- package/dist/utils/musicPlayerUtils.d.ts +0 -1
- package/dist/utils/padKaraokeSession.d.ts +0 -1
- package/dist/utils/pianoRollUtils.d.ts +0 -1
- package/dist/utils/sanitize.d.ts +0 -1
- package/dist/utils/shortcutManager.d.ts +0 -1
- package/dist/utils/songDataHelpers.d.ts +0 -1
- package/dist/utils/stepSequencer.d.ts +0 -1
- package/dist/utils/undoRedoUtils.d.ts +0 -1
- package/dist/utils/vocalEffectsEngine.d.ts +0 -1
- package/dist/utils/vocalPerformanceMetrics.d.ts +0 -1
- package/dist/workers/audioWorkletProcessor.d.ts +0 -1
- package/dist/workers/pitchWorker.d.ts +0 -1
- package/dist/workers/scoringWorker.d.ts +0 -1
- package/dist/workers/useAudioWorklet.d.ts +0 -1
- package/dist/workers/usePitchWorker.d.ts +0 -1
- package/dist/workers/useScoringWorker.d.ts +0 -1
- package/dist/workers/useWorker.d.ts +0 -1
- package/package.json +4 -4
|
@@ -9,4 +9,3 @@ export type RipplesState = {
|
|
|
9
9
|
items: Ripple[];
|
|
10
10
|
};
|
|
11
11
|
export declare function drawColorRipples(g: CanvasRenderingContext2D, w: number, h: number, energy: number, baseHue: number, stateRef: React.MutableRefObject<RipplesState | null>): void;
|
|
12
|
-
//# sourceMappingURL=ColorRipplesMode.d.ts.map
|
|
@@ -11,4 +11,3 @@ export type FireplaceState = {
|
|
|
11
11
|
t: number;
|
|
12
12
|
};
|
|
13
13
|
export declare function drawCozyFireplace(g: CanvasRenderingContext2D, w: number, h: number, bins: Uint8Array, energy: number, baseHue: number, stateRef: React.MutableRefObject<FireplaceState | null>): void;
|
|
14
|
-
//# sourceMappingURL=CozyFireplaceMode.d.ts.map
|
|
@@ -15,4 +15,3 @@ export type ImageTornadoState = {
|
|
|
15
15
|
};
|
|
16
16
|
export declare function ensureTornadoState(stateRef: React.MutableRefObject<ImageTornadoState | null>, urls: string[], count: number, w: number, h: number): Promise<void>;
|
|
17
17
|
export declare function drawImageTornado(g: CanvasRenderingContext2D, w: number, h: number, energy: number, baseHue: number, stateRef: React.MutableRefObject<ImageTornadoState | null>, _urls: string[], _count: number): void;
|
|
18
|
-
//# sourceMappingURL=ImageTornadoMode.d.ts.map
|
|
@@ -10,4 +10,3 @@ export type LavaBlobState = {
|
|
|
10
10
|
blobs: LavaBlob[];
|
|
11
11
|
};
|
|
12
12
|
export declare function drawLavaLamp(g: CanvasRenderingContext2D, w: number, h: number, energy: number, baseHue: number, stateRef: React.MutableRefObject<LavaBlobState | null>): void;
|
|
13
|
-
//# sourceMappingURL=LavaLampMode.d.ts.map
|
|
@@ -8,4 +8,3 @@ export type TrianglesState = {
|
|
|
8
8
|
};
|
|
9
9
|
export declare function drawNeonTriangles(g: CanvasRenderingContext2D, w: number, h: number, energy: number, baseHue: number, stateRef: React.MutableRefObject<TrianglesState | null>): void;
|
|
10
10
|
export {};
|
|
11
|
-
//# sourceMappingURL=NeonTrianglesMode.d.ts.map
|
|
@@ -10,4 +10,3 @@ export type StarfieldState = {
|
|
|
10
10
|
};
|
|
11
11
|
export declare function ensureStarfield(stateRef: React.MutableRefObject<StarfieldState | null>, count: number, w: number, h: number): void;
|
|
12
12
|
export declare function drawStarfield(g: CanvasRenderingContext2D, w: number, h: number, energy: number, hue: number, stateRef: React.MutableRefObject<StarfieldState | null>): void;
|
|
13
|
-
//# sourceMappingURL=StarfieldMode.d.ts.map
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
export type VisualizerKind = 'youtube' | 'audio' | 'hls';
|
|
2
2
|
export type VisualizerMode = 'video' | 'cover' | 'spectrum' | 'bars' | 'waveform' | 'palette' | 'radial' | 'rays' | 'particles' | 'rings' | 'grid' | 'imageTornado' | 'colorRipples' | 'starfield' | 'orbitals' | 'eqcircle' | 'triangles' | 'blob' | 'plasma' | 'lavaLamp' | 'cozyFire' | 'rift' | 'wave' | 'circle' | 'mirror-bars';
|
|
3
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -19,4 +19,3 @@ export interface GenericPlaylistProps {
|
|
|
19
19
|
export declare const parseLineToSong: (line: string) => SongDescriptorDto | null;
|
|
20
20
|
export declare const GenericPlaylist: React.FC<GenericPlaylistProps>;
|
|
21
21
|
export default GenericPlaylist;
|
|
22
|
-
//# sourceMappingURL=GenericPlaylist.d.ts.map
|
|
@@ -57,10 +57,9 @@ export interface RadioStreamControls {
|
|
|
57
57
|
applyEQPreset: (preset: EQPreset) => void;
|
|
58
58
|
clearEQ: () => void;
|
|
59
59
|
}
|
|
60
|
-
/** Props for {@link NiceRadioPlayer}. */
|
|
61
60
|
export interface NiceRadioPlayerProps {
|
|
62
|
-
/** List of available radio stations. */
|
|
63
|
-
stations
|
|
61
|
+
/** List of available radio stations. Defaults to none. */
|
|
62
|
+
stations?: RadioStation[];
|
|
64
63
|
/** Initially selected station ID. */
|
|
65
64
|
initialStationId?: string;
|
|
66
65
|
/** Auto-play when a station is selected. */
|
|
@@ -138,4 +137,3 @@ export declare function NiceStationBrowser({ stations, activeStationId, onSelect
|
|
|
138
137
|
* ```
|
|
139
138
|
*/
|
|
140
139
|
export declare function NiceRadioPlayer({ stations, initialStationId, autoPlay, eqPresets, onStationChange, onPlayingChange, onMetadata, onToggleFavorite: _onToggleFavorite, onRecordingStart, onRecordingStop, showBrowser, showEqualizer, showVisualizer, showMetadataHistory: _showMetadataHistory, showRecording: _showRecording, showSleepTimer: _showSleepTimer, className, style, }: NiceRadioPlayerProps): React.JSX.Element;
|
|
141
|
-
//# sourceMappingURL=NiceRadioPlayer.d.ts.map
|
|
@@ -83,4 +83,3 @@ export interface StreamingVisualizerRef {
|
|
|
83
83
|
*/
|
|
84
84
|
export declare const NiceStreamingVisualizer: React.ForwardRefExoticComponent<NiceStreamingVisualizerProps & React.RefAttributes<StreamingVisualizerRef>>;
|
|
85
85
|
export default NiceStreamingVisualizer;
|
|
86
|
-
//# sourceMappingURL=NiceStreamingVisualizer.d.ts.map
|
|
@@ -94,4 +94,3 @@ export interface VoiceChatOverlayRef {
|
|
|
94
94
|
*/
|
|
95
95
|
export declare const NiceVoiceChatOverlay: React.ForwardRefExoticComponent<NiceVoiceChatOverlayProps & React.RefAttributes<VoiceChatOverlayRef>>;
|
|
96
96
|
export default NiceVoiceChatOverlay;
|
|
97
|
-
//# sourceMappingURL=NiceVoiceChatOverlay.d.ts.map
|
|
@@ -8,4 +8,3 @@ export { NiceStreamingVisualizer, default as StreamingVisualizer, type NiceStrea
|
|
|
8
8
|
export { NiceVoiceChatOverlay, default as VoiceChatOverlay, type NiceVoiceChatOverlayProps, type VoiceChatOverlayRef, type VoiceChatParticipant, } from './NiceVoiceChatOverlay';
|
|
9
9
|
export { LiveStreamManager, detectStreamProtocol, createLiveStream, type StreamProtocol, type QualityLevel, type LiveStreamConfig, type StreamState, type StreamEvents, type BufferHealth, type StreamMetadata, } from './liveStreamManager';
|
|
10
10
|
export { useLiveStream, type UseLiveStreamOptions, type UseLiveStreamReturn, } from './useLiveStream';
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -108,4 +108,3 @@ export declare function getAudioInputDevices(): Promise<MediaDeviceInfo[]>;
|
|
|
108
108
|
* Create an audio context with optimal settings for voice chat.
|
|
109
109
|
*/
|
|
110
110
|
export declare function createVoiceChatAudioContext(): AudioContext;
|
|
111
|
-
//# sourceMappingURL=webrtcAudio.d.ts.map
|
package/dist/ui-audio.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._panelNarrow_19isp_3{max-width:520px}._panelWide_19isp_9{max-width:820px}._smallLabel_19isp_19{font-size:12px}._noteText_19isp_29{font-size:13px;color:var(--nice-text-secondary, #888)}._buttonRow_19isp_41{display:flex;gap:var(--nice-space-2, 8px)}._noteTextMargin_19isp_49{font-size:13px;color:var(--nice-text-secondary, #888);margin-top:var(--nice-space-1, 4px)}._rangeW100_19isp_63{width:100px}._zoomValue_19isp_69{font-size:12px;min-width:35px}._selectW100_19isp_77{width:100px}._inputW70_19isp_83{width:70px}._masterVolGroup_19isp_93{min-width:min(220px,100%)}._rangeW140_19isp_99{width:140px}._volumeValue_19isp_105{font-size:12px;width:42px;text-align:right}._selectW140_19isp_115{width:140px}._freqGroup_19isp_121{min-width:min(200px,100%)}._freqValue_19isp_127{font-size:12px;width:60px;text-align:right}._narrowGroup_19isp_137{min-width:min(170px,100%)}._rangeW120_19isp_143{width:120px}._smallValue_19isp_149{font-size:12px;width:40px;text-align:right}._presetDivider_19isp_159{border-top:1px solid var(--nice-text, #444)}._presetLabel_19isp_165{font-size:11px;font-weight:600;color:var(--nice-text-muted, #aaa)}._presetBtn_19isp_175{font-size:11px;padding:var(--nice-space-0-5, 2px) var(--nice-space-2, 8px)}._deletePresetSelect_19isp_183{width:140px;font-size:11px}._presetNameInput_19isp_191{width:160px;font-size:11px}._savePresetBtn_19isp_199{font-size:11px;padding:var(--nice-space-0-5, 2px) var(--nice-space-2-5, 10px)}._countInAlert_19isp_211{font-size:12px;color:var(--nice-warning, #f57c00)}._inputW80_19isp_219{width:80px}._levelLabel_19isp_225{font-size:12px;color:var(--nice-text-secondary, #555)}._levelMeter_19isp_233{position:relative;background:var(--nice-bg-secondary, #f1f1f1);height:12px;border-radius:var(--nice-radius-md, 6px);overflow:hidden;width:80px}._levelBar_19isp_249{position:absolute;left:0;top:0;bottom:0;transition:width 80ms linear}.karaoke-summary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--nice-overlay-80, rgba(0, 0, 0, .8));padding:var(--nice-space-6, 24px);z-index:1000;color:var(--nice-bg, #fff)}.karaoke-summary-card{background:linear-gradient(180deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border-radius:var(--nice-radius-2xl, 16px);padding:var(--nice-space-7, 28px);width:min(700px,95vw);max-height:90vh;overflow-y:auto;box-shadow:0 12px 40px var(--nice-overlay-50, rgba(0, 0, 0, .5));display:flex;flex-direction:column;gap:18px}.karaoke-summary-title{margin:0;font-size:1.4rem;font-weight:700;text-align:center;color:var(--nice-text, #e2e8f0)}.karaoke-summary-bars{display:flex;flex-direction:column;gap:var(--nice-space-2-5, 10px)}.karaoke-summary-bar{display:flex;align-items:center;gap:var(--nice-space-2-5, 10px);width:100%}.karaoke-summary-bar-rank{width:32px;flex-shrink:0;text-align:center;font-size:18px}.karaoke-summary-bar-name{width:100px;flex-shrink:0;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.karaoke-summary-bar-track{position:relative;flex:1;height:28px;border-radius:var(--nice-radius-md, 6px);background:var(--bg-secondary);overflow:hidden}.karaoke-summary-bar-fill-bonus,.karaoke-summary-bar-fill-classic{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--nice-radius-md, 6px)}.karaoke-summary-bar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding-right:var(--nice-space-2, 8px);font-size:13px;font-weight:700;color:var(--nice-bg, #fff);text-shadow:0 1px 3px var(--nice-overlay-70, rgba(0, 0, 0, .7))}.karaoke-summary-bar-text-bonus{margin-left:var(--nice-space-1, 4px);font-size:11px}.karaoke-summary-bar-total{width:70px;flex-shrink:0;text-align:right;font-weight:700;font-size:15px;color:var(--nice-warning-light, #fbbf24)}.karaoke-summary-ranks{display:flex;gap:var(--nice-space-4, 16px);flex-wrap:wrap}.karaoke-summary-rank{flex:1;min-width:200px}.karaoke-summary-rank-title{margin:0 0 var(--nice-space-1-5, 6px);font-size:14px;color:var(--nice-text-muted, #94a3b8)}.karaoke-summary-rank-table{width:100%;border-collapse:collapse;font-size:13px}.karaoke-summary-rank-row{border-bottom:1px solid var(--nice-border, #1e293b)}.karaoke-summary-rank-row--hl{background:var(--nice-warning-tint-10, rgba(251, 191, 36, .1))}.karaoke-summary-rank-pos{width:24px;padding:var(--nice-space-0-75, 3px) var(--nice-space-1-5, 6px);color:var(--nice-text-subtle, #64748b)}.karaoke-summary-rank-pos--top{color:var(--nice-warning-light, #fbbf24);font-weight:700}.karaoke-summary-rank-name{padding:var(--nice-space-0-75, 3px) var(--nice-space-1-5, 6px);color:var(--nice-text, #cbd5e1)}.karaoke-summary-rank-row--hl .karaoke-summary-rank-name{font-weight:700}.karaoke-summary-rank-score{padding:var(--nice-space-0-75, 3px) var(--nice-space-1-5, 6px);text-align:right;color:var(--nice-text-muted, #94a3b8)}.karaoke-summary-rank-row--hl .karaoke-summary-rank-score{color:var(--nice-warning-light, #fbbf24)}.karaoke-summary-empty{text-align:center;color:var(--nice-overlay-light-50, rgba(255, 255, 255, .5));font-size:1rem;padding:2rem}.karaoke-summary-actions{display:flex;gap:var(--nice-space-3, 12px);justify-content:flex-end;margin-top:var(--nice-space-1, 4px)}.karaoke-summary-btn{min-width:120px;padding:.7rem 1.5rem;font-size:.95rem;font-weight:700;border:none;border-radius:var(--nice-radius-lg, 8px);cursor:pointer;transition:all .2s ease}.karaoke-summary-btn--report{background:var(--nice-accent, #6366f1);color:var(--nice-bg, #fff)}.karaoke-summary-btn--restart{background:var(--nice-success, #22c55e);color:var(--nice-bg, #fff)}.karaoke-summary-btn--continue{background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));color:var(--nice-bg, #fff);border:1px solid var(--nice-overlay-light-20, rgba(255, 255, 255, .2))}.karaoke-summary-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}@media(max-width:600px){.karaoke-summary-card{padding:18px}.karaoke-summary-bar-name{width:72px}.karaoke-summary-actions{flex-direction:column}.karaoke-summary-btn{width:100%}}.nice-ksb{display:flex;gap:var(--nice-space-4, 16px);width:100%;color:var(--nice-text, #e2e8f0);font-size:14px}.nice-ksb__sidebar{flex:0 0 200px;display:flex;flex-direction:column;gap:var(--nice-space-1, 4px);max-height:600px;overflow-y:auto}.nice-ksb__facet{margin-top:var(--nice-space-2-5, 10px)}.nice-ksb__facet-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--nice-text-muted, #94a3b8);margin:var(--nice-space-1, 4px) var(--nice-space-1-5, 6px)}.nice-ksb__node{display:block;width:100%;text-align:left;padding:var(--nice-space-1-75, 7px) var(--nice-space-2-5, 10px);border:none;border-radius:var(--nice-radius-md, 6px);background:transparent;color:var(--nice-text, #cbd5e1);cursor:pointer;font-size:13px}.nice-ksb__node:hover{background:var(--nice-overlay-light-5, rgba(255, 255, 255, .05))}.nice-ksb__node--active{background:var(--nice-accent-tint-20, rgba(99, 102, 241, .2));color:var(--nice-accent-light, #a5b4fc);font-weight:600}.nice-ksb__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--nice-space-2-5, 10px)}.nice-ksb__toolbar{display:flex;gap:var(--nice-space-2-5, 10px);align-items:center;flex-wrap:wrap}.nice-ksb__search{flex:1;min-width:180px;padding:var(--nice-space-2, 8px) var(--nice-space-3, 12px);border-radius:var(--nice-radius-md, 6px);border:1px solid var(--nice-border, #334155);background:var(--bg-secondary);color:var(--nice-text, #e2e8f0);font-size:14px}.nice-ksb__sort{display:flex;gap:var(--nice-space-1, 4px);flex-wrap:wrap}.nice-ksb__sort-btn{padding:var(--nice-space-1-5, 6px) var(--nice-space-2-5, 10px);border:1px solid var(--nice-border, #334155);border-radius:var(--nice-radius-md, 6px);background:transparent;color:var(--nice-text-muted, #94a3b8);cursor:pointer;font-size:12px;text-transform:capitalize}.nice-ksb__sort-btn--active{background:var(--nice-accent-tint-20, rgba(99, 102, 241, .2));color:var(--nice-accent-light, #a5b4fc);border-color:var(--nice-accent, #6366f1)}.nice-ksb__navhint{display:inline-flex;align-items:center;gap:var(--nice-space-1, 4px);margin-left:auto;padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);border-radius:var(--nice-radius-md, 6px);color:var(--nice-text-muted, #94a3b8);font-size:12px;white-space:nowrap}.nice-ksb__navhint--pad{color:var(--nice-accent-light, #a5b4fc);background:var(--nice-accent-tint-20, rgba(99, 102, 241, .2))}.nice-ksb__navhint-keys{font-variant-numeric:tabular-nums}.nice-ksb__disabled{padding:var(--nice-space-2, 8px) var(--nice-space-3, 12px);border-radius:var(--nice-radius-md, 6px);background:var(--nice-warning-tint-10, rgba(251, 191, 36, .1));color:var(--nice-warning-light, #fbbf24);font-size:13px}.nice-ksb__list{display:flex;flex-direction:column;gap:var(--nice-space-1, 4px);max-height:560px;overflow-y:auto}.nice-ksb__empty{text-align:center;padding:var(--nice-space-8, 32px);color:var(--nice-text-muted, #94a3b8)}.nice-ksb-row{display:flex;align-items:center;gap:var(--nice-space-2-5, 10px);padding:var(--nice-space-1-5, 6px) var(--nice-space-2, 8px);border-radius:var(--nice-radius-md, 8px);cursor:pointer}.nice-ksb-row:hover{background:var(--nice-overlay-light-5, rgba(255, 255, 255, .05))}.nice-ksb-row--selected{background:var(--nice-accent-tint-20, rgba(99, 102, 241, .2))}.nice-ksb-row--active{box-shadow:inset 0 0 0 2px var(--nice-accent, #6366f1);background:var(--nice-overlay-light-5, rgba(255, 255, 255, .05))}.nice-ksb-row:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--nice-accent, #6366f1)}.nice-ksb-row__check{flex:0 0 auto;width:16px;height:16px}.nice-ksb-row__cover{flex:0 0 auto;width:44px;height:44px;border-radius:var(--nice-radius-md, 6px);object-fit:cover;background:var(--bg-tertiary)}.nice-ksb-row__main{flex:1;min-width:0}.nice-ksb-row__title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nice-ksb-row__artist{font-size:12px;color:var(--nice-text-muted, #94a3b8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nice-ksb-row__meta{display:flex;gap:var(--nice-space-1, 4px);flex-wrap:wrap;justify-content:flex-end;max-width:50%}.nice-ksb-badge{font-size:11px;padding:var(--nice-space-0-5, 2px) var(--nice-space-1-75, 7px);border-radius:var(--nice-radius-full, 999px);background:var(--bg-tertiary);color:var(--nice-text-muted, #94a3b8);white-space:nowrap}.nice-ksb-badge--src{background:var(--nice-accent-tint-20, rgba(99, 102, 241, .2));color:var(--nice-accent-light, #a5b4fc)}.nice-ksb-badge--score{background:var(--nice-warning-tint-10, rgba(251, 191, 36, .12));color:var(--nice-warning-light, #fbbf24)}.nice-ksb-row__play{flex:0 0 auto;padding:var(--nice-space-1-5, 6px) var(--nice-space-3-5, 14px);border:none;border-radius:var(--nice-radius-md, 6px);background:var(--nice-accent, #6366f1);color:var(--nice-bg, #fff);cursor:pointer;font-weight:600;font-size:13px}.nice-ksb-row__play:disabled{opacity:.5;cursor:not-allowed}.nice-ksb__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--nice-space-3, 12px);padding-top:var(--nice-space-2, 8px);border-top:1px solid var(--nice-border, #1e293b);color:var(--nice-text-muted, #94a3b8);font-size:13px}.nice-ksb__confirm{padding:var(--nice-space-2, 8px) 18px;border:none;border-radius:var(--nice-radius-md, 6px);background:var(--nice-success, #22c55e);color:var(--nice-bg, #fff);cursor:pointer;font-weight:700}.nice-ksb__confirm:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.nice-ksb{flex-direction:column}.nice-ksb__sidebar{flex-basis:auto;flex-direction:row;flex-wrap:wrap;max-height:none}.nice-ksb-row__meta{display:none}}.nice-fx-rack{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:linear-gradient(180deg,var(--nice-bg, #1a1a2e),var(--nice-bg, #16213e));border-radius:var(--nice-radius-xl, 12px);border:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));font-family:system-ui,-apple-system,sans-serif}.nice-fx-rack--compact{padding:.75rem;gap:.5rem}.nice-fx-rack__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1))}.nice-fx-rack__title{margin:0;font-size:1rem;font-weight:600;color:var(--nice-bg, #FFF)}.nice-fx-rack__count{font-size:.75rem;color:var(--nice-overlay-light-50, rgba(255, 255, 255, .5));padding:.25rem .5rem;background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border-radius:var(--nice-radius-sm, 4px)}.nice-fx-rack__chain{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start;min-height:120px}.nice-fx-rack__slot{display:flex;align-items:center;gap:.5rem}.nice-fx-rack__connector{display:inline-flex;align-items:center;color:var(--nice-overlay-light-30, rgba(255, 255, 255, .3))}.nice-fx-rack__empty{display:flex;align-items:center;justify-content:center;width:100%;min-height:100px;color:var(--nice-overlay-light-30, rgba(255, 255, 255, .3));font-size:.875rem;border:2px dashed var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border-radius:var(--nice-radius-lg, 8px)}.nice-fx-card{display:flex;flex-direction:column;min-width:180px;background:var(--nice-overlay-30, rgba(0, 0, 0, .3));border-radius:var(--nice-radius-lg, 8px);border:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));overflow:hidden;cursor:grab;transition:all .2s ease}.nice-fx-card:hover{border-color:var(--nice-accent-tint-50, rgba(139, 92, 246, .5));box-shadow:0 4px 12px var(--nice-overlay-30, rgba(0, 0, 0, .3))}.nice-fx-card:active{cursor:grabbing}.nice-fx-card--disabled{opacity:.5}.nice-fx-card--drop-target{border-color:var(--nice-success, #22c55e);box-shadow:0 0 0 2px var(--nice-success-tint-30, rgba(34, 197, 94, .3))}.nice-fx-card--compact{min-width:140px}.nice-fx-card__header{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--nice-overlay-light-5, rgba(255, 255, 255, .05));border-bottom:1px solid var(--nice-overlay-light-5, rgba(255, 255, 255, .05))}.nice-fx-card__icon{font-size:1rem}.nice-fx-card__title{flex:1;font-size:.75rem;font-weight:600;color:var(--nice-bg, #FFF);text-transform:uppercase;letter-spacing:.05em}.nice-fx-card__toggle{width:20px;height:20px;padding:0;border:none;display:inline-flex;align-items:center;justify-content:center;background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border-radius:var(--nice-radius-full, 50%);color:var(--nice-overlay-light-50, rgba(255, 255, 255, .5));font-size:.75rem;cursor:pointer;transition:all .2s ease}.nice-fx-card__toggle-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor;background:transparent}.nice-fx-card__toggle--active .nice-fx-card__toggle-dot{background:currentColor}.nice-fx-card__toggle:hover{background:var(--nice-overlay-light-20, rgba(255, 255, 255, .2))}.nice-fx-card__toggle--active{background:var(--nice-success, #22c55e);color:var(--nice-bg, #FFF)}.nice-fx-card__presets{position:relative}.nice-fx-card__preset-btn{width:24px;height:20px;padding:0;border:none;background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border-radius:var(--nice-radius-sm, 4px);color:var(--nice-overlay-light-50, rgba(255, 255, 255, .5));font-size:.625rem;cursor:pointer}.nice-fx-card__preset-btn:hover{background:var(--nice-overlay-light-20, rgba(255, 255, 255, .2))}.nice-fx-card__preset-menu{position:absolute;top:100%;right:0;z-index:100;min-width:120px;margin-top:var(--nice-space-1, 4px);padding:.25rem;background:var(--nice-bg, #1a1a2e);border:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border-radius:var(--nice-radius-md, 6px);box-shadow:0 4px 12px var(--nice-overlay-50, rgba(0, 0, 0, .5))}.nice-fx-card__preset-item{display:block;width:100%;padding:.375rem .5rem;border:none;background:none;color:var(--nice-overlay-light-80, rgba(255, 255, 255, .8));font-size:.75rem;text-align:left;text-transform:capitalize;cursor:pointer;border-radius:var(--nice-radius-sm, 4px)}.nice-fx-card__preset-item:hover{background:var(--nice-accent-tint-30, rgba(139, 92, 246, .3))}.nice-fx-card__remove{width:20px;height:20px;padding:0;border:none;background:none;color:var(--nice-overlay-light-30, rgba(255, 255, 255, .3));font-size:1rem;cursor:pointer;transition:all .2s ease}.nice-fx-card__remove:hover{color:var(--nice-danger, #ef4444)}.nice-fx-card__body{padding:.75rem}.nice-fx-card__controls{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.nice-fx-card__generic{display:flex;justify-content:center}.nice-fx-knob{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:44px}.nice-fx-knob--disabled{opacity:.4;pointer-events:none}.nice-fx-knob__dial{position:relative;width:36px;height:36px;background:linear-gradient(145deg,var(--nice-bg-secondary, #2a2a4a),var(--nice-bg, #1a1a2e));border-radius:var(--nice-radius-full, 50%);border:2px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 2px 8px var(--nice-overlay-30, rgba(0, 0, 0, .3));transition:border-color .2s ease}.nice-fx-knob__dial:hover{border-color:var(--nice-accent-tint-50, rgba(139, 92, 246, .5))}.nice-fx-knob__dial--active{border-color:var(--nice-accent, #8b5cf6)}.nice-fx-knob__indicator{position:absolute;top:4px;left:50%;width:2px;height:8px;background:var(--nice-accent, #8b5cf6);border-radius:var(--nice-radius-xs, 1px);transform:translate(-50%)}.nice-fx-knob__label{font-size:.625rem;color:var(--nice-overlay-light-50, rgba(255, 255, 255, .5));text-transform:uppercase;letter-spacing:.05em;text-align:center}.nice-fx-knob__value{font-size:.625rem;color:var(--nice-overlay-light-80, rgba(255, 255, 255, .8));font-weight:500;text-align:center}.nice-fx-rack__add{position:relative}.nice-fx-rack__add-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:.75rem;border:2px dashed var(--nice-overlay-light-20, rgba(255, 255, 255, .2));border-radius:var(--nice-radius-lg, 8px);background:none;color:var(--nice-overlay-light-50, rgba(255, 255, 255, .5));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.nice-fx-rack__add-btn:hover{border-color:var(--nice-accent-tint-50, rgba(139, 92, 246, .5));color:var(--nice-overlay-light-80, rgba(255, 255, 255, .8));background:var(--nice-accent-tint-10, rgba(139, 92, 246, .1))}.nice-fx-rack__add-menu{position:absolute;bottom:100%;left:0;right:0;z-index:100;display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem;margin-bottom:var(--nice-space-2, 8px);padding:.5rem;background:var(--nice-bg, #1a1a2e);border:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border-radius:var(--nice-radius-lg, 8px);box-shadow:0 -4px 12px var(--nice-overlay-30, rgba(0, 0, 0, .3))}.nice-fx-rack__add-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:none;background:var(--nice-overlay-light-5, rgba(255, 255, 255, .05));border-radius:var(--nice-radius-md, 6px);color:var(--nice-overlay-light-80, rgba(255, 255, 255, .8));font-size:.75rem;cursor:pointer;transition:all .2s ease}.nice-fx-rack__add-item:hover{background:var(--nice-accent-tint-30, rgba(139, 92, 246, .3))}.nice-fx-rack__add-icon{font-size:1rem}.nice-fx-rack__add-label{text-align:left}@media(max-width:600px){.nice-fx-rack{padding:.75rem}.nice-fx-card{min-width:100%}.nice-fx-rack__add-menu{grid-template-columns:1fr}}.nice-dmx-timeline{display:flex;flex-direction:column;height:100%;min-height:300px;background:linear-gradient(to bottom,var(--nice-bg, #1a1a2e),var(--nice-bg, #0f0f1a));border-radius:var(--nice-radius-lg, 8px);overflow:hidden;color:var(--nice-border, #e0e0e0);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px}.nice-dmx-timeline__toolbar{display:flex;align-items:center;gap:var(--nice-space-4, 16px);padding:var(--nice-space-2, 8px) var(--nice-space-3, 12px);background:var(--nice-overlay-30, rgba(0, 0, 0, .3));border-bottom:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1))}.nice-dmx-timeline__transport{display:flex;gap:var(--nice-space-1, 4px)}.nice-dmx-timeline__transport button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--nice-accent-tint-30, rgba(139, 92, 246, .3));border:none;border-radius:var(--nice-radius-sm, 4px);color:var(--nice-bg, #FFF);cursor:pointer;font-size:14px;transition:all .15s}.nice-dmx-timeline__transport button:hover{background:var(--nice-accent-tint-50, rgba(139, 92, 246, .5))}.nice-dmx-timeline__transport button:active{transform:scale(.95)}.nice-dmx-timeline__time{font-family:Consolas,Monaco,monospace;font-size:18px;font-weight:600;color:var(--nice-info, #22d3ee);min-width:100px}.nice-dmx-timeline__tools{display:flex;align-items:center;gap:var(--nice-space-1, 4px)}.nice-dmx-timeline__tools button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border:none;border-radius:var(--nice-radius-sm, 4px);color:var(--nice-text-muted, #aaa);cursor:pointer;transition:all .15s}.nice-dmx-timeline__tools button:hover{background:var(--nice-overlay-light-20, rgba(255, 255, 255, .2));color:var(--nice-bg, #FFF)}.nice-dmx-timeline__tools button.active{background:var(--nice-accent-tint-40, rgba(139, 92, 246, .4));color:var(--nice-bg, #FFF)}.nice-dmx-timeline__zoom{font-size:11px;color:var(--nice-text-secondary, #888);min-width:40px;text-align:center}.nice-dmx-timeline__bpm{display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);font-size:12px;color:var(--nice-text-secondary, #888)}.nice-dmx-timeline__bpm span{color:var(--nice-accent-pink, #f472b6);font-weight:600}.nice-dmx-timeline__blackout{margin-left:auto;padding:var(--nice-space-1-5, 6px) var(--nice-space-3, 12px);background:var(--nice-danger-tint-30, rgba(239, 68, 68, .3));border:none;border-radius:var(--nice-radius-sm, 4px);color:var(--nice-bg, #FFF);cursor:pointer;font-size:14px;transition:all .15s}.nice-dmx-timeline__blackout:hover{background:#ef444480}.nice-dmx-timeline__content{flex:1;display:flex;overflow:hidden}.nice-dmx-timeline__headers{width:180px;min-width:150px;background:var(--nice-overlay-20, rgba(0, 0, 0, .2));border-right:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));overflow-y:auto;padding-top:var(--nice-space-8, 32px)}.nice-dmx-timeline__header{display:flex;align-items:center;gap:var(--nice-space-2, 8px);height:48px;padding:0 var(--nice-space-3, 12px);border-bottom:1px solid var(--nice-overlay-light-5, rgba(255, 255, 255, .05));cursor:pointer;transition:background .15s}.nice-dmx-timeline__header:hover{background:var(--nice-accent-tint-10, rgba(139, 92, 246, .1))}.nice-dmx-timeline__header--selected{background:var(--nice-accent-tint-20, rgba(139, 92, 246, .2))}.nice-dmx-timeline__track-color{width:8px;height:8px;border-radius:var(--nice-radius-full, 50%)}.nice-dmx-timeline__track-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nice-dmx-timeline__track-controls{display:flex;gap:var(--nice-space-1, 4px)}.nice-dmx-timeline__track-controls button{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border:none;border-radius:var(--nice-radius-sm, 3px);color:var(--nice-text-secondary, #888);cursor:pointer;font-size:10px;transition:all .15s}.nice-dmx-timeline__track-controls button:hover{background:var(--nice-overlay-light-20, rgba(255, 255, 255, .2));color:var(--nice-bg, #FFF)}.nice-dmx-timeline__track-controls button.active{background:var(--nice-danger-tint-40, rgba(239, 68, 68, .4));color:var(--nice-bg, #FFF)}.nice-dmx-timeline__add-track{width:100%;padding:var(--nice-space-3, 12px);background:none;border:none;border-top:1px dashed var(--nice-overlay-light-10, rgba(255, 255, 255, .1));color:var(--nice-text-secondary, #666);cursor:pointer;text-align:center;transition:all .15s}.nice-dmx-timeline__add-track:hover{background:var(--nice-accent-tint-10, rgba(139, 92, 246, .1));color:var(--nice-accent, #8b5cf6)}.nice-dmx-timeline__tracks{flex:1;overflow:auto;position:relative}.nice-dmx-timeline__ruler{position:sticky;top:0;height:32px;background:var(--nice-overlay-40, rgba(0, 0, 0, .4));border-bottom:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));z-index:10}.nice-dmx-timeline__beat{position:absolute;top:0;bottom:0;width:1px;background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1))}.nice-dmx-timeline__beat--measure{background:var(--nice-overlay-light-30, rgba(255, 255, 255, .3))}.nice-dmx-timeline__beat-label{position:absolute;top:4px;left:4px;font-size:10px;color:var(--nice-text-secondary, #888)}.nice-dmx-timeline__track{position:relative;height:48px;border-bottom:1px solid var(--nice-overlay-light-5, rgba(255, 255, 255, .05));background:linear-gradient(90deg,var(--nice-overlay-light-2, rgba(255, 255, 255, .02)) 0%,transparent 1px,transparent 100%);background-size:100px 100%}.nice-dmx-timeline__track--muted{opacity:.4}.nice-dmx-timeline__cue{position:absolute;top:4px;height:calc(100% - 8px);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;overflow:hidden;transition:box-shadow .15s}.nice-dmx-timeline__cue:hover{box-shadow:0 0 0 2px var(--nice-overlay-light-30, rgba(255, 255, 255, .3))}.nice-dmx-timeline__cue--selected{box-shadow:0 0 0 2px var(--nice-bg, #FFF)}.nice-dmx-timeline__cue-name{position:absolute;top:4px;left:6px;right:6px;font-size:11px;font-weight:500;color:var(--nice-bg, #FFF);text-shadow:0 1px 2px var(--nice-overlay-50, rgba(0, 0, 0, .5));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nice-dmx-timeline__cue-fade{position:absolute;top:0;bottom:0;background:linear-gradient(to right,var(--nice-overlay-80, rgba(0, 0, 0, .8)),transparent)}.nice-dmx-timeline__cue-fade--in{left:0}.nice-dmx-timeline__cue-fade--out{right:0;transform:scaleX(-1)}.nice-dmx-timeline__playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--nice-danger, #ef4444);z-index:20;pointer-events:none}.nice-dmx-timeline__playhead:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--nice-danger, #ef4444)}.nice-dmx-timeline__tracks::-webkit-scrollbar,.nice-dmx-timeline__headers::-webkit-scrollbar{width:8px;height:8px}.nice-dmx-timeline__tracks::-webkit-scrollbar-track,.nice-dmx-timeline__headers::-webkit-scrollbar-track{background:transparent}.nice-dmx-timeline__tracks::-webkit-scrollbar-thumb,.nice-dmx-timeline__headers::-webkit-scrollbar-thumb{background:var(--nice-overlay-light-20, rgba(255, 255, 255, .2));border-radius:var(--nice-radius-sm, 4px)}.nice-dmx-timeline__tracks::-webkit-scrollbar-thumb:hover,.nice-dmx-timeline__headers::-webkit-scrollbar-thumb:hover{background:var(--nice-overlay-light-30, rgba(255, 255, 255, .3))}@media(max-width:768px){.nice-dmx-timeline__toolbar{flex-wrap:wrap;gap:var(--nice-space-2, 8px)}.nice-dmx-timeline__headers{width:120px;min-width:100px}.nice-dmx-timeline__track-controls,.nice-dmx-timeline__bpm{display:none}}
|
|
1
|
+
._panelNarrow_19isp_3{max-width:520px}._panelWide_19isp_9{max-width:820px}._smallLabel_19isp_19{font-size:12px}._noteText_19isp_29{font-size:13px;color:var(--nice-text-secondary, #888)}._buttonRow_19isp_41{display:flex;gap:var(--nice-space-2, 8px)}._noteTextMargin_19isp_49{font-size:13px;color:var(--nice-text-secondary, #888);margin-top:var(--nice-space-1, 4px)}._rangeW100_19isp_63{width:100px}._zoomValue_19isp_69{font-size:12px;min-width:35px}._selectW100_19isp_77{width:100px}._inputW70_19isp_83{width:70px}._masterVolGroup_19isp_93{min-width:min(220px,100%)}._rangeW140_19isp_99{width:140px}._volumeValue_19isp_105{font-size:12px;width:42px;text-align:right}._selectW140_19isp_115{width:140px}._freqGroup_19isp_121{min-width:min(200px,100%)}._freqValue_19isp_127{font-size:12px;width:60px;text-align:right}._narrowGroup_19isp_137{min-width:min(170px,100%)}._rangeW120_19isp_143{width:120px}._smallValue_19isp_149{font-size:12px;width:40px;text-align:right}._presetDivider_19isp_159{border-top:1px solid var(--nice-text, #444)}._presetLabel_19isp_165{font-size:11px;font-weight:600;color:var(--nice-text-muted, #aaa)}._presetBtn_19isp_175{font-size:11px;padding:var(--nice-space-0-5, 2px) var(--nice-space-2, 8px)}._deletePresetSelect_19isp_183{width:140px;font-size:11px}._presetNameInput_19isp_191{width:160px;font-size:11px}._savePresetBtn_19isp_199{font-size:11px;padding:var(--nice-space-0-5, 2px) var(--nice-space-2-5, 10px)}._countInAlert_19isp_211{font-size:12px;color:var(--nice-warning, #f57c00)}._inputW80_19isp_219{width:80px}._levelLabel_19isp_225{font-size:12px;color:var(--nice-text-secondary, #555)}._levelMeter_19isp_233{position:relative;background:var(--nice-bg-secondary, #f1f1f1);height:12px;border-radius:var(--nice-radius-md, 6px);overflow:hidden;width:80px}._levelBar_19isp_249{position:absolute;left:0;top:0;bottom:0;transition:width 80ms linear}.karaoke-summary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--nice-overlay-80, rgba(0, 0, 0, .8));padding:var(--nice-space-6, 24px);z-index:1000;color:var(--nice-bg, #fff)}.karaoke-summary-card{background:linear-gradient(180deg,var(--nice-bg-tertiary) 0%,var(--nice-bg-secondary) 100%);border-radius:var(--nice-radius-2xl, 16px);padding:var(--nice-space-7, 28px);width:min(700px,95vw);max-height:90vh;overflow-y:auto;box-shadow:0 12px 40px var(--nice-overlay-50, rgba(0, 0, 0, .5));display:flex;flex-direction:column;gap:18px}.karaoke-summary-title{margin:0;font-size:1.4rem;font-weight:700;text-align:center;color:var(--nice-text, #e2e8f0)}.karaoke-summary-bars{display:flex;flex-direction:column;gap:var(--nice-space-2-5, 10px)}.karaoke-summary-bar{display:flex;align-items:center;gap:var(--nice-space-2-5, 10px);width:100%}.karaoke-summary-bar-rank{width:32px;flex-shrink:0;text-align:center;font-size:18px}.karaoke-summary-bar-name{width:100px;flex-shrink:0;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.karaoke-summary-bar-track{position:relative;flex:1;height:28px;border-radius:var(--nice-radius-md, 6px);background:var(--nice-bg-secondary);overflow:hidden}.karaoke-summary-bar-fill-bonus,.karaoke-summary-bar-fill-classic{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--nice-radius-md, 6px)}.karaoke-summary-bar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding-right:var(--nice-space-2, 8px);font-size:13px;font-weight:700;color:var(--nice-bg, #fff);text-shadow:0 1px 3px var(--nice-overlay-70, rgba(0, 0, 0, .7))}.karaoke-summary-bar-text-bonus{margin-left:var(--nice-space-1, 4px);font-size:11px}.karaoke-summary-bar-total{width:70px;flex-shrink:0;text-align:right;font-weight:700;font-size:15px;color:var(--nice-warning-light, #fbbf24)}.karaoke-summary-ranks{display:flex;gap:var(--nice-space-4, 16px);flex-wrap:wrap}.karaoke-summary-rank{flex:1;min-width:200px}.karaoke-summary-rank-title{margin:0 0 var(--nice-space-1-5, 6px);font-size:14px;color:var(--nice-text-muted, #94a3b8)}.karaoke-summary-rank-table{width:100%;border-collapse:collapse;font-size:13px}.karaoke-summary-rank-row{border-bottom:1px solid var(--nice-border, #1e293b)}.karaoke-summary-rank-row--hl{background:var(--nice-warning-tint-10, rgba(251, 191, 36, .1))}.karaoke-summary-rank-pos{width:24px;padding:var(--nice-space-0-75, 3px) var(--nice-space-1-5, 6px);color:var(--nice-text-subtle, #64748b)}.karaoke-summary-rank-pos--top{color:var(--nice-warning-light, #fbbf24);font-weight:700}.karaoke-summary-rank-name{padding:var(--nice-space-0-75, 3px) var(--nice-space-1-5, 6px);color:var(--nice-text, #cbd5e1)}.karaoke-summary-rank-row--hl .karaoke-summary-rank-name{font-weight:700}.karaoke-summary-rank-score{padding:var(--nice-space-0-75, 3px) var(--nice-space-1-5, 6px);text-align:right;color:var(--nice-text-muted, #94a3b8)}.karaoke-summary-rank-row--hl .karaoke-summary-rank-score{color:var(--nice-warning-light, #fbbf24)}.karaoke-summary-empty{text-align:center;color:var(--nice-overlay-light-50, rgba(255, 255, 255, .5));font-size:1rem;padding:2rem}.karaoke-summary-actions{display:flex;gap:var(--nice-space-3, 12px);justify-content:flex-end;margin-top:var(--nice-space-1, 4px)}.karaoke-summary-btn{min-width:120px;padding:.7rem 1.5rem;font-size:.95rem;font-weight:700;border:none;border-radius:var(--nice-radius-lg, 8px);cursor:pointer;transition:all .2s ease}.karaoke-summary-btn--report{background:var(--nice-accent, #6366f1);color:var(--nice-bg, #fff)}.karaoke-summary-btn--restart{background:var(--nice-success, #22c55e);color:var(--nice-bg, #fff)}.karaoke-summary-btn--continue{background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));color:var(--nice-bg, #fff);border:1px solid var(--nice-overlay-light-20, rgba(255, 255, 255, .2))}.karaoke-summary-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}@media(max-width:600px){.karaoke-summary-card{padding:18px}.karaoke-summary-bar-name{width:72px}.karaoke-summary-actions{flex-direction:column}.karaoke-summary-btn{width:100%}}.nice-ksb{display:flex;gap:var(--nice-space-4, 16px);width:100%;color:var(--nice-text, #e2e8f0);font-size:14px}.nice-ksb__sidebar{flex:0 0 200px;display:flex;flex-direction:column;gap:var(--nice-space-1, 4px);max-height:600px;overflow-y:auto}.nice-ksb__facet{margin-top:var(--nice-space-2-5, 10px)}.nice-ksb__facet-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--nice-text-muted, #94a3b8);margin:var(--nice-space-1, 4px) var(--nice-space-1-5, 6px)}.nice-ksb__node{display:block;width:100%;text-align:left;padding:var(--nice-space-1-75, 7px) var(--nice-space-2-5, 10px);border:none;border-radius:var(--nice-radius-md, 6px);background:transparent;color:var(--nice-text, #cbd5e1);cursor:pointer;font-size:13px}.nice-ksb__node:hover{background:var(--nice-overlay-light-5, rgba(255, 255, 255, .05))}.nice-ksb__node--active{background:var(--nice-accent-tint-20, rgba(99, 102, 241, .2));color:var(--nice-accent-light, #a5b4fc);font-weight:600}.nice-ksb__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--nice-space-2-5, 10px)}.nice-ksb__toolbar{display:flex;gap:var(--nice-space-2-5, 10px);align-items:center;flex-wrap:wrap}.nice-ksb__search{flex:1;min-width:180px;padding:var(--nice-space-2, 8px) var(--nice-space-3, 12px);border-radius:var(--nice-radius-md, 6px);border:1px solid var(--nice-border, #334155);background:var(--nice-bg-secondary);color:var(--nice-text, #e2e8f0);font-size:14px}.nice-ksb__sort{display:flex;gap:var(--nice-space-1, 4px);flex-wrap:wrap}.nice-ksb__sort-btn{padding:var(--nice-space-1-5, 6px) var(--nice-space-2-5, 10px);border:1px solid var(--nice-border, #334155);border-radius:var(--nice-radius-md, 6px);background:transparent;color:var(--nice-text-muted, #94a3b8);cursor:pointer;font-size:12px;text-transform:capitalize}.nice-ksb__sort-btn--active{background:var(--nice-accent-tint-20, rgba(99, 102, 241, .2));color:var(--nice-accent-light, #a5b4fc);border-color:var(--nice-accent, #6366f1)}.nice-ksb__navhint{display:inline-flex;align-items:center;gap:var(--nice-space-1, 4px);margin-left:auto;padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);border-radius:var(--nice-radius-md, 6px);color:var(--nice-text-muted, #94a3b8);font-size:12px;white-space:nowrap}.nice-ksb__navhint--pad{color:var(--nice-accent-light, #a5b4fc);background:var(--nice-accent-tint-20, rgba(99, 102, 241, .2))}.nice-ksb__navhint-keys{font-variant-numeric:tabular-nums}.nice-ksb__disabled{padding:var(--nice-space-2, 8px) var(--nice-space-3, 12px);border-radius:var(--nice-radius-md, 6px);background:var(--nice-warning-tint-10, rgba(251, 191, 36, .1));color:var(--nice-warning-light, #fbbf24);font-size:13px}.nice-ksb__list{display:flex;flex-direction:column;gap:var(--nice-space-1, 4px);max-height:560px;overflow-y:auto}.nice-ksb__empty{text-align:center;padding:var(--nice-space-8, 32px);color:var(--nice-text-muted, #94a3b8)}.nice-ksb-row{display:flex;align-items:center;gap:var(--nice-space-2-5, 10px);padding:var(--nice-space-1-5, 6px) var(--nice-space-2, 8px);border-radius:var(--nice-radius-md, 8px);cursor:pointer}.nice-ksb-row:hover{background:var(--nice-overlay-light-5, rgba(255, 255, 255, .05))}.nice-ksb-row--selected{background:var(--nice-accent-tint-20, rgba(99, 102, 241, .2))}.nice-ksb-row--active{box-shadow:inset 0 0 0 2px var(--nice-accent, #6366f1);background:var(--nice-overlay-light-5, rgba(255, 255, 255, .05))}.nice-ksb-row:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--nice-accent, #6366f1)}.nice-ksb-row__check{flex:0 0 auto;width:16px;height:16px}.nice-ksb-row__cover{flex:0 0 auto;width:44px;height:44px;border-radius:var(--nice-radius-md, 6px);object-fit:cover;background:var(--nice-bg-tertiary)}.nice-ksb-row__main{flex:1;min-width:0}.nice-ksb-row__title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nice-ksb-row__artist{font-size:12px;color:var(--nice-text-muted, #94a3b8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nice-ksb-row__meta{display:flex;gap:var(--nice-space-1, 4px);flex-wrap:wrap;justify-content:flex-end;max-width:50%}.nice-ksb-badge{font-size:11px;padding:var(--nice-space-0-5, 2px) var(--nice-space-1-75, 7px);border-radius:var(--nice-radius-full, 999px);background:var(--nice-bg-tertiary);color:var(--nice-text-muted, #94a3b8);white-space:nowrap}.nice-ksb-badge--src{background:var(--nice-accent-tint-20, rgba(99, 102, 241, .2));color:var(--nice-accent-light, #a5b4fc)}.nice-ksb-badge--score{background:var(--nice-warning-tint-10, rgba(251, 191, 36, .12));color:var(--nice-warning-light, #fbbf24)}.nice-ksb-row__play{flex:0 0 auto;padding:var(--nice-space-1-5, 6px) var(--nice-space-3-5, 14px);border:none;border-radius:var(--nice-radius-md, 6px);background:var(--nice-accent, #6366f1);color:var(--nice-bg, #fff);cursor:pointer;font-weight:600;font-size:13px}.nice-ksb-row__play:disabled{opacity:.5;cursor:not-allowed}.nice-ksb__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--nice-space-3, 12px);padding-top:var(--nice-space-2, 8px);border-top:1px solid var(--nice-border, #1e293b);color:var(--nice-text-muted, #94a3b8);font-size:13px}.nice-ksb__confirm{padding:var(--nice-space-2, 8px) 18px;border:none;border-radius:var(--nice-radius-md, 6px);background:var(--nice-success, #22c55e);color:var(--nice-bg, #fff);cursor:pointer;font-weight:700}.nice-ksb__confirm:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.nice-ksb{flex-direction:column}.nice-ksb__sidebar{flex-basis:auto;flex-direction:row;flex-wrap:wrap;max-height:none}.nice-ksb-row__meta{display:none}}.nice-fx-rack{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:linear-gradient(180deg,var(--nice-bg, #1a1a2e),var(--nice-bg, #16213e));border-radius:var(--nice-radius-xl, 12px);border:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));font-family:system-ui,-apple-system,sans-serif}.nice-fx-rack--compact{padding:.75rem;gap:.5rem}.nice-fx-rack__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1))}.nice-fx-rack__title{margin:0;font-size:1rem;font-weight:600;color:var(--nice-bg, #fff)}.nice-fx-rack__count{font-size:.75rem;color:var(--nice-overlay-light-50, rgba(255, 255, 255, .5));padding:.25rem .5rem;background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border-radius:var(--nice-radius-sm, 4px)}.nice-fx-rack__chain{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start;min-height:120px}.nice-fx-rack__slot{display:flex;align-items:center;gap:.5rem}.nice-fx-rack__connector{display:inline-flex;align-items:center;color:var(--nice-overlay-light-30, rgba(255, 255, 255, .3))}.nice-fx-rack__empty{display:flex;align-items:center;justify-content:center;width:100%;min-height:100px;color:var(--nice-overlay-light-30, rgba(255, 255, 255, .3));font-size:.875rem;border:2px dashed var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border-radius:var(--nice-radius-lg, 8px)}.nice-fx-card{display:flex;flex-direction:column;min-width:180px;background:var(--nice-overlay-30, rgba(0, 0, 0, .3));border-radius:var(--nice-radius-lg, 8px);border:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));overflow:hidden;cursor:grab;transition:all .2s ease}.nice-fx-card:hover{border-color:var(--nice-accent-tint-50, rgba(139, 92, 246, .5));box-shadow:0 4px 12px var(--nice-overlay-30, rgba(0, 0, 0, .3))}.nice-fx-card:active{cursor:grabbing}.nice-fx-card--disabled{opacity:.5}.nice-fx-card--drop-target{border-color:var(--nice-success, #22c55e);box-shadow:0 0 0 2px var(--nice-success-tint-30, rgba(34, 197, 94, .3))}.nice-fx-card--compact{min-width:140px}.nice-fx-card__header{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--nice-overlay-light-5, rgba(255, 255, 255, .05));border-bottom:1px solid var(--nice-overlay-light-5, rgba(255, 255, 255, .05))}.nice-fx-card__icon{font-size:1rem}.nice-fx-card__title{flex:1;font-size:.75rem;font-weight:600;color:var(--nice-bg, #fff);text-transform:uppercase;letter-spacing:.05em}.nice-fx-card__toggle{width:20px;height:20px;padding:0;border:none;display:inline-flex;align-items:center;justify-content:center;background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border-radius:var(--nice-radius-full, 50%);color:var(--nice-overlay-light-50, rgba(255, 255, 255, .5));font-size:.75rem;cursor:pointer;transition:all .2s ease}.nice-fx-card__toggle-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor;background:transparent}.nice-fx-card__toggle--active .nice-fx-card__toggle-dot{background:currentColor}.nice-fx-card__toggle:hover{background:var(--nice-overlay-light-20, rgba(255, 255, 255, .2))}.nice-fx-card__toggle--active{background:var(--nice-success, #22c55e);color:var(--nice-bg, #fff)}.nice-fx-card__presets{position:relative}.nice-fx-card__preset-btn{width:24px;height:20px;padding:0;border:none;background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border-radius:var(--nice-radius-sm, 4px);color:var(--nice-overlay-light-50, rgba(255, 255, 255, .5));font-size:.625rem;cursor:pointer}.nice-fx-card__preset-btn:hover{background:var(--nice-overlay-light-20, rgba(255, 255, 255, .2))}.nice-fx-card__preset-menu{position:absolute;top:100%;right:0;z-index:100;min-width:120px;margin-top:var(--nice-space-1, 4px);padding:.25rem;background:var(--nice-bg, #1a1a2e);border:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border-radius:var(--nice-radius-md, 6px);box-shadow:0 4px 12px var(--nice-overlay-50, rgba(0, 0, 0, .5))}.nice-fx-card__preset-item{display:block;width:100%;padding:.375rem .5rem;border:none;background:none;color:var(--nice-overlay-light-80, rgba(255, 255, 255, .8));font-size:.75rem;text-align:left;text-transform:capitalize;cursor:pointer;border-radius:var(--nice-radius-sm, 4px)}.nice-fx-card__preset-item:hover{background:var(--nice-accent-tint-30, rgba(139, 92, 246, .3))}.nice-fx-card__remove{width:20px;height:20px;padding:0;border:none;background:none;color:var(--nice-overlay-light-30, rgba(255, 255, 255, .3));font-size:1rem;cursor:pointer;transition:all .2s ease}.nice-fx-card__remove:hover{color:var(--nice-danger, #ef4444)}.nice-fx-card__body{padding:.75rem}.nice-fx-card__controls{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.nice-fx-card__generic{display:flex;justify-content:center}.nice-fx-knob{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:44px}.nice-fx-knob--disabled{opacity:.4;pointer-events:none}.nice-fx-knob__dial{position:relative;width:36px;height:36px;background:linear-gradient(145deg,var(--nice-bg-secondary, #2a2a4a),var(--nice-bg, #1a1a2e));border-radius:var(--nice-radius-full, 50%);border:2px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 2px 8px var(--nice-overlay-30, rgba(0, 0, 0, .3));transition:border-color .2s ease}.nice-fx-knob__dial:hover{border-color:var(--nice-accent-tint-50, rgba(139, 92, 246, .5))}.nice-fx-knob__dial--active{border-color:var(--nice-accent, #8b5cf6)}.nice-fx-knob__indicator{position:absolute;top:4px;left:50%;width:2px;height:8px;background:var(--nice-accent, #8b5cf6);border-radius:var(--nice-radius-xs, 1px);transform:translate(-50%)}.nice-fx-knob__label{font-size:.625rem;color:var(--nice-overlay-light-50, rgba(255, 255, 255, .5));text-transform:uppercase;letter-spacing:.05em;text-align:center}.nice-fx-knob__value{font-size:.625rem;color:var(--nice-overlay-light-80, rgba(255, 255, 255, .8));font-weight:500;text-align:center}.nice-fx-rack__add{position:relative}.nice-fx-rack__add-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:.75rem;border:2px dashed var(--nice-overlay-light-20, rgba(255, 255, 255, .2));border-radius:var(--nice-radius-lg, 8px);background:none;color:var(--nice-overlay-light-50, rgba(255, 255, 255, .5));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.nice-fx-rack__add-btn:hover{border-color:var(--nice-accent-tint-50, rgba(139, 92, 246, .5));color:var(--nice-overlay-light-80, rgba(255, 255, 255, .8));background:var(--nice-accent-tint-10, rgba(139, 92, 246, .1))}.nice-fx-rack__add-menu{position:absolute;bottom:100%;left:0;right:0;z-index:100;display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem;margin-bottom:var(--nice-space-2, 8px);padding:.5rem;background:var(--nice-bg, #1a1a2e);border:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border-radius:var(--nice-radius-lg, 8px);box-shadow:0 -4px 12px var(--nice-overlay-30, rgba(0, 0, 0, .3))}.nice-fx-rack__add-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:none;background:var(--nice-overlay-light-5, rgba(255, 255, 255, .05));border-radius:var(--nice-radius-md, 6px);color:var(--nice-overlay-light-80, rgba(255, 255, 255, .8));font-size:.75rem;cursor:pointer;transition:all .2s ease}.nice-fx-rack__add-item:hover{background:var(--nice-accent-tint-30, rgba(139, 92, 246, .3))}.nice-fx-rack__add-icon{font-size:1rem}.nice-fx-rack__add-label{text-align:left}@media(max-width:600px){.nice-fx-rack{padding:.75rem}.nice-fx-card{min-width:100%}.nice-fx-rack__add-menu{grid-template-columns:1fr}}.nice-dmx-timeline{display:flex;flex-direction:column;height:100%;min-height:300px;background:linear-gradient(to bottom,var(--nice-bg, #1a1a2e),var(--nice-bg, #0f0f1a));border-radius:var(--nice-radius-lg, 8px);overflow:hidden;color:var(--nice-border, #e0e0e0);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px}.nice-dmx-timeline__toolbar{display:flex;align-items:center;gap:var(--nice-space-4, 16px);padding:var(--nice-space-2, 8px) var(--nice-space-3, 12px);background:var(--nice-overlay-30, rgba(0, 0, 0, .3));border-bottom:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1))}.nice-dmx-timeline__transport{display:flex;gap:var(--nice-space-1, 4px)}.nice-dmx-timeline__transport button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--nice-accent-tint-30, rgba(139, 92, 246, .3));border:none;border-radius:var(--nice-radius-sm, 4px);color:var(--nice-bg, #fff);cursor:pointer;font-size:14px;transition:all .15s}.nice-dmx-timeline__transport button:hover{background:var(--nice-accent-tint-50, rgba(139, 92, 246, .5))}.nice-dmx-timeline__transport button:active{transform:scale(.95)}.nice-dmx-timeline__time{font-family:Consolas,Monaco,monospace;font-size:18px;font-weight:600;color:var(--nice-info, #22d3ee);min-width:100px}.nice-dmx-timeline__tools{display:flex;align-items:center;gap:var(--nice-space-1, 4px)}.nice-dmx-timeline__tools button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border:none;border-radius:var(--nice-radius-sm, 4px);color:var(--nice-text-muted, #aaa);cursor:pointer;transition:all .15s}.nice-dmx-timeline__tools button:hover{background:var(--nice-overlay-light-20, rgba(255, 255, 255, .2));color:var(--nice-bg, #fff)}.nice-dmx-timeline__tools button.active{background:var(--nice-accent-tint-40, rgba(139, 92, 246, .4));color:var(--nice-bg, #fff)}.nice-dmx-timeline__zoom{font-size:11px;color:var(--nice-text-secondary, #888);min-width:40px;text-align:center}.nice-dmx-timeline__bpm{display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);font-size:12px;color:var(--nice-text-secondary, #888)}.nice-dmx-timeline__bpm span{color:var(--nice-accent-pink, #f472b6);font-weight:600}.nice-dmx-timeline__blackout{margin-left:auto;padding:var(--nice-space-1-5, 6px) var(--nice-space-3, 12px);background:var(--nice-danger-tint-30, rgba(239, 68, 68, .3));border:none;border-radius:var(--nice-radius-sm, 4px);color:var(--nice-bg, #fff);cursor:pointer;font-size:14px;transition:all .15s}.nice-dmx-timeline__blackout:hover{background:#ef444480}.nice-dmx-timeline__content{flex:1;display:flex;overflow:hidden}.nice-dmx-timeline__headers{width:180px;min-width:150px;background:var(--nice-overlay-20, rgba(0, 0, 0, .2));border-right:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));overflow-y:auto;padding-top:var(--nice-space-8, 32px)}.nice-dmx-timeline__header{display:flex;align-items:center;gap:var(--nice-space-2, 8px);height:48px;padding:0 var(--nice-space-3, 12px);border-bottom:1px solid var(--nice-overlay-light-5, rgba(255, 255, 255, .05));cursor:pointer;transition:background .15s}.nice-dmx-timeline__header:hover{background:var(--nice-accent-tint-10, rgba(139, 92, 246, .1))}.nice-dmx-timeline__header--selected{background:var(--nice-accent-tint-20, rgba(139, 92, 246, .2))}.nice-dmx-timeline__track-color{width:8px;height:8px;border-radius:var(--nice-radius-full, 50%)}.nice-dmx-timeline__track-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nice-dmx-timeline__track-controls{display:flex;gap:var(--nice-space-1, 4px)}.nice-dmx-timeline__track-controls button{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1));border:none;border-radius:var(--nice-radius-sm, 3px);color:var(--nice-text-secondary, #888);cursor:pointer;font-size:10px;transition:all .15s}.nice-dmx-timeline__track-controls button:hover{background:var(--nice-overlay-light-20, rgba(255, 255, 255, .2));color:var(--nice-bg, #fff)}.nice-dmx-timeline__track-controls button.active{background:var(--nice-danger-tint-40, rgba(239, 68, 68, .4));color:var(--nice-bg, #fff)}.nice-dmx-timeline__add-track{width:100%;padding:var(--nice-space-3, 12px);background:none;border:none;border-top:1px dashed var(--nice-overlay-light-10, rgba(255, 255, 255, .1));color:var(--nice-text-secondary, #666);cursor:pointer;text-align:center;transition:all .15s}.nice-dmx-timeline__add-track:hover{background:var(--nice-accent-tint-10, rgba(139, 92, 246, .1));color:var(--nice-accent, #8b5cf6)}.nice-dmx-timeline__tracks{flex:1;overflow:auto;position:relative}.nice-dmx-timeline__ruler{position:sticky;top:0;height:32px;background:var(--nice-overlay-40, rgba(0, 0, 0, .4));border-bottom:1px solid var(--nice-overlay-light-10, rgba(255, 255, 255, .1));z-index:10}.nice-dmx-timeline__beat{position:absolute;top:0;bottom:0;width:1px;background:var(--nice-overlay-light-10, rgba(255, 255, 255, .1))}.nice-dmx-timeline__beat--measure{background:var(--nice-overlay-light-30, rgba(255, 255, 255, .3))}.nice-dmx-timeline__beat-label{position:absolute;top:4px;left:4px;font-size:10px;color:var(--nice-text-secondary, #888)}.nice-dmx-timeline__track{position:relative;height:48px;border-bottom:1px solid var(--nice-overlay-light-5, rgba(255, 255, 255, .05));background:linear-gradient(90deg,var(--nice-overlay-light-2, rgba(255, 255, 255, .02)) 0%,transparent 1px,transparent 100%);background-size:100px 100%}.nice-dmx-timeline__track--muted{opacity:.4}.nice-dmx-timeline__cue{position:absolute;top:4px;height:calc(100% - 8px);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;overflow:hidden;transition:box-shadow .15s}.nice-dmx-timeline__cue:hover{box-shadow:0 0 0 2px var(--nice-overlay-light-30, rgba(255, 255, 255, .3))}.nice-dmx-timeline__cue--selected{box-shadow:0 0 0 2px var(--nice-bg, #fff)}.nice-dmx-timeline__cue-name{position:absolute;top:4px;left:6px;right:6px;font-size:11px;font-weight:500;color:var(--nice-bg, #fff);text-shadow:0 1px 2px var(--nice-overlay-50, rgba(0, 0, 0, .5));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nice-dmx-timeline__cue-fade{position:absolute;top:0;bottom:0;background:linear-gradient(to right,var(--nice-overlay-80, rgba(0, 0, 0, .8)),transparent)}.nice-dmx-timeline__cue-fade--in{left:0}.nice-dmx-timeline__cue-fade--out{right:0;transform:scaleX(-1)}.nice-dmx-timeline__playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--nice-danger, #ef4444);z-index:20;pointer-events:none}.nice-dmx-timeline__playhead:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--nice-danger, #ef4444)}.nice-dmx-timeline__tracks::-webkit-scrollbar,.nice-dmx-timeline__headers::-webkit-scrollbar{width:8px;height:8px}.nice-dmx-timeline__tracks::-webkit-scrollbar-track,.nice-dmx-timeline__headers::-webkit-scrollbar-track{background:transparent}.nice-dmx-timeline__tracks::-webkit-scrollbar-thumb,.nice-dmx-timeline__headers::-webkit-scrollbar-thumb{background:var(--nice-overlay-light-20, rgba(255, 255, 255, .2));border-radius:var(--nice-radius-sm, 4px)}.nice-dmx-timeline__tracks::-webkit-scrollbar-thumb:hover,.nice-dmx-timeline__headers::-webkit-scrollbar-thumb:hover{background:var(--nice-overlay-light-30, rgba(255, 255, 255, .3))}@media(max-width:768px){.nice-dmx-timeline__toolbar{flex-wrap:wrap;gap:var(--nice-space-2, 8px)}.nice-dmx-timeline__headers{width:120px;min-width:100px}.nice-dmx-timeline__track-controls,.nice-dmx-timeline__bpm{display:none}}
|
|
@@ -3,4 +3,3 @@ export declare function addEffectToLayer(setLayerSettings: React.Dispatch<React.
|
|
|
3
3
|
export declare function removeEffectFromLayer(setLayerSettings: React.Dispatch<React.SetStateAction<Record<number, LayerSettings>>>, layerId: number, effectId: string): void;
|
|
4
4
|
export declare function toggleEffectBypass(setLayerSettings: React.Dispatch<React.SetStateAction<Record<number, LayerSettings>>>, layerId: number, effectId: string): void;
|
|
5
5
|
export declare function updateEffectParams(setLayerSettings: React.Dispatch<React.SetStateAction<Record<number, LayerSettings>>>, layerId: number, effectId: string, params: Record<string, number>): void;
|
|
6
|
-
//# sourceMappingURL=audioFxUtils.d.ts.map
|
|
@@ -15,4 +15,3 @@ export declare function handleSelectCCLane(setLayerCCType: React.Dispatch<React.
|
|
|
15
15
|
export declare function handleAddCCEvent(setLayerMidiCC: React.Dispatch<React.SetStateAction<Record<number, MidiCCEvent[]>>>, layerId: number, cc: number, value: number, time: number): void;
|
|
16
16
|
export declare function handleUpdateCCEvent(setLayerMidiCC: React.Dispatch<React.SetStateAction<Record<number, MidiCCEvent[]>>>, layerId: number, id: number, value: number, time: number, handleType?: 'linear' | 'step' | 'exp'): void;
|
|
17
17
|
export declare function handleRemoveCCEvent(setLayerMidiCC: React.Dispatch<React.SetStateAction<Record<number, MidiCCEvent[]>>>, layerId: number, id: number): void;
|
|
18
|
-
//# sourceMappingURL=audioMidiUtils.d.ts.map
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export type PitchAlgorithm =
|
|
1
|
+
export type PitchAlgorithm = 'pitchy' | 'crepe' | 'ultrastarws' | 'librosa';
|
|
2
2
|
export declare function generateUltrastarText(algorithm: PitchAlgorithm): string;
|
|
3
|
-
//# sourceMappingURL=audioPitchAlgorithms.d.ts.map
|
|
@@ -23,4 +23,3 @@ export declare function analyzeAudioFileWithAlgorithm(file: File, algorithm: Pit
|
|
|
23
23
|
/** Optional librosa backend. Required when algorithm==='librosa'. */
|
|
24
24
|
postLibrosaPitchTrack?: (file: File) => Promise<PitchTrackResult>;
|
|
25
25
|
}): Promise<PitchSegment[]>;
|
|
26
|
-
//# sourceMappingURL=audioPitchAnalyzeFile.d.ts.map
|
|
@@ -2,4 +2,3 @@ import { WaveformData } from '../models/editor/timelineTypes';
|
|
|
2
2
|
export declare function snapToGrid(time: number, snapMode: 'beat' | 'bar' | 'off', bpm: number, quantize?: number): number;
|
|
3
3
|
export declare function mergeWaveforms(waveforms: WaveformData[]): WaveformData;
|
|
4
4
|
export declare function generatePlaceholderWaveform(duration: number, sampleRate?: number): WaveformData;
|
|
5
|
-
//# sourceMappingURL=audioTimelineUtils.d.ts.map
|
|
@@ -48,4 +48,3 @@ export declare function thinCCEvents(events: MidiCCEvent[], keepEveryN?: number)
|
|
|
48
48
|
export declare function exportCCLane(events: MidiCCEvent[]): string;
|
|
49
49
|
/** Deserialize CC events from JSON string */
|
|
50
50
|
export declare function importCCLane(json: string): MidiCCEvent[];
|
|
51
|
-
//# sourceMappingURL=ccAutomation.d.ts.map
|
|
@@ -94,4 +94,3 @@ export declare function addTrack(state: ClipLauncherState, name?: string): ClipL
|
|
|
94
94
|
export declare function getPlayingClips(state: ClipLauncherState): LauncherClip[];
|
|
95
95
|
/** Duplicate a clip to a new position */
|
|
96
96
|
export declare function duplicateClip(state: ClipLauncherState, clipId: string, targetTrackId: string, targetScene: number): ClipLauncherState;
|
|
97
|
-
//# sourceMappingURL=clipLauncher.d.ts.map
|
package/dist/utils/drawTool.d.ts
CHANGED
|
@@ -28,4 +28,3 @@ export declare function smoothEvents(events: MidiCCEvent[], windowSize?: number)
|
|
|
28
28
|
export declare function snapValues(events: MidiCCEvent[], divisions?: number): MidiCCEvent[];
|
|
29
29
|
/** Apply draw tool with given config to generate events */
|
|
30
30
|
export declare function applyDrawTool(config: DrawToolConfig, points: DrawPoint[]): MidiCCEvent[];
|
|
31
|
-
//# sourceMappingURL=drawTool.d.ts.map
|
|
@@ -43,4 +43,3 @@ export declare function analyzeBufferToCC(audioBuffer: AudioBuffer, config: Enve
|
|
|
43
43
|
* Returns the processor source as a string for use with AudioWorkletNode.
|
|
44
44
|
*/
|
|
45
45
|
export declare function getEnvelopeFollowerWorkletCode(): string;
|
|
46
|
-
//# sourceMappingURL=envelopeFollower.d.ts.map
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -58,4 +58,3 @@ export declare function toTrack(song: KaraokeSongFile, gameMode: string | undefi
|
|
|
58
58
|
* `KaraokeSongFile`. Accepts an `any`-ish input shape and normalises it.
|
|
59
59
|
*/
|
|
60
60
|
export declare function convertBrowserSongToKaraokeSongFile(initialSong: Record<string, unknown>): KaraokeSongFile;
|
|
61
|
-
//# sourceMappingURL=karaokeHelpers.d.ts.map
|
|
@@ -24,4 +24,3 @@ export declare function getCoverUrl(metadata: VideoMetadata, baseUrl?: string):
|
|
|
24
24
|
* Constructs background URL based on metadata.
|
|
25
25
|
*/
|
|
26
26
|
export declare function getBackgroundUrl(metadata: VideoMetadata, baseUrl?: string): string;
|
|
27
|
-
//# sourceMappingURL=karaokeMetadata.d.ts.map
|
|
@@ -52,4 +52,3 @@ export declare function sampleLFOForDisplay(config: LFOConfig, width: number, he
|
|
|
52
52
|
}[];
|
|
53
53
|
export declare function serializeLFO(config: LFOConfig): string;
|
|
54
54
|
export declare function deserializeLFO(json: string): LFOConfig | null;
|
|
55
|
-
//# sourceMappingURL=lfoEngine.d.ts.map
|
package/dist/utils/logger.d.ts
CHANGED
|
@@ -4,4 +4,3 @@ export declare const isM3U8: (u?: string) => boolean;
|
|
|
4
4
|
export declare const isAudioFile: (u?: string) => boolean;
|
|
5
5
|
export declare const formatTime: (sec: number) => string;
|
|
6
6
|
export declare function extractVideoId(url?: string): string;
|
|
7
|
-
//# sourceMappingURL=musicPlayerUtils.d.ts.map
|
|
@@ -47,4 +47,3 @@ export declare function evaluateHit(padIndex: number, pressTimeMs: number, expec
|
|
|
47
47
|
export declare function calculateResult(hits: PadKaraokeHit[], totalNotes: number): PadKaraokeResult;
|
|
48
48
|
/** Generate a key mapping label for UI display */
|
|
49
49
|
export declare function getPadKeyLabel(padIndex: number, keyCount: number): string;
|
|
50
|
-
//# sourceMappingURL=padKaraokeSession.d.ts.map
|
|
@@ -55,4 +55,3 @@ export declare function snapLoopToGrid(region: LoopRegion, quantize: QuantizeVal
|
|
|
55
55
|
export declare function isInLoopRegion(time: number, region: LoopRegion): boolean;
|
|
56
56
|
/** Calculate loop-wrapped time (if time exceeds end, wrap back to start). */
|
|
57
57
|
export declare function wrapTimeInLoop(time: number, region: LoopRegion): number;
|
|
58
|
-
//# sourceMappingURL=pianoRollUtils.d.ts.map
|
package/dist/utils/sanitize.d.ts
CHANGED