summaryrefslogtreecommitdiff
path: root/apps/playlist_viewer.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playlist_viewer.c')
-rw-r--r--apps/playlist_viewer.c34
1 files changed, 29 insertions, 5 deletions
diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c
index 5b6e2991bc..0eaf559c66 100644
--- a/apps/playlist_viewer.c
+++ b/apps/playlist_viewer.c
@@ -76,6 +76,7 @@ enum direction
76enum pv_onplay_result { 76enum pv_onplay_result {
77 PV_ONPLAY_USB, 77 PV_ONPLAY_USB,
78 PV_ONPLAY_USB_CLOSED, 78 PV_ONPLAY_USB_CLOSED,
79 PV_ONPLAY_WPS_CLOSED,
79 PV_ONPLAY_CLOSED, 80 PV_ONPLAY_CLOSED,
80 PV_ONPLAY_ITEM_REMOVED, 81 PV_ONPLAY_ITEM_REMOVED,
81 PV_ONPLAY_CHANGED, 82 PV_ONPLAY_CHANGED,
@@ -519,9 +520,17 @@ static enum pv_onplay_result open_with(const struct playlist_entry *current_trac
519 520
520 strmemccpy(selected_track, current_track->name, sizeof(selected_track)); 521 strmemccpy(selected_track, current_track->name, sizeof(selected_track));
521 522
523 int plugin_return = filetype_list_viewers(selected_track);
522 524
523 return (filetype_list_viewers(selected_track) == 525 switch (plugin_return)
524 PLUGIN_USB_CONNECTED ? PV_ONPLAY_USB_CLOSED : PV_ONPLAY_CLOSED); 526 {
527 case PLUGIN_USB_CONNECTED:
528 return PV_ONPLAY_USB_CLOSED;
529 case PLUGIN_GOTO_WPS:
530 return PV_ONPLAY_WPS_CLOSED;
531 default:
532 return PV_ONPLAY_CLOSED;
533 }
525} 534}
526#endif /* HAVE_HOTKEY */ 535#endif /* HAVE_HOTKEY */
527 536
@@ -533,8 +542,17 @@ static enum pv_onplay_result open_pictureflow(const struct playlist_entry *curre
533 542
534 strmemccpy(selected_track, current_track->name, sizeof(selected_track)); 543 strmemccpy(selected_track, current_track->name, sizeof(selected_track));
535 544
536 return (filetype_load_plugin((void *)"pictureflow", selected_track) == 545 int plugin_return = filetype_load_plugin((void *)"pictureflow", selected_track);
537 PLUGIN_USB_CONNECTED ? PV_ONPLAY_USB_CLOSED : PV_ONPLAY_CLOSED); 546
547 switch (plugin_return)
548 {
549 case PLUGIN_USB_CONNECTED:
550 return PV_ONPLAY_USB_CLOSED;
551 case PLUGIN_GOTO_WPS:
552 return PV_ONPLAY_WPS_CLOSED;
553 default:
554 return PV_ONPLAY_CLOSED;
555 }
538} 556}
539#endif 557#endif
540 558
@@ -959,6 +977,8 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename)
959 } 977 }
960 else if (pv_onplay_result == PV_ONPLAY_USB_CLOSED) 978 else if (pv_onplay_result == PV_ONPLAY_USB_CLOSED)
961 return PLAYLIST_VIEWER_USB; 979 return PLAYLIST_VIEWER_USB;
980 else if (pv_onplay_result == PV_ONPLAY_WPS_CLOSED)
981 return PLAYLIST_VIEWER_OK;
962 else if (pv_onplay_result == PV_ONPLAY_CLOSED) 982 else if (pv_onplay_result == PV_ONPLAY_CLOSED)
963 { 983 {
964 if (!open_playlist_viewer(filename, &playlist_lists, true)) 984 if (!open_playlist_viewer(filename, &playlist_lists, true))
@@ -1004,8 +1024,12 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename)
1004 1024
1005 if (do_plugin != NULL) 1025 if (do_plugin != NULL)
1006 { 1026 {
1007 if (do_plugin(current_track) == PV_ONPLAY_USB_CLOSED) 1027 int plugin_result = do_plugin(current_track);
1028
1029 if (plugin_result == PV_ONPLAY_USB_CLOSED)
1008 return PLAYLIST_VIEWER_USB; 1030 return PLAYLIST_VIEWER_USB;
1031 else if (plugin_result == PV_ONPLAY_WPS_CLOSED)
1032 return PLAYLIST_VIEWER_OK;
1009 else if (!open_playlist_viewer(filename, &playlist_lists, true)) 1033 else if (!open_playlist_viewer(filename, &playlist_lists, true))
1010 { 1034 {
1011 ret = PLAYLIST_VIEWER_CANCEL; 1035 ret = PLAYLIST_VIEWER_CANCEL;