forked from nukeop/nuclear
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmpris.js
100 lines (80 loc) · 1.78 KB
/
mpris.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import logger from 'electron-timber';
import { ipcMain } from 'electron';
let rendererWindow = null;
// const events = ['raise', 'quit', 'next', 'previous', 'pause', 'playpause', 'stop', 'play', 'seek', 'position', 'open', 'volume', 'settings'];
ipcMain.on('started', event => {
logger.log('Renderer process started and registered.');
rendererWindow = event.sender;
});
function onNext() {
rendererWindow.send('next');
}
function onPrevious() {
rendererWindow.send('previous');
}
function onPause() {
rendererWindow.send('pause');
}
function onPlayPause() {
rendererWindow.send('playpause');
}
function onStop() {
rendererWindow.send('stop');
}
function onPlay() {
rendererWindow.send('play');
}
function onVolume(volume) {
rendererWindow.send('volume', volume);
}
function onSeek(position) {
rendererWindow.send('seek', position);
}
function onSettings(settings) {
rendererWindow.send('settings', settings);
}
function onMute() {
rendererWindow.send('mute');
}
function onEmptyQueue() {
rendererWindow.send('empty-queue');
}
function onCreatePlaylist(name) {
rendererWindow.send('create-playlist', name);
}
function onRemovePlaylist() {
rendererWindow.send('refresh-playlists');
}
function getQueue() {
return new Promise(resolve => {
rendererWindow.send('queue');
ipcMain.on('queue', (evt, data) => {
resolve(data);
});
});
}
function getPlayingStatus() {
return new Promise(resolve => {
rendererWindow.send('playing-status');
ipcMain.on('playing-status', (evt, data) => {
resolve(data);
});
});
}
module.exports = {
onNext,
onPrevious,
onPause,
onPlayPause,
onStop,
onPlay,
onSettings,
onVolume,
onSeek,
onMute,
onEmptyQueue,
getQueue,
onCreatePlaylist,
onRemovePlaylist,
getPlayingStatus
};