Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Core 2022-03-24 15:22:21 +00:00
commit d177a1ccc6
No known key found for this signature in database
GPG key ID: FE9BF1B547F8F3C6
29 changed files with 1412 additions and 1128 deletions

View file

@ -76,4 +76,4 @@ jobs:
- run: - run:
name: Publish Release name: Publish Release
command: | command: |
gh release create "v${APP_VERSION}" --target ${CIRCLE_SHA1} --title "Cider Version ${APP_VERSION} - Build ${CIRCLE_BUILD_NUM} (${CIRCLE_BRANCH})" --generate-notes -R ciderapp/cider-releases ~/Cider/dist/artifacts/*.deb ~/Cider/dist/artifacts/*.AppImage ~/Cider/dist/artifacts/*.snap ~/Cider/dist/artifacts/*.exe ~/Cider/dist/artifacts/*.yml ~/Cider/dist/artifacts/*.blockmap gh release create "v${APP_VERSION}.${CIRCLE_BUILD_NUM}" --title "Cider Version ${APP_VERSION} - Build ${CIRCLE_BUILD_NUM} (${CIRCLE_BRANCH})" --generate-notes -R ciderapp/cider-releases ~/Cider/dist/artifacts/*.deb ~/Cider/dist/artifacts/*.AppImage ~/Cider/dist/artifacts/*.snap ~/Cider/dist/artifacts/*.exe ~/Cider/dist/artifacts/*.yml ~/Cider/dist/artifacts/*.blockmap

View file

@ -1,6 +1,6 @@
name: Feature Request name: Feature Request
description: Suggest an idea to improve Cider. description: Suggest an idea to improve Cider.
title: "[Enhancement]: " title: "[Feature Request]: "
labels: ["enhancement", "triage"] labels: ["enhancement", "triage"]
assignees: [] assignees: []
body: body:

View file

@ -29,7 +29,7 @@ if (process.env['CIRCLE_BRANCH'] === 'lts') {
// https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables // https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables
var pvers = package.version.split('.') var pvers = package.version.split('.')
package.version = `${pvers[0]}.${pvers[1]}.${pvers[2]}-${channel}.${process.env['CIRCLE_BUILD_NUM']}` package.version = `${pvers[0]}.${pvers[1]}.${pvers[2]}-${channel}.${process.env['CIRCLE_BUILD_NUM']}`
package.build.channel = channel // package.build.channel = channel
package.publish = { package.publish = {
"provider": "github", "provider": "github",
"repo": "cider-releases", "repo": "cider-releases",

View file

@ -174,6 +174,7 @@
"term.plays": "Pways", "term.plays": "Pways",
"term.topGenres": "Top Genwes", "term.topGenres": "Top Genwes",
"term.confirmLogout": "Awe you suwe you want to wogout?", "term.confirmLogout": "Awe you suwe you want to wogout?",
"term.creditDesignedBy": "Designyed by ${authorUsername}",
"home.title": "Home", "home.title": "Home",
"home.recentlyPlayed": "Wecentwy Pwayed", "home.recentlyPlayed": "Wecentwy Pwayed",
"home.recentlyAdded": "Wecentwy Added", "home.recentlyAdded": "Wecentwy Added",
@ -283,6 +284,7 @@
"settings.option.audio.seamlessTransition": "Seamwess Audio Twansition", "settings.option.audio.seamlessTransition": "Seamwess Audio Twansition",
"settings.option.audio.enableAdvancedFunctionality": "Enyabwe Advanced Functionyawity", "settings.option.audio.enableAdvancedFunctionality": "Enyabwe Advanced Functionyawity",
"settings.option.audio.enableAdvancedFunctionality.description": "Enyabwing AudioContext functionyawity wiww awwow fow extended audio featuwes wike Audio Nyowmawization, Equawizews and Visuawizews - howevew on some systems this may cause stuttewing in audio twacks.", "settings.option.audio.enableAdvancedFunctionality.description": "Enyabwing AudioContext functionyawity wiww awwow fow extended audio featuwes wike Audio Nyowmawization, Equawizews and Visuawizews - howevew on some systems this may cause stuttewing in audio twacks.",
"settings.warn.audio.enableAdvancedFunctionality.lowcores": "Cidew thinks youw PC cant handwe these featuwes. Awe you suwe you want to continyue?",
"settings.option.audio.audioLab": "Cidew Audio Wab", "settings.option.audio.audioLab": "Cidew Audio Wab",
"settings.option.audio.audioLab.description": "An assowtment of in-house devewoped audio effects fow Cidew.", "settings.option.audio.audioLab.description": "An assowtment of in-house devewoped audio effects fow Cidew.",
"settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionyawity) is wequiwed to enyabwe Cidew Audio Wabowatowy.", "settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionyawity) is wequiwed to enyabwe Cidew Audio Wabowatowy.",
@ -301,6 +303,7 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Aggwessive", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Aggwessive",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Nyowmawization", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Nyowmawization",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Nyowmawizes peak vowume fow individuaw twacks to cweate a mowe unyifowm wistenying expewience.", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Nyowmawizes peak vowume fow individuaw twacks to cweate a mowe unyifowm wistenying expewience.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Manyaged by Audio Wab",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatiawization", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatiawization",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatiawize audio and make audio mowe 3-dimensionyaw (nyote: This is nyot Dowby Atmos)", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatiawize audio and make audio mowe 3-dimensionyaw (nyote: This is nyot Dowby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cidew Tunyed Spatiawization", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cidew Tunyed Spatiawization",
@ -378,6 +381,8 @@
"settings.option.debug.openAppData": "Open Cidew Fowdew", "settings.option.debug.openAppData": "Open Cidew Fowdew",
"settings.header.experimental": "Expewimentaw", "settings.header.experimental": "Expewimentaw",
"settings.header.experimental.description": "Adjust the expewimentaw settings fow Cidew.", "settings.header.experimental.description": "Adjust the expewimentaw settings fow Cidew.",
"settings.option.experimental.reinstallwidevine": "Weinstaww WidevinyeCDM",
"settings.option.experimental.reinstallwidevine.confirm": "Awe you suwe you want to weinstaww Widevinye?",
"settings.option.experimental.unknownPlugin": "Unknyown Souwces", "settings.option.experimental.unknownPlugin": "Unknyown Souwces",
"settings.option.experimental.unknownPlugin.description": "Awwow instawwation of pwugins fwom wepos othew than the Cidew Pwugin Wepositowy", "settings.option.experimental.unknownPlugin.description": "Awwow instawwation of pwugins fwom wepos othew than the Cidew Pwugin Wepositowy",
"settings.option.experimental.compactUI": "Compact UI", "settings.option.experimental.compactUI": "Compact UI",
@ -409,5 +414,15 @@
"settings.header.unfinished": "Unfinyished", "settings.header.unfinished": "Unfinyished",
"remote.web.title": "Cidew Wemote", "remote.web.title": "Cidew Wemote",
"remote.web.description": "Scan the QW code to paiw youw phonye up with this Cidew instance", "remote.web.description": "Scan the QW code to paiw youw phonye up with this Cidew instance",
"share.platform.twitter.tweet": "Wisten to {{song}} on Appwe Music.\n\n{{song}}\n\n#AppweMusic #Cidew",
"share.platform.twitter": "Twittew",
"share.platform.facebook": "Facebook",
"share.platform.reddit": "Weddit",
"share.platform.telegram": "Tewegwam",
"share.platform.whatsapp": "WhatsApp",
"share.platform.messenger": "Messengew",
"share.platform.email": "Emaiw",
"share.platform.songLink": "Copy with song.wink",
"share.platform.clipboard": "Copy Wink",
"about.thanks": "Majow thanks to the Cidew Cowwective Team and aww of ouw contwibutows." "about.thanks": "Majow thanks to the Cidew Cowwective Team and aww of ouw contwibutows."
} }

View file

@ -132,8 +132,8 @@
"term.reset": "Reset", "term.reset": "Reset",
"term.tracks": "tracks", "term.tracks": "tracks",
"term.track": { "term.track": {
"one" : "track", "one": "track",
"other" : "tracks" "other": "tracks"
}, },
"term.videos": "Videos", "term.videos": "Videos",
"term.menu": "Menu", "term.menu": "Menu",
@ -284,6 +284,7 @@
"settings.option.audio.seamlessTransition": "Seamless Audio Transition", "settings.option.audio.seamlessTransition": "Seamless Audio Transition",
"settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality", "settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality",
"settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization, Equalizers and Visualizers - however on some systems this may cause stuttering in audio tracks.", "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization, Equalizers and Visualizers - however on some systems this may cause stuttering in audio tracks.",
"settings.warn.audio.enableAdvancedFunctionality.lowcores": "Cider thinks your PC cant handle these features. Are you sure you want to continue?",
"settings.option.audio.audioLab": "Cider Audio Lab", "settings.option.audio.audioLab": "Cider Audio Lab",
"settings.option.audio.audioLab.description": "An assortment of in-house developed audio effects for Cider.", "settings.option.audio.audioLab.description": "An assortment of in-house developed audio effects for Cider.",
"settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionality) is required to enable Cider Audio Laboratory.", "settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionality) is required to enable Cider Audio Laboratory.",
@ -302,6 +303,7 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Aggressive", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Aggressive",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Managed by Audio Lab",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Tuned Spatialization", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Tuned Spatialization",
@ -379,6 +381,8 @@
"settings.option.debug.openAppData": "Open Cider Folder", "settings.option.debug.openAppData": "Open Cider Folder",
"settings.header.experimental": "Experimental", "settings.header.experimental": "Experimental",
"settings.header.experimental.description": "Adjust the experimental settings for Cider.", "settings.header.experimental.description": "Adjust the experimental settings for Cider.",
"settings.option.experimental.reinstallwidevine": "Reinstall WidevineCDM",
"settings.option.experimental.reinstallwidevine.confirm": "Are you sure you want to reinstall Widevine?",
"settings.option.experimental.unknownPlugin": "Unknown Sources", "settings.option.experimental.unknownPlugin": "Unknown Sources",
"settings.option.experimental.unknownPlugin.description": "Allow installation of plugins from repos other than the Cider Plugin Repository", "settings.option.experimental.unknownPlugin.description": "Allow installation of plugins from repos other than the Cider Plugin Repository",
"settings.option.experimental.compactUI": "Compact UI", "settings.option.experimental.compactUI": "Compact UI",
@ -388,6 +392,7 @@
"settings.option.advanced.playlistTrackMapping.description": "Enables deep scanning of playlists to determine which tracks are in which playlists. Playlist cache build times can increase significantly.", "settings.option.advanced.playlistTrackMapping.description": "Enables deep scanning of playlists to determine which tracks are in which playlists. Playlist cache build times can increase significantly.",
"settings.option.visual.transparent": "Transparent frame", "settings.option.visual.transparent": "Transparent frame",
"settings.option.visual.transparent.description": "Transparent frame (needs Theme Support , requires relaunch)", "settings.option.visual.transparent.description": "Transparent frame (needs Theme Support , requires relaunch)",
"settings.header.advanced": "Advanced",
"spatial.notTurnedOn": "Audio Spatialization is disabled. To use, please enable it first.", "spatial.notTurnedOn": "Audio Spatialization is disabled. To use, please enable it first.",
"spatial.spatialProperties": "Spatial Properties", "spatial.spatialProperties": "Spatial Properties",
"spatial.width": "Width", "spatial.width": "Width",
@ -410,5 +415,15 @@
"settings.header.unfinished": "Unfinished", "settings.header.unfinished": "Unfinished",
"remote.web.title": "Cider Remote", "remote.web.title": "Cider Remote",
"remote.web.description": "Scan the QR code to pair your phone up with this Cider instance", "remote.web.description": "Scan the QR code to pair your phone up with this Cider instance",
"share.platform.twitter.tweet": "Listen to {{song}} on Apple Music.\n\n{{url}}\n\n#AppleMusic #Cider",
"share.platform.twitter": "Twitter",
"share.platform.facebook": "Facebook",
"share.platform.reddit": "Reddit",
"share.platform.telegram": "Telegram",
"share.platform.whatsapp": "WhatsApp",
"share.platform.messenger": "Messenger",
"share.platform.email": "Email",
"share.platform.songLink": "Copy with song.link",
"share.platform.clipboard": "Copy Link",
"about.thanks": "Major thanks to the Cider Collective Team and all of our contributors." "about.thanks": "Major thanks to the Cider Collective Team and all of our contributors."
} }

View file

@ -2,9 +2,9 @@
"i18n.languageName": "Magyar", "i18n.languageName": "Magyar",
"i18n.languageNameEnglish": "Hungarian", "i18n.languageNameEnglish": "Hungarian",
"i18n.category": "main", "i18n.category": "main",
"i18n.authors": "@Greenoliv @Amaru @BenjaminStonawski", "i18n.authors": "@Amaru",
"app.name": "Cider", "app.name": "Cider",
"date.format": "${m} ${d}, ${y}", "date.format": "${y} ${m} ${d}",
"dialog.cancel": "Mégsem", "dialog.cancel": "Mégsem",
"dialog.ok": "OK", "dialog.ok": "OK",
"notification.updatingLibrarySongs": "Zenekönyvtár frissítése...", "notification.updatingLibrarySongs": "Zenekönyvtár frissítése...",
@ -12,7 +12,7 @@
"notification.updatingLibraryArtists": "Előadók frissítése...", "notification.updatingLibraryArtists": "Előadók frissítése...",
"term.appleInc": "Apple Inc.", "term.appleInc": "Apple Inc.",
"term.appleMusic": "Apple Music", "term.appleMusic": "Apple Music",
"term.applePodcasts": "Apple Podcastok", "term.applePodcasts": "Apple Podcasts",
"term.itunes": "iTunes", "term.itunes": "iTunes",
"term.github": "GitHub", "term.github": "GitHub",
"term.discord": "Discord", "term.discord": "Discord",
@ -23,6 +23,8 @@
"term.about": "Névjegy", "term.about": "Névjegy",
"term.privateSession": "Privát hallgatás", "term.privateSession": "Privát hallgatás",
"term.queue": "Várólista", "term.queue": "Várólista",
"term.lyrics": "Dalszöveg",
"term.miniplayer": "Kis lejátszó",
"term.history": "Előzmények", "term.history": "Előzmények",
"term.search": "Keresés", "term.search": "Keresés",
"term.library": "Könyvtár", "term.library": "Könyvtár",
@ -76,10 +78,10 @@
"term.enabled": "Be", "term.enabled": "Be",
"term.disabled": "Ki", "term.disabled": "Ki",
"term.connect": "Csatlakoztatás", "term.connect": "Csatlakoztatás",
"term.connecting": "Csatlakozás", "term.connecting": "Jóváhagyás ?",
"term.disconnect": "Lecsatlakozatás", "term.disconnect": "Több",
"term.authed": "Hitelesítve", "term.authed": "Hitelesítve",
"term.confirm": "Jóváhagyja?", "term.confirm": "Jóváhagyás ?",
"term.more": "Több", "term.more": "Több",
"term.less": "Kevesebb", "term.less": "Kevesebb",
"term.showMore": "Mutass többet", "term.showMore": "Mutass többet",
@ -89,12 +91,26 @@
"term.time.added": "Hozzáadva", "term.time.added": "Hozzáadva",
"term.time.released": "Kiadva", "term.time.released": "Kiadva",
"term.time.updated": "Frissítve", "term.time.updated": "Frissítve",
"term.time.days": "nap",
"term.time.day": {
"one": "nap",
"other": "nap"
},
"term.time.hours": "óra", "term.time.hours": "óra",
"term.time.hour": "óra", "term.time.hour": {
"one": "óra",
"other": "óra"
},
"term.time.minutes": "perc", "term.time.minutes": "perc",
"term.time.minute": "perc", "term.time.minute": {
"one": "perc",
"other": "perc"
},
"term.time.seconds": "másodperc", "term.time.seconds": "másodperc",
"term.time.second": "másodperc", "term.time.second": {
"one": "másodperc",
"other": "másodperc"
},
"term.fullscreenView": "Teljes képernyős mód", "term.fullscreenView": "Teljes képernyős mód",
"term.defaultView": "Alapértelmezett nézet", "term.defaultView": "Alapértelmezett nézet",
"term.audioSettings": "Hangbeállítások", "term.audioSettings": "Hangbeállítások",
@ -103,7 +119,7 @@
"term.recentStations": "Nemrég játszott", "term.recentStations": "Nemrég játszott",
"term.language": "Nyelv", "term.language": "Nyelv",
"term.funLanguages": "Fantázianyelvek", "term.funLanguages": "Fantázianyelvek",
"term.noLyrics": "Betöltés... / Dalszöveg nem található. / Instrumentális.", "term.noLyrics": "Betöltés... / Dalszöveg nem található / Instrumentális",
"term.copyright": "Szerzői jog", "term.copyright": "Szerzői jog",
"term.rightsReserved": "Minden jog fenntartva.", "term.rightsReserved": "Minden jog fenntartva.",
"term.sponsor": "Támogasd a projektet", "term.sponsor": "Támogasd a projektet",
@ -112,13 +128,17 @@
"term.socialTeam": "Közösségi csapat", "term.socialTeam": "Közösségi csapat",
"term.socials": "Szociális", "term.socials": "Szociális",
"term.contributors": "Hozzájárulók", "term.contributors": "Hozzájárulók",
"term.equalizer": "Hangszínszabályozó", "term.equalizer": "Hangszínszabályzó",
"term.reset": "Visszaállítás", "term.reset": "Visszaállítás",
"term.tracks": "zeneszám", "term.tracks": "zeneszám",
"term.track": {
"one" : "zeneszám",
"other" : "zeneszám"
},
"term.videos": "Videók", "term.videos": "Videók",
"term.menu": "Menü", "term.menu": "Menü",
"term.check": "Ellenőrzés", "term.check": "Ellenőrzés",
"term.aboutArtist": "About {{artistName}}", "term.aboutArtist": "{{artistName}}-ról/ről",
"term.topResult": "Legjobb találatok", "term.topResult": "Legjobb találatok",
"term.sharedPlaylists": "Megosztott lejátszási listák", "term.sharedPlaylists": "Megosztott lejátszási listák",
"term.people": "Profilok", "term.people": "Profilok",
@ -135,24 +155,26 @@
"term.curators": "Kurátorok", "term.curators": "Kurátorok",
"term.appleCurators": "Apple Kurátorok", "term.appleCurators": "Apple Kurátorok",
"term.radioShows": "Rádióadások", "term.radioShows": "Rádióadások",
"term.recordLabels": "Record Labels", "term.recordLabels": "Lemezkiadók",
"term.videoExtras": "Videóextrák", "term.videoExtras": "Videóextrák",
"term.top": "Top", "term.top": "Top",
"term.version": "Verzió", "term.version": "Verzió",
"term.noVideos": "Nincs találat.", "term.noVideos": "Nincs találat",
"term.plugin": "Plug-in", "term.plugin": "Plug-in",
"term.pluginMenu": "Plug-in Menü", "term.pluginMenu": "Plug-in Menü",
"term.pluginMenu.none": "Nem találhatóak interaktív pluginok",
"term.replay": "Replay", "term.replay": "Replay",
"term.uniqueAlbums": "Unique Albums", "term.uniqueAlbums": "album",
"term.uniqueArtists": "Unique Artists", "term.uniqueArtists": "előadó",
"term.uniqueSongs": "Unique Songs", "term.uniqueSongs": "zeneszám",
"term.topArtists": "Top Artists", "term.topArtists": "Leghallgatottabb előadói",
"term.listenedTo": "Listened to:", "term.listenedTo": "Meghallgatta:",
"term.times": "alkalom", "term.times": "alkalommal",
"term.topAlbums": "Top Albums", "term.topAlbums": "Leghallgatottabb albumok",
"term.plays": "Plays", "term.plays": "lejátszás",
"term.topGenres": "Top Genres", "term.topGenres": "Leghallgatottabb műfajok",
"term.confirmLogout": "Biztosan ki szeretnél jelentkezni?", "term.confirmLogout": "Biztosan ki szeretnél jelentkezni?",
"term.creditDesignedBy": "Készítette ${authorUsername}",
"home.title": "Kezdőlap", "home.title": "Kezdőlap",
"home.recentlyPlayed": "Nemrég játszott", "home.recentlyPlayed": "Nemrég játszott",
"home.recentlyAdded": "Nemrég hozzáadott", "home.recentlyAdded": "Nemrég hozzáadott",
@ -176,7 +198,7 @@
"action.addToLibrary": "Hozzáadás a Könyvtárhoz", "action.addToLibrary": "Hozzáadás a Könyvtárhoz",
"action.addToLibrary.success": "Hozzáadva a Könyvtárhoz", "action.addToLibrary.success": "Hozzáadva a Könyvtárhoz",
"action.addToLibrary.error": "Hiba a hozzáadáskor.", "action.addToLibrary.error": "Hiba a hozzáadáskor.",
"action.removeFromLibrary": "Törlés a Könytárból", "action.removeFromLibrary": "Törlés a Könyvtárból",
"action.removeFromLibrary.success": "Törölve a Könyvtárból", "action.removeFromLibrary.success": "Törölve a Könyvtárból",
"action.addToQueue": "Hozzáadás a várólistához", "action.addToQueue": "Hozzáadás a várólistához",
"action.addToQueue.success": "Hozzáadva a várólistához", "action.addToQueue.success": "Hozzáadva a várólistához",
@ -199,6 +221,8 @@
"action.startRadio": "Állomás létrehozása", "action.startRadio": "Állomás létrehozása",
"action.goToArtist": "Előadó megjelenítése", "action.goToArtist": "Előadó megjelenítése",
"action.goToAlbum": "Album megjelenítése", "action.goToAlbum": "Album megjelenítése",
"action.showInPlaylist": "Lejátszási lista megjelenítése",
"action.showInAppleMusic": "Megjelenítés az Apple Musicban",
"action.moveToTop": "Mozgatás legfelülre", "action.moveToTop": "Mozgatás legfelülre",
"action.share": "Megosztás", "action.share": "Megosztás",
"action.rename": "Átnevezés", "action.rename": "Átnevezés",
@ -207,38 +231,43 @@
"action.dislike": "Kevesebb ilyen javasolása", "action.dislike": "Kevesebb ilyen javasolása",
"action.undoDislike": "A Kevesebb ilyen javasolása visszavonása", "action.undoDislike": "A Kevesebb ilyen javasolása visszavonása",
"action.showWebRemoteQR": "Távirányító", "action.showWebRemoteQR": "Távirányító",
"action.playTracksNext": "${app.selectedMediaItems.length} zenék lejátszása következőnek", "action.playTracksNext": "${app.selectedMediaItems.length} zene lejátszása következőnek",
"action.playTracksLater": "${app.selectedMediaItems.length} zenék lejátszása később", "action.playTracksLater": "${app.selectedMediaItems.length} zene lejátszása később",
"action.removeTracks": "${self.selectedItems.length} zenék eltávolítása a várólistáról", "action.removeTracks": "${self.selectedItems.length} zene eltávolítása a várólistáról",
"action.import": "Importálás", "action.import": "Importálás",
"action.export": "Exportálás", "action.export": "Exportálás",
"action.showAlbum": "Teljes album megjelenítése", "action.showAlbum": "Teljes album megjelenítése",
"action.tray.minimize": "Kicsinyítés a tálcára", "action.tray.minimize": "Kicsinyítés a Tálcára",
"action.tray.quit": "Kilépés", "action.tray.quit": "Bezárás",
"action.tray.show": "Megjelenítés", "action.tray.show": "Megjelenítés",
"action.update": "Frissítés", "action.update": "Frissítés",
"action.install": "Telepítés", "action.install": "Telepítés",
"action.copy": "Másolás", "action.copy": "Másolás",
"action.newpreset": "Új Preset...", "action.newpreset": "Új előbeállítás...",
"action.deletepreset": "Preset törlése", "action.deletepreset": "Előbeállítás törlése",
"action.open": "Megnyitás", "action.open": "Megnyitás",
"action.relaunch.confirm": "Biztosan szeretnéd újraindítani a Cidert?",
"settings.header.general": "Általános", "settings.header.general": "Általános",
"settings.header.general.description": "A Cider általános beállításainak módosítása.", "settings.header.general.description": "A Cider általános beállításainak módosítása.",
"settings.option.general.language": "Nyelv", "settings.option.general.language": "Nyelv",
"settings.option.general.resumebehavior": "Resume behavior", "settings.option.general.resumebehavior": "Folytatási viselkedés",
"settings.option.general.resumebehavior.description": "Resume behavior affects how Cider will resume your session when you return to the app.", "settings.option.general.resumebehavior.description": "A folytatási viselkedés a Ciderbe való visszatérésnél történő zene lejátszását változtatja.",
"settings.option.general.resumebehavior.locally": "Locally", "settings.option.general.resumebehavior.locally": "Lokális",
"settings.option.general.resumebehavior.locally.description": "Cider will resume your last session on this machine.", "settings.option.general.resumebehavior.locally.description": "A Cider az ezen az eszközön utoljára játszott zenét fogja folytatni.",
"settings.option.general.resumebehavior.history": "History", "settings.option.general.resumebehavior.history": "Előzmények",
"settings.option.general.resumebehavior.history.description": "Cider will queue the last song from your overall Apple Music history, across devices.", "settings.option.general.resumebehavior.history.description": "A Cider az utolsó zeneszámot fogja lekérni az Apple Music előzményeidből, eszközökön keresztül.",
"settings.option.general.language.main": "Nyelvek", "settings.option.general.language.main": "Nyelvek",
"settings.option.general.language.fun": "Fantázianyelvek", "settings.option.general.language.fun": "Fantázianyelvek",
"settings.option.general.language.unsorted": "Azonosítatlan", "settings.option.general.language.unsorted": "Kategorizálatlan",
"settings.option.general.updateCider": "Cider frissítése", "settings.option.general.updateCider": "Cider frissítése",
"settings.option.general.updateCider.branch": "Verzió kiválasztása", "settings.option.general.updateCider.branch": "Verzió kiválasztása",
"settings.option.general.updateCider.branch.description": "Válaszd ki a Cider melyik verziójára szeretnél frissíteni", "settings.option.general.updateCider.branch.description": "Válaszd ki a Cider melyik verziójára szeretnél frissíteni",
"settings.option.general.updateCider.branch.main": "Normál", "settings.option.general.updateCider.branch.main": "Normál",
"settings.option.general.updateCider.branch.develop": "Fejlesztői", "settings.option.general.updateCider.branch.develop": "Fejlesztői",
"settings.notyf.updateCider.update-not-available": "Nem található frissítés",
"settings.notyf.updateCider.update-downloaded": "A frissítés le lett töltve, a telepítéshez indítsa újra az alkalmazást",
"settings.notyf.updateCider.update-error": "Hiba történt a frissítés közben",
"settings.notyf.updateCider.update-timeout": "Időtúllépés történt a frissítés alatt",
"settings.header.audio": "Hang", "settings.header.audio": "Hang",
"settings.header.audio.description": "A Cider hangbeállításainak módosítása.", "settings.header.audio.description": "A Cider hangbeállításainak módosítása.",
"settings.option.audio.volumeStep": "Hangerő lépték", "settings.option.audio.volumeStep": "Hangerő lépték",
@ -248,24 +277,24 @@
"settings.header.audio.quality.hireslossless.description": "max. 24-bit/192 kHz sebességen", "settings.header.audio.quality.hireslossless.description": "max. 24-bit/192 kHz sebességen",
"settings.header.audio.quality.lossless": "Veszteségmentes", "settings.header.audio.quality.lossless": "Veszteségmentes",
"settings.header.audio.quality.lossless.description": "max. up to 24-bit/48 kHz sebességen", "settings.header.audio.quality.lossless.description": "max. up to 24-bit/48 kHz sebességen",
"settings.header.audio.quality.high": "High", "settings.header.audio.quality.high": "Magas",
"settings.header.audio.quality.high.description": "256 kbps", "settings.header.audio.quality.high.description": "256 kbps",
"settings.header.audio.quality.standard": "Standard", "settings.header.audio.quality.standard": "Normál",
"settings.header.audio.quality.standard.description": "64 kbps", "settings.header.audio.quality.standard.description": "64 kbps",
"settings.option.audio.seamlessTransition": "Szünetmentes lejátszás", "settings.option.audio.seamlessTransition": "Szünetmentes lejátszás",
"settings.option.audio.enableAdvancedFunctionality": "Haladó funkcionalitás engedélyezése", "settings.option.audio.enableAdvancedFunctionality": "Haladó funkcionalitás engedélyezése",
"settings.option.audio.enableAdvancedFunctionality.description": "Az AudioContext funkció engedélyezése lehetővé teszi a fejlettebb hangfunkciókat, például a Normalizásást, az Equalizereket és a Visualizer funkciókat, azonban egyes számítógépeken ez akadozást okozhat a hangsávokban.", "settings.option.audio.enableAdvancedFunctionality.description": "Az AudioContext funkció engedélyezése lehetővé teszi a fejlettebb hangfunkciókat, például a Normalizásást, az Equalizereket és a Visualizer funkciókat, azonban egyes eszközökön ez akadozást okozhat a hangsávokban.",
"settings.option.audio.audioLab": "Cider Audio Lab", "settings.option.audio.audioLab": "Cider Hangstúdió",
"settings.option.audio.audioLab.description": "An assortment of in-house developed audio effects for Cider.", "settings.option.audio.audioLab.description": "A Ciderhez fejlesztett hangeffektek gyűjteménye.",
"settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionality) is required to enable Cider Audio Laboratory.", "settings.warn.audioLab.withoutAF": "Az AudioContext (Haladó funkcionalitás) szükséges a Cider Hangstúdió engedélyezéséhez.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analog Warmth", "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analóg Érzet",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simulates the analog warmth modelled after the Korg Nutube 6P1", "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "A Korg Nutube 6P1 analóg érzetét szimulálja.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analog Warmth intensity", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analóg Érzet erősség",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Changes the intensity of the Analog Warmth Module processing.", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Az Analóg Érzet modul hangfeldolgozási erősségét változtatja.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Smooth", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Szokásos",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Warm", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Nagyobb",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Pszichoakusztikus Módosítások amik minden hangot felerősítenek és ütősebbé tesznek", "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Pszichoakusztikus Módosítások amik a veszteségmentes hallgatáshoz közeli élményt imitálnak.",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "A CAP nem kompatibilis a Térbeli Hanggal. Kapcsold ki a Térbeli Hangot a folytatáshoz.", "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "A CAP nem kompatibilis a Térbeli Hanggal. Kapcsold ki a Térbeli Hangot a folytatáshoz.",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Erősség", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Erősség",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Megváltoztatja a hangra végzett feldolgozás erősségét. (Az Agresszív mód nemkívánatos eredményeket hozhat!)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Megváltoztatja a hangra végzett feldolgozás erősségét. (Az Agresszív mód nemkívánatos eredményeket hozhat!)",
@ -274,13 +303,13 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalizálás", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalizálás",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizálja az egyes zeneszámok hangosabb részeit, hogy egységesebb hallgatási élményt hozzon létre.", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizálja az egyes zeneszámok hangosabb részeit, hogy egységesebb hallgatási élményt hozzon létre.",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Térbeli hang", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Térbeli hang",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Térbeli hang és a hang háromdimenziósabbá tétele (Ez nem összekeverendő a Dolby Atmos-szal!)", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "A hangzás háromdimenziósabbá tétele (Ez nem összekeverendő a Dolby Atmos-szal!)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Tuned Spatialization", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Előhangosított Térbeli Hang",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Pre-tuned Spatializing Effect, disables the customizable settings of Audio Spatialization. Spatialization must be enabled as a prerequisite.", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Előre beállított Térbeli hangzás, ami letiltja a testreszabható Térbeli hang beállításokat. A Térbeli hangot be kell kapcsolni az engedélyezéshez.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider Spatialization Profile", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider Térbeli Hangprofil",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Changes the Tuning Profile of the Spatialization. (Requires App Restart)", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Megváltoztatja a Térbeli hang előbeállítás profilját. (Újraindítás szükséges)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Standard", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Normál",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiophile", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Professzionális",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "A Térbeli Hang nem kompatibilis a CAP-pal. Kapcsold ki a CAP-ot a folytatáshoz.", "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "A Térbeli Hang nem kompatibilis a CAP-pal. Kapcsold ki a CAP-ot a folytatáshoz.",
"settings.header.visual": "Vizuális", "settings.header.visual": "Vizuális",
"settings.header.visual.description": "A Cider vizuális beállításainak módosítása.", "settings.header.visual.description": "A Cider vizuális beállításainak módosítása.",
@ -290,7 +319,7 @@
"settings.header.visual.windowBackgroundStyle.image": "Kép", "settings.header.visual.windowBackgroundStyle.image": "Kép",
"settings.option.visual.animatedArtwork": "Animált borító", "settings.option.visual.animatedArtwork": "Animált borító",
"settings.header.visual.animatedArtwork.always": "Mindig", "settings.header.visual.animatedArtwork.always": "Mindig",
"settings.header.visual.animatedArtwork.limited": "Oldalakra és speciális bejegyzésekre korlátozva.", "settings.header.visual.animatedArtwork.limited": "Oldalakra és speciális bejegyzésekre korlátozva",
"settings.header.visual.animatedArtwork.disable": "Kikapcsolás mindenhol", "settings.header.visual.animatedArtwork.disable": "Kikapcsolás mindenhol",
"settings.option.visual.animatedArtworkQuality": "Animált borító minősége", "settings.option.visual.animatedArtworkQuality": "Animált borító minősége",
"settings.header.visual.animatedArtworkQuality.low": "Alacsony", "settings.header.visual.animatedArtworkQuality.low": "Alacsony",
@ -307,13 +336,26 @@
"settings.option.visual.theme.github.download": "Telepítés GitHub URL-ről", "settings.option.visual.theme.github.download": "Telepítés GitHub URL-ről",
"settings.option.visual.theme.github.explore": "Témaáruház", "settings.option.visual.theme.github.explore": "Témaáruház",
"settings.header.visual.theme.github.page": "Témák a GitHub-ról", "settings.header.visual.theme.github.page": "Témák a GitHub-ról",
"settings.option.visual.theme.github.install.confirm": "Biztos, hogy szeretnéd telepíteni a(z) {{ repo }} témát?", "settings.option.visual.theme.github.install.confirm": "Biztosan szeretnéd telepíteni a(z) {{ repo }} témát?",
"settings.prompt.visual.theme.github.URL": "Add meg a telepítendő téma URL-jét", "settings.prompt.visual.theme.github.URL": "Add meg a telepítendő téma URL-jét",
"settings.notyf.visual.theme.install.success": "Téma sikeresen telepítve", "settings.notyf.visual.theme.install.success": "Téma sikeresen telepítve",
"settings.notyf.visual.theme.install.error": "Sikertelen volt a téma telepítése", "settings.notyf.visual.theme.install.error": "Sikertelen volt a téma telepítése",
"settings.header.visual.plugin": "Plugin",
"settings.option.visual.plugin.github.download": "Telepítés GitHub URL-ről",
"settings.option.visual.plugin.github.explore": "Témaáruház",
"settings.header.visual.plugin.github.page": "Témák a GitHub-ról",
"settings.option.visual.plugin.github.install.confirm": "Biztosan szeretnéd telepíteni a(z) {{ repo }} témát?",
"settings.prompt.visual.plugin.github.URL": "Add meg a telepítendő téma URL-jét",
"settings.prompt.visual.plugin.github.success": "Plugin sikeresen telepítve, kattints az OK-ra a Cider újraindításához",
"settings.notyf.visual.plugin.install.success": "Plugin sikeresen telepítve",
"settings.notyf.visual.plugin.install.error": "Sikertelen volt a plugin telepítése",
"settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.default": "Cider",
"settings.option.visual.theme.dark": "Sötét", "settings.option.visual.theme.dark": "Sötét",
"settings.option.visual.showPersonalInfo": "Személyes adatok mutatása", "settings.option.visual.showPersonalInfo": "Személyes adatok mutatása",
"settings.header.window": "Ablak",
"settings.header.window.description": "A Cider ablakbeállításainak módosítása.",
"settings.option.window.openOnStartup": "Cider megnyitása bejelentkezésnél",
"settings.option.window.openOnStartup.hidden": "Megnyitás kis méretben",
"settings.header.lyrics": "Dalszöveg", "settings.header.lyrics": "Dalszöveg",
"settings.header.lyrics.description": "A Cider dalszöveg beállításainak módosítása.", "settings.header.lyrics.description": "A Cider dalszöveg beállításainak módosítása.",
"settings.option.lyrics.enableMusixmatch": "MusixMatch dalszövegek engedélyezése", "settings.option.lyrics.enableMusixmatch": "MusixMatch dalszövegek engedélyezése",
@ -323,31 +365,35 @@
"settings.header.connectivity": "Csatlakozások", "settings.header.connectivity": "Csatlakozások",
"settings.header.connectivity.description": "A Cider csatlakozás beállításainak módosítása.", "settings.header.connectivity.description": "A Cider csatlakozás beállításainak módosítása.",
"settings.option.connectivity.discordRPC": "Discord Rich Presence", "settings.option.connectivity.discordRPC": "Discord Rich Presence",
"settings.option.connectivity.playbackNotifications": "Lejátszás értesítések", "settings.option.connectivity.playbackNotifications": "Lejátszási értesítések",
"settings.header.connectivity.discordRPC.cider": "Megjelenítés 'Cider'-ként", "settings.header.connectivity.discordRPC.cider": "Megjelenítés 'Cider'-ként",
"settings.header.connectivity.discordRPC.appleMusic": "Megjelenítés 'Apple Music'-ként", "settings.header.connectivity.discordRPC.appleMusic": "Megjelenítés 'Apple Music'-ként",
"settings.option.connectivity.discordRPC.clearOnPause": "Discord Rich Presence törlése megállításnál", "settings.option.connectivity.discordRPC.clearOnPause": "Discord Rich Presence törlése megállításnál",
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling",
"settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble Késleltetés (%)", "settings.option.connectivity.lastfmScrobble.delay": "Last.fm Scrobble késleltetés (%)",
"settings.option.connectivity.lastfmScrobble.nowPlaying": "LastFM Now Playing engedélyezése", "settings.option.connectivity.lastfmScrobble.nowPlaying": "Last.fm Now Playing engedélyezése",
"settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (LastFM)", "settings.option.connectivity.lastfmScrobble.removeFeatured": "Közreműködő zenészek eltávolítása a címből (Last.fm)",
"settings.option.connectivity.lastfmScrobble.filterLoop": "Loopolt zeneszám szűrése (LastFM)", "settings.option.connectivity.lastfmScrobble.filterLoop": "Ismételt zeneszám szűrése (Last.fm)",
"settings.header.debug": "Hibakeresés", "settings.header.debug": "Hibaelhárítás",
"settings.option.debug.copy_log": "Napló másolása a vágólapra", "settings.option.debug.copy_log": "Napló másolása a vágólapra",
"settings.option.debug.openAppData": "Cider mappa megnyitása", "settings.option.debug.openAppData": "Cider mappa megnyitása",
"settings.header.experimental": "Kísérleti", "settings.header.experimental": "Kísérleti",
"settings.header.experimental.description": "A Cider kísérleti beállításainak módosítása.", "settings.header.experimental.description": "A Cider kísérleti beállításainak módosítása.",
"settings.option.experimental.unknownPlugin": "Unknown Sources", "settings.option.experimental.unknownPlugin": "Ismeretlen források",
"settings.option.experimental.unknownPlugin.description": "Allow installion of plugins from repos other than the Cider Plugin Repository", "settings.option.experimental.unknownPlugin.description": "Engedélyezi azon pluginok telepítését is, amik nem tartoznak a Cider Plugin Gyűjteménybe, ezáltal lehetséges biztonsági kockázatot jelentenek",
"settings.option.experimental.compactUI": "Kompakt felület", "settings.option.experimental.compactUI": "Kompakt felület",
"settings.option.window.close_button_hide": "A bezárás gomb rejtse el az alkalmazást", "settings.option.window.close_button_hide": "A bezárás gomb rejtse el az alkalmazást",
"settings.option.experimental.inline_playlists": "Inline Playlists and Albums", "settings.option.experimental.inline_playlists": "Ablakon belüli lejátszási listák és albumok",
"spatial.notTurnedOn": "A térbeli hangzás ki van kapcsolva, használatához kapcsolja be.", "settings.option.advanced.playlistTrackMapping": "Lejátszási lista feltérképezés",
"settings.option.advanced.playlistTrackMapping.description": "Engedélyezi a lejátszási listák mély beolvasását, ami meg tudja határozni, hogy egy zeneszám melyik lejátszási listákba található. A lejátszási lista gyorsítótár felépítésének időtartalma nagy mértékben megnőhet.",
"settings.option.visual.transparent": "Átlátszó keret",
"settings.option.visual.transparent.description": "Átlátszó ablakkeret (a Témák támogatása és újraindítás szükséges)",
"spatial.notTurnedOn": "A térbeli hang ki van kapcsolva, használatához kapcsolja be.",
"spatial.spatialProperties": "Térbeli hang", "spatial.spatialProperties": "Térbeli hang",
"spatial.width": "Szélesség", "spatial.width": "Szélesség",
"spatial.height": "Magasság", "spatial.height": "Magasság",
"spatial.depth": "Hosszúság", "spatial.depth": "Hosszúság",
"spatial.gain": "Gain", "spatial.gain": "Növelés",
"spatial.roomMaterials": "Szoba felépítése", "spatial.roomMaterials": "Szoba felépítése",
"spatial.roomDimensions": "Szoba méretei", "spatial.roomDimensions": "Szoba méretei",
"spatial.roomPositions": "Szoba pozíciói", "spatial.roomPositions": "Szoba pozíciói",
@ -362,7 +408,17 @@
"spatial.listener": "Hallgató", "spatial.listener": "Hallgató",
"spatial.audioSource": "Hangforrás", "spatial.audioSource": "Hangforrás",
"settings.header.unfinished": "Befejezetlen", "settings.header.unfinished": "Befejezetlen",
"remote.web.title": "Cider Remote", "remote.web.title": "Távirányító",
"remote.web.description": "Olvasd be ezt a QR-kódot a telefonoddal, hogy tudd vezérelni a lejátszót.", "remote.web.description": "Olvasd be ezt a QR-kódot a telefonoddal, hogy vezérelni tudd a lejátszót.",
"share.platform.twitter.tweet": "Hallgasd meg a(z) {{song}} zenét az Apple Musicon.\n\n{{url}}\n\n#AppleMusic #Cider",
"share.platform.twitter": "Twitter",
"share.platform.facebook": "Facebook",
"share.platform.reddit": "Reddit",
"share.platform.telegram": "Telegram",
"share.platform.whatsapp": "WhatsApp",
"share.platform.messenger": "Messenger",
"share.platform.email": "Email",
"share.platform.songLink": "song.link URL másolása",
"share.platform.clipboard": "Link másolása",
"about.thanks": "Köszönet a Cider Collective csapatának és minden hozzájárulónak." "about.thanks": "Köszönet a Cider Collective csapatának és minden hozzájárulónak."
} }

View file

@ -23,6 +23,8 @@
"term.about": "Tentang", "term.about": "Tentang",
"term.privateSession": "Sesi Pribadi", "term.privateSession": "Sesi Pribadi",
"term.queue": "Antrian", "term.queue": "Antrian",
"term.lyrics": "Lirik",
"term.miniplayer": "Pemutar Kecil",
"term.history": "Riwayat", "term.history": "Riwayat",
"term.search": "Cari", "term.search": "Cari",
"term.library": "Pustaka", "term.library": "Pustaka",
@ -61,6 +63,7 @@
"term.sortBy.genre": "Genre", "term.sortBy.genre": "Genre",
"term.sortBy.releaseDate": "Tanggal Rilis", "term.sortBy.releaseDate": "Tanggal Rilis",
"term.sortBy.duration": "Durasi", "term.sortBy.duration": "Durasi",
"term.sortBy.dateAdded": "Tanggal Ditambahkan",
"term.sortOrder": "A-Z", "term.sortOrder": "A-Z",
"term.sortOrder.ascending": "Terkecil", "term.sortOrder.ascending": "Terkecil",
"term.sortOrder.descending": "Terbesar", "term.sortOrder.descending": "Terbesar",
@ -84,19 +87,34 @@
"term.showMore": "Tampilkan lebih banyak", "term.showMore": "Tampilkan lebih banyak",
"term.showLess": "Tampilkan lebih sedikit", "term.showLess": "Tampilkan lebih sedikit",
"term.topSongs": "Lagu Teratas", "term.topSongs": "Lagu Teratas",
"term.latestReleases": "Rilis Terbaru", "term.latestReleases": "Rilisan Terbaru",
"term.time.added": "Ditambahkan", "term.time.added": "Ditambahkan",
"term.time.released": "Dirilis", "term.time.released": "Dirilis",
"term.time.updated": "Diperbarui", "term.time.updated": "Diperbarui",
"term.time.days": "hari",
"term.time.day": {
"one": "hari",
"other": "hari"
},
"term.time.hours": "jam", "term.time.hours": "jam",
"term.time.hour": "jam", "term.time.hour": {
"one": "jam",
"other": "jam"
},
"term.time.minutes": "menit", "term.time.minutes": "menit",
"term.time.minute": "menit", "term.time.minute": {
"one": "menit",
"other": "menit"
},
"term.time.seconds": "detik", "term.time.seconds": "detik",
"term.time.second": "detik", "term.time.second": {
"one": "detik",
"other": "detik"
},
"term.fullscreenView": "Mode Layar Penuh", "term.fullscreenView": "Mode Layar Penuh",
"term.defaultView": "Mode Default", "term.defaultView": "Mode Default",
"term.audioSettings": "Pengaturan Audio", "term.audioSettings": "Pengaturan Audio",
"term.audioControls": "Kontrol Volume",
"term.clearAll": "Bersihkan Semua", "term.clearAll": "Bersihkan Semua",
"term.recentStations": "Stasiun Terbaru", "term.recentStations": "Stasiun Terbaru",
"term.language": "Bahasa", "term.language": "Bahasa",
@ -113,6 +131,10 @@
"term.equalizer": "Equalizer", "term.equalizer": "Equalizer",
"term.reset": "Atur Ulang", "term.reset": "Atur Ulang",
"term.tracks": "lagu", "term.tracks": "lagu",
"term.track": {
"one" : "lagu",
"other" : "lagu"
},
"term.videos": "Video", "term.videos": "Video",
"term.menu": "Menu", "term.menu": "Menu",
"term.check": "Cek", "term.check": "Cek",
@ -124,6 +146,10 @@
"term.addedpreset": "Preset Ditambahkan", "term.addedpreset": "Preset Ditambahkan",
"term.deletepreset.warn": "Yakin ingin menghapus preset ini?", "term.deletepreset.warn": "Yakin ingin menghapus preset ini?",
"term.deletedpreset": "Preset dihapus", "term.deletedpreset": "Preset dihapus",
"term.defaultPresets": "Preset Default",
"term.userPresets": "Presets Pengguna",
"term.requestError": "Ada masalah dengan permintaan.",
"term.song.link.generate": "Mendapatkan link bagi song.link...",
"term.musicVideos": "Video Musik", "term.musicVideos": "Video Musik",
"term.stations": "Stasiun", "term.stations": "Stasiun",
"term.curators": "Kurator", "term.curators": "Kurator",
@ -132,6 +158,23 @@
"term.recordLabels": "Label Rekaman", "term.recordLabels": "Label Rekaman",
"term.videoExtras": "Bonus Video", "term.videoExtras": "Bonus Video",
"term.top": "Atas", "term.top": "Atas",
"term.version": "Versi",
"term.noVideos": "Video tidak ditemukan.",
"term.plugin": "Plug-in",
"term.pluginMenu": "Menu Plug-in",
"term.pluginMenu.none": "Tidak ada plugin interaktif",
"term.replay": "Ulangi",
"term.uniqueAlbums": "Album Spesial",
"term.uniqueArtists": "Artis Spesial",
"term.uniqueSongs": "Lagu Spesial",
"term.topArtists": "Artis Teratas",
"term.listenedTo": "Mendengarkan:",
"term.times": "kali",
"term.topAlbums": "Album Teratas",
"term.plays": "Dimainkan",
"term.topGenres": "Genre Teratas",
"term.confirmLogout": "Apakah Anda yakin ingin keluar??",
"term.creditDesignedBy": "Dirancang oleh ${authorUsername}",
"home.title": "Beranda", "home.title": "Beranda",
"home.recentlyPlayed": "Baru Dimainkan", "home.recentlyPlayed": "Baru Dimainkan",
"home.recentlyAdded": "Baru Ditambahkan", "home.recentlyAdded": "Baru Ditambahkan",
@ -178,7 +221,9 @@
"action.startRadio": "Mulai Radio", "action.startRadio": "Mulai Radio",
"action.goToArtist": "Lihat Halaman Artis", "action.goToArtist": "Lihat Halaman Artis",
"action.goToAlbum": "Lihat Halaman Album", "action.goToAlbum": "Lihat Halaman Album",
"action.moveToTop": "Pindah ke Atas", "action.showInPlaylist": "Tampilkan di Playlist",
"action.showInAppleMusic": "Tampilkan di Apple Music",
"action.moveToTop": "Keluar dari Folder",
"action.share": "Bagikan", "action.share": "Bagikan",
"action.rename": "Ubah Nama", "action.rename": "Ubah Nama",
"action.love": "Suka", "action.love": "Suka",
@ -196,12 +241,21 @@
"action.tray.quit": "Keluar", "action.tray.quit": "Keluar",
"action.tray.show": "Tampilkan", "action.tray.show": "Tampilkan",
"action.update": "Perbarui", "action.update": "Perbarui",
"action.install": "Pasang",
"action.copy": "Salin", "action.copy": "Salin",
"action.newpreset": "Preset Baru...", "action.newpreset": "Preset Baru...",
"action.deletepreset": "Hapus Preset", "action.deletepreset": "Hapus Preset",
"action.open": "Buka",
"action.relaunch.confirm": "Apakah Anda ingin memulai ulang Cider?",
"settings.header.general": "Umum", "settings.header.general": "Umum",
"settings.header.general.description": "Sesuaikan pengaturan umum untuk Cider.", "settings.header.general.description": "Sesuaikan pengaturan umum untuk Cider.",
"settings.option.general.language": "Bahasa", "settings.option.general.language": "Bahasa",
"settings.option.general.resumebehavior": "Aturan Resume",
"settings.option.general.resumebehavior.description": "Aturan resume akan mempengaruhi bagaimana Cider akan melanjutkan sesi Anda ketika memulai Cider.",
"settings.option.general.resumebehavior.locally": "Lokal",
"settings.option.general.resumebehavior.locally.description": "Cider akan melanjutkan sesi terakhir Anda di perangkat ini.",
"settings.option.general.resumebehavior.history": "Riwayat",
"settings.option.general.resumebehavior.history.description": "Cider akan menambahkan lagu terakhir dari keseluruhan riwayat Apple Music Anda ke dalam antrian di seluruh perangkat.",
"settings.option.general.language.main": "Bahasa", "settings.option.general.language.main": "Bahasa",
"settings.option.general.language.fun": "Bahasa Candaan", "settings.option.general.language.fun": "Bahasa Candaan",
"settings.option.general.language.unsorted": "Tidak disortir", "settings.option.general.language.unsorted": "Tidak disortir",
@ -210,8 +264,14 @@
"settings.option.general.updateCider.branch.description": "Pilih branch untuk memperbarui Cider", "settings.option.general.updateCider.branch.description": "Pilih branch untuk memperbarui Cider",
"settings.option.general.updateCider.branch.main": "Stable", "settings.option.general.updateCider.branch.main": "Stable",
"settings.option.general.updateCider.branch.develop": "Development", "settings.option.general.updateCider.branch.develop": "Development",
"settings.notyf.updateCider.update-not-available": "Tidak ada pembaruan tersedia",
"settings.notyf.updateCider.update-downloaded": "Pembaruan sudah didownload, mulai ulang untuk menginstall pembaruan",
"settings.notyf.updateCider.update-error": "Terjadi kesalahan saat memperbarui Cider",
"settings.notyf.updateCider.update-timeout": "Waktu pembaruan habis",
"settings.header.audio": "Audio", "settings.header.audio": "Audio",
"settings.header.audio.description": "Sesuaikan pengaturan audio untuk Cider.", "settings.header.audio.description": "Sesuaikan pengaturan audio untuk Cider.",
"settings.option.audio.volumeStep": "Jangkah Volume",
"settings.option.audio.maxVolume": "Volume Maksimal",
"settings.option.audio.quality": "Kualitas Audio", "settings.option.audio.quality": "Kualitas Audio",
"settings.header.audio.quality.hireslossless": "Hi-Res Lossless", "settings.header.audio.quality.hireslossless": "Hi-Res Lossless",
"settings.header.audio.quality.hireslossless.description": "sampai dari 24-bit/192 kHz", "settings.header.audio.quality.hireslossless.description": "sampai dari 24-bit/192 kHz",
@ -224,16 +284,34 @@
"settings.option.audio.seamlessTransition": "Transisi Audio Mulus", "settings.option.audio.seamlessTransition": "Transisi Audio Mulus",
"settings.option.audio.enableAdvancedFunctionality": "Aktifkan Fungsi Lanjutan", "settings.option.audio.enableAdvancedFunctionality": "Aktifkan Fungsi Lanjutan",
"settings.option.audio.enableAdvancedFunctionality.description": "Mengaktifkan fungsionalitas AudioContext memungkinkan fitur audio lanjutan seperti Normalisasi Audio, Equalizer dan Visualizer. Namun pada beberapa perangkat dapat menyebabkan tersendatnya audio.", "settings.option.audio.enableAdvancedFunctionality.description": "Mengaktifkan fungsionalitas AudioContext memungkinkan fitur audio lanjutan seperti Normalisasi Audio, Equalizer dan Visualizer. Namun pada beberapa perangkat dapat menyebabkan tersendatnya audio.",
"settings.option.audio.audioLab": "Lab Audio Cider",
"settings.option.audio.audioLab.description": "Macam-macam efek audio yang dikembangkan sendiri untuk Cider.",
"settings.warn.audioLab.withoutAF": "AudioContext (Fungsi Lanjutan) perlu diaktifkan untuk menggunakan Lab Audio Cider.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analog Warmth",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Mensimulasikan kehangatan analog yang dimodelkan setelah Korg Nutube 6P1",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analog Warmth intensity",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Mengubah intensitas pemrosesan modul Analog Warmth.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Halus",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Hangat",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Peningkatan Psikoakustik yang membuat semuanya terdengar lebih jelas dan lebih hidup.", "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Peningkatan Psikoakustik yang membuat semuanya terdengar lebih jelas dan lebih hidup.",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP tidak cocok dengan Spatialisasi. Matikan Spasialisasi untuk menggunakan.",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Kekuatan CAP", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Kekuatan CAP",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Mengubah kekuatan pemrosesan yang dilakukan pada audio. (Agresif dapat menghasilkan hasil yang tidak diinginkan)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Mengubah kekuatan pemrosesan yang dilakukan pada audio. (Agresif dapat menghasilkan hasil yang tidak diinginkan)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standar", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standar",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresif", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresif",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisasi Audio", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisasi Audio",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Menormalkan puncak volume untuk masing-masing lagu demi menciptakan pengalaman mendengarkan yang lebih seragam.", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Menormalkan puncak volume untuk masing-masing lagu demi menciptakan pengalaman mendengarkan yang lebih seragam.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Diatar oleh Lab Audio",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spasialisasi Audio", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spasialisasi Audio",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Atur ruang audio dan buat audio lebih 3 dimensi (NB: Bukan Dolby Atmos)", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Atur ruang audio dan buat audio lebih 3 dimensi (NB: Bukan Dolby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Spasialisasi oleh Cider",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Efek Spasialisasi yang sudah diatur. Untuk menggunakannya, matikan pengaturan custom Spasialisasi Audio dan pastikan Spasialisasi Audio sudah aktif.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Profil Spasialisasi Cider",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Mengubah Profil Tuning Spasialisasi. (Memerlukan Restart Aplikasi)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Standar",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiophile",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "Spatialization tidak cocok dengan CAP. Matikan CAP untuk menggunakan.",
"settings.header.visual": "Visual", "settings.header.visual": "Visual",
"settings.header.visual.description": "Sesuaikan pengaturan visual untuk Cider.", "settings.header.visual.description": "Sesuaikan pengaturan visual untuk Cider.",
"settings.option.visual.windowBackgroundStyle": "Gaya Latar Belakang Jendela", "settings.option.visual.windowBackgroundStyle": "Gaya Latar Belakang Jendela",
@ -256,10 +334,30 @@
"settings.header.visual.hardwareAcceleration.default": "Default", "settings.header.visual.hardwareAcceleration.default": "Default",
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
"settings.header.visual.theme": "Tema", "settings.header.visual.theme": "Tema",
"settings.option.visual.theme.github.download": "Pasang dari URL GitHub",
"settings.option.visual.theme.github.explore": "Jelajahi Tema di GitHub",
"settings.header.visual.theme.github.page": "Tema dari GitHub",
"settings.option.visual.theme.github.install.confirm": "Apakah anda yakin untuk memasang {{ repo }}?",
"settings.prompt.visual.theme.github.URL": "Masukan URL tema yang ingin Anda pasang",
"settings.notyf.visual.theme.install.success": "Tema berhasil dipasang",
"settings.notyf.visual.theme.install.error": "Pemasangan tema gagal",
"settings.header.visual.plugin": "Plugin",
"settings.option.visual.plugin.github.download": "Pasang dari URL GitHub",
"settings.option.visual.plugin.github.explore": "Jelajahi Plugin di GitHub",
"settings.header.visual.plugin.github.page": "Plugins from GitHub",
"settings.option.visual.plugin.github.install.confirm": "Apakah anda yakin untuk memasang {{ repo }}?",
"settings.prompt.visual.plugin.github.URL": "Masukan URL plugin yang ingin Anda pasang",
"settings.prompt.visual.plugin.github.success": "Plugin berhasil dipasang, Tekan OK untuk memulai ulang Cider",
"settings.notyf.visual.plugin.install.success": "Plugin berhasil dipasang",
"settings.notyf.visual.plugin.install.error": "Plugin gagal dipasang",
"settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.default": "Cider",
"settings.option.visual.theme.dark": "Gelap", "settings.option.visual.theme.dark": "Gelap",
"settings.option.visual.showPersonalInfo": "Tampilkan Info Pribadi", "settings.option.visual.showPersonalInfo": "Tampilkan Info Pribadi",
"settings.header.lyrics": "Lyrics", "settings.header.window": "Jendela",
"settings.header.window.description": "Atur pengaturan jendela pada Cider.",
"settings.option.window.openOnStartup": "Buka Cider Ketika Perangkat Dinyalakan",
"settings.option.window.openOnStartup.hidden": "Buka dalam mode tersembunyi",
"settings.header.lyrics": "Lirik",
"settings.header.lyrics.description": "Sesuaikan pengaturan lirik untuk Cider.", "settings.header.lyrics.description": "Sesuaikan pengaturan lirik untuk Cider.",
"settings.option.lyrics.enableMusixmatch": "Aktifkan Lirik Musixmatch", "settings.option.lyrics.enableMusixmatch": "Aktifkan Lirik Musixmatch",
"settings.option.lyrics.enableMusixmatchKaraoke": "Aktifkan Mode Karaoke (khusus Musixmatch)", "settings.option.lyrics.enableMusixmatchKaraoke": "Aktifkan Mode Karaoke (khusus Musixmatch)",
@ -271,18 +369,26 @@
"settings.option.connectivity.playbackNotifications": "Pemberitahuan Pemutaran", "settings.option.connectivity.playbackNotifications": "Pemberitahuan Pemutaran",
"settings.header.connectivity.discordRPC.cider": "Tampilkan sebagai 'Cider'", "settings.header.connectivity.discordRPC.cider": "Tampilkan sebagai 'Cider'",
"settings.header.connectivity.discordRPC.appleMusic": "Tampilkan sebagai 'Apple Music'", "settings.header.connectivity.discordRPC.appleMusic": "Tampilkan sebagai 'Apple Music'",
"settings.option.connectivity.discordRPC.clearOnPause": "Sembunyikan Discord Rich Presence saat dijeda", "settings.option.connectivity.discordRPC.clearOnPause": "Sembunyikan Discord Rich Presence Saat Dijeda",
"settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling",
"settings.option.connectivity.lastfmScrobble.delay": "Delay Last.fm Scrobble (%)", "settings.option.connectivity.lastfmScrobble.delay": "Delay Last.fm Scrobble (%)",
"settings.option.connectivity.lastfmScrobble.nowPlaying": "Aktifkan Last.fm Now Playing", "settings.option.connectivity.lastfmScrobble.nowPlaying": "Aktifkan Last.fm Now Playing",
"settings.option.connectivity.lastfmScrobble.removeFeatured": "Hapus featuring artist dari judul lagu (Last.fm)", "settings.option.connectivity.lastfmScrobble.removeFeatured": "Hapus featuring artist dari judul lagu (Last.fm)",
"settings.option.connectivity.lastfmScrobble.filterLoop": "Filter lagu yang diulang (Last.fm)", "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter lagu yang diulang (Last.fm)",
"settings.header.debug": "Debug",
"settings.option.debug.copy_log": "Salin logs ke clipboard",
"settings.option.debug.openAppData": "Buka Folder Cider",
"settings.header.experimental": "Eksperimental", "settings.header.experimental": "Eksperimental",
"settings.header.experimental.description": "Sesuaikan pengaturan eksperimental untuk Cider.", "settings.header.experimental.description": "Sesuaikan pengaturan eksperimental untuk Cider.",
"settings.option.experimental.unknownPlugin": "Sumber Tidak Diketahui",
"settings.option.experimental.unknownPlugin.description": "Izinkan pemasangan plugin dari repo selain Cider Plugin Repository",
"settings.option.experimental.compactUI": "UI Kompak", "settings.option.experimental.compactUI": "UI Kompak",
"settings.option.window.close_button_hide": "Tombol Tutup Menyembunyikan Aplikasi", "settings.option.window.close_button_hide": "Tombol Tutup Menyembunyikan Aplikasi",
"settings.option.experimental.copy_log": "Salin log ke clipboard",
"settings.option.experimental.inline_playlists": "Playlist dan Album Sebaris", "settings.option.experimental.inline_playlists": "Playlist dan Album Sebaris",
"settings.option.advanced.playlistTrackMapping": "Pemetaan Lagu Playlist",
"settings.option.advanced.playlistTrackMapping.description": "Mengaktifkan pemindaian daftar putar yang mendalam untuk menentukan trek mana yang ada di daftar putar. Waktu pembuatan cache daftar putar dapat meningkat secara signifikan.",
"settings.option.visual.transparent": "Frame transparan",
"settings.option.visual.transparent.description": "Frame transparan (membutuhkan tema yang mendukung, membutuhkan dibuka ulang)",
"spatial.notTurnedOn": "Spasialisasi Audio dinonaktifkan. Untuk menggunakan, aktifkan terlebih dahulu.", "spatial.notTurnedOn": "Spasialisasi Audio dinonaktifkan. Untuk menggunakan, aktifkan terlebih dahulu.",
"spatial.spatialProperties": "Spatial Properties", "spatial.spatialProperties": "Spatial Properties",
"spatial.width": "Lebar", "spatial.width": "Lebar",

View file

@ -132,8 +132,8 @@
"term.reset": "Reset", "term.reset": "Reset",
"term.tracks": "tracks", "term.tracks": "tracks",
"term.track": { "term.track": {
"one" : "track", "one": "track",
"other" : "tracks" "other": "tracks"
}, },
"term.videos": "Videos", "term.videos": "Videos",
"term.menu": "Menu", "term.menu": "Menu",
@ -284,6 +284,7 @@
"settings.option.audio.seamlessTransition": "Seamless Audio Transition", "settings.option.audio.seamlessTransition": "Seamless Audio Transition",
"settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality", "settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality",
"settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization, Equalizers and Visualizers - however on some systems this may cause stuttering in audio tracks.", "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization, Equalizers and Visualizers - however on some systems this may cause stuttering in audio tracks.",
"settings.warn.audio.enableAdvancedFunctionality.lowcores": "Cider thinks your PC cant handle these features. Are you sure you want to continue?",
"settings.option.audio.audioLab": "Cider Audio Lab", "settings.option.audio.audioLab": "Cider Audio Lab",
"settings.option.audio.audioLab.description": "An assortment of in-house developed audio effects for Cider.", "settings.option.audio.audioLab.description": "An assortment of in-house developed audio effects for Cider.",
"settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionality) is required to enable Cider Audio Laboratory.", "settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionality) is required to enable Cider Audio Laboratory.",
@ -302,6 +303,7 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Aggressive", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Aggressive",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Managed by Audio Lab",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Tuned Spatialization", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Tuned Spatialization",
@ -379,6 +381,8 @@
"settings.option.debug.openAppData": "Open Cider Folder", "settings.option.debug.openAppData": "Open Cider Folder",
"settings.header.experimental": "Experimental", "settings.header.experimental": "Experimental",
"settings.header.experimental.description": "Adjust the experimental settings for Cider.", "settings.header.experimental.description": "Adjust the experimental settings for Cider.",
"settings.option.experimental.reinstallwidevine": "Reinstall WidevineCDM",
"settings.option.experimental.reinstallwidevine.confirm": "Are you sure you want to reinstall Widevine?",
"settings.option.experimental.unknownPlugin": "Unknown Sources", "settings.option.experimental.unknownPlugin": "Unknown Sources",
"settings.option.experimental.unknownPlugin.description": "Allow installation of plugins from repos other than the Cider Plugin Repository", "settings.option.experimental.unknownPlugin.description": "Allow installation of plugins from repos other than the Cider Plugin Repository",
"settings.option.experimental.compactUI": "Compact UI", "settings.option.experimental.compactUI": "Compact UI",
@ -388,6 +392,7 @@
"settings.option.advanced.playlistTrackMapping.description": "Enables deep scanning of playlists to determine which tracks are in which playlists. Playlist cache build times can increase significantly.", "settings.option.advanced.playlistTrackMapping.description": "Enables deep scanning of playlists to determine which tracks are in which playlists. Playlist cache build times can increase significantly.",
"settings.option.visual.transparent": "Transparent frame", "settings.option.visual.transparent": "Transparent frame",
"settings.option.visual.transparent.description": "Transparent frame (needs Theme Support , requires relaunch)", "settings.option.visual.transparent.description": "Transparent frame (needs Theme Support , requires relaunch)",
"settings.header.advanced": "Advanced",
"spatial.notTurnedOn": "Audio Spatialization is disabled. To use, please enable it first.", "spatial.notTurnedOn": "Audio Spatialization is disabled. To use, please enable it first.",
"spatial.spatialProperties": "Spatial Properties", "spatial.spatialProperties": "Spatial Properties",
"spatial.width": "Width", "spatial.width": "Width",

View file

@ -22,6 +22,8 @@
"term.about": "關於", "term.about": "關於",
"term.privateSession": "私人時段", "term.privateSession": "私人時段",
"term.queue": "待播清單", "term.queue": "待播清單",
"term.lyrics": "歌詞",
"term.miniplayer": "迷你播放模式",
"term.history": "播放歷史", "term.history": "播放歷史",
"term.search": "搜尋", "term.search": "搜尋",
"term.library": "資料庫", "term.library": "資料庫",
@ -125,6 +127,7 @@
"term.requestError": "請求發生錯誤。", "term.requestError": "請求發生錯誤。",
"term.song.link.generate": "正在取得 song.link 的分享網址...", "term.song.link.generate": "正在取得 song.link 的分享網址...",
"term.version": "版本", "term.version": "版本",
"term.creditDesignedBy": "由 ${authorUsername} 設計",
"home.title": "首頁", "home.title": "首頁",
"home.recentlyPlayed": "最近播放", "home.recentlyPlayed": "最近播放",
"home.recentlyAdded": "最近加入", "home.recentlyAdded": "最近加入",
@ -170,6 +173,7 @@
"action.startRadio": "建立電台", "action.startRadio": "建立電台",
"action.goToArtist": "前往藝人", "action.goToArtist": "前往藝人",
"action.goToAlbum": "前往專輯", "action.goToAlbum": "前往專輯",
"action.showInAppleMusic": "在 Apple Music 中顯示",
"action.moveToTop": "移至頂端", "action.moveToTop": "移至頂端",
"action.share": "分享歌曲", "action.share": "分享歌曲",
"action.rename": "重新命名", "action.rename": "重新命名",
@ -299,9 +303,9 @@
"settings.header.lyrics": "歌詞", "settings.header.lyrics": "歌詞",
"settings.header.lyrics.description": "調整 Cider 的歌詞設定", "settings.header.lyrics.description": "調整 Cider 的歌詞設定",
"settings.option.lyrics.enableMusixmatch": "開啟 Musixmatch 歌詞", "settings.option.lyrics.enableMusixmatch": "開啟 Musixmatch 歌詞",
"settings.option.lyrics.enableMusixmatchKaraoke": "開啟K歌模式僅限Musixmatch", "settings.option.lyrics.enableMusixmatchKaraoke": "開啟K歌模式僅限 Musixmatch",
"settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌詞語言偏好", "settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌詞語言偏好",
"settings.option.lyrics.enableYoutubeLyrics": "播放 MV 時使用 YouTube 歌詞", "settings.option.lyrics.enableYoutubeLyrics": "播放 MV 時使用 YouTube 歌詞",
"settings.header.connectivity": "外部連接", "settings.header.connectivity": "外部連接",
"settings.header.connectivity.description": "調整 Cider 與外部的連接", "settings.header.connectivity.description": "調整 Cider 與外部的連接",
"settings.option.connectivity.discordRPC": "Discord 動態", "settings.option.connectivity.discordRPC": "Discord 動態",

View file

@ -1005,10 +1005,27 @@ export class BrowserWindow {
return Math.max(-32768, Math.min(32768, v)); // clamp return Math.max(-32768, Math.min(32768, v)); // clamp
} }
function bitratechange(e: any){
var t = e.length;
let sampleRate = 96.0;
let outputSampleRate = 48.0;
var s = 0,
o = sampleRate / outputSampleRate,
u = Math.ceil(t * outputSampleRate / sampleRate),
a = new Int16Array(u);
for (let i = 0; i < u; i++) {
a[i] = e[Math.floor(s)];
s += o;
}
return a;
}
let newaudio = quantization(leftpcm, rightpcm); let newaudio = quantization(leftpcm, rightpcm);
//let newaudio = [leftpcm, rightpcm]; //let newaudio = [leftpcm, rightpcm];
// console.log(newaudio.length); // console.log(newaudio.length);
let pcmData = Buffer.from(new Int8Array(interleave16(Int16Array.from(newaudio[0], x => convert(x)), Int16Array.from(newaudio[1], x => convert(x))).buffer));
let pcmData = Buffer.from(new Int8Array(interleave16(bitratechange(Int16Array.from(newaudio[0], x => convert(x))), bitratechange(Int16Array.from(newaudio[1], x => convert(x)))).buffer));
if (!this.headerSent) { if (!this.headerSent) {
console.log('new header') console.log('new header')

View file

@ -149,6 +149,12 @@ export default class Thumbar {
label: 'Volume Down', label: 'Volume Down',
accelerator: 'CommandOrControl+Down', accelerator: 'CommandOrControl+Down',
click: () => this._win.webContents.executeJavaScript(`app.volumeDown()`) click: () => this._win.webContents.executeJavaScript(`app.volumeDown()`)
},
{type: 'separator'},
{
label: 'Cast To Devices',
accelerator: 'CommandOrControl+Shift+C',
click: () => this._win.webContents.executeJavaScript(`app.modals.castMenu = true`)
} }
] ]
}, },

View file

@ -45,7 +45,7 @@ const CiderAudio = {
}, },
connectContext: function (mediaElem) { connectContext: function (mediaElem) {
if (!CiderAudio.context) { if (!CiderAudio.context) {
CiderAudio.context = new (window.AudioContext || window.webkitAudioContext); CiderAudio.context = new window.AudioContext({sampleRate: 96000}); // Don't ever remove the sample rate arg. Ask Maikiwi.
} }
if (!CiderAudio.source) { if (!CiderAudio.source) {
CiderAudio.source = CiderAudio.context.createMediaElementSource(mediaElem); CiderAudio.source = CiderAudio.context.createMediaElementSource(mediaElem);
@ -311,7 +311,7 @@ const CiderAudio = {
for (let i = 0; i < WARMTH_FREQUENCIES.length; i++) { for (let i = 0; i < WARMTH_FREQUENCIES.length; i++) {
CiderAudio.audioNodes.analogWarmth[i] = CiderAudio.context.createBiquadFilter(); CiderAudio.audioNodes.analogWarmth[i] = CiderAudio.context.createBiquadFilter();
CiderAudio.audioNodes.analogWarmth[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.analogWarmth[i].type = 'peaking'; // 'peaking';
CiderAudio.audioNodes.analogWarmth[i].frequency.value = WARMTH_FREQUENCIES[i]; CiderAudio.audioNodes.analogWarmth[i].frequency.value = WARMTH_FREQUENCIES[i] ;
CiderAudio.audioNodes.analogWarmth[i].Q.value = WARMTH_Q[i]; CiderAudio.audioNodes.analogWarmth[i].Q.value = WARMTH_Q[i];
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.25; CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.25;
} }
@ -321,7 +321,7 @@ const CiderAudio = {
for (let i = 0; i < WARMTH_FREQUENCIES.length; i++) { for (let i = 0; i < WARMTH_FREQUENCIES.length; i++) {
CiderAudio.audioNodes.analogWarmth[i] = CiderAudio.context.createBiquadFilter(); CiderAudio.audioNodes.analogWarmth[i] = CiderAudio.context.createBiquadFilter();
CiderAudio.audioNodes.analogWarmth[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.analogWarmth[i].type = 'peaking'; // 'peaking';
CiderAudio.audioNodes.analogWarmth[i].frequency.value = WARMTH_FREQUENCIES[i]; CiderAudio.audioNodes.analogWarmth[i].frequency.value = WARMTH_FREQUENCIES[i] ;
CiderAudio.audioNodes.analogWarmth[i].Q.value = WARMTH_Q[i]; CiderAudio.audioNodes.analogWarmth[i].Q.value = WARMTH_Q[i];
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.75; CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.75;
} }
@ -331,7 +331,7 @@ const CiderAudio = {
for (let i = 0; i < WARMTH_FREQUENCIES.length; i++) { for (let i = 0; i < WARMTH_FREQUENCIES.length; i++) {
CiderAudio.audioNodes.analogWarmth[i] = CiderAudio.context.createBiquadFilter(); CiderAudio.audioNodes.analogWarmth[i] = CiderAudio.context.createBiquadFilter();
CiderAudio.audioNodes.analogWarmth[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.analogWarmth[i].type = 'peaking'; // 'peaking';
CiderAudio.audioNodes.analogWarmth[i].frequency.value = WARMTH_FREQUENCIES[i]; CiderAudio.audioNodes.analogWarmth[i].frequency.value = WARMTH_FREQUENCIES[i] ;
CiderAudio.audioNodes.analogWarmth[i].Q.value = WARMTH_Q[i]; CiderAudio.audioNodes.analogWarmth[i].Q.value = WARMTH_Q[i];
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.25; CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.25;
} }
@ -407,7 +407,7 @@ const CiderAudio = {
for (let i = 0; i < LLPW_FREQUENCIES.length; i++) { for (let i = 0; i < LLPW_FREQUENCIES.length; i++) {
CiderAudio.audioNodes.llpw[i] = CiderAudio.context.createBiquadFilter(); CiderAudio.audioNodes.llpw[i] = CiderAudio.context.createBiquadFilter();
CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking';
CiderAudio.audioNodes.llpw[i].frequency.value = LLPW_FREQUENCIES[i]; CiderAudio.audioNodes.llpw[i].frequency.value = LLPW_FREQUENCIES[i] ;
CiderAudio.audioNodes.llpw[i].Q.value = LLPW_Q[i]; CiderAudio.audioNodes.llpw[i].Q.value = LLPW_Q[i];
CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i]; CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i];
} }
@ -435,7 +435,7 @@ const CiderAudio = {
for (let i = 0; i < c_LLPW_FREQUENCIES.length; i++) { for (let i = 0; i < c_LLPW_FREQUENCIES.length; i++) {
CiderAudio.audioNodes.llpw[i] = CiderAudio.context.createBiquadFilter(); CiderAudio.audioNodes.llpw[i] = CiderAudio.context.createBiquadFilter();
CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking';
CiderAudio.audioNodes.llpw[i].frequency.value = c_LLPW_FREQUENCIES[i]; CiderAudio.audioNodes.llpw[i].frequency.value = c_LLPW_FREQUENCIES[i] ;
CiderAudio.audioNodes.llpw[i].Q.value = c_LLPW_Q[i]; CiderAudio.audioNodes.llpw[i].Q.value = c_LLPW_Q[i];
CiderAudio.audioNodes.llpw[i].gain.value = c_LLPW_GAIN[i]; CiderAudio.audioNodes.llpw[i].gain.value = c_LLPW_GAIN[i];
} }
@ -496,7 +496,7 @@ const CiderAudio = {
for (let i = 0; i < VIBRANTBASSBANDS.length; i++) { for (let i = 0; i < VIBRANTBASSBANDS.length; i++) {
CiderAudio.audioNodes.vibrantbassNode[i] = CiderAudio.context.createBiquadFilter(); CiderAudio.audioNodes.vibrantbassNode[i] = CiderAudio.context.createBiquadFilter();
CiderAudio.audioNodes.vibrantbassNode[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.vibrantbassNode[i].type = 'peaking'; // 'peaking';
CiderAudio.audioNodes.vibrantbassNode[i].frequency.value = VIBRANTBASSBANDS[i]; CiderAudio.audioNodes.vibrantbassNode[i].frequency.value = VIBRANTBASSBANDS[i] ;
CiderAudio.audioNodes.vibrantbassNode[i].Q.value = VIBRANTBASSQ[i]; CiderAudio.audioNodes.vibrantbassNode[i].Q.value = VIBRANTBASSQ[i];
CiderAudio.audioNodes.vibrantbassNode[i].gain.value = VIBRANTBASSGAIN[i] * (app.cfg.audio.equalizer.vibrantBass / 10); CiderAudio.audioNodes.vibrantbassNode[i].gain.value = VIBRANTBASSGAIN[i] * (app.cfg.audio.equalizer.vibrantBass / 10);
} }

View file

@ -2350,6 +2350,33 @@ fieldset:disabled .btn {
// Tabs // Tabs
.nav {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
.nav-link {
display: block;
padding: 0.5rem 1rem;
text-decoration: none;
}
.nav-link:hover, .nav-link:focus {
text-decoration: none;
}
.nav-link.disabled {
color: #6c757d;
pointer-events: none;
cursor: default;
}
.nav-tabs { .nav-tabs {
border-bottom: 1px solid #dee2e6; border-bottom: 1px solid #dee2e6;
} }
@ -2382,14 +2409,23 @@ fieldset:disabled .btn {
} }
.nav-pills .nav-link { .nav-pills .nav-link {
background: none; background-color: transparent;
border: 0; border: 0;
border-radius: 0.25rem; border-radius: 50px;
color: #eee;
-webkit-user-drag: none;
// transition: transform .35s var(--appleEase), background-color .35s var(--appleEase);
font-weight: 500;
&:hover {
// transition: transform .35s var(--appleEase), background-color 0s var(--appleEase);
background-color: var(--hover);
}
} }
.nav-pills .nav-link.active, .nav-pills .nav-link.active,
.nav-pills .show > .nav-link { .nav-pills .show > .nav-link {
color: #fff; color: #fff;
background-color: #0d6efd; background-color: var(--selected);
outline:2px solid var(--keyColor);
} }
.nav-fill > .nav-link, .nav-fill > .nav-link,

View file

@ -173,6 +173,7 @@
.app-chrome--right { .app-chrome--right {
width: 30%; width: 30%;
flex: 0 0 auto; flex: 0 0 auto;
padding-right: 8px;
} }
} }
.collection-page { .collection-page {

View file

@ -827,13 +827,18 @@
.settings-page { .settings-page {
padding: 0px; padding: 0px;
.nav {
width: 90%;
margin: 16px auto 0px;
}
.md-option-header { .md-option-header {
padding : 1.25em 1.25em; padding: 0px 26px;
border-bottom: unset; border-bottom: unset;
border-top : unset; border-top: unset;
font-weight : 600; font-weight: 600;
font-size : 1.0em; background: rgb(255 255 255 / 0%);
background : rgb(255 255 255 / 3%); font-size: 2em;
} }
.settings-option-body { .settings-option-body {

View file

@ -297,10 +297,10 @@ const app = new Vue({
} }
this.lz = ipcRenderer.sendSync("get-i18n", lang) this.lz = ipcRenderer.sendSync("get-i18n", lang)
this.mklang = await this.MKJSLang() this.mklang = await this.MKJSLang()
try{ try {
this.listennow.timestamp = 0; this.listennow.timestamp = 0;
this.browsepage.timestamp = 0; this.browsepage.timestamp = 0;
}catch(e){} } catch (e) { }
}, },
/** /**
* Grabs translation for localization. * Grabs translation for localization.
@ -604,6 +604,11 @@ const app = new Vue({
try { try {
// Set profile name // Set profile name
this.chrome.userinfo = (await app.mk.api.v3.music(`/v1/me/social-profile`)).data.data[0] this.chrome.userinfo = (await app.mk.api.v3.music(`/v1/me/social-profile`)).data.data[0]
// check if this.chrome.userinfo.attributes.artwork exists
if (this.chrome.userinfo.attributes.artwork && !this.chrome.hideUserInfo) {
document.documentElement.style
.setProperty('--cvar-userprofileimg', `url("${this.getMediaItemArtwork(this.chrome.userinfo.attributes.artwork.url)}")`);
}
} catch (err) { } catch (err) {
} }
@ -1421,15 +1426,15 @@ const app = new Vue({
const datetime = new Date(seconds * 1000) const datetime = new Date(seconds * 1000)
if (format === "long") { if (format === "long") {
const d = Math.floor(seconds / (3600*24)); const d = Math.floor(seconds / (3600 * 24));
const h = Math.floor(seconds % (3600*24) / 3600); const h = Math.floor(seconds % (3600 * 24) / 3600);
const m = Math.floor(seconds % 3600 / 60); const m = Math.floor(seconds % 3600 / 60);
const s = Math.floor(seconds % 60); const s = Math.floor(seconds % 60);
const dDisplay = d > 0 ? `${d} ${app.getLz("term.time.day", {"count": d})}, ` : ""; const dDisplay = d > 0 ? `${d} ${app.getLz("term.time.day", { "count": d })}, ` : "";
const hDisplay = h > 0 ? `${h} ${app.getLz("term.time.hour", {"count": h})}, ` : ""; const hDisplay = h > 0 ? `${h} ${app.getLz("term.time.hour", { "count": h })}, ` : "";
const mDisplay = m > 0 ? `${m} ${app.getLz("term.time.minute", {"count": m})}, ` : ""; const mDisplay = m > 0 ? `${m} ${app.getLz("term.time.minute", { "count": m })}, ` : "";
const sDisplay = s > 0 ? `${s} ${app.getLz("term.time.second", {"count": s})}` : ""; const sDisplay = s > 0 ? `${s} ${app.getLz("term.time.second", { "count": s })}` : "";
return dDisplay + hDisplay + mDisplay + sDisplay; return dDisplay + hDisplay + mDisplay + sDisplay;
} }
@ -1486,7 +1491,7 @@ const app = new Vue({
let page = hash[0] let page = hash[0]
let id = hash[1] let id = hash[1]
let isLibrary = hash[2] ?? false let isLibrary = hash[2] ?? false
if(page == "plugin") { if (page == "plugin") {
this.pluginPages.page = "plugin." + id this.pluginPages.page = "plugin." + id
this.page = "plugin-renderer" this.page = "plugin-renderer"
return return
@ -1555,7 +1560,8 @@ const app = new Vue({
if (kind.includes("album")) { if (kind.includes("album")) {
params["include[albums]"] = "artists" params["include[albums]"] = "artists"
params["fields[artists]"] = "name,url" params["fields[artists]"] = "name,url"
params["fields[albums]"] = "artistName,artistUrl,artwork,contentRating,editorialArtwork,editorialVideo,name,playParams,releaseDate,url,copyright" params["omit[resource]"] = "autos"
params["fields[albums]"] = "artistName,artistUrl,artwork,contentRating,editorialArtwork,editorialNotes,editorialVideo,name,playParams,releaseDate,url,copyright"
} }
if (this.cfg.advanced.experiments.includes('inline-playlists')) { if (this.cfg.advanced.experiments.includes('inline-playlists')) {
@ -2323,8 +2329,8 @@ const app = new Vue({
getTotalTime() { getTotalTime() {
try { try {
if (app.showingPlaylist.relationships.tracks.data.length === 0) return "" if (app.showingPlaylist.relationships.tracks.data.length === 0) return ""
const timeInSeconds = Math.round([].concat(...app.showingPlaylist.relationships.tracks.data).reduce((a, {attributes: {durationInMillis}}) => a + durationInMillis, 0) / 1000); const timeInSeconds = Math.round([].concat(...app.showingPlaylist.relationships.tracks.data).reduce((a, { attributes: { durationInMillis } }) => a + durationInMillis, 0) / 1000);
return `${app.showingPlaylist.relationships.tracks.data.length} ${app.getLz("term.track", {"count": app.showingPlaylist.relationships.tracks.data.length})}, ${app.convertTime(timeInSeconds, 'long')}` return `${app.showingPlaylist.relationships.tracks.data.length} ${app.getLz("term.track", { "count": app.showingPlaylist.relationships.tracks.data.length })}, ${app.convertTime(timeInSeconds, 'long')}`
} catch (err) { } catch (err) {
return "" return ""
} }
@ -2598,7 +2604,7 @@ const app = new Vue({
req.open('GET', url, true); req.open('GET', url, true);
req.setRequestHeader("authority", "apic-desktop.musixmatch.com"); req.setRequestHeader("authority", "apic-desktop.musixmatch.com");
req.onload = function () { req.onload = function () {
try{ try {
let jsonResponse = JSON.parse(this.responseText); let jsonResponse = JSON.parse(this.responseText);
let status2 = jsonResponse["message"]["header"]["status_code"]; let status2 = jsonResponse["message"]["header"]["status_code"];
if (status2 == 200) { if (status2 == 200) {
@ -2621,7 +2627,7 @@ const app = new Vue({
// console.log('token 4xx'); // console.log('token 4xx');
getToken(mode, track, artist, songid, lang, time) getToken(mode, track, artist, songid, lang, time)
} }
}catch(e){ } catch (e) {
console.log('error'); console.log('error');
app.loadAMLyrics(); app.loadAMLyrics();
} }
@ -2645,7 +2651,7 @@ const app = new Vue({
req.open('GET', url, true); req.open('GET', url, true);
req.setRequestHeader("authority", "apic-desktop.musixmatch.com"); req.setRequestHeader("authority", "apic-desktop.musixmatch.com");
req.onload = function () { req.onload = function () {
try{ try {
let jsonResponse = JSON.parse(this.responseText); let jsonResponse = JSON.parse(this.responseText);
console.log(jsonResponse); console.log(jsonResponse);
let status1 = jsonResponse["message"]["header"]["status_code"]; let status1 = jsonResponse["message"]["header"]["status_code"];
@ -2723,7 +2729,8 @@ const app = new Vue({
} }
} else { //4xx rejected } else { //4xx rejected
getToken(1, track, artist, '', lang, time); getToken(1, track, artist, '', lang, time);
}}catch(e){ }
} catch (e) {
console.log(e); console.log(e);
app.loadAMLyrics() app.loadAMLyrics()
} }
@ -2744,7 +2751,7 @@ const app = new Vue({
req2.open('GET', url2, true); req2.open('GET', url2, true);
req2.setRequestHeader("authority", "apic-desktop.musixmatch.com"); req2.setRequestHeader("authority", "apic-desktop.musixmatch.com");
req2.onload = function () { req2.onload = function () {
try{ try {
let jsonResponse2 = JSON.parse(this.responseText); let jsonResponse2 = JSON.parse(this.responseText);
console.log(jsonResponse2); console.log(jsonResponse2);
let status2 = jsonResponse2["message"]["header"]["status_code"]; let status2 = jsonResponse2["message"]["header"]["status_code"];
@ -2770,7 +2777,8 @@ const app = new Vue({
} }
} else { //4xx rejected } else { //4xx rejected
getToken(2, '', '', id, lang, ''); getToken(2, '', '', id, lang, '');
}}catch(e){} }
} catch (e) { }
} }
req2.send(); req2.send();
} }
@ -3282,6 +3290,10 @@ const app = new Vue({
if (typeof url == "undefined" || url == "") { if (typeof url == "undefined" || url == "") {
return "https://beta.music.apple.com/assets/product/MissingArtworkMusic.svg" return "https://beta.music.apple.com/assets/product/MissingArtworkMusic.svg"
} }
height = parseInt(height * window.devicePixelRatio)
if(width) {
width = parseInt(width * window.devicePixelRatio)
}
let newurl = `${url.replace('{w}', width ?? height).replace('{h}', height).replace('{f}', "webp").replace('{c}', ((width === 900) ? "sr" : "cc"))}`; let newurl = `${url.replace('{w}', width ?? height).replace('{h}', height).replace('{f}', "webp").replace('{c}', ((width === 900) ? "sr" : "cc"))}`;
if (newurl.includes("900x516")) { if (newurl.includes("900x516")) {
@ -3731,7 +3743,7 @@ const app = new Vue({
} }
} }
if(app.mk.nowPlayingItem._container["attributes"] && app.mk.nowPlayingItem._container.name != "station") { if (app.mk.nowPlayingItem._container["attributes"] && app.mk.nowPlayingItem._container.name != "station") {
menus.normal.items.find(x => x.id == "showInMusic").hidden = false menus.normal.items.find(x => x.id == "showInMusic").hidden = false
} }

View file

@ -142,8 +142,8 @@ body.notransparency::before {
} }
#app { #app {
--color1: rgba(30, 30, 30, 30%); --color1: rgba(15, 15, 15, 30%);
--color2: rgba(15, 15, 15, 30%); --color2: rgba(30, 30, 30, 50%);
--bgColor: transparent; --bgColor: transparent;
--bgWidth: 0px; --bgWidth: 0px;
--bgHeight: 0px; --bgHeight: 0px;
@ -799,25 +799,28 @@ input[type=range].web-slider::-webkit-slider-runnable-track {
opacity: 0.6; opacity: 0.6;
} }
} }
} }
.app-sidebar-item:hover { .app-sidebar-item:hover {
border: 1px solid rgb(200 200 200 / 5%); border: 1px solid rgb(200 200 200 / 0%);
background: rgb(200 200 200 / 15%); background: rgb(180 180 180 / 15%);
// cursor: pointer;
} }
.app-sidebar-item:active { .app-sidebar-item:active {
border: 1px solid rgb(200 200 200 / 5%); border: 1px solid rgb(200 200 200 / 0%);
background: rgb(200 200 200 / 15%); background: rgb(150 150 150 / 15%);
transform: scale(0.98); // transform: scale(0.98);
transition: transform 0s; transition: transform 0s;
} }
.app-sidebar-item.active { .app-sidebar-item.active {
border: 1px solid rgb(200 200 200 / 5%); border: 1px solid rgb(200 200 200 / 0%);
background: rgb(200 200 200 / 15%); background: rgb(200 200 200 / 15%);
transform: scale(1); transform: scale(1);
transition: transform 0s; transition: transform 0s;
cursor: default;
} }
.app-sidebar-item.active::after { .app-sidebar-item.active::after {
@ -830,6 +833,17 @@ input[type=range].web-slider::-webkit-slider-runnable-track {
border-radius: 10px; border-radius: 10px;
left: 0px; left: 0px;
background: var(--keyColor); background: var(--keyColor);
animation: expandIndicator .2s cubic-bezier(0.25, 1, 0.5, 1);
@keyframes expandIndicator {
0% {
transform: scaleY(0);
}
100% {
transform: scaleY(1);
}
}
} }
.app-chrome { .app-chrome {
@ -867,7 +881,7 @@ input[type=range].web-slider::-webkit-slider-runnable-track {
} }
.app-chrome .app-chrome--center { .app-chrome .app-chrome--center {
width: 40%; //width: 40%;
} }
.app-chrome .app-chrome--right { .app-chrome .app-chrome--right {

View file

@ -29,7 +29,7 @@
template: '#artist-chip', template: '#artist-chip',
async mounted() { async mounted() {
let artistId = this.item.id let artistId = this.item.id
if(typeof this.item.relationships.catalog == "object") { if(typeof this.item.relationships == "object") {
artistId = this.item.relationships.catalog.data[0].id artistId = this.item.relationships.catalog.data[0].id
} }
app.mk.api.v3.music(`/v1/catalog/${app.mk.storefrontId}/artists/${artistId}`).then(response => { app.mk.api.v3.music(`/v1/catalog/${app.mk.storefrontId}/artists/${artistId}`).then(response => {

View file

@ -1,5 +1,5 @@
<script type="text/x-template" id="castmenu"> <script type="text/x-template" id="castmenu">
<div class="spatialproperties-panel castmenu modal-fullscreen" > <div class="spatialproperties-panel castmenu modal-fullscreen" @click.self="close()" @contextmenu.self="close()">
<div class="modal-window"> <div class="modal-window">
<div class="modal-header"> <div class="modal-header">
<div class="modal-title">Cast To Devices</div> <div class="modal-title">Cast To Devices</div>

View file

@ -1,5 +1,5 @@
<script type="text/x-template" id="eq-view"> <script type="text/x-template" id="eq-view">
<div class="modal-fullscreen equalizer-panel"> <div class="modal-fullscreen equalizer-panel" @click.self="close()" @contextmenu.self="close()">
<div class="modal-window" > <div class="modal-window" >
<div class="modal-header"> <div class="modal-header">
<div class="modal-title">{{$root.getLz('term.equalizer')}}</div> <div class="modal-title">{{$root.getLz('term.equalizer')}}</div>

View file

@ -23,7 +23,7 @@
<div class="svg-icon" :style="{'--color': 'var(--keyColor)', '--url': 'url(./assets/feather/plus.svg)'}"></div> <div class="svg-icon" :style="{'--color': 'var(--keyColor)', '--url': 'url(./assets/feather/plus.svg)'}"></div>
</button> </button>
<button v-else-if='!(showArtwork == true && (showIndex == false ||(showIndex == true && showIndexPlaylist != false)))' @click="playTrack()" style="width: 44px;margin-left: -11px;"> <button v-else-if='!(showArtwork == true && (showIndex == false ||(showIndex == true && showIndexPlaylist != false)))' @click="playTrack()" style="width: 44px;margin-left: -11px;">
<%- include("../svg/play.svg") %> <div class="svg-icon" :style="{'--color': 'var(--keyColor)', '--url': 'url(./assets/feather/play.svg)'}"></div>
</button> </button>
</div> </div>
<div v-if="!(app.mk.isPlaying && (((app.mk.nowPlayingItem._songId ?? (app.mk.nowPlayingItem.songId ?? app.mk.nowPlayingItem.id )) == itemId) || (app.mk.nowPlayingItem.id == item.id ))) && showIndex" :style="{display: ((showIndex && !showInLibrary) ? 'block' : 'none'), 'margin-left':'11px'}"> <div v-if="!(app.mk.isPlaying && (((app.mk.nowPlayingItem._songId ?? (app.mk.nowPlayingItem.songId ?? app.mk.nowPlayingItem.id )) == itemId) || (app.mk.nowPlayingItem.id == item.id ))) && showIndex" :style="{display: ((showIndex && !showInLibrary) ? 'block' : 'none'), 'margin-left':'11px'}">

View file

@ -1,5 +1,5 @@
<script type="text/x-template" id="spatial-properties"> <script type="text/x-template" id="spatial-properties">
<div class="modal-fullscreen spatialproperties-panel"> <div class="modal-fullscreen spatialproperties-panel" @click.self="close()" @contextmenu.self="close()">
<div class="modal-window" v-if="ready"> <div class="modal-window" v-if="ready">
<div class="modal-header"> <div class="modal-header">
<div class="modal-title">{{$root.getLz('spatial.spatialProperties')}}</div> <div class="modal-title">{{$root.getLz('spatial.spatialProperties')}}</div>

View file

@ -16,9 +16,9 @@
<button onclick="window.open('https://ko-fi.com/cryptofyre')" class="md-btn sponsorBtn"><img src="./assets/ko_fi.svg"/>Ko-fi</button> <button onclick="window.open('https://ko-fi.com/cryptofyre')" class="md-btn sponsorBtn"><img src="./assets/ko_fi.svg"/>Ko-fi</button>
<button onclick="window.open('https://opencollective.com/ciderapp')" class="md-btn sponsorBtn"><img src="./assets/open_collective.svg"/>Open Collective</button> <button onclick="window.open('https://opencollective.com/ciderapp')" class="md-btn sponsorBtn"><img src="./assets/open_collective.svg"/>Open Collective</button>
<h3>{{$root.getLz('term.socials')}}</h3> <h3>{{$root.getLz('term.socials')}}</h3>
<button onclick="window.open('https://github.com/ciderapp/Cider')" class="md-btn sponsorBtn"><img style="width: 20.5px;" src="./assets/github.svg"/>{{$root.getLz('term.github')}}</button> <button onclick="window.open('https://github.com/ciderapp/Cider')" class="md-btn sponsorBtn"><img src="./assets/github.svg"/>{{$root.getLz('term.github')}}</button>
<button onclick="window.open('https://discord.gg/applemusic')" class="md-btn sponsorBtn"><img src="./assets/discord.svg"/>{{$root.getLz('term.discord')}}</button> <button onclick="window.open('https://discord.gg/applemusic')" class="md-btn sponsorBtn"><img style="height: 26px;" src="./assets/discord.svg"/>{{$root.getLz('term.discord')}}</button>
<button onclick="window.open('https://twitter.com/UseCider')" class="md-btn sponsorBtn"><img style="width: 20.5px;" src="./assets/twitter.svg"/>Twitter</button> <button onclick="window.open('https://twitter.com/UseCider')" class="md-btn sponsorBtn"><img src="./assets/twitter.svg"/>Twitter</button>
</div> </div>
<div class="col"> <div class="col">
@ -113,7 +113,7 @@
name: 'NoseySG', name: 'NoseySG',
link: 'https://twitter.com/noah_grose', link: 'https://twitter.com/noah_grose',
role: app.getLz('term.socialTeam'), role: app.getLz('term.socialTeam'),
avatar: 'https://pbs.twimg.com/profile_images/1422541289837535239/qg-aaoP9_400x400.jpg' avatar: 'https://pbs.twimg.com/profile_images/1496944907260420099/D5gl6H4J_400x400.jpg'
} }
] ]
} }

View file

@ -49,13 +49,12 @@
<artist-chip v-for="artist in data.relationships.artists.data" <artist-chip v-for="artist in data.relationships.artists.data"
:item="artist"></artist-chip> :item="artist"></artist-chip>
</template> </template>
<div class="playlist-desc" <div class="playlist-desc" v-if="(data.attributes.description && (data.attributes.description.standard || data.attributes.description.short)) || (data.attributes.editorialNotes && (data.attributes.editorialNotes.standard || data.attributes.editorialNotes.short))">
v-if="data.attributes.description && (data.attributes.description.standard || data.attributes.description.short)"> <div v-if="(data.attributes.description?.short ?? data.attributes.editorialNotes?.short) != null" class="content"
<div v-if="data.attributes.description.short" class="content" v-html="data.attributes.description?.short ?? data.attributes.editorialNotes?.short"></div>
v-html="data.attributes.description.short"></div> <div v-else-if="(data.attributes.description?.standard ?? data.attributes.editorialNotes?.standard) != null" class="content"
<div v-else-if="data.attributes.description.standard" class="content" v-html="data.attributes.description?.standard ?? data.attributes.editorialNotes?.standard"></div>
v-html="data.attributes.description.standard"></div> <button v-if="(data.attributes.description?.short ?? data.attributes.editorialNotes?.short ) != null" class="more-btn"
<button v-if="data.attributes.description.short" class="more-btn"
@click="editorialNotesExpanded = !editorialNotesExpanded"> @click="editorialNotesExpanded = !editorialNotesExpanded">
{{app.getLz('term.showMore')}} {{app.getLz('term.showMore')}}
</button> </button>

View file

@ -44,9 +44,11 @@
</div> </div>
</div> </div>
<div class="well"> <div class="well">
<div class="albums-square-container">
<mediaitem-square v-if="library.albums.viewAs == 'covers'" :item="item" <mediaitem-square v-if="library.albums.viewAs == 'covers'" :item="item"
v-for="item in library.albums.displayListing"> v-for="item in library.albums.displayListing">
</mediaitem-square> </mediaitem-square>
</div>
<mediaitem-list-item v-if="library.albums.viewAs == 'list'" :show-duration="false" :show-meta-data="true" <mediaitem-list-item v-if="library.albums.viewAs == 'list'" :show-duration="false" :show-meta-data="true"
:show-library-status="false" :item="item" :show-library-status="false" :item="item"
v-for="item in library.albums.displayListing"> v-for="item in library.albums.displayListing">

View file

@ -57,13 +57,12 @@
<artist-chip v-for="artist in data.relationships.artists.data" <artist-chip v-for="artist in data.relationships.artists.data"
:item="artist"></artist-chip> :item="artist"></artist-chip>
</template> </template>
<div class="playlist-desc" <div class="playlist-desc" v-if="(data.attributes.description && (data.attributes.description.standard || data.attributes.description.short)) || (data.attributes.editorialNotes && (data.attributes.editorialNotes.standard || data.attributes.editorialNotes.short))">
v-if="data.attributes.description && (data.attributes.description.standard || data.attributes.description.short)"> <div v-if="(data.attributes.description?.short ?? data.attributes.editorialNotes?.short) != null" class="content"
<div v-if="data.attributes.description.short" class="content" v-html="data.attributes.description?.short ?? data.attributes.editorialNotes?.short"></div>
v-html="data.attributes.description.short"></div> <div v-else-if="(data.attributes.description?.standard ?? data.attributes.editorialNotes?.standard) != null" class="content"
<div v-else-if="data.attributes.description.standard" class="content" v-html="data.attributes.description?.standard ?? data.attributes.editorialNotes?.standard"></div>
v-html="data.attributes.description.standard"></div> <button v-if="(data.attributes.description?.short ?? data.attributes.editorialNotes?.short ) != null" class="more-btn"
<button v-if="data.attributes.description.short" class="more-btn"
@click="editorialNotesExpanded = !editorialNotesExpanded"> @click="editorialNotesExpanded = !editorialNotesExpanded">
{{app.getLz('term.showMore')}} {{app.getLz('term.showMore')}}
</button> </button>

View file

@ -1,5 +1,7 @@
<script type="text/x-template" id="cider-settings"> <script type="text/x-template" id="cider-settings">
<div class="content-inner settings-page"> <div class="content-inner settings-page">
<b-tabs pills fill content-class="mt-3">
<b-tab :title="$root.getLz('settings.header.general')" active>
<div class="md-option-container"> <div class="md-option-container">
<!-- General Settings --> <!-- General Settings -->
<div class="md-option-header"> <div class="md-option-header">
@ -24,6 +26,22 @@
<input type="checkbox" v-model="$root.cfg.general.privateEnabled" v-on:change="$root.mk.privateEnabled = $root.cfg.general.privateEnabled" switch/> <input type="checkbox" v-model="$root.cfg.general.privateEnabled" v-on:change="$root.mk.privateEnabled = $root.cfg.general.privateEnabled" switch/>
</div> </div>
</div> </div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.option.window.openOnStartup')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<input type="checkbox" v-model="app.cfg.general.onStartup.enabled" switch/>
</div>
</div>
<div class="md-option-line" v-show="app.cfg.general.onStartup.enabled">
<div class="md-option-segment">
{{$root.getLz('settings.option.window.openOnStartup.hidden')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<input type="checkbox" v-model="app.cfg.general.onStartup.hidden" switch/>
</div>
</div>
<div class="md-option-line"> <div class="md-option-line">
<div class="md-option-segment"> <div class="md-option-segment">
{{$root.getLz('settings.option.general.resumebehavior')}}<br> {{$root.getLz('settings.option.general.resumebehavior')}}<br>
@ -44,7 +62,10 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</b-tab>
<b-tab :title="$root.getLz('settings.header.audio')">
<div class="md-option-container">
<!-- Audio Settings --> <!-- Audio Settings -->
<div class="md-option-header"> <div class="md-option-header">
<span>{{$root.getLz('settings.header.audio')}}</span> <span>{{$root.getLz('settings.header.audio')}}</span>
@ -116,17 +137,19 @@
</div> </div>
</div> </div>
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext"> <div class="md-option-line" v-show="app.cfg.advanced.AudioContext">
<div class="md-option-segment"> <div class="md-option-segment" style="white-space: pre-line;">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioNormalization')}} {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioNormalization')}}
<br> <small>{{app.cfg.audio.equalizer.vibrantBass != 0 || app.cfg.audio.maikiwiAudio.spatial === true || app.cfg.audio.maikiwiAudio.ciderPPE === true ? `${$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioNormalization.description')}\n${$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled')}` : $root.getLz('settings.option.audio.enableAdvancedFunctionality.audioNormalization.description')}}</small>
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioNormalization.description')}}</small>
</div> </div>
<div class="md-option-segment md-option-segment_auto"> <div class="md-option-segment md-option-segment_auto">
<input type="checkbox" v-model="app.cfg.audio.normalization" v-on:change="toggleNormalization" :disabled="app.cfg.audio.equalizer.vibrantBass != 0 || app.cfg.audio.maikiwiAudio.spatial === true || app.cfg.audio.maikiwiAudio.ciderPPE === true" switch/> <input type="checkbox" v-model="app.cfg.audio.normalization" v-on:change="toggleNormalization" :disabled="app.cfg.audio.equalizer.vibrantBass != 0 || app.cfg.audio.maikiwiAudio.spatial === true || app.cfg.audio.maikiwiAudio.ciderPPE === true" switch/>
</div> </div>
</div> </div>
</div> </div>
</div>
</b-tab>
<b-tab :title="$root.getLz('settings.header.visual')">
<div class="md-option-container">
<!-- Visual Settings --> <!-- Visual Settings -->
<div class="md-option-header"> <div class="md-option-header">
<span>{{$root.getLz('settings.header.visual')}}</span> <span>{{$root.getLz('settings.header.visual')}}</span>
@ -251,28 +274,11 @@
</div> </div>
</div> </div>
</div> </div>
<!-- Window Settings --> <!-- Window Settings -->
<div class="md-option-header"> <div class="md-option-header">
<span>{{$root.getLz('settings.header.window')}}</span> <span>{{$root.getLz('settings.header.window')}}</span>
</div> </div>
<div class="settings-option-body"> <div class="settings-option-body">
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.option.window.openOnStartup')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<input type="checkbox" v-model="app.cfg.general.onStartup.enabled" switch/>
</div>
</div>
<div class="md-option-line" v-show="app.cfg.general.onStartup.enabled">
<div class="md-option-segment">
{{$root.getLz('settings.option.window.openOnStartup.hidden')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<input type="checkbox" v-model="app.cfg.general.onStartup.hidden" switch/>
</div>
</div>
<div class="md-option-line" v-show="app.platform !== 'darwin'"> <div class="md-option-line" v-show="app.platform !== 'darwin'">
<div class="md-option-segment"> <div class="md-option-segment">
{{$root.getLz("settings.option.window.close_button_hide")}} {{$root.getLz("settings.option.window.close_button_hide")}}
@ -282,7 +288,10 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</b-tab>
<b-tab :title="$root.getLz('settings.header.lyrics')">
<div class="md-option-container">
<!-- Lyric Settings --> <!-- Lyric Settings -->
<div class="md-option-header"> <div class="md-option-header">
<span>{{$root.getLz('settings.header.lyrics')}}</span> <span>{{$root.getLz('settings.header.lyrics')}}</span>
@ -588,7 +597,10 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</b-tab>
<b-tab :title="$root.getLz('settings.header.connectivity')">
<div class="md-option-container">
<!-- Connectivity Settings --> <!-- Connectivity Settings -->
<div class="md-option-header"> <div class="md-option-header">
<span>{{$root.getLz('settings.header.connectivity')}}</span> <span>{{$root.getLz('settings.header.connectivity')}}</span>
@ -669,7 +681,10 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</b-tab>
<b-tab :title="$root.getLz('settings.header.advanced')">
<div class="md-option-container">
<!-- Debug Settings --> <!-- Debug Settings -->
<div class="md-option-header"> <div class="md-option-header">
<span>{{$root.getLz('settings.header.debug')}}</span> <span>{{$root.getLz('settings.header.debug')}}</span>
@ -714,10 +729,10 @@
<div class="md-option-line"> <div class="md-option-line">
<div class="md-option-segment"> <div class="md-option-segment">
Reinstall WidevineCDM {{$root.getLz('settings.option.experimental.reinstallwidevine')}}
</div> </div>
<div class="md-option-segment md-option-segment_auto"> <div class="md-option-segment md-option-segment_auto">
<button class="md-btn" @click="reinstallWidevineCDM">Reinstall WidevineCDM</button> <button class="md-btn" @click="reinstallWidevineCDM">{{$root.getLz('settings.option.experimental.reinstallwidevine')}}</button>
</div> </div>
</div> </div>
@ -813,51 +828,9 @@
</div> </div>
</div> </div>
</div> </div>
<!-- Unfinished Settings -->
<div class="md-option-header">
<span>{{$root.getLz('settings.header.unfinished')}}</span>
</div>
<div class="settings-option-body" style="opacity: 0.5; pointer-events: none">
<div class="md-option-line">
<div class="md-option-segment">
Theme Options
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="btn">Theme Options</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
Scrollbars
</div>
<div class="md-option-segment md-option-segment_auto">
<select class="md-select">
<option value="0">Show on hover</option>
<option value="1">Always show</option>
<option value="2">Hidden</option>
</select>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
Refresh Rate
</div>
<div class="md-option-segment md-option-segment_auto">
<select class="md-select">
<option value='0'>Automatic</option>
<option value='30'>30</option>
<option value='60'>60</option>
<option value='144'>144</option>
<option value='175'>175</option>
<option value='240'>240</option>
<option value='360'>30</option>
</select>
</div>
</div>
</div>
</div> </div>
</b-tab>
</b-tabs>
</div> </div>
</script> </script>
@ -888,7 +861,7 @@
} }
}, },
reinstallWidevineCDM () { reinstallWidevineCDM () {
bootbox.confirm("Are you sure you want to reinstall Widevine?", (ok)=>{ bootbox.confirm(app.getLz("settings.option.experimental.reinstallwidevine.confirm"), (ok)=>{
if(ok) { if(ok) {
ipcRenderer.invoke("reinstall-widevine-cdm"); ipcRenderer.invoke("reinstall-widevine-cdm");
} }
@ -930,6 +903,9 @@
}, },
toggleAudioContext: function () { toggleAudioContext: function () {
if (app.cfg.advanced.AudioContext === true) { if (app.cfg.advanced.AudioContext === true) {
if (navigator.hardwareConcurrency < 6) {
bootbox.confirm(app.getLz("settings.warn.audio.enableAdvancedFunctionality.lowcores"), function (result) {
if (result) {
CiderAudio.init(); CiderAudio.init();
if (app.cfg.audio.normalization === true) { if (app.cfg.audio.normalization === true) {
CiderAudio.normalizerOn() CiderAudio.normalizerOn()
@ -938,6 +914,18 @@
CiderAudio.spatialOn() CiderAudio.spatialOn()
CiderAudio.hierarchical_loading(); CiderAudio.hierarchical_loading();
} }
}})
}
else {
CiderAudio.init();
if (app.cfg.audio.normalization === true) {
CiderAudio.normalizerOn()
}
if (app.cfg.audio.spatial === true) {
CiderAudio.spatialOn()
CiderAudio.hierarchical_loading();
}
}
} else { } else {
CiderAudio.off(); CiderAudio.off();
} }

View file

@ -89,6 +89,10 @@
if (typeof url == "undefined" || url == "") { if (typeof url == "undefined" || url == "") {
return "https://beta.music.apple.com/assets/product/MissingArtworkMusic.svg" return "https://beta.music.apple.com/assets/product/MissingArtworkMusic.svg"
} }
height = parseInt(height * window.devicePixelRatio)
if(width) {
width = parseInt(width * window.devicePixelRatio)
}
let newurl = `${url.replace('{w}', width ?? height).replace('{h}', height).replace('{f}', "webp").replace('{c}', ((width === 900) ? "sr" : "cc"))}`; let newurl = `${url.replace('{w}', width ?? height).replace('{h}', height).replace('{f}', "webp").replace('{c}', ((width === 900) ? "sr" : "cc"))}`;
if (newurl.includes("900x516")) { if (newurl.includes("900x516")) {