version bump to 1.1.95.889

- fix of regex for 1.1.95
 - Added an input parameter (left_sidebar_on) that activates new left sidebar, this is not stable at the moment.
 - fixing minor bugs
This commit is contained in:
amd64fox
2022-09-27 12:26:57 +03:00
parent bf4631e509
commit dde8e06bd1
2 changed files with 126 additions and 84 deletions

View File

@@ -72,12 +72,18 @@ param
[Parameter(HelpMessage = 'Disable the new home structure and navigation.')]
[switch]$navalt_off,
[Parameter(HelpMessage = 'Enable new left sidebar.')]
[switch]$left_sidebar_on,
[Parameter(HelpMessage = 'Do not create desktop shortcut.')]
[switch]$no_shortcut,
[Parameter(HelpMessage = 'Use bts patch.')]
[switch]$bts,
[Parameter(HelpMessage = 'Error log ru string.')]
[switch]$err_ru,
[Parameter(HelpMessage = 'Select the desired language to use for installation. Default is the detected system language.')]
[Alias('l')]
[string]$Language
@@ -98,7 +104,7 @@ function Format-LanguageCode {
begin {
$supportLanguages = @(
'en', 'ru', 'it', 'tr', 'ka', 'pl', 'es', 'fr', 'hi', 'pt', 'id','vi'
'en', 'ru', 'it', 'tr', 'ka', 'pl', 'es', 'fr', 'hi', 'pt', 'id', 'vi'
)
}
@@ -882,7 +888,7 @@ function Helper($paramname, $addstring) {
"Discriptions" {
# Add discriptions (xpui-desktop-modals.js)
$discript = @{
Log = '(..createElement\(....,{source:).....get\("about.copyright",.\),paragraphClassName:.}\)', "`$1`"<h3>More about SpotX</h3>`"}),`$1`'<a href=`"https://github.com/amd64fox/SpotX`">Github</a>`'}),`$1`'<a href=`"https://telegra.ph/SpotX-FAQ-09-19`">FAQ</a>'}),`$1`'<a href=`"https://t.me/spotify_windows_mod`">Telegram channel</a>`'}),`$1`'<a href=`"https://github.com/amd64fox/SpotX/issues/new?assignees=&labels=%E2%9D%8C+bug&template=bug_report.yml`">Create an issue report</a>`'}),`$1`"<br>`"}),`$1`"<h4>DISCLAIMER</h4>`"}),`$1`"SpotX is a modified version of the official Spotify client, provided as an evaluation version, you use it at your own risk.`"})"
Log = '((..createElement|children:\(.{1,7}\))\(....,{source:).....get\("about.copyright",.\),paragraphClassName:.}\)', "`$1`"<h3>More about SpotX</h3><a href=`'https://github.com/amd64fox/SpotX`'>Github</a><br/><a href=`'https://telegra.ph/SpotX-FAQ-09-19`'>FAQ</a><br/><a href=`'https://t.me/spotify_windows_mod`'>Telegram channel</a><br/><a href=`'https://github.com/amd64fox/SpotX/issues/new?assignees=&labels=%E2%9D%8C+bug&template=bug_report.yml`'>Create an issue report</a><br> <br/><h4>DISCLAIMER</h4>SpotX is a modified version of the official Spotify client, provided as an evaluation version, you use it at your own risk.`"})"
}
$n = ($lang).NoVariable6
$contents = $discript
@@ -905,13 +911,25 @@ function Helper($paramname, $addstring) {
ConnectUnlock = ' connect-device-list-item--disabled', ''
ConnectUnlock2 = 'connect-picker.unavailable-to-control', 'spotify-connect'
ConnectUnlock3 = '(className:.,disabled:)(..)', '$1false'
ConnectUnlock4 = 'return (..isDisabled)(\?..createElement\(..,)', 'return false$2'
ConnectUnlock4 = 'return (..isDisabled)(\?(..createElement|\(.{1,10}\))\(..,)', 'return false$2'
# Removing the track download quality switch
DownloadQuality = 'xe\(...\)\)\)\)...createElement\(....{filterMatchQuery:.....get\(.desktop.settings.downloadQuality.title.\).+?xe', 'xe'
DownloadQuality = '(children:..\(.,.\)|xe\(.,.\)\)\)\)).+?(children:..\(.,.\)|xe\(.,.\)\)\)\))', '$1'
# temporary Russian strings for xpui.js
Creator = '("creator",value:")Creator("\})', '$1Создано$2'
CustomOrder = '("custom-order",value:")Custom order("\})', '$1Особая$2'
Alphabetical = '("alphabetical",value:")Alphabetical("\})', '$1Алфавитная$2'
RecentlyAdded = '("recently-added",value:")Recently added("\})', '$1Недавно добавленные$2'
MostRecent = '("most-recent",value:")Most recent("\})', '$1Самые последние$2'
}
if ($bts) {
$offadson_fullscreen.Remove('Bilboard'), $offadson_fullscreen.Remove('AidioAds')
}
$ofline = Check_verison_clients -param2 "offline"
if (!($ru) -or $ofline -le "1.1.94.872") {
$offadson_fullscreen.Remove('Creator'), $offadson_fullscreen.Remove('CustomOrder'), $offadson_fullscreen.Remove('Alphabetical'),
$offadson_fullscreen.Remove('RecentlyAdded'), $offadson_fullscreen.Remove('MostRecent')
}
$n = ($lang).NoVariable2
$contents = $offadson_fullscreen
@@ -934,7 +952,6 @@ function Helper($paramname, $addstring) {
$n = ($lang).NoVariable2
$contents = $rus_js
$paramdata = $xpui_js
}
"RuTranslate" {
# Additional translation of some words for the Russian language
@@ -986,18 +1003,40 @@ function Helper($paramname, $addstring) {
AlbumReleaseMany = '"many": "\\"%name%\\" was released %years% years ago this week!"', '"many": "\"%name%\" был выпущен %years% лет назад на этой неделе!"'
AlbumReleaseOther = '"other": "\\"%name%\\" was released %years% years ago this week!"', '"other": "\"%name%\" был выпущен %years% года назад на этой неделе!"'
Speed = '"Speed [{]0[}]×"', '"Скорость {0}×"'
AudiobookGet = '"Get"', '"Получить"'
AudiobookBy = '"Buy"', '"Купить"'
CloseModal = '"Close modal"', '"Закрыть"'
RatinggoToApp = '"Head over to Spotify on your mobile phone to rate this title."', '"Зайдите в Spotify на своем мобильном телефоне, чтобы оценить этот заголовок."'
Freexplanation = '"Tap Get to add it to Your Library and it will be ready for listening in a few seconds."', '"Нажмите «Получить», чтобы добавить его в свою библиотеку, и через несколько секунд он будет готов для прослушивания."'
Confidential = '"This is a highly confidential test. Do not share details of this test or any song you create outside of Spotify."', '"Это очень конфиденциальный тест. Не делитесь подробностями этого теста или какой-либо песни, которую вы создаете, за пределами Spotify."'
LoveAudiobook = '"Love this audiobook\? Unlock all chapters first"', '"Нравится эта аудиокнига? Сначала разблокируйте все главы"'
FullAudiobook = '"You can listen to this chapter after purchasing the full audiobook."', '"Вы можете прослушать эту главу после покупки полной аудиокниги."'
PurchaseAudiobook = '"Purchase audiobook"', '"Купить аудиокнигу"'
Cache = '"Cache:"', '"Кеш:"'
Downloads = '"Downloads:"', '"Загрузки:"'
StartGroupSession = '"How to start a Group Session"', '"Как начать групповую сессию"'
ForPremium = '"For: Premium on mobile and tablet"', '"Для: Premium на мобильных устройствах и планшетах"'
GroupSessionControl = '"In a group session, everyone invited no matter where they are can control what plays."', '"На групповом сеансе каждый приглашенный независимо от того, где он находится может контролировать то, что играет."'
OpenSpotify = '"Open Spotify and play something."', '"Откройте Spotify и включите что-нибудь."'
TapIcon = '"Tap [{]icon[}] at the bottom of the screen."', '"Нажмите {icon} в нижней части экрана."'
TapStart = '"Tap Start a remote group session."', '"Нажмите Начать сеанс удаленной группы."'
TapInvite = '"Tap Invite friends."', '"Нажмите Пригласить друзей."'
AddFiends = '"Or, if you want to invite additional friends after you.ve started a group session, tap the avatar at the bottom of the screen and tap [{]icon[}]."', '"Или, если вы хотите пригласить дополнительных друзей после начала группового сеанса, коснитесь аватара в нижней части экрана и нажмите {icon}."'
Share = '"Select how you want to share, or choose Copy link and send it to your friends."', '"Выберите, как вы хотите поделиться, или выберите Скопировать ссылку и отправить ее своим друзьям."'
LearnMore = '"Learn more"', '"Узнать больше"'
Author = '"Author"', '"Автор"'
Creator = '"Creator"', '"Создатель"'
CustomOrder = '"Custom order"', '"Особая"'
Alphabetical = '"Alphabetical"', '"Алфавитная"'
RecentlyAdded = '"Recently added"', '"Недавно добавленные"'
RecentlyPlayed = '"Recently played"', '"Недавно проигранные"'
MostRecent = '"Most recent"', '"Самые последние"'
RecentlyUpdated = '"Recently updated"', '"Недавно обновленные"'
MostRelevant = '"Most relevant"', '"Наиболее актуальные"'
Albums = '"Albums",', '"Альбомы",'
Artists = '"Artists",', '"Артисты",'
Playlists = '"Playlists",', '"Плейлисты",'
PodcastsShows = '"Podcasts . Shows",', '"Подкасты и Шоу",'
Audiobooks = '"Audiobooks",', '"Аудиокниги",'
Downloaded = '"Downloaded"', '"Скачано"'
ByYou = '"By you"', '"Ваши"'
Unplayed = '"Unplayed"', '"Невоспроизведенное"'
InProgress = '"In progress"', '"В процессе"'
LikedSongs = '"Liked Songs"', '"Понравившиеся песни"'
YourEpisodes = '"Your Episodes"', '"Ваши эпизоды"'
LocalFiles = '"Local Files"', '"Локальные файлы"'
}
$n = ($lang).NoVariable7
$contents = $ru_translate
@@ -1023,28 +1062,30 @@ function Helper($paramname, $addstring) {
MadeForYou = '(Show "Made For You" entry point in the left sidebar.,default:)(!1)', '$1true'
ClearCache = '(Enable option in settings to clear all downloads",default:)(!1)', '$1true'
CarouselsonHome = '(Use carousels on Home",default:)(!1)', '$1true'
LeftSidebar = '(Enable Your Library X view of the left sidebar",default:)(!1)', '$1true'
LyricsEnabled = '(With this enabled, clients will check whether tracks have lyrics available",default:)(!1)', '$1true'
PlaylistCreation = '(Enables new playlist creation flow in Web Player and DesktopX",default:)(!1)', '$1true'
SearchBox = '(Adds a search box so users are able to filter playlists when trying to add songs to a playlist using the contextmenu",default:)(!1)', '$1true'
# "Create similar playlist" menu is activated for someone else's playlists
SimilarPlaylist = ',(.\.isOwnedBySelf&&)(..createElement\(..Fragment,null,..createElement\(.+?{(uri:.|spec:.),(uri:.|spec:.).+?contextmenu.create-similar-playlist"\)}\),)' , ',$2$1'
SimilarPlaylist = ',(.\.isOwnedBySelf&&)((\(.{0,11}\)|..createElement)\(.{1,3}Fragment,.+?{(uri:.|spec:.),(uri:.|spec:.).+?contextmenu.create-similar-playlist"\)}\),)' , ',$2$1'
}
$ofline = Check_verison_clients -param2 "offline"
if ($enhance_like_off) { $exp_features.Remove('EnhanceLiked') }
if ($enhance_playlist_off) { $exp_features.Remove('EnhancePlaylist') }
if ($new_artist_pages_off) { $exp_features.Remove('DisographyArtist') }
if ($new_lyrics_off) { $exp_features.Remove('LyricsMatch') }
if ($equalizer_off) { $exp_features.Remove('Equalizer') }
if ($device_new_off) { $exp_features.Remove('DevicePicker') }
if ($navalt_off) { $exp_features.Remove('NewHome') }
if ($made_for_you_off) { $exp_features.Remove('MadeForYou') }
if ($exp_standart) {
$exp_features.Remove('EnhanceLiked'), $exp_features.Remove('EnhancePlaylist'),
$exp_features.Remove('DisographyArtist'), $exp_features.Remove('LyricsMatch'),
$exp_features.Remove('Equalizer'), $exp_features.Remove('DevicePicker'),
$exp_features.Remove('NewHome'), $exp_features.Remove('MadeForYou'),
$exp_features.Remove('SimilarPlaylist')
$exp_features.Remove('SimilarPlaylist'), $exp_features.Remove('LeftSidebar')
}
$ofline = Check_verison_clients -param2 "offline"
if (!($left_sidebar_on) -or $ofline -le "1.1.94.872") { $exp_features.Remove('LeftSidebar') }
if ($navalt_off) { $exp_features.Remove('NewHome'), $exp_features.Remove('LeftSidebar') }
if ($ofline -ge "1.1.94.864") {
$exp_features.Remove('LyricsEnabled'), $exp_features.Remove('PlaylistCreation'),
$exp_features.Remove('SearchBox')
@@ -1054,8 +1095,6 @@ function Helper($paramname, $addstring) {
$contents = $exp_features
$paramdata = $xpui_js
}
}
$contents.Keys | Sort-Object | ForEach-Object {
@@ -1063,10 +1102,13 @@ function Helper($paramname, $addstring) {
$paramdata = $paramdata -replace $contents.$PSItem[0], $contents.$PSItem[1]
}
else {
if (!($paramname -eq "RuTranslate") -or $err_ru) {
Write-Host ($lang).NoVariable"" -ForegroundColor red -NoNewline
Write-Host "`$contents.$PSItem"$n
}
}
}
$paramdata
}
@@ -1303,14 +1345,14 @@ If (Test-Path $xpui_spa_patch) {
if ($ru) {
[Reflection.Assembly]::LoadWithPartialName('System.IO.Compression') | Out-Null
$files = 'af.json', 'am.json', 'ar.json', 'az.json', 'bg.json', 'bho.json', 'bn.json', `
'cs.json', 'da.json', 'de.json', 'el.json', 'es-419.json', 'es.json', 'et.json', 'fa.json', `
'fi.json', 'fil.json', 'fr-CA.json', 'fr.json', 'gu.json', 'he.json', 'hi.json', 'hu.json', `
$files = 'af.json', 'am.json', 'ar.json', 'ar-EG.json', 'ar-SA.json', 'ar-MA.json', 'az.json', 'bg.json', 'bho.json', 'bn.json', `
'bs.json', 'cs.json', 'ca.json', 'gl.json', 'da.json', 'de.json', 'en-GB.json', 'el.json', 'es-419.json', 'es-MX.json', 'es-AR.json', 'es.json', 'et.json', 'fa.json', `
'fi.json', 'fil.json', 'fr-CA.json', 'fr.json', 'gu.json', 'he.json', 'hi.json', 'eu.json', 'hu.json', `
'id.json', 'is.json', 'it.json', 'ja.json', 'kn.json', 'ko.json', 'lt.json', 'lv.json', `
'ml.json', 'mr.json', 'ms.json', 'nb.json', 'ne.json', 'nl.json', 'or.json', 'pa-IN.json', `
'ml.json', 'mr.json', 'ms.json', 'mk.json', 'nb.json', 'ne.json', 'nl.json', 'or.json', 'pa-IN.json', `
'pl.json', 'pt-BR.json', 'pt-PT.json', 'ro.json', 'sk.json', 'sl.json', 'sr.json', 'sv.json', `
'sw.json' , 'ta.json' , 'te.json' , 'th.json' , 'tr.json' , 'uk.json' , 'ur.json' , 'vi.json', `
'zh-CN.json', 'zh-TW.json' , 'zu.json' , 'pa-PK.json' , 'hr.json'
'sw.json' , 'ta.json', 'te.json', 'th.json', 'tr.json', 'uk.json', 'ur.json', 'vi.json', `
'zh-CN.json', 'zh-TW.json', 'zh-HK.json', 'zu.json', 'pa-PK.json', 'hr.json'
$stream = New-Object IO.FileStream($xpui_spa_patch, [IO.FileMode]::Open)
$mode = [IO.Compression.ZipArchiveMode]::Update

View File

@@ -15,7 +15,7 @@
<h1>System requirements</h1>
- <strong>OS: Windows 7-11</strong>
- <strong>Spotify: Recommended official version [1.1.94.872](https://cutt.ly/8EH6NuH)</strong>
- <strong>Spotify: Recommended official version [1.1.95.889](https://cutt.ly/8EH6NuH)</strong>
- <strong>For Windows Desktop only (Microsoft store version is not suitable).</strong>
- <strong>PowerShell: 3 or higher</strong>