diff options
-rw-r--r-- | apps/lang/english.lang | 97 | ||||
-rw-r--r-- | apps/onplay.c | 18 | ||||
-rw-r--r-- | apps/settings_list.c | 4 | ||||
-rw-r--r-- | manual/working_with_playlists/main.tex | 67 |
4 files changed, 118 insertions, 68 deletions
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 18842a3207..3ad2921abe 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang | |||
@@ -6228,58 +6228,58 @@ | |||
6228 | </phrase> | 6228 | </phrase> |
6229 | <phrase> | 6229 | <phrase> |
6230 | id: LANG_INSERT | 6230 | id: LANG_INSERT |
6231 | desc: in onplay menu. insert a track/playlist into dynamic playlist. | 6231 | desc: deprecated |
6232 | user: core | 6232 | user: core |
6233 | <source> | 6233 | <source> |
6234 | *: "Insert" | 6234 | *: "" |
6235 | </source> | 6235 | </source> |
6236 | <dest> | 6236 | <dest> |
6237 | *: "Insert" | 6237 | *: "" |
6238 | </dest> | 6238 | </dest> |
6239 | <voice> | 6239 | <voice> |
6240 | *: "Insert" | 6240 | *: "" |
6241 | </voice> | 6241 | </voice> |
6242 | </phrase> | 6242 | </phrase> |
6243 | <phrase> | 6243 | <phrase> |
6244 | id: LANG_INSERT_FIRST | 6244 | id: LANG_INSERT_FIRST |
6245 | desc: in onplay menu. insert a track/playlist into dynamic playlist. | 6245 | desc: deprecated |
6246 | user: core | 6246 | user: core |
6247 | <source> | 6247 | <source> |
6248 | *: "Insert Next" | 6248 | *: "" |
6249 | </source> | 6249 | </source> |
6250 | <dest> | 6250 | <dest> |
6251 | *: "Insert Next" | 6251 | *: "" |
6252 | </dest> | 6252 | </dest> |
6253 | <voice> | 6253 | <voice> |
6254 | *: "Insert Next" | 6254 | *: "" |
6255 | </voice> | 6255 | </voice> |
6256 | </phrase> | 6256 | </phrase> |
6257 | <phrase> | 6257 | <phrase> |
6258 | id: LANG_INSERT_LAST | 6258 | id: LANG_INSERT_LAST |
6259 | desc: in onplay menu. append a track/playlist into dynamic playlist. | 6259 | desc: deprecated |
6260 | user: core | 6260 | user: core |
6261 | <source> | 6261 | <source> |
6262 | *: "Insert Last" | 6262 | *: "" |
6263 | </source> | 6263 | </source> |
6264 | <dest> | 6264 | <dest> |
6265 | *: "Insert Last" | 6265 | *: "" |
6266 | </dest> | 6266 | </dest> |
6267 | <voice> | 6267 | <voice> |
6268 | *: "Insert Last" | 6268 | *: "" |
6269 | </voice> | 6269 | </voice> |
6270 | </phrase> | 6270 | </phrase> |
6271 | <phrase> | 6271 | <phrase> |
6272 | id: LANG_INSERT_SHUFFLED | 6272 | id: LANG_INSERT_SHUFFLED |
6273 | desc: in onplay menu. insert a track/playlist randomly into dynamic playlist | 6273 | desc: deprecated |
6274 | user: core | 6274 | user: core |
6275 | <source> | 6275 | <source> |
6276 | *: "Insert Shuffled" | 6276 | *: "" |
6277 | </source> | 6277 | </source> |
6278 | <dest> | 6278 | <dest> |
6279 | *: "Insert Shuffled" | 6279 | *: "" |
6280 | </dest> | 6280 | </dest> |
6281 | <voice> | 6281 | <voice> |
6282 | *: "Insert Shuffled" | 6282 | *: "" |
6283 | </voice> | 6283 | </voice> |
6284 | </phrase> | 6284 | </phrase> |
6285 | <phrase> | 6285 | <phrase> |
@@ -10980,16 +10980,16 @@ | |||
10980 | </phrase> | 10980 | </phrase> |
10981 | <phrase> | 10981 | <phrase> |
10982 | id: LANG_INSERT_LAST_SHUFFLED | 10982 | id: LANG_INSERT_LAST_SHUFFLED |
10983 | desc: in onplay menu. insert a playlist randomly at end of dynamic playlist | 10983 | desc: deprecated |
10984 | user: core | 10984 | user: core |
10985 | <source> | 10985 | <source> |
10986 | *: "Insert Last Shuffled" | 10986 | *: "" |
10987 | </source> | 10987 | </source> |
10988 | <dest> | 10988 | <dest> |
10989 | *: "Insert Last Shuffled" | 10989 | *: "" |
10990 | </dest> | 10990 | </dest> |
10991 | <voice> | 10991 | <voice> |
10992 | *: "Insert Last Shuffled" | 10992 | *: "" |
10993 | </voice> | 10993 | </voice> |
10994 | </phrase> | 10994 | </phrase> |
10995 | <phrase> | 10995 | <phrase> |
@@ -16503,4 +16503,59 @@ | |||
16503 | *: "Playing Next..." | 16503 | *: "Playing Next..." |
16504 | </voice> | 16504 | </voice> |
16505 | </phrase> | 16505 | </phrase> |
16506 | 16506 | <phrase> | |
16507 | id: LANG_PLAY_NEXT | ||
16508 | desc: used in the onplay menu | ||
16509 | user: core | ||
16510 | <source> | ||
16511 | *: "Play Next" | ||
16512 | </source> | ||
16513 | <dest> | ||
16514 | *: "Play Next" | ||
16515 | </dest> | ||
16516 | <voice> | ||
16517 | *: "Play Next" | ||
16518 | </voice> | ||
16519 | </phrase> | ||
16520 | <phrase> | ||
16521 | id: LANG_ADD_SHUFFLED | ||
16522 | desc: used in the onplay menu | ||
16523 | user: core | ||
16524 | <source> | ||
16525 | *: "Add Shuffled" | ||
16526 | </source> | ||
16527 | <dest> | ||
16528 | *: "Add Shuffled" | ||
16529 | </dest> | ||
16530 | <voice> | ||
16531 | *: "Add Shuffled" | ||
16532 | </voice> | ||
16533 | </phrase> | ||
16534 | <phrase> | ||
16535 | id: LANG_PLAY_LAST | ||
16536 | desc: used in the onplay menu | ||
16537 | user: core | ||
16538 | <source> | ||
16539 | *: "Play Last" | ||
16540 | </source> | ||
16541 | <dest> | ||
16542 | *: "Play Last" | ||
16543 | </dest> | ||
16544 | <voice> | ||
16545 | *: "Play Last" | ||
16546 | </voice> | ||
16547 | </phrase> | ||
16548 | <phrase> | ||
16549 | id: LANG_PLAY_LAST_SHUFFLED | ||
16550 | desc: used in the onplay menu | ||
16551 | user: core | ||
16552 | <source> | ||
16553 | *: "Play Last Shuffled" | ||
16554 | </source> | ||
16555 | <dest> | ||
16556 | *: "Play Last Shuffled" | ||
16557 | </dest> | ||
16558 | <voice> | ||
16559 | *: "Play Last Shuffled" | ||
16560 | </voice> | ||
16561 | </phrase> | ||
diff --git a/apps/onplay.c b/apps/onplay.c index 415cc05be8..190f67d3ed 100644 --- a/apps/onplay.c +++ b/apps/onplay.c | |||
@@ -626,19 +626,19 @@ static int treeplaylist_callback(int action, | |||
626 | struct gui_synclist *this_list); | 626 | struct gui_synclist *this_list); |
627 | 627 | ||
628 | /* insert items */ | 628 | /* insert items */ |
629 | MENUITEM_FUNCTION_W_PARAM(i_pl_item, 0, ID2P(LANG_INSERT), | 629 | MENUITEM_FUNCTION_W_PARAM(i_pl_item, 0, ID2P(LANG_ADD), |
630 | add_to_playlist, &addtopl_insert, | 630 | add_to_playlist, &addtopl_insert, |
631 | treeplaylist_callback, Icon_Playlist); | 631 | treeplaylist_callback, Icon_Playlist); |
632 | MENUITEM_FUNCTION_W_PARAM(i_first_pl_item, 0, ID2P(LANG_INSERT_FIRST), | 632 | MENUITEM_FUNCTION_W_PARAM(i_first_pl_item, 0, ID2P(LANG_PLAY_NEXT), |
633 | add_to_playlist, &addtopl_insert_first, | 633 | add_to_playlist, &addtopl_insert_first, |
634 | treeplaylist_callback, Icon_Playlist); | 634 | treeplaylist_callback, Icon_Playlist); |
635 | MENUITEM_FUNCTION_W_PARAM(i_last_pl_item, 0, ID2P(LANG_INSERT_LAST), | 635 | MENUITEM_FUNCTION_W_PARAM(i_last_pl_item, 0, ID2P(LANG_PLAY_LAST), |
636 | add_to_playlist, &addtopl_insert_last, | 636 | add_to_playlist, &addtopl_insert_last, |
637 | treeplaylist_callback, Icon_Playlist); | 637 | treeplaylist_callback, Icon_Playlist); |
638 | MENUITEM_FUNCTION_W_PARAM(i_shuf_pl_item, 0, ID2P(LANG_INSERT_SHUFFLED), | 638 | MENUITEM_FUNCTION_W_PARAM(i_shuf_pl_item, 0, ID2P(LANG_ADD_SHUFFLED), |
639 | add_to_playlist, &addtopl_insert_shuf, | 639 | add_to_playlist, &addtopl_insert_shuf, |
640 | treeplaylist_callback, Icon_Playlist); | 640 | treeplaylist_callback, Icon_Playlist); |
641 | MENUITEM_FUNCTION_W_PARAM(i_last_shuf_pl_item, 0, ID2P(LANG_INSERT_LAST_SHUFFLED), | 641 | MENUITEM_FUNCTION_W_PARAM(i_last_shuf_pl_item, 0, ID2P(LANG_PLAY_LAST_SHUFFLED), |
642 | add_to_playlist, &addtopl_insert_last_shuf, | 642 | add_to_playlist, &addtopl_insert_last_shuf, |
643 | treeplaylist_callback, Icon_Playlist); | 643 | treeplaylist_callback, Icon_Playlist); |
644 | /* queue items */ | 644 | /* queue items */ |
@@ -661,10 +661,10 @@ MENUITEM_FUNCTION_W_PARAM(q_last_shuf_pl_item, 0, ID2P(LANG_QUEUE_LAST_SHUFFLED) | |||
661 | /* queue submenu */ | 661 | /* queue submenu */ |
662 | MAKE_ONPLAYMENU(queue_menu, ID2P(LANG_QUEUE_MENU), | 662 | MAKE_ONPLAYMENU(queue_menu, ID2P(LANG_QUEUE_MENU), |
663 | treeplaylist_callback, Icon_Playlist, | 663 | treeplaylist_callback, Icon_Playlist, |
664 | &q_pl_item, | ||
665 | &q_first_pl_item, | 664 | &q_first_pl_item, |
666 | &q_last_pl_item, | 665 | &q_pl_item, |
667 | &q_shuf_pl_item, | 666 | &q_shuf_pl_item, |
667 | &q_last_pl_item, | ||
668 | &q_last_shuf_pl_item); | 668 | &q_last_shuf_pl_item); |
669 | 669 | ||
670 | /* replace playlist */ | 670 | /* replace playlist */ |
@@ -680,15 +680,15 @@ MAKE_ONPLAYMENU(tree_playlist_menu, ID2P(LANG_PLAYING_NEXT), | |||
680 | treeplaylist_callback, Icon_Playlist, | 680 | treeplaylist_callback, Icon_Playlist, |
681 | 681 | ||
682 | /* insert */ | 682 | /* insert */ |
683 | &i_pl_item, | ||
684 | &i_first_pl_item, | 683 | &i_first_pl_item, |
684 | &i_pl_item, | ||
685 | &i_last_pl_item, | 685 | &i_last_pl_item, |
686 | &i_shuf_pl_item, | 686 | &i_shuf_pl_item, |
687 | &i_last_shuf_pl_item, | 687 | &i_last_shuf_pl_item, |
688 | 688 | ||
689 | /* queue */ | 689 | /* queue */ |
690 | &q_pl_item, | ||
691 | &q_first_pl_item, | 690 | &q_first_pl_item, |
691 | &q_pl_item, | ||
692 | &q_last_pl_item, | 692 | &q_last_pl_item, |
693 | &q_shuf_pl_item, | 693 | &q_shuf_pl_item, |
694 | &q_last_shuf_pl_item, | 694 | &q_last_shuf_pl_item, |
diff --git a/apps/settings_list.c b/apps/settings_list.c index 0ea6026346..60ac4192fa 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c | |||
@@ -1766,9 +1766,9 @@ const struct settings_list settings[] = { | |||
1766 | true, "warn when erasing dynamic playlist",NULL), | 1766 | true, "warn when erasing dynamic playlist",NULL), |
1767 | OFFON_SETTING(0, keep_current_track_on_replace_playlist, LANG_KEEP_CURRENT_TRACK_ON_REPLACE, | 1767 | OFFON_SETTING(0, keep_current_track_on_replace_playlist, LANG_KEEP_CURRENT_TRACK_ON_REPLACE, |
1768 | true, "keep current track when replacing playlist",NULL), | 1768 | true, "keep current track when replacing playlist",NULL), |
1769 | OFFON_SETTING(0, show_shuffled_adding_options, LANG_SHOW_SHUFFLED_ADDING_OPTIONS, true, | 1769 | OFFON_SETTING(0, show_shuffled_adding_options, LANG_SHOW_SHUFFLED_ADDING_OPTIONS, false, |
1770 | "show shuffled adding options", NULL), | 1770 | "show shuffled adding options", NULL), |
1771 | CHOICE_SETTING(0, show_queue_options, LANG_SHOW_QUEUE_OPTIONS, 1, | 1771 | CHOICE_SETTING(0, show_queue_options, LANG_SHOW_QUEUE_OPTIONS, 0, |
1772 | "show queue options", "off,on,in submenu", | 1772 | "show queue options", "off,on,in submenu", |
1773 | NULL, 3, | 1773 | NULL, 3, |
1774 | ID2P(LANG_SET_BOOL_NO), | 1774 | ID2P(LANG_SET_BOOL_NO), |
diff --git a/manual/working_with_playlists/main.tex b/manual/working_with_playlists/main.tex index c0e5615dea..45c57e34b4 100644 --- a/manual/working_with_playlists/main.tex +++ b/manual/working_with_playlists/main.tex | |||
@@ -20,16 +20,12 @@ playlists: | |||
20 | \setting{Playing Next Submenu} (see \reference{ref:playingnext_submenu}), you are | 20 | \setting{Playing Next Submenu} (see \reference{ref:playingnext_submenu}), you are |
21 | creating (or adding to) a dynamic playlist. | 21 | creating (or adding to) a dynamic playlist. |
22 | 22 | ||
23 | \item[Insert.] In Rockbox, to \setting{Insert} an item into a playlist means | 23 | \item[Play/Add.] In Rockbox, to \setting{Play} or \setting{Add} an item means |
24 | putting an item into a playlist and leaving it there, even after it is | 24 | putting it into a playlist and leaving it there, even after it is |
25 | played. As you will see later in this chapter, Rockbox can \setting{Insert} | 25 | played. |
26 | into a playlist in several places. | 26 | |
27 | 27 | \item[Queue.] To \setting{Queue} a song means to put it into a playlist, but then | |
28 | \item[Queue.] In Rockbox, to \setting{Queue} a song means to put the song | 28 | to remove the song from the playlist once it has been played. |
29 | into a playlist and then to remove the song from the playlist once it has | ||
30 | been played. The only difference between \setting{Insert} and | ||
31 | \setting{Queue} is that the \setting{Queue} option removes the song from the | ||
32 | playlist once it has been played, and the \setting{Insert} option does not. | ||
33 | \end{description} | 29 | \end{description} |
34 | 30 | ||
35 | \subsection{Creating playlists} | 31 | \subsection{Creating playlists} |
@@ -84,33 +80,16 @@ selected tracks are added to the playlist is determined by these | |||
84 | options: | 80 | options: |
85 | 81 | ||
86 | \begin{description} | 82 | \begin{description} |
87 | \item [Insert.] Add track(s) after the most recently added tracks or, if tracks | 83 | \item [Play Next.] Play track(s) immediately after the currently playing track. |
88 | have not been added yet, immediately after the currently playing track. | ||
89 | |||
90 | \item [Insert Next.] Add track(s) immediately after the currently playing track. | ||
91 | |||
92 | \item [Insert Last.] Add track(s) to the end of the playlist. | ||
93 | |||
94 | \item [Insert Shuffled.] Add track(s) to the playlist at random positions. | ||
95 | |||
96 | \item [Insert Last Shuffled.] Add tracks in a random order to the end of the playlist. | ||
97 | \end{description} | ||
98 | |||
99 | Another possibility is to add tracks \emph{temporarily} to the dynamic playlist. | ||
100 | In Rockbox’s parlance, this is called queuing. Queued tracks are automatically | ||
101 | removed from the playlist after they have been played. They are also not saved | ||
102 | to the playlist file (see \reference{ref:playlistoptions}). | ||
103 | |||
104 | \begin{description} | ||
105 | \item [Queue.] Corresponds to \setting{Insert}. | ||
106 | 84 | ||
107 | \item [Queue Next.] Corresponds to \setting{Insert Next}. | 85 | \item [Add.] Add track(s) after the most recently added tracks or, if tracks |
86 | have not been added yet, immediately after the currently playing track. | ||
108 | 87 | ||
109 | \item [Queue Last.] Corresponds to \setting{Insert Last}. | 88 | \item [Play Last.] Add track(s) to the end of the playlist. |
110 | 89 | ||
111 | \item [Queue Shuffled.] Corresponds to \setting{Insert Shuffled}. | 90 | \item [Add Shuffled.] Add track(s) to the playlist at random positions. |
112 | 91 | ||
113 | \item [Queue Last Shuffled.] Corresponds to \setting{Insert Last Shuffled}. | 92 | \item [Play Last Shuffled.] Add tracks in a random order to the end of the playlist. |
114 | \end{description} | 93 | \end{description} |
115 | 94 | ||
116 | If you'd like to replace the current playlist with the new selection, the | 95 | If you'd like to replace the current playlist with the new selection, the |
@@ -127,10 +106,26 @@ following two options will achieve that effect. | |||
127 | playlist in random order. | 106 | playlist in random order. |
128 | \end{description} | 107 | \end{description} |
129 | 108 | ||
130 | \note{You can hide the options to add shuffled tracks or to queue tracks, if you wish. | 109 | Another possibility is to add tracks \emph{temporarily} to the dynamic playlist. |
131 | The latter can also be put into its own submenu. Simply go to | 110 | In Rockbox’s parlance, this is called queuing. Queued tracks are automatically |
111 | removed from the playlist after they have been played. They are also not saved | ||
112 | to the playlist file (see \reference{ref:playlistoptions}). | ||
113 | |||
114 | \begin{description} | ||
115 | \item [Queue Next.] Corresponds to \setting{Play Next}. | ||
116 | |||
117 | \item [Queue.] Corresponds to \setting{Add}. | ||
118 | |||
119 | \item [Queue Last.] Corresponds to \setting{Play Last}. | ||
120 | |||
121 | \item [Queue Shuffled.] Corresponds to \setting{Add Shuffled}. | ||
122 | |||
123 | \item [Queue Last Shuffled.] Corresponds to \setting{Play Last Shuffled}. | ||
124 | \end{description} | ||
125 | |||
126 | \note{Visibility of options to add shuffled tracks or to queue tracks can be toggled by going to | ||
132 | \setting{Settings} $\rightarrow$ \setting{General Settings} $\rightarrow$ \setting{Playlists} | 127 | \setting{Settings} $\rightarrow$ \setting{General Settings} $\rightarrow$ \setting{Playlists} |
133 | $\rightarrow$ \setting{Current Playlist} and select either \setting{Show Shuffled Adding Options} | 128 | $\rightarrow$ \setting{Current Playlist}. Select either \setting{Show Shuffled Adding Options} |
134 | or \setting{Show Queue Options} to customize the displayed set of options.} | 129 | or \setting{Show Queue Options} to customize the displayed set of options.} |
135 | 130 | ||
136 | The \setting{Playing Next Submenu} can be used to add either single tracks or | 131 | The \setting{Playing Next Submenu} can be used to add either single tracks or |