SYMBOL INDEX (941 symbols across 248 files) FILE: config/webpack.plugins.ts method apply (line 12) | apply(compiler: any) { FILE: res/.service/request-forwarder.js function forwardRequest (line 10) | function forwardRequest(clientRes, url, method, headers) { function safeParse (line 51) | function safeParse(data) { function startServer (line 60) | function startServer(port) { FILE: scripts/feishu-upload.js class FeishuFileUploader (line 11) | class FeishuFileUploader { method constructor (line 12) | constructor(appId, appSecret, tenantAccessToken = null) { method getTenantAccessToken (line 31) | async getTenantAccessToken() { method calculateAdler32 (line 74) | calculateAdler32(buffer) { method delay (line 103) | delay(ms) { method withRetry (line 110) | async withRetry(operation, operationName) { method isRetryableError (line 139) | isRetryableError(error) { method uploadSmallFile (line 155) | async uploadSmallFile(filePath, fileName, parentNode) { method uploadPrepare (line 179) | async uploadPrepare(fileName, parentNode, fileSize) { method uploadPart (line 201) | async uploadPart(uploadId, seq, chunkBuffer) { method uploadFinish (line 233) | async uploadFinish(uploadId, blockNum) { method uploadLargeFile (line 255) | async uploadLargeFile(filePath, fileName, parentNode) { method uploadFile (line 300) | async uploadFile(filePath, fileName, parentNode) { function main (line 339) | async function main() { FILE: src/common/async-memoize.ts function asyncMemoize (line 2) | function asyncMemoize Promise>(callb... FILE: src/common/camel-to-snake.ts function camelToSnake (line 1) | function camelToSnake(camelCaseStr: string): string { FILE: src/common/constant.ts type RequestStateCode (line 30) | enum RequestStateCode { type IShortCutKeys (line 81) | type IShortCutKeys = keyof IAppConfig["shortCut.shortcuts"]; type ResourceName (line 107) | enum ResourceName { type DownloadState (line 118) | enum DownloadState { type TrackPlayerSyncType (line 144) | enum TrackPlayerSyncType { type PlayerState (line 155) | enum PlayerState { type RepeatMode (line 167) | enum RepeatMode { type WindowType (line 178) | enum WindowType { type WindowRole (line 184) | enum WindowRole { FILE: src/common/event-wrapper.ts class EventWrapper (line 4) | class EventWrapper { method constructor (line 7) | constructor() { method on (line 16) | on( method once (line 23) | once( method emit (line 30) | emit( method off (line 37) | off( method use (line 44) | use( FILE: src/common/file-util.ts function getB64Picture (line 9) | function getB64Picture(picture: IPicture) { function parseLocalMusicItem (line 15) | async function parseLocalMusicItem( function parseLocalMusicItemFolder (line 100) | async function parseLocalMusicItemFolder( function addFileScheme (line 127) | function addFileScheme(filePath: string) { function addTailSlash (line 133) | function addTailSlash(filePath: string) { function safeStat (line 139) | async function safeStat( FILE: src/common/index-map.ts type IIndexMap (line 1) | interface IIndexMap { function createIndexMap (line 7) | function createIndexMap(mediaItems?: IMedia.IMediaBase[]): IIndexMap { FILE: src/common/is-renderer.ts function isRenderer (line 1) | function isRenderer() { FILE: src/common/media-util.ts function isSameMedia (line 11) | function isSameMedia( function resetMediaItem (line 21) | function resetMediaItem( function getMediaPrimaryKey (line 42) | function getMediaPrimaryKey(mediaItem: IMedia.IUnique) { function sortByTimestampAndIndex (line 49) | function sortByTimestampAndIndex(array: any[], newArray = false) { function addSortProperty (line 62) | function addSortProperty( function flatMediaItem (line 83) | function flatMediaItem(mediaItem: T) { function removeInternalProperties (line 96) | function removeInternalProperties( function getQualityOrder (line 118) | function getQualityOrder( function getInternalData (line 139) | function getInternalData< function setInternalData (line 149) | function setInternalData< function toMediaBase (line 169) | function toMediaBase(media: IMedia.IMediaBase) { FILE: src/common/normalize-util.ts function normalizeNumberCN (line 1) | function normalizeNumberCN(number: number): string { function normalizeNumberEN (line 13) | function normalizeNumberEN(number: number): string { function normalizeNumber (line 30) | function normalizeNumber(number: number, en?: boolean): string { function addRandomHash (line 39) | function addRandomHash(url: string) { function encodeUrlHeaders (line 47) | function encodeUrlHeaders( function isBetween (line 66) | function isBetween(target: number, a: number, b: number) { function isBasicType (line 73) | function isBasicType(val: unknown) { function normalizeFileSize (line 88) | function normalizeFileSize(bytes: number) { FILE: src/common/safe-serialization.ts function safeStringify (line 1) | function safeStringify(object: object) { function safeParse (line 9) | function safeParse(str: string) { FILE: src/common/store.ts class StateMapper (line 4) | class StateMapper { method constructor (line 7) | constructor(getFun: () => T) { type UpdateFunc (line 31) | type UpdateFunc = (prev: T) => T; class Store (line 33) | class Store { method constructor (line 38) | constructor(initValue: T) { function useStore (line 74) | function useStore(store: Store) { FILE: src/common/thumb-bar-util.ts function setThumbBarButtons (line 20) | function setThumbBarButtons(window: BrowserWindow, isPlaying?: boolean) { function setThumbImage (line 70) | async function setThumbImage(window: BrowserWindow, src: string) { FILE: src/common/time-util.ts function secondsToDuration (line 1) | function secondsToDuration(seconds: number | string) { function delay (line 18) | function delay(millsecond: number) { FILE: src/common/unique-map.ts type IUniqueMap (line 1) | interface IUniqueMap { function createUniqueMap (line 8) | function createUniqueMap(mediaItems?: IMedia.IMediaBase[]): IUniqueMap { FILE: src/hooks/useAppConfig.ts function useAppConfig (line 6) | function useAppConfig(configKey: K): IAppCon... FILE: src/hooks/useLocalFonts.ts function initFonts (line 6) | async function initFonts() { function useLocalFonts (line 20) | function useLocalFonts() { FILE: src/hooks/useMediaDevices.ts function useOutputAudioDevices (line 3) | function useOutputAudioDevices() { FILE: src/hooks/useMounted.ts function useMounted (line 3) | function useMounted(){ FILE: src/hooks/useStateRef.ts function useStateRef (line 3) | function useStateRef(initValue: T) { FILE: src/hooks/useVirtualList.ts type IVirtualListProps (line 10) | interface IVirtualListProps { type IVirtualItem (line 28) | interface IVirtualItem { function useVirtualList (line 37) | function useVirtualList(props: IVirtualListProps) { FILE: src/main/deep-link/index.ts function handleDeepLink (line 7) | function handleDeepLink(url: string) { function handleMusicFreeScheme (line 22) | async function handleMusicFreeScheme(url: URL) { function handleBareUrl (line 38) | async function handleBareUrl(url: string) { FILE: src/main/index.ts method getDefaultLang (line 102) | getDefaultLang() { method onLanguageChanged (line 105) | onLanguageChanged(lang) { function bootstrap (line 167) | async function bootstrap() { function handleProxy (line 258) | function handleProxy(enabled: boolean, host?: string | null, port?: stri... FILE: src/main/native_modules/TaskbarThumbnailManager/TaskbarThumbnailManager.node.d.ts type ISize (line 2) | interface ISize { FILE: src/main/tray-manager/index.ts method click (line 23) | click() { class TrayManager (line 60) | class TrayManager { method setup (line 70) | public setup(windowManager: IWindowManager) { method openMusicDetail (line 126) | private openMusicDetail() { method buildTrayMenu (line 131) | public async buildTrayMenu() { method setTitle (line 296) | public setTitle(title: string) { FILE: src/main/window-manager/index.ts class WindowManager (line 27) | class WindowManager implements IWindowManager { method getMainWindow (line 34) | getMainWindow(): BrowserWindow { method mainWindow (line 38) | get mainWindow() { method lyricWindow (line 42) | get lyricWindow() { method miniModeWindow (line 46) | get miniModeWindow() { method getExtensionWindows (line 50) | getExtensionWindows(): BrowserWindow[] { method getAllWindows (line 61) | getAllWindows(): BrowserWindow[] { method emit (line 75) | private emit(event: T, data: IWindowEve... method on (line 79) | public on(event: T, listener: (data: IW... method createMainWindow (line 84) | private createMainWindow() { method showMainWindow (line 194) | public showMainWindow() { method closeMainWindow (line 217) | public closeMainWindow() { method formatLyricWindowSize (line 232) | private formatLyricWindowSize(width?: number, height?: number): ICommo... method evaluateWindowHeight (line 239) | private evaluateWindowHeight() { method createLyricWindow (line 244) | private createLyricWindow() { method showLyricWindow (line 372) | public showLyricWindow() { method closeLyricWindow (line 386) | public closeLyricWindow() { method createMiniModeWindow (line 395) | private createMiniModeWindow() { method showMiniModeWindow (line 458) | public showMiniModeWindow() { method closeMiniModeWindow (line 480) | public closeMiniModeWindow() { method normalizeWindowPosition (line 488) | private normalizeWindowPosition(window: BrowserWindow, position: IComm... FILE: src/renderer-lrc/document/index.tsx function Root (line 16) | function Root() { FILE: src/renderer-lrc/pages/index.tsx function LyricWindowPage (line 14) | function LyricWindowPage() { function LyricContent (line 138) | function LyricContent() { FILE: src/renderer-minimode/document/index.tsx function Root (line 18) | function Root() { FILE: src/renderer-minimode/pages/index.tsx function MinimodePage (line 13) | function MinimodePage() { FILE: src/renderer/app.tsx function App (line 9) | function App() { FILE: src/renderer/components/A/index.tsx function A (line 3) | function A( FILE: src/renderer/components/AnimatedDiv/index.tsx type IProps (line 5) | interface IProps function AnimatedDiv (line 24) | function AnimatedDiv(props: IProps) { FILE: src/renderer/components/ArtistItem/index.tsx type IArtistItemProps (line 6) | interface IArtistItemProps { function ArtistItem (line 11) | function ArtistItem(props: IArtistItemProps) { FILE: src/renderer/components/BottomLoadingState/index.tsx type IProps (line 7) | interface IProps { function BottomLoadingState (line 12) | function BottomLoadingState(props: IProps) { FILE: src/renderer/components/Checkbox/index.tsx type ICheckboxProps (line 5) | interface ICheckboxProps { function Checkbox (line 11) | function Checkbox(props: ICheckboxProps) { FILE: src/renderer/components/Condition/index.tsx type IConditionProps (line 3) | interface IConditionProps { function Condition (line 10) | function Condition(props: IConditionProps) { type IIfProps (line 15) | interface IIfProps { type ICondProps (line 20) | interface ICondProps { function Truthy (line 23) | function Truthy(props: ICondProps) { function Falsy (line 27) | function Falsy(props: ICondProps) { function If (line 31) | function If(props: IIfProps) { function IfTruthy (line 66) | function IfTruthy(props: IIfProps) { function IfFalsy (line 72) | function IfFalsy(props: IIfProps) { FILE: src/renderer/components/ContextMenu/index.tsx type IContextMenuItem (line 7) | interface IContextMenuItem { type IContextMenuData (line 22) | interface IContextMenuData { function showContextMenu (line 44) | function showContextMenu( function showCustomContextMenu (line 50) | function showCustomContextMenu( function hideContextMenu (line 59) | function hideContextMenu() { function SingleColumnContextMenuComponent (line 67) | function SingleColumnContextMenuComponent(props: IContextMenuData) { function ContextMenuComponent (line 159) | function ContextMenuComponent() { FILE: src/renderer/components/DragReceiver/index.tsx type IDragReceiverProps (line 5) | interface IDragReceiverProps { function DragReceiver (line 18) | function DragReceiver(props: IDragReceiverProps) { function startDrag (line 66) | function startDrag( FILE: src/renderer/components/Empty/index.tsx type IEmptyProps (line 5) | interface IEmptyProps { function Empty (line 9) | function Empty(props: IEmptyProps) { FILE: src/renderer/components/Header/index.tsx function AppHeader (line 17) | function AppHeader() { FILE: src/renderer/components/Header/widgets/Navigator/index.tsx function HeaderNavigator (line 7) | function HeaderNavigator() { FILE: src/renderer/components/Header/widgets/SearchHistory/index.tsx type ISearchHistoryProps (line 13) | interface ISearchHistoryProps { function SearchHistory (line 19) | function SearchHistory(props: ISearchHistoryProps) { function useSearchHistory (line 83) | function useSearchHistory() { FILE: src/renderer/components/Loading/index.tsx type ILoadingProps (line 4) | interface ILoadingProps { function Loading (line 7) | function Loading(props: ILoadingProps) { FILE: src/renderer/components/Modal/index.tsx type ITemplate (line 5) | type ITemplate = typeof templates; type IModalType (line 6) | type IModalType = keyof ITemplate; type IModalInfo (line 8) | interface IModalInfo { function ModalComponent (line 18) | function ModalComponent() { function showModal (line 32) | function showModal( function hideModal (line 42) | function hideModal() { FILE: src/renderer/components/Modal/templates/AddMusicToSheet/index.tsx type IAddMusicToSheetProps (line 10) | interface IAddMusicToSheetProps { function AddMusicToSheet (line 14) | function AddMusicToSheet(props: IAddMusicToSheetProps) { FILE: src/renderer/components/Modal/templates/AddNewSheet/index.tsx type IProps (line 9) | interface IProps { function AddNewSheet (line 13) | function AddNewSheet(props: IProps) { FILE: src/renderer/components/Modal/templates/Base/index.tsx type IBaseModalProps (line 6) | interface IBaseModalProps { function Base (line 18) | function Base(props: IBaseModalProps) { type IHeaderProps (line 62) | interface IHeaderProps { function Header (line 65) | function Header(props: IHeaderProps) { FILE: src/renderer/components/Modal/templates/ExitConfirm/index.tsx function ExitConfirm (line 5) | function ExitConfirm() { FILE: src/renderer/components/Modal/templates/ImportMusicSheet/index.tsx type IProps (line 9) | interface IProps { function ImportMusicSheet (line 13) | function ImportMusicSheet(props: IProps) { FILE: src/renderer/components/Modal/templates/PluginSubscription/index.tsx function PluginSubscription (line 14) | function PluginSubscription() { FILE: src/renderer/components/Modal/templates/Reconfirm/index.tsx type IReconfirmProps (line 7) | interface IReconfirmProps { function Reconfirm (line 14) | function Reconfirm(props: IReconfirmProps) { FILE: src/renderer/components/Modal/templates/SearchLyric/hooks/searchResultStore.ts type ISearchLyricResult (line 4) | interface ISearchLyricResult { type ISearchLyricStoreData (line 10) | interface ISearchLyricStoreData { FILE: src/renderer/components/Modal/templates/SearchLyric/index.tsx type IProps (line 12) | interface IProps { function SearchLyric (line 18) | function SearchLyric(props: IProps) { FILE: src/renderer/components/Modal/templates/SearchLyric/searchResult.tsx type ISearchResultProps (line 17) | interface ISearchResultProps { function SearchResult (line 22) | function SearchResult(props: ISearchResultProps) { FILE: src/renderer/components/Modal/templates/SelectOne/index.tsx type IProps (line 10) | interface IProps { function SelectOne (line 22) | function SelectOne(props: IProps) { FILE: src/renderer/components/Modal/templates/SimpleInputWithState/index.tsx type ISimpleInputWithStateProps (line 9) | interface ISimpleInputWithStateProps { function SimpleInputWithState (line 23) | function SimpleInputWithState( FILE: src/renderer/components/Modal/templates/Sparkles/index.tsx function Sparkles (line 6) | function Sparkles() { FILE: src/renderer/components/Modal/templates/Update/index.tsx type IUpdateProps (line 8) | interface IUpdateProps { function Update (line 12) | function Update(props: IUpdateProps) { FILE: src/renderer/components/Modal/templates/WatchLocalDir/index.tsx function WatchLocalDir (line 18) | function WatchLocalDir() { FILE: src/renderer/components/MusicBar/index.tsx function MusicBar (line 8) | function MusicBar() { FILE: src/renderer/components/MusicBar/widgets/Controller/index.tsx function Controller (line 8) | function Controller() { FILE: src/renderer/components/MusicBar/widgets/Extra/index.tsx function Extra (line 20) | function Extra() { function VolumeBtn (line 75) | function VolumeBtn() { function SpeedBtn (line 149) | function SpeedBtn() { function QualityBtn (line 216) | function QualityBtn() { function LyricBtn (line 286) | function LyricBtn() { FILE: src/renderer/components/MusicBar/widgets/MusicInfo/index.tsx function MusicInfo (line 16) | function MusicInfo() { function Progress (line 113) | function Progress() { FILE: src/renderer/components/MusicBar/widgets/Slider/index.tsx function Slider (line 6) | function Slider() { FILE: src/renderer/components/MusicDetail/index.tsx function MusicDetail (line 17) | function MusicDetail() { FILE: src/renderer/components/MusicDetail/widgets/Header/index.tsx function Header (line 9) | function Header() { FILE: src/renderer/components/MusicDetail/widgets/Lyric/index.tsx function Lyric (line 22) | function Lyric() { type ILyricContextMenuProps (line 167) | interface ILyricContextMenuProps { function LyricContextMenu (line 172) | function LyricContextMenu(props: ILyricContextMenuProps) { FILE: src/renderer/components/MusicDownloaded/index.tsx type IMusicDownloadedProps (line 9) | interface IMusicDownloadedProps { function MusicDownloaded (line 14) | function MusicDownloaded(props: IMusicDownloadedProps) { FILE: src/renderer/components/MusicFavorite/index.tsx type IMusicFavoriteProps (line 4) | interface IMusicFavoriteProps { function MusicFavorite (line 9) | function MusicFavorite(props: IMusicFavoriteProps) { FILE: src/renderer/components/MusicList/index.tsx type IMusicListProps (line 39) | interface IMusicListProps { function showMusicContextMenu (line 147) | function showMusicContextMenu( function _MusicList (line 311) | function _MusicList(props: IMusicListProps) { FILE: src/renderer/components/MusicSheetlikeItem/index.tsx type IMusicSheetlikeItemProps (line 11) | interface IMusicSheetlikeItemProps { function MusicSheetlikeItem (line 16) | function MusicSheetlikeItem(props: IMusicSheetlikeItemProps) { FILE: src/renderer/components/MusicSheetlikeList/index.tsx type IMusicSheetlikeListProps (line 9) | interface IMusicSheetlikeListProps { function MusicSheetlikeList (line 16) | function MusicSheetlikeList(props: IMusicSheetlikeListProps) { FILE: src/renderer/components/MusicSheetlikeView/components/Body/index.tsx type IProps (line 15) | interface IProps { function Body (line 22) | function Body(props: IProps) { FILE: src/renderer/components/MusicSheetlikeView/components/Header/index.tsx type IProps (line 13) | interface IProps { function Header (line 19) | function Header(props: IProps) { FILE: src/renderer/components/MusicSheetlikeView/index.tsx type IMusicSheetlikeViewProps (line 8) | interface IMusicSheetlikeViewProps { function MusicSheetlikeView (line 19) | function MusicSheetlikeView(props: IMusicSheetlikeViewProps) { FILE: src/renderer/components/NoPlugin/index.tsx type INoPluginProps (line 5) | interface INoPluginProps { function NoPlugin (line 10) | function NoPlugin(props: INoPluginProps) { FILE: src/renderer/components/Panel/index.tsx type ITemplate (line 5) | type ITemplate = typeof templates; type IPanelType (line 6) | type IPanelType = keyof ITemplate; type IPanelInfo (line 8) | interface IPanelInfo { function PanelComponent (line 18) | function PanelComponent() { function showPanel (line 30) | function showPanel( function hidePanel (line 40) | function hidePanel() { function getCurrentPanel (line 48) | function getCurrentPanel(){ FILE: src/renderer/components/Panel/templates/Base/index.tsx type IBaseModalProps (line 6) | interface IBaseModalProps { function Base (line 25) | function Base(props: IBaseModalProps) { type IHeaderProps (line 86) | interface IHeaderProps { function Header (line 90) | function Header(props: IHeaderProps) { FILE: src/renderer/components/Panel/templates/MusicComment/index.tsx type IProps (line 11) | interface IProps { function MusicComment (line 16) | function MusicComment(props: IProps) { type IMusicCommentItemProps (line 41) | interface IMusicCommentItemProps { function MusicCommentItem (line 45) | function MusicCommentItem(props: IMusicCommentItemProps) { FILE: src/renderer/components/Panel/templates/MusicComment/useComment.ts function useComment (line 5) | function useComment(musicItem: IMusic.IMusicItem) { FILE: src/renderer/components/Panel/templates/PlayList/index.tsx constant DRAG_TAG (line 21) | const DRAG_TAG = "Playlist"; type IProps (line 23) | interface IProps { function PlayList (line 27) | function PlayList(props: IProps) { type IPlayListMusicItemProps (line 238) | interface IPlayListMusicItemProps { function _PlayListMusicItem (line 244) | function _PlayListMusicItem(props: IPlayListMusicItemProps) { FILE: src/renderer/components/Panel/templates/UserVariables/index.tsx type IUserVariablesProps (line 9) | interface IUserVariablesProps { FILE: src/renderer/components/SvgAsset/index.tsx type SvgAssetIconNames (line 3) | type SvgAssetIconNames = type IProps (line 72) | interface IProps { function SvgAsset (line 83) | function SvgAsset(props: IProps) { FILE: src/renderer/components/SwitchCase/index.tsx type ISwitchProps (line 3) | interface ISwitchProps { function Switch (line 8) | function Switch(props: ISwitchProps){ type ICaseProps (line 20) | interface ICaseProps { function Case (line 24) | function Case(props: ICaseProps) { FILE: src/renderer/components/Tag/index.tsx type ITagProps (line 4) | interface ITagProps { function Tag (line 10) | function Tag(props: ITagProps) { FILE: src/renderer/core/backup-resume/index.ts function resume (line 8) | async function resume(data: string | Record, overwrite?: bo... FILE: src/renderer/core/db/music-sheet-db.ts class MusicSheetDB (line 4) | class MusicSheetDB extends Dexie { method constructor (line 17) | constructor() { FILE: src/renderer/core/downloader/downloaded-sheet.ts function setupDownloadedMusicList (line 22) | async function setupDownloadedMusicList() { function getDownloadedDetails (line 30) | async function getDownloadedDetails(mediaBases: IMedia.IMediaBase[]) { function primaryKeyMap (line 44) | function primaryKeyMap(media: IMedia.IMediaBase) { function addDownloadedMusicToList (line 52) | async function addDownloadedMusicToList( function removeDownloadedMusic (line 100) | async function removeDownloadedMusic( function isDownloaded (line 199) | function isDownloaded(musicItem: IMedia.IMediaBase) { function useDownloaded (line 205) | function useDownloaded(musicItem: IMedia.IMediaBase) { FILE: src/renderer/core/downloader/ee.ts type DownloadEvts (line 5) | enum DownloadEvts { FILE: src/renderer/core/downloader/index.new.ts type ProxyMarkedFunction (line 17) | type ProxyMarkedFunction = T & type IDownloadFileOptions (line 21) | interface IDownloadFileOptions { type IDownloaderWorker (line 27) | interface IDownloaderWorker { type DownloaderEvent (line 33) | enum DownloaderEvent { type IDownloaderEvent (line 38) | interface IDownloaderEvent { type ITaskStatus (line 42) | interface ITaskStatus { class Downloader (line 48) | class Downloader extends EventEmitter { method constructor (line 56) | constructor() { method setup (line 67) | public async setup() { method download (line 93) | public async download(musicItems: IMusic.IMusicItem | IMusic.IMusicIte... method downloadMusicImpl (line 168) | private async downloadMusicImpl(musicItem: IMusic.IMusicItem, fileName... method setConcurrency (line 241) | public setConcurrency(concurrency: number) { method getTaskStatus (line 250) | public getTaskStatus(musicItem: IMusic.IMusicItem): ITaskStatus | null { method setTaskStatus (line 257) | private setTaskStatus(musicItem: IMusic.IMusicItem, taskStatus: ITaskS... FILE: src/renderer/core/downloader/index.ts type IDownloadStatus (line 26) | interface IDownloadStatus { type ProxyMarkedFunction (line 36) | type ProxyMarkedFunction void> = T & type IOnStateChangeFunc (line 39) | type IOnStateChangeFunc = (data: IDownloadStatus) => void; type IDownloaderWorker (line 41) | interface IDownloaderWorker { function setupDownloader (line 51) | async function setupDownloader() { function setupDownloaderWorker (line 56) | function setupDownloaderWorker() { function setDownloadingConcurrency (line 71) | function setDownloadingConcurrency(concurrency: number) { function startDownload (line 81) | async function startDownload( function downloadMusicImpl (line 130) | async function downloadMusicImpl( function useDownloadStatus (line 200) | function useDownloadStatus(musicItem: IMusic.IMusicItem) { function useDownloadState (line 227) | function useDownloadState(musicItem: IMusic.IMusicItem) { FILE: src/renderer/core/link-lyric/index.ts function linkLyric (line 17) | async function linkLyric( function unlinkLyric (line 49) | async function unlinkLyric(musicItem: IMusic.IMusicItem) { function getLinkedLyric (line 71) | async function getLinkedLyric(musicItem: IMusic.IMusicItem) { FILE: src/renderer/core/local-music/index.ts type ProxyMarkedFunction (line 7) | type ProxyMarkedFunction void> = T & type IMusicItemWithLocalPath (line 10) | type IMusicItemWithLocalPath = IMusic.IMusicItem & { $$localPath: string }; type ILocalFileWatcherWorker (line 12) | interface ILocalFileWatcherWorker { function isSubDir (line 27) | function isSubDir(parent: string, target: string) { function setupLocalMusic (line 34) | async function setupLocalMusic() { function changeWatchPath (line 94) | async function changeWatchPath(logs: Map) { FILE: src/renderer/core/music-sheet/backend/index.ts function getAllSheets (line 29) | function getAllSheets() { function getAllStarredSheets (line 33) | function getAllStarredSheets() { function queryAllSheets (line 43) | async function queryAllSheets() { function queryAllStarredSheets (line 86) | async function queryAllStarredSheets() { function addSheet (line 101) | async function addSheet(sheetName: string) { function updateSheet (line 132) | async function updateSheet( function removeSheet (line 170) | async function removeSheet(sheetId: string) { function clearSheet (line 202) | async function clearSheet(sheetId: string) { function starMusicSheet (line 227) | async function starMusicSheet(sheet: IMedia.IMediaBase) { function unstarMusicSheet (line 237) | async function unstarMusicSheet(sheet: IMedia.IMediaBase) { function setStarredMusicSheets (line 249) | async function setStarredMusicSheets(sheets: IMedia.IMediaBase[]) { function addMusicToSheet (line 262) | async function addMusicToSheet( function removeMusicFromSheet (line 342) | async function removeMusicFromSheet( function getSheetItemDetail (line 434) | async function getSheetItemDetail( function isFavoriteMusic (line 475) | function isFavoriteMusic(musicItem: IMusic.IMusicItem) { function exportAllSheetDetails (line 480) | async function exportAllSheetDetails() { FILE: src/renderer/core/music-sheet/frontend/index.old.ts function refreshFavoriteState (line 18) | function refreshFavoriteState() { function setupMusicSheets (line 25) | async function setupMusicSheets() { function addSheet (line 39) | async function addSheet(sheetName: string) { function updateSheet (line 53) | async function updateSheet( function updateSheetMusicOrder (line 68) | async function updateSheetMusicOrder( function removeSheet (line 92) | async function removeSheet(sheetId: string) { function clearSheet (line 104) | async function clearSheet(sheetId: string) { function starMusicSheet (line 116) | async function starMusicSheet(sheet: IMedia.IMediaBase) { function unstarMusicSheet (line 125) | async function unstarMusicSheet(sheet: IMedia.IMediaBase) { function setStarredMusicSheets (line 133) | async function setStarredMusicSheets(sheets: IMedia.IMediaBase[]) { function addMusicToSheet (line 146) | async function addMusicToSheet( function addMusicToFavorite (line 163) | async function addMusicToFavorite( function removeMusicFromSheet (line 175) | async function removeMusicFromSheet( function removeMusicFromFavorite (line 192) | async function removeMusicFromFavorite( function isFavoriteMusic (line 199) | function isFavoriteMusic(musicItem: IMusic.IMusicItem) { function useMusicIsFavorite (line 204) | function useMusicIsFavorite(musicItem: IMusic.IMusicItem) { function updateSheetDetail (line 226) | function updateSheetDetail(newSheet: IMusic.IMusicSheetItem) { function refetchSheetDetail (line 234) | async function refetchSheetDetail(sheetId: string) { function useMusicSheet (line 254) | function useMusicSheet(sheetId: string) { function exportAllSheetDetails (line 369) | async function exportAllSheetDetails() { FILE: src/renderer/core/recently-playlist/index.ts constant HARD_LIMIT (line 17) | const HARD_LIMIT = 500; function fetchRecentlyPlaylist (line 19) | async function fetchRecentlyPlaylist() { function setRecentlyPlaylist (line 23) | async function setRecentlyPlaylist(musicItems: IMusic.IMusicItem[]) { function setupRecentlyPlaylist (line 28) | async function setupRecentlyPlaylist() { function addToRecentlyPlaylist (line 34) | async function addToRecentlyPlaylist(musicItem: IMusic.IMusicItem) { function removeRecentlyPlayList (line 52) | async function removeRecentlyPlayList(musicItem: IMusic.IMusicItem) { function clearRecentlyPlaylist (line 65) | async function clearRecentlyPlaylist() { function useRecentlyPlaylistSheet (line 69) | function useRecentlyPlaylistSheet() { FILE: src/renderer/core/track-player/controller/audio-controller.ts class AudioController (line 19) | class AudioController extends ControllerBase implements IAudioController { method playerState (line 24) | get playerState() { method playerState (line 27) | set playerState(value: PlayerState) { method hasSource (line 37) | get hasSource() { method constructor (line 41) | constructor() { method initHls (line 97) | private initHls(config?: Partial) { method destroyHls (line 107) | private destroyHls() { method destroy (line 116) | destroy(): void { method pause (line 121) | pause(): void { method play (line 127) | play(): void { method reset (line 133) | reset(): void { method seekTo (line 141) | seekTo(seconds: number): void { method setLoop (line 151) | setLoop(isLoop: boolean): void { method setSinkId (line 155) | setSinkId(deviceId: string): Promise { method setSpeed (line 159) | setSpeed(speed: number): void { method prepareTrack (line 164) | prepareTrack(musicItem: IMusic.IMusicItem) { method setTrackSource (line 186) | setTrackSource(trackSource: IMusic.IMusicSource, musicItem: IMusic.IMu... method setVolume (line 275) | setVolume(volume: number): void { FILE: src/renderer/core/track-player/controller/controller-base.ts class ControllerBase (line 4) | class ControllerBase { FILE: src/renderer/core/track-player/enum.ts type ErrorReason (line 4) | enum ErrorReason { type ICurrentLyric (line 11) | interface ICurrentLyric { type PlayerEvents (line 17) | enum PlayerEvents { type CurrentTime (line 42) | interface CurrentTime { FILE: src/renderer/core/track-player/index.ts type InternalPlayerEvents (line 47) | interface InternalPlayerEvents { type IPlayOptions (line 57) | interface IPlayOptions { type ITrackOptions (line 64) | interface ITrackOptions { class TrackPlayer (line 70) | class TrackPlayer { method currentMusic (line 71) | get currentMusic() { method currentMusicBasicInfo (line 76) | get currentMusicBasicInfo() { method progress (line 92) | get progress() { method playerState (line 96) | get playerState() { method repeatMode (line 100) | get repeatMode() { method currentQuality (line 104) | get currentQuality() { method speed (line 108) | get speed() { method volume (line 112) | get volume() { method lyric (line 116) | get lyric() { method musicQueue (line 120) | get musicQueue() { method isEmpty (line 124) | get isEmpty() { method constructor (line 136) | constructor() { method on (line 142) | on(event: T, callback: InternalP... method setupEvents (line 146) | private setupEvents() { method createAudioController (line 170) | private createAudioController() { method setup (line 226) | public async setup() { method toggleRepeatMode (line 284) | public toggleRepeatMode() { method playIndex (line 301) | public async playIndex(index: number, options: IPlayOptions = {}) { method playMusic (line 376) | public async playMusic(musicItem: IMusic.IMusicItem, options: IPlayOpt... method playMusicWithReplaceQueue (line 398) | public async playMusicWithReplaceQueue(musicList: IMusic.IMusicItem[],... method skipToPrev (line 411) | public skipToPrev() { method skipToNext (line 420) | public skipToNext() { method reset (line 431) | public reset() { method seekTo (line 440) | public seekTo(seconds: number) { method pause (line 444) | public pause() { method resume (line 451) | public resume() { method setVolume (line 459) | public setVolume(volume: number) { method setSpeed (line 463) | public setSpeed(speed: number) { method addNext (line 467) | public addNext(musicItems: IMusic.IMusicItem | IMusic.IMusicItem[]) { method removeMusic (line 527) | public removeMusic(musicItems: IMusic.IMusicItem | IMusic.IMusicItem[]... method setQuality (line 571) | public async setQuality(quality: IMusic.IQualityKey) { method setRepeatMode (line 585) | public setRepeatMode(repeatMode: RepeatMode) { method setAudioOutputDevice (line 596) | public async setAudioOutputDevice(deviceId?: string) { method setMusicQueue (line 604) | public setMusicQueue(musicQueue: IMusic.IMusicItem[]) { method fetchCurrentLyric (line 612) | public async fetchCurrentLyric(forceLoad = false) { method fetchMediaSource (line 669) | private async fetchMediaSource(musicItem: IMusic.IMusicItem, quality?:... method setCurrentMusic (line 725) | private setCurrentMusic(musicItem: IMusic.IMusicItem | null) { method setProgress (line 743) | private setProgress(progress: CurrentTime) { method setCurrentQuality (line 749) | private setCurrentQuality(quality: IMusic.IQualityKey) { method setCurrentLyric (line 754) | private setCurrentLyric(lyric?: ICurrentLyric) { method setPlayerState (line 765) | private setPlayerState(playerState: PlayerState) { method findMusicIndex (line 771) | private findMusicIndex(musicItem?: IMusic.IMusicItem | null) { method resetProgress (line 779) | private resetProgress() { method setTrack (line 784) | private setTrack(mediaSource: IPlugin.IMediaSourceResult, musicItem: I... method isCurrentMusic (line 801) | public isCurrentMusic(musicItem: IMusic.IMusicItem) { FILE: src/renderer/core/track-player/store.ts function resetProgress (line 39) | function resetProgress() { FILE: src/renderer/document/bootstrap.ts function dropHandler (line 57) | function dropHandler() { function clearDefaultBehavior (line 106) | function clearDefaultBehavior() { function setupCommandAndEvents (line 138) | function setupCommandAndEvents() { function setupDeviceChange (line 258) | async function setupDeviceChange() { FILE: src/renderer/document/fallback.tsx type IProps (line 4) | interface IProps { function Fallback (line 9) | function Fallback(props: IProps) { FILE: src/renderer/document/index.tsx function Root (line 33) | function Root() { function BootstrapComponent (line 60) | function BootstrapComponent(): null { FILE: src/renderer/document/useBootstrap.ts function useBootstrap (line 9) | function useBootstrap() { FILE: src/renderer/pages/main-page/components/SideBar/widgets/ListItem/index.tsx type IProps (line 4) | interface IProps { function ListItem (line 12) | function ListItem(props: IProps) { FILE: src/renderer/pages/main-page/components/SideBar/widgets/MySheets/index.tsx function MySheets (line 14) | function MySheets() { FILE: src/renderer/pages/main-page/components/SideBar/widgets/StarredSheets/index.tsx function StarredSheets (line 10) | function StarredSheets() { FILE: src/renderer/pages/main-page/index.tsx function MainPage (line 20) | function MainPage() { FILE: src/renderer/pages/main-page/views/album-view/hooks/useAlbumDetail.ts function useAlbumDetail (line 11) | function useAlbumDetail( FILE: src/renderer/pages/main-page/views/album-view/index.tsx function AlbumView (line 7) | function AlbumView() { FILE: src/renderer/pages/main-page/views/artist-view/components/Body/index.tsx type IBodyProps (line 9) | interface IBodyProps { function Body (line 14) | function Body(props: IBodyProps) { FILE: src/renderer/pages/main-page/views/artist-view/components/Body/widgets/AlbumResult/index.tsx type IBodyProps (line 11) | interface IBodyProps { function AlbumResult (line 15) | function AlbumResult(props: IBodyProps) { FILE: src/renderer/pages/main-page/views/artist-view/components/Body/widgets/MusicResult/index.tsx type IBodyProps (line 9) | interface IBodyProps { function MusicResult (line 13) | function MusicResult(props: IBodyProps) { FILE: src/renderer/pages/main-page/views/artist-view/components/Header/index.tsx type IProps (line 8) | interface IProps { function Header (line 12) | function Header(props: IProps) { FILE: src/renderer/pages/main-page/views/artist-view/hooks/useQueryArtist.ts function useQueryArtist (line 9) | function useQueryArtist() { FILE: src/renderer/pages/main-page/views/artist-view/index.tsx function ArtistView (line 8) | function ArtistView() { FILE: src/renderer/pages/main-page/views/artist-view/store/index.ts type IQueryResult (line 5) | interface IQueryResult< type IQueryResults (line 13) | type IQueryResults< FILE: src/renderer/pages/main-page/views/download-view/components/Downloaded/index.tsx function Downloaded (line 5) | function Downloaded() { FILE: src/renderer/pages/main-page/views/download-view/components/Downloading/DownloadStatus.tsx type IProps (line 8) | interface IProps { function DownloadStatus (line 12) | function DownloadStatus(props: IProps) { FILE: src/renderer/pages/main-page/views/download-view/components/Downloading/index.tsx function Downloading (line 59) | function Downloading() { FILE: src/renderer/pages/main-page/views/download-view/index.tsx function DownloadView (line 7) | function DownloadView() { FILE: src/renderer/pages/main-page/views/local-music-view/index.tsx type DisplayView (line 15) | enum DisplayView { function LocalMusicView (line 22) | function LocalMusicView() { FILE: src/renderer/pages/main-page/views/local-music-view/views/album/index.tsx type IProps (line 7) | interface IProps { function AlbumView (line 11) | function AlbumView(props: IProps) { FILE: src/renderer/pages/main-page/views/local-music-view/views/artist/index.tsx type IProps (line 8) | interface IProps { function ArtistView (line 12) | function ArtistView(props: IProps) { FILE: src/renderer/pages/main-page/views/local-music-view/views/folder/index.tsx type IProps (line 8) | interface IProps { function FolderView (line 12) | function FolderView(props: IProps) { FILE: src/renderer/pages/main-page/views/local-music-view/views/list/index.tsx type IProps (line 4) | interface IProps { function ListView (line 8) | function ListView(props: IProps) { FILE: src/renderer/pages/main-page/views/music-sheet-view/index.tsx function MusicSheetView (line 16) | function MusicSheetView() { FILE: src/renderer/pages/main-page/views/music-sheet-view/local-sheet/index.tsx function LocalSheet (line 7) | function LocalSheet() { FILE: src/renderer/pages/main-page/views/music-sheet-view/remote-sheet/hooks/usePluginSheetMusicList.ts function usePluginSheetMusicList (line 6) | function usePluginSheetMusicList( FILE: src/renderer/pages/main-page/views/music-sheet-view/remote-sheet/index.tsx function RemoteSheet (line 11) | function RemoteSheet() { type IProps (line 32) | interface IProps { function RemoteSheetOptions (line 35) | function RemoteSheetOptions(props: IProps) { FILE: src/renderer/pages/main-page/views/plugin-manager-view/components/plugin-table/index.tsx function renderOptions (line 23) | function renderOptions(info: any) { method cell (line 186) | cell(info) { function PluginTable (line 221) | function PluginTable() { type IActionButtonProps (line 324) | interface IActionButtonProps { function ActionButton (line 329) | function ActionButton(props: IActionButtonProps) { FILE: src/renderer/pages/main-page/views/plugin-manager-view/index.tsx function PluginManagerView (line 11) | function PluginManagerView() { FILE: src/renderer/pages/main-page/views/recently-play-view/index.tsx function RecentlyPlayView (line 9) | function RecentlyPlayView() { FILE: src/renderer/pages/main-page/views/recommend-sheets-view/components/Body/index.tsx function getDefaultTag (line 14) | function getDefaultTag(): IMedia.IUnique { type IBodyProps (line 21) | interface IBodyProps { function Body (line 25) | function Body(props: IBodyProps) { FILE: src/renderer/pages/main-page/views/recommend-sheets-view/components/Body/tag-panel.tsx type ITagPanelProps (line 5) | interface ITagPanelProps { function TagPanel (line 11) | function TagPanel(props: ITagPanelProps) { FILE: src/renderer/pages/main-page/views/recommend-sheets-view/index.tsx function RecommendSheetsView (line 8) | function RecommendSheetsView() { FILE: src/renderer/pages/main-page/views/search-view/components/SearchResult/AlbumResult/index.tsx type IMediaResultProps (line 8) | interface IMediaResultProps { function AlbumResult (line 14) | function AlbumResult(props: IMediaResultProps) { FILE: src/renderer/pages/main-page/views/search-view/components/SearchResult/ArtistResult/index.tsx type IMediaResultProps (line 9) | interface IMediaResultProps { function ArtistResult (line 15) | function ArtistResult(props: IMediaResultProps) { FILE: src/renderer/pages/main-page/views/search-view/components/SearchResult/MusicResult/index.tsx type IMediaResultProps (line 6) | interface IMediaResultProps { function MusicResult (line 12) | function MusicResult(props: IMediaResultProps) { FILE: src/renderer/pages/main-page/views/search-view/components/SearchResult/SheetResult/index.tsx type IMediaResultProps (line 8) | interface IMediaResultProps { function SheetResult (line 14) | function SheetResult(props: IMediaResultProps) { FILE: src/renderer/pages/main-page/views/search-view/components/SearchResult/index.tsx type ISearchResultProps (line 15) | interface ISearchResultProps { function SearchResult (line 21) | function SearchResult(props: ISearchResultProps) { type ISearchResultBodyProps (line 72) | interface ISearchResultBodyProps { function _SearchResultBody (line 77) | function _SearchResultBody(props: ISearchResultBodyProps) { FILE: src/renderer/pages/main-page/views/search-view/hooks/useSearch.ts function useSearch (line 7) | function useSearch() { FILE: src/renderer/pages/main-page/views/search-view/index.tsx function SearchView (line 13) | function SearchView() { FILE: src/renderer/pages/main-page/views/search-view/store/search-result.ts type ISearchResult (line 6) | interface ISearchResult { type ISearchResults (line 17) | type ISearchResults< function resetStore (line 39) | function resetStore(){ FILE: src/renderer/pages/main-page/views/setting-view/components/CheckBoxSettingItem/index.tsx type ICheckBoxSettingItemProps (line 7) | interface ICheckBoxSettingItemProps { function CheckBoxSettingItem (line 13) | function CheckBoxSettingItem( FILE: src/renderer/pages/main-page/views/setting-view/components/ColorPickerSettingItem/index.tsx type IColorPickerSettingItemProps (line 9) | interface IColorPickerSettingItemProps { function ColorPickerSettingItem (line 14) | function ColorPickerSettingItem( FILE: src/renderer/pages/main-page/views/setting-view/components/FontPickerSettingItem/index.tsx type FontPickerSettingItemProps (line 9) | interface FontPickerSettingItemProps { function useFonts (line 14) | function useFonts() { function FontPickerSettingItem (line 31) | function FontPickerSettingItem( FILE: src/renderer/pages/main-page/views/setting-view/components/InputSettingItem/index.tsx type InputSettingItemProps (line 7) | interface InputSettingItemProps { function InputSettingItem (line 18) | function InputSettingItem( FILE: src/renderer/pages/main-page/views/setting-view/components/ListBoxSettingItem/index.tsx type ListBoxSettingItemProps (line 15) | interface ListBoxSettingItemProps { function ListBoxSettingItem (line 25) | function ListBoxSettingItem( type IListBoxOptionsProps (line 103) | interface IListBoxOptionsProps { function ListBoxOptions (line 109) | function ListBoxOptions( FILE: src/renderer/pages/main-page/views/setting-view/components/MultiRadioGroupSettingItem/index.tsx type ExtractArrayItem (line 8) | type ExtractArrayItem = T extends Array ? R : never; type IRadioGroupSettingItemProps (line 10) | interface IRadioGroupSettingItemProps { function MultiRadioGroupSettingItem (line 23) | function MultiRadioGroupSettingItem( FILE: src/renderer/pages/main-page/views/setting-view/components/PathSettingItem/index.tsx type PathSettingItemProps (line 9) | interface PathSettingItemProps { function PathSettingItem (line 14) | function PathSettingItem( FILE: src/renderer/pages/main-page/views/setting-view/components/RadioGroupSettingItem/index.tsx type IRadioGroupSettingItemProps (line 10) | interface IRadioGroupSettingItemProps { function RadioGroupSettingItem (line 18) | function RadioGroupSettingItem( FILE: src/renderer/pages/main-page/views/setting-view/index.tsx function SettingView (line 8) | function SettingView() { FILE: src/renderer/pages/main-page/views/setting-view/routers/About/index.tsx function About (line 9) | function About() { FILE: src/renderer/pages/main-page/views/setting-view/routers/Backup/index.tsx function Backup (line 14) | function Backup() { FILE: src/renderer/pages/main-page/views/setting-view/routers/Download/index.tsx function Download (line 14) | function Download() { FILE: src/renderer/pages/main-page/views/setting-view/routers/Lyric/index.tsx function Lyric (line 15) | function Lyric() { FILE: src/renderer/pages/main-page/views/setting-view/routers/Network/index.tsx function Network (line 11) | function Network() { FILE: src/renderer/pages/main-page/views/setting-view/routers/Normal/index.tsx function Normal (line 13) | function Normal() { FILE: src/renderer/pages/main-page/views/setting-view/routers/PlayMusic/index.tsx function PlayMusic (line 11) | function PlayMusic() { FILE: src/renderer/pages/main-page/views/setting-view/routers/Plugin/index.tsx function Plugin (line 7) | function Plugin() { FILE: src/renderer/pages/main-page/views/setting-view/routers/ShortCut/index.tsx function ShortCut (line 14) | function ShortCut() { type IShortCutKeys (line 32) | type IShortCutKeys = keyof IAppConfig["shortCut.shortcuts"]; function ShortCutTable (line 35) | function ShortCutTable() { type IShortCutItemProps (line 89) | interface IShortCutItemProps { function formatValue (line 98) | function formatValue(val: string[]) { function keyCodeMap (line 102) | function keyCodeMap(code: string) { function ShortCutItem (line 117) | function ShortCutItem(props: IShortCutItemProps) { FILE: src/renderer/pages/main-page/views/theme-view/components/LocalThemes/index.tsx function LocalThemes (line 10) | function LocalThemes() { FILE: src/renderer/pages/main-page/views/theme-view/components/RemoteThemes/hooks/useRemoteThemes.ts type IThemeStoreItem (line 9) | interface IThemeStoreItem { function raceWithData (line 17) | function raceWithData(promises: Array>): Promise { FILE: src/renderer/pages/main-page/views/theme-view/components/RemoteThemes/index.tsx function RemoteThemes (line 11) | function RemoteThemes() { FILE: src/renderer/pages/main-page/views/theme-view/components/ThemeItem/index.tsx type IProps (line 9) | interface IProps { function ThemeItem (line 20) | function ThemeItem(props: IProps) { FILE: src/renderer/pages/main-page/views/theme-view/index.tsx function ThemeView (line 9) | function ThemeView() { FILE: src/renderer/pages/main-page/views/toplist-detail-view/hooks/useTopListDetail.ts function useTopListDetail (line 5) | function useTopListDetail( FILE: src/renderer/pages/main-page/views/toplist-detail-view/index.tsx function TopListDetailView (line 5) | function TopListDetailView() { FILE: src/renderer/pages/main-page/views/toplist-view/hooks/useGetTopList.ts function useGetTopList (line 8) | function useGetTopList() { FILE: src/renderer/pages/main-page/views/toplist-view/index.tsx function ToplistView (line 17) | function ToplistView() { type IToplistBodyProps (line 67) | interface IToplistBodyProps { function ToplistBody (line 71) | function ToplistBody(props: IToplistBodyProps) { type IToplistGroupItemProps (line 103) | interface IToplistGroupItemProps { function ToplistGroupItem (line 107) | function ToplistGroupItem(props: IToplistGroupItemProps) { FILE: src/renderer/pages/main-page/views/toplist-view/store/index.ts type IPluginTopListResult (line 4) | interface IPluginTopListResult { FILE: src/renderer/utils/check-update.ts function checkUpdate (line 6) | async function checkUpdate(forceCheck?: boolean) { FILE: src/renderer/utils/classnames.ts function classNames (line 1) | function classNames(cls: Record | Array) { FILE: src/renderer/utils/create-tmp-file.ts function createTmpFile (line 5) | async function createTmpFile(data: string) { FILE: src/renderer/utils/get-text-width.ts type IConfig (line 4) | interface IConfig { FILE: src/renderer/utils/get-url-ext.ts function getUrlExt (line 1) | function getUrlExt(url?: string) { FILE: src/renderer/utils/groupBy.ts type IndexableType (line 1) | type IndexableType = number | string | symbol; function groupBy (line 3) | function groupBy, K extends keyof T... FILE: src/renderer/utils/img-on-error.ts function setFallbackAlbum (line 4) | function setFallbackAlbum(evt: SyntheticEvent) { FILE: src/renderer/utils/is-local-music.ts function isLocalMusic (line 3) | function isLocalMusic(mediaItem: IMedia.IMediaBase) { FILE: src/renderer/utils/lyric-parser.ts type LyricMeta (line 4) | type LyricMeta = Record; type IOptions (line 6) | interface IOptions { type IParsedLrcItem (line 11) | interface IParsedLrcItem { class LyricParser (line 22) | class LyricParser { method musicItem (line 32) | get musicItem() { method constructor (line 36) | constructor(raw: string, options?: IOptions) { method getPosition (line 76) | getPosition(position: number): IParsedLrcItem | null { method getLyricItems (line 113) | getLyricItems() { method getMeta (line 117) | getMeta() { method toString (line 121) | toString(options?: { method parseTime (line 144) | private parseTime(timeStr: string): number { method timeToLrctime (line 153) | private timeToLrctime(sec: number) { method parseMetaImpl (line 163) | private parseMetaImpl(metaStr: string) { method parseLyricImpl (line 182) | private parseLyricImpl(raw: string) { FILE: src/renderer/utils/search-history.ts function getSearchHistory (line 4) | async function getSearchHistory() { function addSearchHistory (line 8) | async function addSearchHistory(searchItem: string) { function removeSearchHistory (line 18) | async function removeSearchHistory(searchItem: string) { function clearSearchHistory (line 26) | async function clearSearchHistory() { FILE: src/renderer/utils/user-perference.ts type EvtNames (line 10) | enum EvtNames { function setUserPreference (line 14) | function setUserPreference( function removeUserPreference (line 32) | function removeUserPreference(key: keyof IUserPreference.IType) { function getUserPreference (line 39) | function getUserPreference( function useUserPreference (line 54) | function useUserPreference( class UserPreferenceDB (line 94) | class UserPreferenceDB extends Dexie { method constructor (line 98) | constructor() { function setUserPreferenceIDB (line 113) | async function setUserPreferenceIDB< function getUserPreferenceIDB (line 131) | async function getUserPreferenceIDB< function useUserPreferenceIDBValue (line 147) | function useUserPreferenceIDBValue< FILE: src/shared/app-config/main.ts class AppConfig (line 12) | class AppConfig { method configPath (line 19) | get configPath() { method checkPath (line 27) | private async checkPath() { method setup (line 55) | async setup(windowManager: IWindowManager) { method onConfigUpdated (line 79) | public onConfigUpdated(callback: (patch: IAppConfig, config: IAppConfi... method offConfigUpdated (line 83) | public offConfigUpdated(callback: (patch: IAppConfig, config: IAppConf... method migrateOldVersionConfig (line 87) | async migrateOldVersionConfig() { method loadConfig (line 166) | async loadConfig() { method getAllConfig (line 194) | public getAllConfig() { method reset (line 198) | public reset() { method getConfig (line 203) | public getConfig(key: T): IAppConfig[T] { method setConfig (line 207) | public setConfig(data: IAppConfig) { method _setConfig (line 211) | private _setConfig(data: IAppConfig, from: "main" | "renderer") { FILE: src/shared/app-config/preload.ts function syncConfig (line 4) | async function syncConfig() { function setConfig (line 8) | function setConfig(config: any) { function reset (line 12) | function reset() { function onConfigUpdate (line 16) | function onConfigUpdate(callback: (patch: any) => void) { FILE: src/shared/app-config/renderer.ts type IMod (line 5) | interface IMod { class AppConfig (line 17) | class AppConfig { method notifyCallbacks (line 24) | private notifyCallbacks(patch: IAppConfig) { method setup (line 30) | async setup() { method onConfigUpdate (line 41) | public onConfigUpdate(callback: (patch: IAppConfig, config: IAppConfig... method offConfigUpdate (line 45) | public offConfigUpdate(callback: (patch: IAppConfig, config: IAppConfi... method getAllConfig (line 49) | public getAllConfig() { method getConfig (line 53) | public getConfig(key: T): IAppConfig[T] { method setConfig (line 57) | public setConfig(data: IAppConfig) { method reset (line 61) | public reset() { FILE: src/shared/database/preload-backup.ts constant DATABASE_LATEST_VERSION (line 21) | const DATABASE_LATEST_VERSION = 1; function createInitialTables (line 24) | function createInitialTables() { function migrateDatabase (line 101) | function migrateDatabase() { class LocalMusicSheetDB (line 139) | class LocalMusicSheetDB { method addMusicSheet (line 149) | static addMusicSheet(musicSheet: IDataBaseModel.IMusicSheetModel): boo... method batchAddMusicSheets (line 191) | static batchAddMusicSheets(musicSheets: IDataBaseModel.IMusicSheetMode... method deleteMusicSheet (line 255) | static deleteMusicSheet(platform: string, id: string): boolean { method batchDeleteMusicSheets (line 271) | static batchDeleteMusicSheets(sheets: Array<{ platform: string; id: st... method getMusicSheet (line 306) | static getMusicSheet(platform: string, id: string): IDataBaseModel.IMu... method getAllMusicSheets (line 341) | static getAllMusicSheets(orderBy: string = "_sortIndex", order: "ASC" ... method getMusicSheetsByPlatform (line 381) | static getMusicSheetsByPlatform(platform: string, orderBy: string = "_... method updateMusicSheet (line 421) | static updateMusicSheet( method batchUpdateMusicSheets (line 467) | static batchUpdateMusicSheets( method updateMusicSheetSort (line 507) | static updateMusicSheetSort(platform: string, id: string, newSortIndex... method insertMusicSheetBetween (line 532) | static insertMusicSheetBetween( method rebalanceSortIndexes (line 590) | static rebalanceSortIndexes(): boolean { method getMusicItemsInSheet (line 623) | static getMusicItemsInSheet( method getMusicItemCountInSheet (line 668) | static getMusicItemCountInSheet(platform: string, id: string): number { method existsMusicSheet (line 688) | static existsMusicSheet(platform: string, id: string): boolean { method searchMusicSheets (line 705) | static searchMusicSheets( method batchMoveMusicSheets (line 773) | static batchMoveMusicSheets( FILE: src/shared/database/preload.ts constant DATABASE_LATEST_VERSION (line 19) | const DATABASE_LATEST_VERSION = 1; function createInitialTables (line 22) | function createInitialTables() { function migrateDatabase (line 99) | function migrateDatabase() { class LocalMusicSheetDB (line 135) | class LocalMusicSheetDB { method addMusicSheet (line 144) | static addMusicSheet(musicSheet: IDataBaseModel.IMusicSheetModel): boo... method batchAddMusicSheets (line 185) | static batchAddMusicSheets(musicSheets: IDataBaseModel.IMusicSheetMode... method deleteMusicSheet (line 250) | static deleteMusicSheet(platform: string, id: string): boolean { method batchDeleteMusicSheets (line 265) | static batchDeleteMusicSheets(sheets: Array<{ platform: string; id: st... method getMusicSheet (line 301) | static getMusicSheet(platform: string, id: string): IDataBaseModel.IMu... method getAllMusicSheets (line 337) | static getAllMusicSheets(orderBy: string = "_sortIndex", order: "ASC" ... method getMusicSheetsByPlatform (line 376) | static getMusicSheetsByPlatform(platform: string, orderBy: string = "_... method updateMusicSheet (line 415) | static updateMusicSheet( method rebalanceSortIndexes (line 459) | static rebalanceSortIndexes(): boolean { method batchMoveMusicSheets (line 504) | static batchMoveMusicSheets( method searchMusicSheets (line 585) | static searchMusicSheets( method getMusicItemsInSheet (line 639) | static getMusicItemsInSheet( method getMusicItemCountInSheet (line 683) | static getMusicItemCountInSheet(platform: string, id: string): number { method existsMusicSheet (line 702) | static existsMusicSheet(platform: string, id: string): boolean { FILE: src/shared/global-context/internal/common.ts type _IpcRendererEvt (line 5) | enum _IpcRendererEvt { FILE: src/shared/global-context/main.ts function setupGlobalContext (line 9) | function setupGlobalContext() { FILE: src/shared/global-context/preload.ts function getGlobalContext (line 7) | function getGlobalContext() { FILE: src/shared/global-context/type.d.ts type IGlobalContext (line 1) | interface IGlobalContext { FILE: src/shared/i18n/main.ts function readLangContent (line 19) | async function readLangContent( type ISetupI18nOptions (line 36) | interface ISetupI18nOptions { function setupI18n (line 41) | async function setupI18n(options?: ISetupI18nOptions) { FILE: src/shared/i18n/preload.ts function setupLang (line 4) | async function setupLang() { function changeLang (line 9) | async function changeLang(lang: string) { FILE: src/shared/i18n/renderer.ts function setupI18n (line 14) | async function setupI18n() { function changeLang (line 27) | async function changeLang(lang: string): Promise { FILE: src/shared/i18n/type.d.ts type ISetupData (line 1) | interface ISetupData { type IChangeLangData (line 7) | interface IChangeLangData { type IMod (line 12) | interface IMod { FILE: src/shared/logger/main.ts function logError (line 5) | function logError(msg: string, error: Error, extra?: any) { function logInfo (line 9) | function logInfo(msg: string, extra?: any) { function logPerf (line 15) | function logPerf(msg: string) { FILE: src/shared/logger/renderer.ts function logError (line 6) | function logError(msg: string, error: Error, extra?: any) { function logInfo (line 10) | function logInfo(msg: string, extra?: any) { function logPerf (line 15) | function logPerf(msg: string) { FILE: src/shared/message-bus/main.ts class MessageBus (line 11) | class MessageBus { method setup (line 25) | public setup(windowManager: IWindowManager) { method onAppStateChange (line 48) | public onAppStateChange(cb: (state: IAppState, changedAppState: IAppSt... method sendCommand (line 57) | public sendCommand(command: T, data?: IComma... method getAppState (line 71) | public getAppState() { method createPortForExtensionWindow (line 76) | private createPortForExtensionWindow(bWindow: BrowserWindow) { FILE: src/shared/message-bus/preload/extension.ts function sendCommand (line 50) | function sendCommand(command: T, data?: IComma... function subscribeAppState (line 67) | function subscribeAppState(keys: (keyof IAppState)[]) { function getAppState (line 81) | function getAppState() { function onStateChange (line 85) | function onStateChange( function offStateChange (line 91) | function offStateChange( FILE: src/shared/message-bus/preload/main.ts function handleMessage (line 53) | function handleMessage(data: IPortMessage, from: number | null) { function onCommand (line 78) | function onCommand( function sendCommand (line 89) | function sendCommand(command: K, data: IComman... function syncAppState (line 101) | function syncAppState(appState: IAppState, to?: "main" | number) { function syncAppStateTo (line 114) | function syncAppStateTo(appState: IAppState, processId: "main" | number) { FILE: src/shared/message-bus/renderer/extension.ts type IMod (line 4) | interface IMod { function useAppState (line 21) | function useAppState() { function useAppStatePartial (line 35) | function useAppStatePartial(key: K) { FILE: src/shared/message-bus/renderer/main.ts type IMod (line 3) | interface IMod { FILE: src/shared/message-bus/type.d.ts type IAppState (line 4) | interface IAppState { type ICommand (line 15) | interface ICommand { type IPortMessagePayload (line 46) | interface IPortMessagePayload< type IPortMessage (line 60) | interface IPortMessage< FILE: src/shared/plugin-manager/main/index.ts type ICallPluginMethodParams (line 24) | interface ICallPluginMethodParams< class PluginManager (line 34) | class PluginManager { method plugins (line 40) | public get plugins() { method plugins (line 44) | public set plugins(newPlugins: Plugin[]) { method pluginBasePath (line 69) | private get pluginBasePath() { method setup (line 80) | public async setup(windowManager: IWindowManager) { method callPluginMethod (line 136) | private callPluginMethod({ method syncPlugins (line 157) | private syncPlugins() { method installPluginFromRawCodeImpl (line 166) | private async installPluginFromRawCodeImpl(funcCode: string) { method installPluginFromUrlImpl (line 210) | private async installPluginFromUrlImpl(urlLike: string) { method loadAllPlugins (line 218) | public async loadAllPlugins() { method installPluginFromLocalFile (line 246) | public async installPluginFromLocalFile(urlLike: string) { method installPluginFromRemoteUrl (line 265) | public async installPluginFromRemoteUrl(urlLike: string) { method updateAllPlugins (line 283) | public async updateAllPlugins() { method uninstallPlugin (line 292) | public async uninstallPlugin(hash: string) { FILE: src/shared/plugin-manager/main/internal-plugins/local-plugin.ts function localPluginDefine (line 6) | function localPluginDefine(): IPlugin.IPluginInstance { FILE: src/shared/plugin-manager/main/plugin-methods.ts class PluginMethods (line 10) | class PluginMethods implements IPlugin.IPluginInstanceMethods { method constructor (line 12) | constructor(plugin: Plugin) { method search (line 16) | async search( method getMediaSource (line 46) | async getMediaSource( method getMusicInfo (line 97) | async getMusicInfo( method getLyric (line 116) | async getLyric( method getAlbumInfo (line 228) | async getAlbumInfo( method getMusicSheetInfo (line 276) | async getMusicSheetInfo( method getArtistWorks (line 321) | async getArtistWorks( method importMusicSheet (line 358) | async importMusicSheet(urlLike: string): Promise { method importMusicItem (line 372) | async importMusicItem(urlLike: string): Promise { method getTopListDetail (line 400) | async getTopListDetail( method getRecommendSheetTags (line 430) | async getRecommendSheetTags(): Promise { function flush (line 48) | async function flush(): Promise { FILE: src/shared/plugin-manager/main/polyfill/storage.ts constant MAX_STORAGE_SIZE (line 6) | const MAX_STORAGE_SIZE = 1024 * 1024 * 10; function loadStorage (line 10) | async function loadStorage() { function saveStorage (line 24) | async function saveStorage(newStorage: Record) { function setItem (line 53) | async function setItem(key: string, value: unknown) { function getItem (line 64) | async function getItem(key: string) { function removeItem (line 71) | async function removeItem(key: string) { FILE: src/shared/plugin-manager/preload.ts function onPluginUpdated (line 9) | function onPluginUpdated(callback: (plugins: IPlugin.IPluginDelegate[]) ... type IPluginDelegateLike (line 14) | interface IPluginDelegateLike { function callPluginMethod (line 19) | async function callPluginMethod< function reloadPlugins (line 34) | async function reloadPlugins() { function uninstallPlugin (line 39) | async function uninstallPlugin(hash: string) { function updateAllPlugins (line 43) | async function updateAllPlugins() { function installPluginFromRemote (line 47) | async function installPluginFromRemote(url: string) { function installPluginFromLocal (line 51) | async function installPluginFromLocal(url: string) { FILE: src/shared/plugin-manager/renderer.ts type IPluginDelegateLike (line 6) | interface IPluginDelegateLike { type IMod (line 11) | interface IMod { function getSupportedPlugin (line 38) | function getSupportedPlugin( function getSortedSupportedPlugin (line 46) | function getSortedSupportedPlugin( function getSearchablePlugins (line 62) | function getSearchablePlugins( function getSortedSearchablePlugins (line 73) | function getSortedSearchablePlugins( function getPluginByHash (line 83) | function getPluginByHash(hash: string) { function getPluginByPlatform (line 87) | function getPluginByPlatform(platform: string) { function isSupportFeatureMethod (line 91) | function isSupportFeatureMethod(platform: string, featureMethod: keyof I... function getPluginPrimaryKey (line 99) | function getPluginPrimaryKey(pluginItem: IPluginDelegateLike) { function setup (line 108) | async function setup() { function useSupportedPlugin (line 131) | function useSupportedPlugin( function useSortedSupportedPlugin (line 139) | function useSortedSupportedPlugin( function useSortedPlugins (line 155) | function useSortedPlugins() { FILE: src/shared/service-manager/common.ts type ServiceName (line 1) | enum ServiceName { FILE: src/shared/service-manager/main.ts class ServiceInstance (line 8) | class ServiceInstance { method constructor (line 18) | constructor(serviceName: string, subprocessPath: string) { method onHostChange (line 24) | onHostChange(callback: (host: string | null) => void) { method start (line 29) | start() { method stop (line 69) | stop() { type IServiceData (line 81) | interface IServiceData { class ServiceManager (line 86) | class ServiceManager { method addService (line 91) | private addService(serviceName: ServiceName) { method startService (line 105) | startService(serviceName: ServiceName) { method stopService (line 109) | stopService(serviceName: ServiceName) { method setup (line 113) | setup(windowManager: IWindowManager) { FILE: src/shared/service-manager/preload.ts function setup (line 16) | async function setup() { function getServiceHost (line 24) | function getServiceHost(serviceName: ServiceName) { FILE: src/shared/service-manager/renderer.ts type IMod (line 3) | interface IMod { class RequestForwarderService (line 11) | class RequestForwarderService { method forwardRequest (line 13) | static forwardRequest(url: string, method?: string, headers?: Record): Ret... function readFile (line 15) | function readFile(...args: Parameters): Retur... function isFile (line 19) | async function isFile(path: string) { function isFolder (line 28) | async function isFolder(path: string) { function addFileScheme (line 37) | function addFileScheme(filePath: string) { function exitApp (line 53) | function exitApp() { function getPath (line 57) | async function getPath(pathName: "home" | "appData" | "userData" | "sess... function checkUpdate (line 61) | async function checkUpdate() { function getCacheSize (line 65) | async function getCacheSize() { function clearCache (line 69) | async function clearCache() { function minMainWindow (line 83) | function minMainWindow(skipTaskBar: boolean) { function showMainWindow (line 87) | function showMainWindow() { function setLyricWindow (line 91) | function setLyricWindow(enabled: boolean) { function setMinimodeWindow (line 95) | function setMinimodeWindow(enabled: boolean) { function ignoreMouseEvent (line 99) | function ignoreMouseEvent(ignore: boolean) { function toggleMainWindowVisible (line 103) | function toggleMainWindowVisible() { function toggleMainWindowMaximize (line 107) | function toggleMainWindowMaximize() { function openExternal (line 122) | function openExternal(url: string) { function openPath (line 126) | function openPath(path: string) { function showItemInFolder (line 130) | async function showItemInFolder(path: string): Promise { function showOpenDialog (line 141) | function showOpenDialog(options: Electron.OpenDialogOptions): Promise = { [P in keyof T]?: T[P] | null }; type IAppConfig (line 110) | type IAppConfig = PartialOrNull<_IAppConfig>; type IAppConfigKey (line 111) | type IAppConfigKey = keyof IAppConfig; FILE: src/types/assets.d.ts type Styles (line 1) | type Styles = Record; FILE: src/types/audio-controller.d.ts type IAudioController (line 4) | interface IAudioController { FILE: src/types/common.d.ts type WithMusicList (line 2) | type WithMusicList = T & { type PaginationResponse (line 6) | type PaginationResponse = { type IUpdateInfo (line 11) | interface IUpdateInfo { type IPoint (line 20) | interface IPoint { type ISize (line 25) | interface ISize { type IThemePack (line 30) | interface IThemePack { type IDownloadFileSize (line 54) | interface IDownloadFileSize { type ICommonReturnType (line 61) | type ICommonReturnType = [ type ICommand (line 69) | interface ICommand { type ICommandKey (line 77) | type ICommandKey = keyof ICommand; FILE: src/types/main/window-manager.d.ts type IWindowNames (line 3) | type IWindowNames = "main" | "lyric" | "minimode"; type IWindowEvents (line 5) | interface IWindowEvents { type IWindowManager (line 12) | interface IWindowManager { FILE: src/types/media.d.ts type SupportMediaItem (line 2) | type SupportMediaItem = { type SupportMediaType (line 10) | type SupportMediaType = keyof SupportMediaItem; type IUnique (line 12) | interface IUnique { type IMediaBase (line 20) | interface IMediaBase extends IUnique { type IMusicSource (line 28) | interface IMusicSource { type IMusicItem (line 37) | interface IMusicItem extends IMedia.IMediaBase { type IMusicItemInternalData (line 60) | interface IMusicItemInternalData { type IMusicSheetItem (line 67) | interface IMusicSheetItem extends IMedia.IMediaBase { type IDBMusicSheetItem (line 87) | interface IDBMusicSheetItem extends IMusicSheetItem { type ILocalMusicList (line 91) | interface ILocalMusicList { type IMusicSheetGroupItem (line 97) | interface IMusicSheetGroupItem { type IQualityKey (line 103) | type IQualityKey = "low" | "standard" | "high" | "super"; type IMusicItemPartial (line 105) | type IMusicItemPartial = Partial; type IAlbumItem (line 109) | interface IAlbumItem extends IMusic.IMusicSheetItem { type IArtistItem (line 122) | interface IArtistItem { type ArtistMediaType (line 133) | type ArtistMediaType = "music" | "album"; type ILyricItem (line 137) | interface ILyricItem extends IMusic.IMusicItem { type ILyricSource (line 142) | interface ILyricSource { type ICommentItem (line 150) | interface ICommentItem { type IComment (line 166) | interface IComment extends ICommentItem { FILE: src/types/model.d.ts type IMusicSheetModel (line 3) | interface IMusicSheetModel { type IMusicItemModel (line 27) | interface IMusicItemModel { FILE: src/types/plugin.d.ts type IMediaSourceResult (line 2) | interface IMediaSourceResult { type ISearchResult (line 12) | interface ISearchResult { type ISearchResultType (line 17) | type ISearchResultType = IMedia.SupportMediaType; type ISearchFunc (line 19) | type ISearchFunc = ( type IGetArtistWorksFunc (line 25) | type IGetArtistWorksFunc = ( type IUserVariable (line 31) | interface IUserVariable { type IAlbumInfoResult (line 40) | interface IAlbumInfoResult { type ISheetInfoResult (line 46) | interface ISheetInfoResult { type ITopListInfoResult (line 52) | interface ITopListInfoResult { type IGetRecommendSheetTagsResult (line 58) | interface IGetRecommendSheetTagsResult { type IGetCommentResult (line 64) | interface IGetCommentResult { type IPluginDefine (line 69) | interface IPluginDefine { type IPluginInstance (line 142) | interface IPluginInstance extends IPluginDefine { type R (line 148) | type R = Required; type IPluginInstanceMethods (line 149) | type IPluginInstanceMethods = { type IPluginMeta (line 154) | type IPluginMeta = { type IPluginDelegate (line 159) | type IPluginDelegate = { FILE: src/types/preload.d.ts type Window (line 1) | interface Window { FILE: src/types/user-perference.d.ts type IType (line 2) | interface IType { type IDBType (line 24) | interface IDBType { FILE: src/types/window.d.ts type Window (line 2) | interface Window { type FontData (line 8) | interface FontData { FILE: src/webworkers/db-worker.ts function getSheetItem (line 15) | function getSheetItem(sheetId: string): IMusic.IMusicSheetItem | null { FILE: src/webworkers/db-worker/index.ts function setupWorker (line 13) | function setupWorker(dbPath: string) { FILE: src/webworkers/db-worker/utils.ts function checkTableName (line 5) | function checkTableName(tableName: string) { function isTableExist (line 17) | function isTableExist(database: Database, tableName: string) { function createMusicListTable (line 25) | function createMusicListTable(database: Database, tableName: string) { FILE: src/webworkers/downloader.ts function cleanFile (line 10) | async function cleanFile(filePath: string) { type IOnStateChangeFunc (line 52) | type IOnStateChangeFunc = (data: { function downloadFile (line 59) | async function downloadFile( type IOptions (line 157) | interface IOptions { function downloadFileNew (line 162) | async function downloadFileNew( FILE: src/webworkers/local-file-watcher.ts function setupWatcher (line 17) | async function setupWatcher(initPaths?: string[]) { function changeWatchPath (line 78) | async function changeWatchPath(addPaths?: string[], rmPaths?: string[]) { function onAdd (line 110) | async function onAdd(fn: (musicItems: IMusic.IMusicItem[]) => void) { function onRemove (line 114) | async function onRemove(fn: (filePaths: string[]) => void) {