=== modified file 'elisa-plugins/elisa/plugins/poblesec/main.py' --- elisa-plugins/elisa/plugins/poblesec/main.py 2008-10-23 10:57:49 +0000 +++ elisa-plugins/elisa/plugins/poblesec/main.py 2008-11-20 16:46:41 +0000 @@ -22,6 +22,7 @@ from elisa.core.media_uri import MediaUri from elisa.plugins.gstreamer.amp_master import GstMetadataAmpClient +from elisa.plugins.database.models import MusicTrack from elisa.plugins.base.models.media import PlayableModel from elisa.plugins.base.models.image import ImageModel @@ -565,11 +566,26 @@ playable_model = self.get_playable_model(file) self.video_player.player.enqueue_to_playlist(playable_model) elif "audio" in media_type: - self.music_player.player.play_model(playable_model) - self.show_music_player() + store = common.application.store + + def found(result, add_func): + if result is not None: + add_func(result) + else: + # Fallback to dumb PlayableModel, rather than one from our DB + add_func(playable_model) + + def show(result): + self.show_music_player() + + dfr = store.get(MusicTrack, file_path) + dfr.addCallback(found, self.music_player.player.play_model) + dfr.addCallback(show) + for file in files[1:]: playable_model = self.get_playable_model(file) - self.music_player.player.enqueue_to_playlist(playable_model) + dfr = store.get(MusicTrack, file_path) + dfr.addCallback(enqueu, self.music_player.player.enqueue_to_playlist) elif "image" in media_type: self.slideshow_player.player.clear_playlist() image = ImageModel()