mirror of
https://github.com/Mastermindzh/tidal-hifi.git
synced 2024-11-24 22:42:42 +01:00
Merge branch 'feature/typescript' of github.com:Mastermindzh/tidal-hifi into feature/theming
This commit is contained in:
commit
822bdf401e
@ -10,6 +10,10 @@ insert_final_newline = true
|
|||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
|
||||||
|
[**.ts]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
[**.json]
|
[**.json]
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@ -5,6 +5,10 @@ on:
|
|||||||
branches-ignore:
|
branches-ignore:
|
||||||
- master
|
- master
|
||||||
- develop
|
- develop
|
||||||
|
pull_request:
|
||||||
|
branches-ignore:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
jobs:
|
jobs:
|
||||||
build_on_linux:
|
build_on_linux:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
12
.github/workflows/release.yml
vendored
12
.github/workflows/release.yml
vendored
@ -5,6 +5,10 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- develop
|
- develop
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build_on_linux:
|
build_on_linux:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -16,7 +20,7 @@ jobs:
|
|||||||
- uses: actions/checkout@master
|
- uses: actions/checkout@master
|
||||||
- uses: actions/setup-node@master
|
- uses: actions/setup-node@master
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version: 19
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: npm run build
|
- run: npm run build
|
||||||
- uses: actions/upload-artifact@master
|
- uses: actions/upload-artifact@master
|
||||||
@ -25,12 +29,12 @@ jobs:
|
|||||||
path: dist/
|
path: dist/
|
||||||
|
|
||||||
build_on_mac:
|
build_on_mac:
|
||||||
runs-on: macOS-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@master
|
- uses: actions/checkout@master
|
||||||
- uses: actions/setup-node@master
|
- uses: actions/setup-node@master
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version: 19
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: npm run build
|
- run: npm run build
|
||||||
- uses: actions/upload-artifact@master
|
- uses: actions/upload-artifact@master
|
||||||
@ -44,7 +48,7 @@ jobs:
|
|||||||
- uses: actions/checkout@master
|
- uses: actions/checkout@master
|
||||||
- uses: actions/setup-node@master
|
- uses: actions/setup-node@master
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version: 19
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: npm run build
|
- run: npm run build
|
||||||
- uses: actions/upload-artifact@master
|
- uses: actions/upload-artifact@master
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
export const flags: { [key: string]: { flag: string; value?: any }[] } = {
|
export const flags: { [key: string]: { flag: string; value?: string }[] } = {
|
||||||
gpuRasterization: [{ flag: "enable-gpu-rasterization", value: undefined }],
|
gpuRasterization: [{ flag: "enable-gpu-rasterization", value: undefined }],
|
||||||
disableHardwareMediaKeys: [{ flag: "disable-features", value: "HardwareMediaKeyHandling" }],
|
disableHardwareMediaKeys: [{ flag: "disable-features", value: "HardwareMediaKeyHandling" }],
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ import { setTitle } from "./scripts/window-functions";
|
|||||||
const notificationPath = `${app.getPath("userData")}/notification.jpg`;
|
const notificationPath = `${app.getPath("userData")}/notification.jpg`;
|
||||||
const appName = "Tidal Hifi";
|
const appName = "Tidal Hifi";
|
||||||
let currentSong = "";
|
let currentSong = "";
|
||||||
let player: any;
|
let player: Player;
|
||||||
let currentPlayStatus = statuses.paused;
|
let currentPlayStatus = statuses.paused;
|
||||||
|
|
||||||
const elements = {
|
const elements = {
|
||||||
|
@ -18,7 +18,7 @@ export const startExpress = (mainWindow: BrowserWindow) => {
|
|||||||
* @param {*} res
|
* @param {*} res
|
||||||
* @param {*} action
|
* @param {*} action
|
||||||
*/
|
*/
|
||||||
function handleGlobalEvent(res: Response, action: any) {
|
function handleGlobalEvent(res: Response, action: string) {
|
||||||
mainWindow.webContents.send("globalEvent", action);
|
mainWindow.webContents.send("globalEvent", action);
|
||||||
res.sendStatus(200);
|
res.sendStatus(200);
|
||||||
}
|
}
|
||||||
|
@ -67,7 +67,7 @@ export const createSettingsWindow = function () {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
settingsWindow.on("close", (event: any) => {
|
settingsWindow.on("close", (event: Event) => {
|
||||||
if (settingsWindow != null) {
|
if (settingsWindow != null) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
settingsWindow.hide();
|
settingsWindow.hide();
|
||||||
|
60
src/types/mpris-service.d.ts
vendored
Normal file
60
src/types/mpris-service.d.ts
vendored
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
declare class InitOptions {
|
||||||
|
name: string;
|
||||||
|
identity: string;
|
||||||
|
supportedUriSchemes: string[];
|
||||||
|
supportedMimeTypes: string[];
|
||||||
|
supportedInterfaces: string[];
|
||||||
|
desktopEntry: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare class Player {
|
||||||
|
metadata: {
|
||||||
|
"xesam:title": string;
|
||||||
|
"xesam:artist": string[];
|
||||||
|
"xesam:album": string;
|
||||||
|
"mpris:artUrl": string;
|
||||||
|
"mpris:length": number;
|
||||||
|
"mpris:trackid": string;
|
||||||
|
// other options
|
||||||
|
[key: string]: string | number | string[] | object;
|
||||||
|
};
|
||||||
|
playbackStatus: string;
|
||||||
|
identity: string;
|
||||||
|
fullscreen: boolean;
|
||||||
|
supportedUriSchemes: string[];
|
||||||
|
supportedMimeTypes: string[];
|
||||||
|
canQuit: boolean;
|
||||||
|
canRaise: boolean;
|
||||||
|
canSetFullscreen: boolean;
|
||||||
|
hasTrackList: boolean;
|
||||||
|
desktopEntry: string;
|
||||||
|
loopStatus: string;
|
||||||
|
shuffle: boolean;
|
||||||
|
volume: number;
|
||||||
|
canControl: boolean;
|
||||||
|
canPause: boolean;
|
||||||
|
canPlay: boolean;
|
||||||
|
canSeek: boolean;
|
||||||
|
canGoNext: boolean;
|
||||||
|
canGoPrevious: boolean;
|
||||||
|
rate: number;
|
||||||
|
minimumRate: number;
|
||||||
|
maximumRate: number;
|
||||||
|
playlists: string[];
|
||||||
|
activePlaylist: string;
|
||||||
|
|
||||||
|
constructor(opts: { name: string; supportedInterfaces?: string[] });
|
||||||
|
constructor(opts: InitOptions);
|
||||||
|
|
||||||
|
getPosition(): number;
|
||||||
|
seeked(): void;
|
||||||
|
getTrackIndex(trackId: number): number;
|
||||||
|
getTrack(trackId: number): string;
|
||||||
|
addTrack(track: object): void;
|
||||||
|
removeTrack(trackId: number): number;
|
||||||
|
getPlaylistIndex(playlistId: number): number;
|
||||||
|
setPlaylists(playlists: object): void;
|
||||||
|
setActivePlaylist(playlistId: number): void;
|
||||||
|
|
||||||
|
on(event: string | symbol, listener: (...args: object[]) => void): this;
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
|
"typeRoots": ["src/types"],
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"target": "ES6",
|
"target": "ES6",
|
||||||
"noImplicitAny": true,
|
"noImplicitAny": true,
|
||||||
|
Loading…
Reference in New Issue
Block a user