Changeset 548
- Timestamp:
- 02/13/07 20:39:28 (2 years ago)
- Files:
-
- trunk/launch.sh (modified) (1 diff)
- trunk/scripts/mesk.in (modified) (1 diff)
- trunk/src/dbus_service.py (modified) (3 diffs)
- trunk/src/main.py (modified) (3 diffs)
- trunk/src/playlist_control.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/launch.sh
r538 r548 23 23 cd src > /dev/null 24 24 export PYTHONPATH=${PYTHONPATH}:./mmkeys 25 exec python -OO main.py ${profile} $@25 exec python -OO main.py ${profile} "$@" trunk/scripts/mesk.in
r102 r548 24 24 cd @libdir@/mesk 25 25 export PYTHONPATH="${PYTHONPATH}:${prefix}/lib/python2.4/site-packages" 26 exec python -OO main.py $@26 exec python -OO main.py "$@" trunk/src/dbus_service.py
r545 r548 158 158 @dbus.service.method(INTERFACE, in_signature='', out_signature='s') 159 159 def get_active_playlist(self): 160 open_playlists = \ 161 self._main_win.get_controls_by_type(playlist_control.PlaylistControl) 162 for ctrl in open_playlists: 163 if ctrl.is_active(): 164 return ctrl.name 165 return '' 160 ctrl = self._get_active_playlist_ctrl() 161 if ctrl: 162 return ctrl.name 163 else: 164 return '' 166 165 167 166 @dbus.service.method(INTERFACE, in_signature='s', out_signature='b') … … 175 174 return dbus.Boolean(False) 176 175 177 # FIXME178 176 @dbus.service.method(INTERFACE, in_signature='s', out_signature='b') 179 177 def enqueue(self, uri): 180 pl_ctrl = _select_playlist() 181 182 # FIXME 183 uri = mesk.uri.make_uri(uri) 184 print "enqueue_uri:", uri, pl_ctrl 185 # FIXME: To open a playlist 186 #self.add_control(PlaylistControl, pl_name) 178 pl_ctrl = self._select_playlist() 179 if not pl_ctrl: 180 return dbus.Boolean(False) 181 182 pl_ctrl.add_uris([uri]) 187 183 return dbus.Boolean(True) 188 184 189 # FIXME 190 @dbus.service.signal(INTERFACE) 191 def audio_source_changed(self, src): 192 # FIXME: testing needed, gajim music plugin 193 pass 185 def _get_active_playlist_ctrl(self): 186 open_playlists = \ 187 self._main_win.get_controls_by_type(playlist_control.PlaylistControl) 188 for ctrl in open_playlists: 189 if ctrl.is_active(): 190 return ctrl 191 return None 194 192 195 193 def _select_playlist(self): 196 194 '''This method is used to select a playlist for enqueueing URIs. It 197 195 may return None''' 198 active_pl = self. get_active_playlist()196 active_pl = self._get_active_playlist_ctrl() 199 197 if active_pl: 200 198 return active_pl … … 208 206 209 207 def _on_audio_source_changed(self, ctrl, old, new): 210 # FIXME: This will never work 211 if new is None and new[1]: 208 if new is None: 212 209 return 213 210 self.current_src = new[1] 214 # FIXME: decompose src into an array of strings215 # emit signal216 self.audio_source_changed("FIXME")217 211 218 212 def _on_audio_source_tag_update(self, ctrl, src): trunk/src/main.py
r546 r548 189 189 190 190 def _remote_control(self, interface, cmd, arg): 191 from mesk import MeskException 191 192 cmd_method = cmd[2:].replace('-', '_') 192 193 cmd_method = getattr(interface, cmd_method) … … 219 220 self._output(_('Playlist \'%s\' is now active\n') % arg) 220 221 else: 221 raise mesk.MeskException('Invalid playlist', 222 'Playlist %s does not exist.' % arg) 222 raise MeskException('Invalid playlist', 223 'Playlist %s does not exist.' % arg) 224 elif cmd == '--enqueue': 225 if not interface.enqueue(arg): 226 raise MeskException('No playlist found to enqueue URI') 223 227 else: 224 assert(False) # This should not happen 225 return -1 228 raise mesk.MeskException("Unknown command \'%s\'" % cmd) 226 229 227 230 return 0 … … 322 325 metavar='NAME', type=str, 323 326 help=_('Set the active playlist.')) 327 rc_opts.add_option('--enqueue', action='callback', 328 callback=self._remote_option_cb, 329 metavar='URI', type=str, 330 help=_('Enqueue URI to the active playlist.')) 324 331 self.add_option_group(rc_opts) 325 332 trunk/src/playlist_control.py
r547 r548 977 977 978 978 uris.sort() 979 self. _add_uris(uris, drop_pos, drop_row)979 self.add_uris(uris, drop_pos, drop_row) 980 980 981 981 context.finish(True, False, timestamp) … … 992 992 mesk.log.debug(msg) 993 993 994 def _add_uris(self, uris, drop_pos, drop_row):994 def add_uris(self, uris, drop_pos=gtk.TREE_VIEW_DROP_AFTER, drop_row=None): 995 995 orig_size = self._playlist.get_length() 996 if drop_row is None: 997 drop_row = orig_size 996 998 count = 0 997 999 … … 1133 1135 uris = self._browse_for_uris() 1134 1136 if uris: 1135 self. _add_uris(uris, gtk.TREE_VIEW_DROP_AFTER, len(self._playlist))1137 self.add_uris(uris, gtk.TREE_VIEW_DROP_AFTER, len(self._playlist)) 1136 1138 self._save_playlist() 1137 1139 … … 1343 1345 1344 1346 add_row = self._get_last_select_row() 1345 self. _add_uris(uris, gtk.TREE_VIEW_DROP_AFTER, add_row)1347 self.add_uris(uris, gtk.TREE_VIEW_DROP_AFTER, add_row) 1346 1348 self._save_playlist() 1347 1349 … … 1391 1393 1392 1394 paste_row = self._get_last_select_row() 1393 self. _add_uris(uris, gtk.TREE_VIEW_DROP_AFTER, paste_row)1395 self.add_uris(uris, gtk.TREE_VIEW_DROP_AFTER, paste_row) 1394 1396 self._save_playlist() 1395 1397
