RemoveFromLibrary deletes the audio_files rows the way the scan's own orphan cleanup does and records each path in excluded_paths. The exclusion is not an enhancement: without it the next scan finds the file, sees no row and imports it again, so the button undoes itself. The soft scan compares files on disk against rows in the database, so surveyAudioFiles and countAudioFiles both take the exclusion set — otherwise an excluded path makes the two disagree forever and queues a full scan on every launch. Deleting a row cascades to queue_tracks, so the removal calls the same CompactQueue hook RemoveLibrary does. Also lands the requested badge: library-status-indicator is a button again where it can act, utils/library-status.ts states once what owning and wanting mean, and the long-declared queued state finally has a producer. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UDCbcCZQepnpSQYJ6SxxZm
121 lines
4.2 KiB
TypeScript
Executable File
121 lines
4.2 KiB
TypeScript
Executable File
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
|
|
// This file is automatically generated. DO NOT EDIT
|
|
import {explore} from '../models';
|
|
import {context} from '../models';
|
|
import {time} from '../models';
|
|
import {jobs} from '../models';
|
|
|
|
export function AdoptPausedIndexBuild():Promise<void>;
|
|
|
|
export function BackfillLibraryDiscographies():Promise<void>;
|
|
|
|
export function BackfillLibraryLyrics():Promise<void>;
|
|
|
|
export function BackfillReleaseGroupMBIDs():Promise<void>;
|
|
|
|
export function BrowseReleaseGroups(arg1:string):Promise<Array<explore.MBReleaseGroup>>;
|
|
|
|
export function BrowseReleases(arg1:string):Promise<Array<explore.MBRelease>>;
|
|
|
|
export function CAALimiter():Promise<explore.RateLimiter>;
|
|
|
|
export function CheckLibraryMBIDs(arg1:Array<string>):Promise<Record<string, string>>;
|
|
|
|
export function CoreCatalogImported():Promise<boolean>;
|
|
|
|
export function CoverArtGroupURL(arg1:string):Promise<string>;
|
|
|
|
export function CoverArtURL(arg1:string):Promise<string>;
|
|
|
|
export function GenerateMix(arg1:context.Context,arg2:Array<string>,arg3:boolean):Promise<Array<string>>;
|
|
|
|
export function GetArtistImageCached(arg1:string):Promise<string>;
|
|
|
|
export function GetArtistImageCachedPath(arg1:string):Promise<string>;
|
|
|
|
export function GetArtistImageURL(arg1:string):Promise<string>;
|
|
|
|
export function GetArtistImagesCachedPaths(arg1:Array<string>):Promise<Record<string, string>>;
|
|
|
|
export function GetArtistMBID(arg1:string):Promise<string>;
|
|
|
|
export function GetArtistPlayCount(arg1:string):Promise<number>;
|
|
|
|
export function GetCandidateThumbnail(arg1:string,arg2:string):Promise<string>;
|
|
|
|
export function GetExploreShelves():Promise<explore.ShelfPage>;
|
|
|
|
export function GetIndexStatus():Promise<explore.IndexStatus>;
|
|
|
|
export function GetLibrarySimilarArtists(arg1:string):Promise<Array<explore.LBSimilarArtist>>;
|
|
|
|
export function GetThumbnail(arg1:string,arg2:string,arg3:string):Promise<string>;
|
|
|
|
export function GetThumbnails(arg1:Array<explore.ThumbnailRequest>):Promise<Record<string, string>>;
|
|
|
|
export function GetTrackLyrics(arg1:number):Promise<explore.TrackLyrics>;
|
|
|
|
export function GetTrackThumbnail(arg1:string,arg2:string,arg3:string,arg4:string):Promise<string>;
|
|
|
|
export function GetTrackThumbnails(arg1:Array<explore.TrackThumbnailRequest>):Promise<Record<string, string>>;
|
|
|
|
export function IndexBaselineSeries():Promise<number>;
|
|
|
|
export function IndexImportComplete():Promise<boolean>;
|
|
|
|
export function IndexLastImported():Promise<time.Time>;
|
|
|
|
export function InvalidateIndexDiscographies():Promise<void>;
|
|
|
|
export function InvalidateLibrarySync():Promise<void>;
|
|
|
|
export function IsIndexReady():Promise<boolean>;
|
|
|
|
export function LookupArtist(arg1:string):Promise<explore.MBArtist>;
|
|
|
|
export function LookupReleaseGroup(arg1:string):Promise<explore.MBReleaseGroup>;
|
|
|
|
export function MusicBrainz():Promise<explore.MusicBrainzClient>;
|
|
|
|
export function PopulateLocalCrossReferences():Promise<void>;
|
|
|
|
export function PopulateLocalCrossReferencesIfNeeded():Promise<void>;
|
|
|
|
export function PrefetchReleases(arg1:Array<string>):Promise<void>;
|
|
|
|
export function PrepareIndexRebuild():Promise<void>;
|
|
|
|
export function RebuildLyricsIndex():Promise<void>;
|
|
|
|
export function RebuildLyricsIndexIfNeeded():Promise<void>;
|
|
|
|
export function RecordSearchClick(arg1:string,arg2:string,arg3:string):Promise<void>;
|
|
|
|
export function RefreshIndexNow(arg1:time.Duration):Promise<void>;
|
|
|
|
export function RefreshListenCounts():Promise<void>;
|
|
|
|
export function ResolveReleaseGroupMBIDs(arg1:Array<string>):Promise<Record<string, string>>;
|
|
|
|
export function SearchLocal(arg1:string):Promise<explore.MBSearchResult>;
|
|
|
|
export function SearchLyrics(arg1:string):Promise<Array<explore.LyricsResult>>;
|
|
|
|
export function SetAlbumComplete(arg1:explore.AlbumCompleteFunc):Promise<void>;
|
|
|
|
export function SetContext(arg1:context.Context):Promise<void>;
|
|
|
|
export function SetJobRegistry(arg1:jobs.Registry):Promise<void>;
|
|
|
|
export function SimilarArtists(arg1:string):Promise<Array<explore.LBSimilarArtist>>;
|
|
|
|
export function StartIndexBuild():Promise<void>;
|
|
|
|
export function StopIndexBuild():Promise<void>;
|
|
|
|
export function TopRecordingsForArtist(arg1:string):Promise<Array<explore.LBTopRecording>>;
|
|
|
|
export function TopReleaseGroupsForArtist(arg1:string):Promise<Array<explore.LBTopReleaseGroup>>;
|
|
|
|
export function WaitForIndexIdle():Promise<void>;
|