mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-13 11:21:46 +00:00
feat: rename IPC
This commit is contained in:
@ -7,14 +7,14 @@ import config from '@/config';
|
||||
export const restart = () => restartInternal();
|
||||
|
||||
export const setupAppControls = () => {
|
||||
ipcMain.on('restart', restart);
|
||||
ipcMain.handle('getDownloadsFolder', () => app.getPath('downloads'));
|
||||
ipcMain.on('ytmd:restart', restart);
|
||||
ipcMain.handle('ytmd:get-downloads-folder', () => app.getPath('downloads'));
|
||||
ipcMain.on(
|
||||
'reload',
|
||||
'ytmd:reload',
|
||||
() =>
|
||||
BrowserWindow.getFocusedWindow()?.webContents.loadURL(config.get('url')),
|
||||
);
|
||||
ipcMain.handle('getPath', (_, ...args: string[]) => path.join(...args));
|
||||
ipcMain.handle('ytmd:get-path', (_, ...args: string[]) => path.join(...args));
|
||||
};
|
||||
|
||||
function restartInternal() {
|
||||
|
||||
@ -18,12 +18,12 @@ window.ipcRenderer.on('update-song-info', (_, extractedSongInfo: SongInfo) => {
|
||||
});
|
||||
|
||||
// Used because 'loadeddata' or 'loadedmetadata' weren't firing on song start for some users (https://github.com/th-ch/youtube-music/issues/473)
|
||||
const srcChangedEvent = new CustomEvent('srcChanged');
|
||||
const srcChangedEvent = new CustomEvent('ytmd:src-changed');
|
||||
|
||||
export const setupSeekedListener = singleton(() => {
|
||||
$('video')?.addEventListener('seeked', (v) => {
|
||||
if (v.target instanceof HTMLVideoElement) {
|
||||
window.ipcRenderer.send('seeked', v.target.currentTime);
|
||||
window.ipcRenderer.send('ytmd:seeked', v.target.currentTime);
|
||||
}
|
||||
});
|
||||
});
|
||||
@ -32,7 +32,7 @@ export const setupTimeChangedListener = singleton(() => {
|
||||
const progressObserver = new MutationObserver((mutations) => {
|
||||
for (const mutation of mutations) {
|
||||
const target = mutation.target as Node & { value: string };
|
||||
window.ipcRenderer.send('timeChanged', target.value);
|
||||
window.ipcRenderer.send('ytmd:time-changed', target.value);
|
||||
songInfo.elapsedSeconds = Number(target.value);
|
||||
}
|
||||
});
|
||||
@ -46,7 +46,7 @@ export const setupRepeatChangedListener = singleton(() => {
|
||||
const repeatObserver = new MutationObserver((mutations) => {
|
||||
// provided by YouTube Music
|
||||
window.ipcRenderer.send(
|
||||
'repeatChanged',
|
||||
'ytmd:repeat-changed',
|
||||
(
|
||||
mutations[0].target as Node & {
|
||||
__dataHost: {
|
||||
@ -63,7 +63,7 @@ export const setupRepeatChangedListener = singleton(() => {
|
||||
// Emit the initial value as well; as it's persistent between launches.
|
||||
// provided by YouTube Music
|
||||
window.ipcRenderer.send(
|
||||
'repeatChanged',
|
||||
'ytmd:repeat-changed',
|
||||
$<
|
||||
HTMLElement & {
|
||||
getState: () => GetState;
|
||||
@ -74,26 +74,26 @@ export const setupRepeatChangedListener = singleton(() => {
|
||||
|
||||
export const setupVolumeChangedListener = singleton((api: YoutubePlayer) => {
|
||||
$('video')?.addEventListener('volumechange', () => {
|
||||
window.ipcRenderer.send('volumeChanged', api.getVolume());
|
||||
window.ipcRenderer.send('ytmd:volume-changed', api.getVolume());
|
||||
});
|
||||
// Emit the initial value as well; as it's persistent between launches.
|
||||
window.ipcRenderer.send('volumeChanged', api.getVolume());
|
||||
window.ipcRenderer.send('ytmd:volume-changed', api.getVolume());
|
||||
});
|
||||
|
||||
export default (api: YoutubePlayer) => {
|
||||
window.ipcRenderer.on('setupTimeChangedListener', () => {
|
||||
window.ipcRenderer.on('ytmd:setup-time-changed-listener', () => {
|
||||
setupTimeChangedListener();
|
||||
});
|
||||
|
||||
window.ipcRenderer.on('setupRepeatChangedListener', () => {
|
||||
window.ipcRenderer.on('ytmd:setup-repeat-changed-listener', () => {
|
||||
setupRepeatChangedListener();
|
||||
});
|
||||
|
||||
window.ipcRenderer.on('setupVolumeChangedListener', () => {
|
||||
window.ipcRenderer.on('ytmd:setup-volume-changed-listener', () => {
|
||||
setupVolumeChangedListener(api);
|
||||
});
|
||||
|
||||
window.ipcRenderer.on('setupSeekedListener', () => {
|
||||
window.ipcRenderer.on('ytmd:setup-seeked-listener', () => {
|
||||
setupSeekedListener();
|
||||
});
|
||||
|
||||
@ -102,7 +102,7 @@ export default (api: YoutubePlayer) => {
|
||||
e.target instanceof HTMLVideoElement &&
|
||||
Math.round(e.target.currentTime) > 0
|
||||
) {
|
||||
window.ipcRenderer.send('playPaused', {
|
||||
window.ipcRenderer.send('ytmd:play-or-paused', {
|
||||
isPaused: status === 'pause',
|
||||
elapsedSeconds: Math.floor(e.target.currentTime),
|
||||
});
|
||||
@ -170,6 +170,6 @@ export default (api: YoutubePlayer) => {
|
||||
data.microformat.microformatDataRenderer.pageOwnerDetails.name;
|
||||
}
|
||||
|
||||
window.ipcRenderer.send('video-src-changed', data);
|
||||
window.ipcRenderer.send('ytmd:video-src-changed', data);
|
||||
}
|
||||
};
|
||||
|
||||
@ -104,16 +104,16 @@ let handlingData = false;
|
||||
|
||||
const registerProvider = (win: BrowserWindow) => {
|
||||
// This will be called when the song-info-front finds a new request with song data
|
||||
ipcMain.on('video-src-changed', async (_, data: GetPlayerResponse) => {
|
||||
ipcMain.on('ytmd:video-src-changed', async (_, data: GetPlayerResponse) => {
|
||||
handlingData = true;
|
||||
await handleData(data, win);
|
||||
handlingData = false;
|
||||
for (const c of callbacks) {
|
||||
c(songInfo, 'video-src-changed');
|
||||
c(songInfo, 'ytmd:video-src-changed');
|
||||
}
|
||||
});
|
||||
ipcMain.on(
|
||||
'playPaused',
|
||||
'ytmd:play-or-paused',
|
||||
(
|
||||
_,
|
||||
{
|
||||
@ -128,7 +128,7 @@ const registerProvider = (win: BrowserWindow) => {
|
||||
}
|
||||
|
||||
for (const c of callbacks) {
|
||||
c(songInfo, 'playPaused');
|
||||
c(songInfo, 'ytmd:play-or-paused');
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user