mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-11 18:41:47 +00:00
Plugin Captions Selector - Check if there is caption tracks available, add "disable captions"
This commit is contained in:
@ -15,17 +15,32 @@ function setup(event) {
|
||||
document.querySelector('.right-controls-buttons').append(captionsSettingsButton);
|
||||
|
||||
captionsSettingsButton.onclick = function chooseQuality() {
|
||||
api.pauseVideo();
|
||||
|
||||
const currentCaptionTrack = api.getOption("captions", "track");
|
||||
const captionTrackList = api.getOption("captions", "tracklist");
|
||||
|
||||
const currentIndex = captionTrackList.indexOf(captionTrackList.find(track => track.languageCode === currentCaptionTrack.languageCode));
|
||||
if (captionTrackList?.length) {
|
||||
api.pauseVideo();
|
||||
|
||||
ipcRenderer.invoke('captionsSelector', captionTrackList.map(track => track.displayName), currentIndex).then(promise => {
|
||||
if (promise.response === -1) return;
|
||||
const newCaptions = captionTrackList[promise.response];
|
||||
api.setOption("captions", "track", { languageCode: newCaptions.languageCode });
|
||||
});
|
||||
const currentCaptionTrack = api.getOption("captions", "track");
|
||||
const currentIndex = captionTrackList.indexOf(captionTrackList.find(track => track.languageCode === currentCaptionTrack.languageCode));
|
||||
|
||||
const captionLabels = [
|
||||
...captionTrackList.map(track => track.displayName),
|
||||
'None'
|
||||
];
|
||||
|
||||
ipcRenderer.invoke('captionsSelector', captionLabels, currentIndex).then(promise => {
|
||||
if (promise.response === -1) return;
|
||||
|
||||
const newCaptions = captionTrackList[promise.response];
|
||||
if (newCaptions) {
|
||||
api.loadModule("captions");
|
||||
api.setOption("captions", "track", { languageCode: newCaptions.languageCode });
|
||||
} else {
|
||||
api.unloadModule("captions");
|
||||
}
|
||||
|
||||
setTimeout(() => api.playVideo());
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user