Task 1: Schema, events, and progress types - Add library_id to CreateAudioFile SQL INSERT and regenerate sqlc code - Add LibraryScanQueued and LibraryScanQueueDrained event constants - Regenerate TypeScript events via genevents - Add LibraryID, LibraryName, QueuedCount to ScanProgress - Add LibraryID, LibraryName to ScanMetrics - Add libraryID field to importResult for threading through pipeline Task 2: Scan queue coordinator and per-library scanning - Create scan_queue.go with ScanLibrary(id), ScanAllLibraries() - Add CancelCurrentScan(), CancelAllScans() for queue-aware cancellation - FIFO scan queue with silent dedup (same library already scanning or queued) - Refactor Scan() -> scanInternal(libraryID, libraryName, libraryPath) - Replace GetAllAudioFiles with GetAudioFilesByLibrary for per-library loading - Thread libraryID through DB writer to set CreateAudioFileParams.LibraryID - drainQueue auto-starts next queued library or emits LibraryScanQueueDrained - Pause freezes current scan AND queue - Add GetScanQueueLength() and QueuedLibraryNames() for UI - Mark CancelScan() and Scan() as deprecated
51 lines
1.5 KiB
TypeScript
Executable File
51 lines
1.5 KiB
TypeScript
Executable File
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
|
|
// This file is automatically generated. DO NOT EDIT
|
|
import {library} from '../models';
|
|
import {context} from '../models';
|
|
|
|
export function CancelAllScans():Promise<void>;
|
|
|
|
export function CancelCurrentScan():Promise<void>;
|
|
|
|
export function CancelScan():Promise<void>;
|
|
|
|
export function FullRescan():Promise<library.ScanMetrics>;
|
|
|
|
export function GetAlbumTracks(arg1:number):Promise<Array<library.Track>>;
|
|
|
|
export function GetAlbumsByArtist(arg1:number):Promise<Array<library.Album>>;
|
|
|
|
export function GetAllAlbums():Promise<Array<library.Album>>;
|
|
|
|
export function GetAllArtists():Promise<Array<library.Artist>>;
|
|
|
|
export function GetAllGenresWithCounts():Promise<Array<library.GenreWithCount>>;
|
|
|
|
export function GetAllTracks():Promise<Array<library.Track>>;
|
|
|
|
export function GetScanQueueLength():Promise<number>;
|
|
|
|
export function GetTracksByGenre(arg1:string):Promise<Array<library.Track>>;
|
|
|
|
export function IsScanActive():Promise<boolean>;
|
|
|
|
export function IsScanPaused():Promise<boolean>;
|
|
|
|
export function PauseScan():Promise<void>;
|
|
|
|
export function QueuedLibraryNames():Promise<Array<string>>;
|
|
|
|
export function ResumeScan():Promise<void>;
|
|
|
|
export function Scan():Promise<library.ScanMetrics>;
|
|
|
|
export function ScanAllLibraries():Promise<void>;
|
|
|
|
export function ScanLibrary(arg1:number):Promise<void>;
|
|
|
|
export function SearchTracks(arg1:string):Promise<Array<library.Track>>;
|
|
|
|
export function SetContext(arg1:context.Context):Promise<void>;
|
|
|
|
export function SetRescanHooks(arg1:library.RescanHooks):Promise<void>;
|