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;
}