Changeset 512

Show
Ignore:
Timestamp:
12/01/06 23:05:56 (2 years ago)
Author:
nicfit
Message:

More dbus goodness

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/audio_control.py

    r507 r512  
    309309    def set_volume(self, v): 
    310310        '''Volume is value between 0.0 and 1.0''' 
    311         if v < 0.0 or v > 1.0: 
    312             raise AttributeError('Invalid volume: %f' % v) 
    313  
     311        if v < 0.0: 
     312            v = 0.0 
     313        elif v > 1.0: 
     314            v = 1.0 
     315 
     316        print "v:", v 
    314317        self._volume = v 
    315318        self._gst_bin.set_property('volume', v) 
  • trunk/src/dbus_service.py

    r511 r512  
    5858        self._audio_control.next() 
    5959 
     60    @dbus.service.method(INTERFACE) 
     61    def get_state(self): 
     62        if self._audio_control.is_playing(): 
     63            return 'playing' 
     64        elif self._audio_control.is_paused(): 
     65            return 'paused' 
     66        else: 
     67            return 'stopped' 
     68 
     69    @dbus.service.method(INTERFACE) 
     70    def play_pause(self): 
     71        if self._audio_control.is_playing(): 
     72            self._audio_control.pause() 
     73        else: 
     74            self._audio_control.play() 
     75 
     76    @dbus.service.method(INTERFACE) 
     77    def vol_up(self, n): 
     78        self._audio_control.set_volume(self._audio_control.get_volume() + n) 
     79 
     80    @dbus.service.method(INTERFACE) 
     81    def vol_down(self, n): 
     82        self._audio_control.set_volume(self._audio_control.get_volume() - n) 
     83 
  • trunk/src/main.py

    r511 r512  
    6464        # Handle remote control options 
    6565        for arg in sys.argv[1:]: 
     66            eq = arg.find('=') 
     67            if eq >= 0: 
     68                arg = arg[:eq] 
    6669            if arg in self.cmd_line.remote_control_opts: 
    6770                try: 
     
    6972                except Exception, ex: 
    7073                    mesk.log.error('Dbus error: %s' % str(ex)) 
    71                     return 5 
     74                    return 2 
    7275 
    7376        if self.remote_control: 
     
    222225        elif cmd in ['--next']: 
    223226            self.remote_control.next() 
     227        elif cmd in ['--get-state']: 
     228            print self.remote_control.get_state() 
     229        elif cmd in ['--play-pause']: 
     230            self.remote_control.play_pause() 
     231        elif cmd in ['--vol-up', '--vol-down']: 
     232            if self.opts.vol_up: 
     233                self.remote_control.vol_up(self.opts.vol_up) 
     234            else: 
     235                self.remote_control.vol_down(self.opts.vol_down) 
    224236        else: 
    225237            assert(False) # This should not happen 
     
    255267        rc_opts.add_option('--pause', action='store_true', dest='pause', 
    256268                           default=False, help=_('Pauses playback')) 
     269        rc_opts.add_option('--play-pause', action='store_true', 
     270                           dest='play_pause', 
     271                           default=False, help=_('Pauses playback if currently ' 
     272                                                 'playing, otherwise playback ' 
     273                                                 'is started.')) 
    257274        rc_opts.add_option('--prev', action='store_true', dest='prev', 
    258275                           default=False, help=_('Previous track')) 
    259276        rc_opts.add_option('--next', action='store_true', dest='next', 
    260277                           default=False, help=_('Next track')) 
     278        rc_opts.add_option('--vol-up', action='store', dest='vol_up', 
     279                           type=float, default=0, metavar='N', 
     280                           help=_('Increase the volume by N% ' 
     281                                  '(0.0 <= n <= 1.0)')) 
     282        rc_opts.add_option('--vol-down', action='store', dest='vol_down', 
     283                           type=float, default=0, metavar='N', 
     284                           help=_('Decrease the volume by N%' 
     285                                  '(0.0 <= n <= 1.0)')) 
     286        rc_opts.add_option('--get-state', action='store_true', dest='get_state', 
     287                           default=False, help=_('Returns the current state of ' 
     288                                                 'the audio player (stopped, ' 
     289                                                 'playing, paused).')) 
    261290        self.add_option_group(rc_opts) 
    262291