@@ -8,22 +8,20 @@ module.exports = (function() {
88 const dbus = props . dbus ;
99 updateMetadata = function ( info ) {
1010 if ( dbus && info . track ) {
11- if ( ! dbus . mpris . metadata || ( dbus . mpris . metadata && dbus . mpris . metadata [ 'xesam:url' ] !== info . track . url ) ) {
12- dbus . mpris . metadata = {
13- 'mpris:trackid' : dbus . mpris . objectPath ( 'track/' + info . track . trackNumber ) ,
14- 'mpris:length' : info . track . length ,
15- 'mpris:artUrl' : info . track . art ,
16- 'xesam:title' : info . track . name . replace ( / ( \' | - .* | \( .* ) / i, '' ) , //Remove long track titles
17- 'xesam:album' : info . track . album . replace ( / ( \' | - .* | \( .* ) / i, '' ) , //Remove long album names
18- 'xesam:artist' : info . track . artists ,
19- 'xesam:url' : info . track . url
20- } ;
21- }
22- if ( dbus . mpris . volume != info . volume ) dbus . mpris . volume = info . volume ;
23- if ( info . track . position && dbus . mpris . position != info . track . position ) dbus . mpris . position = info . track . position ;
24- if ( dbus . mpris . playbackStatus != info . status ) dbus . mpris . playbackStatus = info . status ;
25- if ( dbus . mpris . shuffle != info . shuffle ) dbus . mpris . shuffle = info . shuffle ;
26- if ( dbus . mpris . repeat != info . repeat ) dbus . mpris . repeat = info . repeat ;
11+ dbus . mpris . metadata = {
12+ 'mpris:trackid' : dbus . mpris . objectPath ( 'track/' + info . track . trackNumber ) ,
13+ 'mpris:length' : info . track . length ,
14+ 'mpris:artUrl' : info . track . art ,
15+ 'xesam:title' : info . track . name . replace ( / ( \' | - .* | \( .* ) / i, '' ) , //Remove long track titles
16+ 'xesam:album' : info . track . album . replace ( / ( \' | - .* | \( .* ) / i, '' ) , //Remove long album names
17+ 'xesam:artist' : info . track . artists ,
18+ 'xesam:url' : info . track . url
19+ } ;
20+ dbus . mpris . volume = info . volume ;
21+ dbus . mpris . position = info . track . position ;
22+ dbus . mpris . playbackStatus = info . status ;
23+ dbus . mpris . shuffle = info . shuffle ;
24+ dbus . mpris . repeat = info . repeat ;
2725 }
2826 }
2927 class Controller extends EventEmitter {
@@ -114,28 +112,24 @@ module.exports = (function() {
114112 } ) ;
115113
116114 if ( dbus ) {
117- console . log ( 'setup!' ) ;
118- dbus . mediakeys . on ( 'Play' , ( ) => {
119- console . log ( 'RECEIVED!!!' ) ;
120- this . playPause ( ) ;
121- } ) ;
122- dbus . mediakeys . on ( 'Stop' , this . stop ) ;
123- dbus . mediakeys . on ( 'Next' , this . next ) ;
124- dbus . mediakeys . on ( 'Previous' , this . previous ) ;
115+ dbus . mediakeys . on ( 'Play' , ( ) => this . playPause ( ) ) ;
116+ dbus . mediakeys . on ( 'Stop' , ( ) => this . stop ( ) ) ;
117+ dbus . mediakeys . on ( 'Next' , ( ) => this . next ( ) ) ;
118+ dbus . mediakeys . on ( 'Previous' , ( ) => this . previous ( ) ) ;
125119
126- dbus . mpris . on ( 'Play ' , this . play ) ;
127- dbus . mpris . on ( 'PlayPause ' , this . playPause ) ;
128- dbus . mpris . on ( 'Next ' , this . next ) ;
129- dbus . mpris . on ( 'Previous ' , this . previous ) ;
130- dbus . mpris . on ( 'Stop ' , this . stop ) ;
131- dbus . mpris . on ( 'OpenUri ' , ( e ) => { if ( e . uri . indexOf ( 'spotify:track:' ) > - 1 ) { this . playTrack ( e . uri ) } } ) ;
132- dbus . mpris . on ( 'Quit ' , ( ) => { this . emit ( 'Quit' ) ; } ) ;
133- dbus . mpris . on ( 'Raise ' , ( ) => { this . emit ( 'Raise' ) ; } ) ;
134- dbus . mpris . on ( 'Volume ' , ( volume ) => { this . setVolume ( volume ) ; } ) ;
135- dbus . mpris . on ( 'Shuffle ' , ( shuffle ) => { this . setShuffle ( shuffle ) ; } ) ;
136- dbus . mpris . on ( 'Loop ' , ( loop ) => { this . setLoop ( loop ) ; } ) ;
137- dbus . mpris . on ( 'Seek ' , ( mms ) => { this . seek ( mms . delta / 1000 ) ; } ) ;
138- dbus . mpris . on ( 'SetPosition ' , ( track , pos ) => { console . log ( 'SetPosition not yet implemented' ) } ) ;
120+ dbus . mpris . on ( 'play ' , ( ) => this . play ( ) ) ;
121+ dbus . mpris . on ( 'playpause ' , ( ) => this . playPause ( ) ) ;
122+ dbus . mpris . on ( 'next ' , ( ) => this . next ( ) ) ;
123+ dbus . mpris . on ( 'previous ' , this . previous ) ;
124+ dbus . mpris . on ( 'stop ' , this . stop ) ;
125+ dbus . mpris . on ( 'openuri ' , ( e ) => { if ( e . uri . indexOf ( 'spotify:track:' ) > - 1 ) { this . playTrack ( e . uri ) } } ) ;
126+ dbus . mpris . on ( 'quit ' , ( ) => { this . emit ( 'Quit' ) ; } ) ;
127+ dbus . mpris . on ( 'raise ' , ( ) => { this . emit ( 'Raise' ) ; } ) ;
128+ dbus . mpris . on ( 'volume ' , ( volume ) => { this . setVolume ( volume ) ; } ) ;
129+ dbus . mpris . on ( 'shuffle ' , ( shuffle ) => { this . setShuffle ( shuffle ) ; } ) ;
130+ dbus . mpris . on ( 'loopStatus ' , ( loop ) => { this . setLoop ( loop ) ; } ) ;
131+ dbus . mpris . on ( 'seek ' , ( mms ) => { this . seek ( mms . delta / 1000 ) ; } ) ;
132+ dbus . mpris . on ( 'position ' , ( track , pos ) => { console . log ( 'SetPosition not yet implemented' ) } ) ;
139133 }
140134 }
141135 pause ( ) {
0 commit comments