SYMBOL INDEX (94 symbols across 23 files) FILE: electron/appServices.js function createWindow (line 23) | function createWindow() { function createLyricsWindow (line 141) | function createLyricsWindow() { function createMvWindow (line 224) | function createMvWindow() { function getTray (line 255) | function getTray() { function createTray (line 260) | function createTray(mainWindow, title = '') { function createTouchBar (line 384) | function createTouchBar(mainWindow) { function startApiServer (line 465) | function startApiServer() { function stopApiServer (line 543) | function stopApiServer() { function registerShortcut (line 551) | function registerShortcut() { function playStartupSound (line 670) | function playStartupSound() { function setThumbarButtons (line 707) | function setThumbarButtons(mainWindow, isPlaying = false) { function registerProtocolHandler (line 755) | function registerProtocolHandler(mainWindow) { function handleArgv (line 794) | function handleArgv(argv) { function handleUrl (line 802) | function handleUrl(url) { function sendHashAfterLoad (line 821) | function sendHashAfterLoad(mainWindow) { FILE: electron/extensions/extensionIPC.js function getExtensionIconData (line 12) | function getExtensionIconData(extension, extensionPath) { function registerExtensionIPC (line 42) | function registerExtensionIPC() { function unregisterExtensionIPC (line 289) | function unregisterExtensionIPC() { FILE: electron/extensions/extensionManager.js constant EXTENSIONS_DIR (line 12) | const EXTENSIONS_DIR = !isDev function loadChromeExtensions (line 19) | function loadChromeExtensions() { function unloadChromeExtensions (line 65) | function unloadChromeExtensions() { function getLoadedExtensions (line 80) | function getLoadedExtensions() { function installExtension (line 93) | async function installExtension(extensionPath) { function uninstallExtension (line 110) | function uninstallExtension(extensionId, extensionDir = '') { function reloadExtensions (line 150) | function reloadExtensions() { function getExtensionsDirectory (line 164) | function getExtensionsDirectory() { function ensureExtensionsDirectory (line 171) | function ensureExtensionsDirectory() { function validateManifest (line 183) | function validateManifest(manifestPath) { function getExtensionInfo (line 214) | function getExtensionInfo(extensionDir) { function getDirectorySize (line 243) | function getDirectorySize(dirPath) { function installPluginFromZip (line 271) | async function installPluginFromZip(zipPath) { function installPluginFromUrl (line 372) | async function installPluginFromUrl(downloadUrl, extensionId = '', exten... function isZipBuffer (line 415) | function isZipBuffer(buffer) { function formatFileSize (line 431) | function formatFileSize(bytes) { function scanExtensions (line 444) | function scanExtensions() { function isExtensionInstalled (line 478) | function isExtensionInstalled(extensionName) { FILE: electron/extensions/extensions.js function initializeExtensions (line 9) | function initializeExtensions() { function cleanupExtensions (line 30) | function cleanupExtensions() { function restartExtensions (line 48) | function restartExtensions() { FILE: electron/language/i18n.js function getLocale (line 225) | function getLocale() { function t (line 243) | function t(key) { FILE: electron/services/apiService.js class ApiService (line 3) | class ApiService { method constructor (line 4) | constructor() { method init (line 12) | init(mainWindow) { method start (line 16) | start() { method stop (line 66) | stop() { method broadcastToClients (line 79) | broadcastToClients(data) { method handleControlCommand (line 89) | handleControlCommand(data) { method updateLyrics (line 105) | updateLyrics(lyricsData) { method updatePlayerState (line 114) | updatePlayerState(state) { FILE: electron/services/externalLinkHandler.js function shouldOpenExternally (line 3) | function shouldOpenExternally(targetUrl, currentUrl = '') { function bindExternalLinkHandler (line 24) | function bindExternalLinkHandler(win, openExternalPredicate = shouldOpen... FILE: electron/services/statusBarLyricsService.js class StatusBarLyricsService (line 3) | class StatusBarLyricsService { method constructor (line 4) | constructor() { method init (line 17) | init(mainWindow, store, getTrayCallback, createTrayCallback) { method isStatusBarLyricsEnabled (line 30) | isStatusBarLyricsEnabled() { method registerListeners (line 37) | registerListeners() { method handleLyricsData (line 45) | handleLyricsData(lyricsData) { method handleDisabledState (line 84) | handleDisabledState() { method handleUpdateImage (line 107) | handleUpdateImage(dataUrl) { method initializeOnStartup (line 150) | initializeOnStartup() { method cleanup (line 167) | cleanup() { FILE: electron/services/updater.js method get (line 12) | get() { function setupAutoUpdater (line 17) | function setupAutoUpdater(mainWindow) { function checkForUpdates (line 86) | function checkForUpdates(silent = false) { FILE: src/components/player/AudioController.js function useAudioController (line 3) | function useAudioController({ onSongEnd, updateCurrentTime }) { FILE: src/components/player/Helpers.js function useHelpers (line 6) | function useHelpers(t) { FILE: src/components/player/LyricsHandler.js function useLyricsHandler (line 4) | function useLyricsHandler(t) { FILE: src/components/player/MediaSession.js function useMediaSession (line 1) | function useMediaSession() { FILE: src/components/player/PlaybackMode.js function usePlaybackMode (line 3) | function usePlaybackMode(t, audio) { FILE: src/components/player/ProgressBar.js function useProgressBar (line 4) | function useProgressBar(audio, resetLyricsHighlight) { FILE: src/components/player/SongQueue.js constant QUALITY_LEVELS (line 5) | const QUALITY_LEVELS = ['128', '320', 'flac', 'high', 'viper_atmos', 'vi... constant QUALITY_LABELS (line 6) | const QUALITY_LABELS = { function useSongQueue (line 73) | function useSongQueue(t, musicQueueStore, queueList = null) { FILE: src/main.js method onNeedRefresh (line 33) | onNeedRefresh() { method onOfflineReady (line 36) | onOfflineReady() { FILE: src/plugins/MessagePlugin.js method install (line 5) | install() { FILE: src/plugins/ModalPlugin.js method install (line 5) | install() { FILE: src/router/router.js method scrollBehavior (line 43) | scrollBehavior(to, from, savedPosition) { FILE: src/stores/musicQueue.js method addSong (line 9) | addSong(song) { method setQueue (line 13) | setQueue(newQueue) { method getQueue (line 17) | getQueue() { method removeSong (line 21) | removeSong(index) { method clearQueue (line 25) | clearQueue() { FILE: src/stores/store.js method fetchConfig (line 18) | fetchConfig(key) { method setData (line 23) | async setData(data) { method clearData (line 27) | clearData() { method initDevice (line 30) | async initDevice() { FILE: src/utils/apiBaseUrl.js constant DEFAULT_API_BASE_URL (line 1) | const DEFAULT_API_BASE_URL = function normalizeApiBaseUrl (line 4) | function normalizeApiBaseUrl(input) { function validateApiBaseUrl (line 9) | function validateApiBaseUrl(input) { function getApiBaseUrl (line 27) | function getApiBaseUrl() { function joinApiUrl (line 38) | function joinApiUrl(baseUrl, path = '/') { function testApiBaseUrl (line 44) | async function testApiBaseUrl(baseUrl, options = {}) {