@@ 307-326 (lines=20) @@ | ||
304 | ||
305 | if success: |
|
306 | playlist = QUrl.fromLocalFile(playlist) |
|
307 | self.playlist.clear() |
|
308 | self.playlist_view.clear() |
|
309 | self.playlist.load(playlist) |
|
310 | self.player.setPlaylist(self.playlist) |
|
311 | ||
312 | for song_index in range(self.playlist.mediaCount()): |
|
313 | file_info = self.playlist.media(song_index).canonicalUrl().fileName() |
|
314 | playlist_item = QListWidgetItem(file_info) |
|
315 | playlist_item.setToolTip(file_info) |
|
316 | self.playlist_view.addItem(playlist_item) |
|
317 | ||
318 | self.playlist_view.setCurrentRow(0) |
|
319 | self.player.play() |
|
320 | ||
321 | def load_saved_playlist(self): |
|
322 | """Load the saved playlist if user setting permits.""" |
|
323 | saved_playlist = "{}/.m3u" .format(self.playlist_location) |
|
324 | if os.path.exists(saved_playlist): |
|
325 | playlist = QUrl().fromLocalFile(saved_playlist) |
|
326 | self.playlist.load(playlist) |
|
327 | self.player.setPlaylist(self.playlist) |
|
328 | ||
329 | for song_index in range(self.playlist.mediaCount()): |
|
@@ 288-305 (lines=18) @@ | ||
285 | """Open the selected files and add them to a new playlist.""" |
|
286 | filenames, success = QFileDialog.getOpenFileNames(self, 'Open Multiple Files', '', 'Audio (*.mp3 *.flac)', '', QFileDialog.ReadOnly) |
|
287 | ||
288 | if success: |
|
289 | self.playlist.clear() |
|
290 | self.playlist_view.clear() |
|
291 | for file in natsort.natsorted(filenames, alg=natsort.ns.PATH): |
|
292 | file_info = QFileInfo(file).fileName() |
|
293 | playlist_item = QListWidgetItem(file_info) |
|
294 | self.playlist.addMedia(QMediaContent(QUrl().fromLocalFile(file))) |
|
295 | self.player.setPlaylist(self.playlist) |
|
296 | playlist_item.setToolTip(file_info) |
|
297 | self.playlist_view.addItem(playlist_item) |
|
298 | self.playlist_view.setCurrentRow(0) |
|
299 | self.player.play() |
|
300 | ||
301 | def open_playlist(self): |
|
302 | """Load an M3U or PLS file into a new playlist.""" |
|
303 | playlist, success = QFileDialog.getOpenFileName(self, 'Open Playlist', '', 'Playlist (*.m3u *.pls)', '', QFileDialog.ReadOnly) |
|
304 | ||
305 | if success: |
|
306 | playlist = QUrl.fromLocalFile(playlist) |
|
307 | self.playlist.clear() |
|
308 | self.playlist_view.clear() |
|
@@ 270-286 (lines=17) @@ | ||
267 | ||
268 | def open_file(self): |
|
269 | """Open the selected file and add it to a new playlist.""" |
|
270 | filename, success = QFileDialog.getOpenFileName(self, 'Open File', '', 'Audio (*.mp3 *.flac)', '', QFileDialog.ReadOnly) |
|
271 | ||
272 | if success: |
|
273 | file_info = QFileInfo(filename).fileName() |
|
274 | playlist_item = QListWidgetItem(file_info) |
|
275 | self.playlist.clear() |
|
276 | self.playlist_view.clear() |
|
277 | self.playlist.addMedia(QMediaContent(QUrl().fromLocalFile(filename))) |
|
278 | self.player.setPlaylist(self.playlist) |
|
279 | playlist_item.setToolTip(file_info) |
|
280 | self.playlist_view.addItem(playlist_item) |
|
281 | self.playlist_view.setCurrentRow(0) |
|
282 | self.player.play() |
|
283 | ||
284 | def open_multiple_files(self): |
|
285 | """Open the selected files and add them to a new playlist.""" |
|
286 | filenames, success = QFileDialog.getOpenFileNames(self, 'Open Multiple Files', '', 'Audio (*.mp3 *.flac)', '', QFileDialog.ReadOnly) |
|
287 | ||
288 | if success: |
|
289 | self.playlist.clear() |
|
@@ 344-363 (lines=20) @@ | ||
341 | if directory: |
|
342 | self.playlist.clear() |
|
343 | self.playlist_view.clear() |
|
344 | for dirpath, __, files in os.walk(directory): |
|
345 | for filename in natsort.natsorted(files, alg=natsort.ns.PATH): |
|
346 | file = os.path.join(dirpath, filename) |
|
347 | if filename.endswith(('mp3', 'flac')): |
|
348 | self.playlist.addMedia(QMediaContent(QUrl().fromLocalFile(file))) |
|
349 | playlist_item = QListWidgetItem(filename) |
|
350 | playlist_item.setToolTip(filename) |
|
351 | self.playlist_view.addItem(playlist_item) |
|
352 | ||
353 | self.player.setPlaylist(self.playlist) |
|
354 | self.playlist_view.setCurrentRow(0) |
|
355 | self.player.play() |
|
356 | ||
357 | def open_media_library(self, index): |
|
358 | """Open a directory or file from the media library into an empty playlist.""" |
|
359 | self.playlist.clear() |
|
360 | self.playlist_view.clear() |
|
361 | ||
362 | if self.library_model.fileName(index).endswith(('mp3', 'flac')): |
|
363 | self.playlist.addMedia(QMediaContent(QUrl().fromLocalFile(self.library_model.filePath(index)))) |
|
364 | self.playlist_view.addItem(self.library_model.fileName(index)) |
|
365 | ||
366 | elif self.library_model.isDir(index): |