diff --git a/.circleci/config.yml b/.circleci/config.yml index de9c5422..fb495fd0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -116,10 +116,10 @@ jobs: name: Move Build Files command: | mkdir ~/Cider/dist/artifacts/ - mv ~/Cider/dist/*.exe ~/Cider/dist/artifacts mv ~/Cider/dist/*.deb ~/Cider/dist/artifacts mv ~/Cider/dist/*.AppImage ~/Cider/dist/artifacts mv ~/Cider/dist/*.snap ~/Cider/dist/artifacts + mv ~/Cider/dist/*.exe ~/Cider/dist/artifacts mv ~/Cider/dist/*.yml ~/Cider/dist/artifacts mv ~/Cider/dist/*.blockmap ~/Cider/dist/artifacts - store_artifacts: @@ -153,6 +153,7 @@ workflows: only: - main - stable + - steam-deck - build-windows: requires: - prepare-build @@ -161,6 +162,7 @@ workflows: only: - main - stable + - steam-deck - build-linux: requires: - prepare-build @@ -169,6 +171,7 @@ workflows: only: - main - stable + - steam-deck - build-winget: requires: - prepare-build @@ -177,6 +180,7 @@ workflows: only: - main - stable + - steam-deck - release: requires: - build-windows @@ -187,3 +191,4 @@ workflows: only: - main - stable + - steam-deck diff --git a/package.json b/package.json index 208b2d5c..8517a46d 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "winget": "npm run build && electron-builder --win -c winget.json", "msft": "npm run build && electron-builder -c msft-package.json", "mstest": "npm run build && electron-builder -c msft-test.json", + "steamdeck": "npm run build && electron-builder --linux -c steam-deck.json", "postinstall": "electron-builder install-app-deps", "format:check": "npx prettier --check \"src/**/*.{js,json,ts,less}\"", "format:write": "npx prettier --write \"src/**/*.{js,json,ts,less}\"" diff --git a/src/i18n/en_US.json b/src/i18n/en_US.json index a6be2f27..38267fe3 100644 --- a/src/i18n/en_US.json +++ b/src/i18n/en_US.json @@ -264,6 +264,7 @@ "action.removeFromQueue.success": "Removed from Queue", "action.removeFromQueue.error": "Error Removing from Queue", "action.createPlaylist": "Create a New Playlist", + "action.addToPlaylist.duplicate": "Item already exists in playlist. Do you want to continue?", "action.addToPlaylist": "Add to Playlist", "action.addToPlaylist.duplicate": "Item already exists in playlist. Do you want to continue?", "action.removeFromPlaylist": "Remove from Playlist", diff --git a/src/i18n/source/en_US.json b/src/i18n/source/en_US.json index a6be2f27..38267fe3 100644 --- a/src/i18n/source/en_US.json +++ b/src/i18n/source/en_US.json @@ -264,6 +264,7 @@ "action.removeFromQueue.success": "Removed from Queue", "action.removeFromQueue.error": "Error Removing from Queue", "action.createPlaylist": "Create a New Playlist", + "action.addToPlaylist.duplicate": "Item already exists in playlist. Do you want to continue?", "action.addToPlaylist": "Add to Playlist", "action.addToPlaylist.duplicate": "Item already exists in playlist. Do you want to continue?", "action.removeFromPlaylist": "Remove from Playlist", diff --git a/src/main/base/app.ts b/src/main/base/app.ts index f59c6788..7e2e0678 100644 --- a/src/main/base/app.ts +++ b/src/main/base/app.ts @@ -2,6 +2,7 @@ import { app, Menu, nativeImage, Tray, ipcMain, clipboard, shell } from "electro import { readFileSync } from "fs"; import * as path from "path"; import * as log from "electron-log"; +import * as os from "os"; import { utils } from "./utils"; /** @@ -92,6 +93,11 @@ export class AppEvents { if (process.platform === "linux") { app.commandLine.appendSwitch("disable-features", "MediaSessionService"); + + if (os.version().indexOf("SteamOS")) { + app.commandLine.appendSwitch("enable-features", "UseOzonePlatform"); + app.commandLine.appendSwitch("ozone-platform", "x11"); + } } /*********************************************************************************************************************** diff --git a/src/main/plugins/lastfm.ts b/src/main/plugins/lastfm.ts index 2c3f2613..06fd5c42 100644 --- a/src/main/plugins/lastfm.ts +++ b/src/main/plugins/lastfm.ts @@ -209,7 +209,7 @@ export default class lastfm { }); return; } - + if (!this._authenticated || !attributes || this._utils.getStoreValue("connectivity.lastfm.filter_types")[attributes.playParams.kind] || this._utils.getStoreValue("connectivity.lastfm.filter_types")[attributes.kind] || (this._utils.getStoreValue("connectivity.lastfm.filter_loop") && this._nowPlayingCache.track === attributes.lfmTrack.name)) return; console.log(this._utils.getStoreValue("connectivity.lastfm.filter_types")); diff --git a/steam-deck.json b/steam-deck.json new file mode 100644 index 00000000..8ded62b3 --- /dev/null +++ b/steam-deck.json @@ -0,0 +1,45 @@ +{ + "electronVersion": "18.3.12", + "electronDownload": { + "version": "18.3.12+wvcus", + "mirror": "https://github.com/castlabs/electron-releases/releases/download/v" + }, + "appId": "cider", + "protocols": [ + { + "name": "Cider", + "schemes": ["ame", "cider", "itms", "itmss", "musics", "music"] + } + ], + "extends": null, + "files": ["**/*", "./src/**/*", "./resources/icons/icon.*"], + "linux": { + "target": ["AppImage", "flatpak", "pacman"], + "synopsis": "A new look into listening and enjoying music in style and performance. ", + "category": "AudioVideo", + "icon": "cider", + "executableName": "cider" + }, + "appx": { + "applicationId": "CiderAlpha", + "publisher": "CN=CiderCollective, OID.2.25.311729368913984317654407730594956997722=1", + "displayName": "Cider", + "identityName": "CiderCollective.CiderAlpha", + "backgroundColor": "transparent", + "setBuildNumber": true + }, + "win": { + "target": ["appx"], + "icon": "resources/icons/icon.ico" + }, + "directories": { + "buildResources": ".", + "output": "dist" + }, + "mac": { + "icon": "./resources/icons/icon.icns", + "category": "public.app-category.music", + "entitlements": "resources/entitlements.mac.plist", + "darkModeSupport": true + } +}