From 3a7c1d8ad60625d8f2ee4343e55a2d49c04e1e39 Mon Sep 17 00:00:00 2001 From: 4gray <4gray@users.noreply.github.com> Date: Sat, 1 Jul 2023 22:54:42 +0200 Subject: [PATCH] feat: add settings for custom mpv player path --- src/app/settings/settings.component.html | 20 +++++++++++++++++++ src/app/settings/settings.component.ts | 25 +++++++++++++++++------- src/app/settings/settings.interface.ts | 1 + 3 files changed, 39 insertions(+), 7 deletions(-) diff --git a/src/app/settings/settings.component.html b/src/app/settings/settings.component.html index 2d5144856..9a3704d21 100644 --- a/src/app/settings/settings.component.html +++ b/src/app/settings/settings.component.html @@ -90,6 +90,26 @@ +
+
+ {{ 'SETTINGS.MPV_PLAYER_PATH_LABEL' | translate }} +

{{ 'SETTINGS.MPV_PLAYER_PATH_DESCRIPTION' | translate }}

+
+
+ + {{ + 'SETTINGS.MPV_PLAYER_PATH' | translate + }} + + +
+
+
{{ 'SETTINGS.LANGUAGE' | translate }} diff --git a/src/app/settings/settings.component.ts b/src/app/settings/settings.component.ts index 06da0d450..f133b9ac5 100644 --- a/src/app/settings/settings.component.ts +++ b/src/app/settings/settings.component.ts @@ -12,7 +12,10 @@ import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; import { take } from 'rxjs'; import * as semver from 'semver'; -import { EPG_FORCE_FETCH } from '../../../shared/ipc-commands'; +import { + EPG_FORCE_FETCH, + SET_MPV_PLAYER_PATH, +} from '../../../shared/ipc-commands'; import { Playlist } from '../../../shared/playlist.interface'; import { DataService } from '../services/data.service'; import { DialogService } from '../services/dialog.service'; @@ -51,12 +54,13 @@ export class SettingsComponent implements OnInit { label: 'VideoJs Player', }, ...(this.isElectron - ? [ - { - id: VideoPlayer.MPV, - label: 'MPV Player', - }, - ] + ? + [ + { + id: VideoPlayer.MPV, + label: 'MPV Player', + }, + ] : []), ]; @@ -79,6 +83,7 @@ export class SettingsComponent implements OnInit { language: Language.ENGLISH, showCaptions: false, theme: Theme.LightTheme, + mpvPlayerPath: '', }); /** Form array with epg sources */ @@ -132,6 +137,7 @@ export class SettingsComponent implements OnInit { theme: settings.theme ? settings.theme : Theme.LightTheme, + mpvPlayerPath: settings.mpvPlayerPath, }); if (this.isElectron) { @@ -219,6 +225,11 @@ export class SettingsComponent implements OnInit { .subscribe(() => { this.applyChangedSettings(); }); + + this.electronService.sendIpcEvent( + SET_MPV_PLAYER_PATH, + this.settingsForm.value.mpvPlayerPath + ); } /** diff --git a/src/app/settings/settings.interface.ts b/src/app/settings/settings.interface.ts index 544b45ff3..605cf6507 100644 --- a/src/app/settings/settings.interface.ts +++ b/src/app/settings/settings.interface.ts @@ -20,4 +20,5 @@ export interface Settings { language: Language; showCaptions: boolean; theme: Theme; + mpvPlayerPath: string; }