mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-09 21:22:39 -05:00
Add single playback mode
(FS#482) Change-Id: I8b4c3e4ffb6975122153e82f2b9848c382195163
This commit is contained in:
parent
22c2e0a7c2
commit
13ac485625
9 changed files with 62 additions and 1 deletions
|
|
@ -1299,6 +1299,20 @@
|
||||||
*: "Fade On Stop and Pause"
|
*: "Fade On Stop and Pause"
|
||||||
</voice>
|
</voice>
|
||||||
</phrase>
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_SINGLE_MODE
|
||||||
|
desc: single mode
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Single Mode"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Single Mode"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Single Mode"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
<phrase>
|
<phrase>
|
||||||
id: LANG_PARTY_MODE
|
id: LANG_PARTY_MODE
|
||||||
desc: party mode
|
desc: party mode
|
||||||
|
|
|
||||||
|
|
@ -1375,6 +1375,20 @@
|
||||||
*: "Fade On Stop and Pause"
|
*: "Fade On Stop and Pause"
|
||||||
</voice>
|
</voice>
|
||||||
</phrase>
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_SINGLE_MODE
|
||||||
|
desc: single mode
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Single Mode"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Single Mode"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Single Mode"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
<phrase>
|
<phrase>
|
||||||
id: LANG_PARTY_MODE
|
id: LANG_PARTY_MODE
|
||||||
desc: party mode
|
desc: party mode
|
||||||
|
|
|
||||||
|
|
@ -1460,6 +1460,20 @@
|
||||||
*: "עמעום צליל בעצירה והפסקה"
|
*: "עמעום צליל בעצירה והפסקה"
|
||||||
</voice>
|
</voice>
|
||||||
</phrase>
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_SINGLE_MODE
|
||||||
|
desc: single mode
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Single Mode"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "מצב יחדי"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "מצב יחדי"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
<phrase>
|
<phrase>
|
||||||
id: LANG_PARTY_MODE
|
id: LANG_PARTY_MODE
|
||||||
desc: party mode
|
desc: party mode
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@ MENUITEM_SETTING(buffer_margin, &global_settings.buffer_margin,
|
||||||
buffermargin_callback);
|
buffermargin_callback);
|
||||||
#endif /*HAVE_DISK_STORAGE */
|
#endif /*HAVE_DISK_STORAGE */
|
||||||
MENUITEM_SETTING(fade_on_stop, &global_settings.fade_on_stop, NULL);
|
MENUITEM_SETTING(fade_on_stop, &global_settings.fade_on_stop, NULL);
|
||||||
|
MENUITEM_SETTING(single_mode, &global_settings.single_mode, NULL);
|
||||||
MENUITEM_SETTING(party_mode, &global_settings.party_mode, NULL);
|
MENUITEM_SETTING(party_mode, &global_settings.party_mode, NULL);
|
||||||
|
|
||||||
#ifdef HAVE_CROSSFADE
|
#ifdef HAVE_CROSSFADE
|
||||||
|
|
@ -208,7 +209,7 @@ MAKE_MENU(playback_settings,ID2P(LANG_PLAYBACK),0,
|
||||||
#ifdef HAVE_DISK_STORAGE
|
#ifdef HAVE_DISK_STORAGE
|
||||||
&buffer_margin,
|
&buffer_margin,
|
||||||
#endif
|
#endif
|
||||||
&fade_on_stop, &party_mode,
|
&fade_on_stop, &single_mode, &party_mode,
|
||||||
|
|
||||||
#if defined(HAVE_CROSSFADE)
|
#if defined(HAVE_CROSSFADE)
|
||||||
&crossfade_settings_menu,
|
&crossfade_settings_menu,
|
||||||
|
|
|
||||||
|
|
@ -741,6 +741,9 @@ void pcmbuf_start_track_change(enum pcm_track_change_type type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (auto_skip && global_settings.single_mode && !global_settings.party_mode)
|
||||||
|
crossfade = false;
|
||||||
|
|
||||||
if (crossfade)
|
if (crossfade)
|
||||||
{
|
{
|
||||||
logf("crossfade track change");
|
logf("crossfade track change");
|
||||||
|
|
|
||||||
|
|
@ -2396,6 +2396,14 @@ static void audio_finalise_track_change(void)
|
||||||
|
|
||||||
id3_write(PLAYING_ID3, track_id3);
|
id3_write(PLAYING_ID3, track_id3);
|
||||||
|
|
||||||
|
if (global_settings.single_mode)
|
||||||
|
if ( ((skip_pending == TRACK_SKIP_AUTO) || (skip_pending == TRACK_SKIP_AUTO_NEW_PLAYLIST))
|
||||||
|
&& (global_settings.party_mode == 0) )
|
||||||
|
{
|
||||||
|
play_status = PLAY_PAUSED;
|
||||||
|
pcmbuf_pause(true);
|
||||||
|
}
|
||||||
|
|
||||||
/* The skip is technically over */
|
/* The skip is technically over */
|
||||||
skip_pending = TRACK_SKIP_NONE;
|
skip_pending = TRACK_SKIP_NONE;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -476,6 +476,7 @@ struct user_settings
|
||||||
int default_codepage; /* set default codepage for tag conversion */
|
int default_codepage; /* set default codepage for tag conversion */
|
||||||
bool hold_lr_for_scroll_in_list; /* hold L/R scrolls the list left/right */
|
bool hold_lr_for_scroll_in_list; /* hold L/R scrolls the list left/right */
|
||||||
bool play_selected; /* Plays selected file even in shuffle mode */
|
bool play_selected; /* Plays selected file even in shuffle mode */
|
||||||
|
bool single_mode; /* single mode - stop after every track */
|
||||||
bool party_mode; /* party mode - unstoppable music */
|
bool party_mode; /* party mode - unstoppable music */
|
||||||
bool audioscrobbler; /* Audioscrobbler logging */
|
bool audioscrobbler; /* Audioscrobbler logging */
|
||||||
bool cuesheet;
|
bool cuesheet;
|
||||||
|
|
|
||||||
|
|
@ -1238,6 +1238,7 @@ const struct settings_list settings[] = {
|
||||||
#endif
|
#endif
|
||||||
/* more playback */
|
/* more playback */
|
||||||
OFFON_SETTING(0,play_selected,LANG_PLAY_SELECTED,true,"play selected",NULL),
|
OFFON_SETTING(0,play_selected,LANG_PLAY_SELECTED,true,"play selected",NULL),
|
||||||
|
OFFON_SETTING(0,single_mode,LANG_SINGLE_MODE,false,"single mode",NULL),
|
||||||
OFFON_SETTING(0,party_mode,LANG_PARTY_MODE,false,"party mode",NULL),
|
OFFON_SETTING(0,party_mode,LANG_PARTY_MODE,false,"party mode",NULL),
|
||||||
OFFON_SETTING(0,fade_on_stop,LANG_FADE_ON_STOP,true,"volume fade",NULL),
|
OFFON_SETTING(0,fade_on_stop,LANG_FADE_ON_STOP,true,"volume fade",NULL),
|
||||||
INT_SETTING(F_TIME_SETTING, ff_rewind_min_step, LANG_FFRW_STEP, 1,
|
INT_SETTING(F_TIME_SETTING, ff_rewind_min_step, LANG_FFRW_STEP, 1,
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,11 @@ you to configure settings related to audio playback.
|
||||||
set to \setting{Yes}, your music will fade out when you stop or pause
|
set to \setting{Yes}, your music will fade out when you stop or pause
|
||||||
playback, and fade in when you resume playback.
|
playback, and fade in when you resume playback.
|
||||||
|
|
||||||
|
\section{Single Mode}
|
||||||
|
If the Single Mode option is set to \setting{Yes}, your music
|
||||||
|
will pause at every automatic track change. Crossfade on track
|
||||||
|
change will be ignored if this setting is enabled.
|
||||||
|
|
||||||
\section{Party Mode}
|
\section{Party Mode}
|
||||||
Enables unstoppable music playback. When new songs are
|
Enables unstoppable music playback. When new songs are
|
||||||
selected, they are queued at the end of the current dynamic playlist
|
selected, they are queued at the end of the current dynamic playlist
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue