summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/lang/english-us.lang14
-rw-r--r--apps/lang/english.lang14
-rw-r--r--apps/lang/hebrew.lang14
-rw-r--r--apps/menus/playback_menu.c3
-rw-r--r--apps/pcmbuf.c3
-rw-r--r--apps/playback.c8
-rw-r--r--apps/settings.h1
-rw-r--r--apps/settings_list.c1
8 files changed, 57 insertions, 1 deletions
diff --git a/apps/lang/english-us.lang b/apps/lang/english-us.lang
index 618ee114fd..6fac22c381 100644
--- a/apps/lang/english-us.lang
+++ b/apps/lang/english-us.lang
@@ -1300,6 +1300,20 @@
1300 </voice> 1300 </voice>
1301</phrase> 1301</phrase>
1302<phrase> 1302<phrase>
1303 id: LANG_SINGLE_MODE
1304 desc: single mode
1305 user: core
1306 <source>
1307 *: "Single Mode"
1308 </source>
1309 <dest>
1310 *: "Single Mode"
1311 </dest>
1312 <voice>
1313 *: "Single Mode"
1314 </voice>
1315</phrase>
1316<phrase>
1303 id: LANG_PARTY_MODE 1317 id: LANG_PARTY_MODE
1304 desc: party mode 1318 desc: party mode
1305 user: core 1319 user: core
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index dab9ed8508..69542b6627 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -1376,6 +1376,20 @@
1376 </voice> 1376 </voice>
1377</phrase> 1377</phrase>
1378<phrase> 1378<phrase>
1379 id: LANG_SINGLE_MODE
1380 desc: single mode
1381 user: core
1382 <source>
1383 *: "Single Mode"
1384 </source>
1385 <dest>
1386 *: "Single Mode"
1387 </dest>
1388 <voice>
1389 *: "Single Mode"
1390 </voice>
1391</phrase>
1392<phrase>
1379 id: LANG_PARTY_MODE 1393 id: LANG_PARTY_MODE
1380 desc: party mode 1394 desc: party mode
1381 user: core 1395 user: core
diff --git a/apps/lang/hebrew.lang b/apps/lang/hebrew.lang
index 2f732f0eef..d4da2443b8 100644
--- a/apps/lang/hebrew.lang
+++ b/apps/lang/hebrew.lang
@@ -1461,6 +1461,20 @@
1461 </voice> 1461 </voice>
1462</phrase> 1462</phrase>
1463<phrase> 1463<phrase>
1464 id: LANG_SINGLE_MODE
1465 desc: single mode
1466 user: core
1467 <source>
1468 *: "Single Mode"
1469 </source>
1470 <dest>
1471 *: "מצב יחדי"
1472 </dest>
1473 <voice>
1474 *: "מצב יחדי"
1475 </voice>
1476</phrase>
1477<phrase>
1464 id: LANG_PARTY_MODE 1478 id: LANG_PARTY_MODE
1465 desc: party mode 1479 desc: party mode
1466 user: core 1480 user: core
diff --git a/apps/menus/playback_menu.c b/apps/menus/playback_menu.c
index 41c738725c..5f9479fae3 100644
--- a/apps/menus/playback_menu.c
+++ b/apps/menus/playback_menu.c
@@ -92,6 +92,7 @@ MENUITEM_SETTING(buffer_margin, &global_settings.buffer_margin,
92 buffermargin_callback); 92 buffermargin_callback);
93#endif /*HAVE_DISK_STORAGE */ 93#endif /*HAVE_DISK_STORAGE */
94MENUITEM_SETTING(fade_on_stop, &global_settings.fade_on_stop, NULL); 94MENUITEM_SETTING(fade_on_stop, &global_settings.fade_on_stop, NULL);
95MENUITEM_SETTING(single_mode, &global_settings.single_mode, NULL);
95MENUITEM_SETTING(party_mode, &global_settings.party_mode, NULL); 96MENUITEM_SETTING(party_mode, &global_settings.party_mode, NULL);
96 97
97#ifdef HAVE_CROSSFADE 98#ifdef HAVE_CROSSFADE
@@ -208,7 +209,7 @@ MAKE_MENU(playback_settings,ID2P(LANG_PLAYBACK),0,
208#ifdef HAVE_DISK_STORAGE 209#ifdef HAVE_DISK_STORAGE
209 &buffer_margin, 210 &buffer_margin,
210#endif 211#endif
211 &fade_on_stop, &party_mode, 212 &fade_on_stop, &single_mode, &party_mode,
212 213
213#if defined(HAVE_CROSSFADE) 214#if defined(HAVE_CROSSFADE)
214 &crossfade_settings_menu, 215 &crossfade_settings_menu,
diff --git a/apps/pcmbuf.c b/apps/pcmbuf.c
index 773e97cce0..c4164c3b4b 100644
--- a/apps/pcmbuf.c
+++ b/apps/pcmbuf.c
@@ -741,6 +741,9 @@ void pcmbuf_start_track_change(enum pcm_track_change_type type)
741 } 741 }
742 } 742 }
743 743
744 if (auto_skip && global_settings.single_mode && !global_settings.party_mode)
745 crossfade = false;
746
744 if (crossfade) 747 if (crossfade)
745 { 748 {
746 logf("crossfade track change"); 749 logf("crossfade track change");
diff --git a/apps/playback.c b/apps/playback.c
index 5a6f18735b..1c5a7a4c9d 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -2396,6 +2396,14 @@ static void audio_finalise_track_change(void)
2396 2396
2397 id3_write(PLAYING_ID3, track_id3); 2397 id3_write(PLAYING_ID3, track_id3);
2398 2398
2399 if (global_settings.single_mode)
2400 if ( ((skip_pending == TRACK_SKIP_AUTO) || (skip_pending == TRACK_SKIP_AUTO_NEW_PLAYLIST))
2401 && (global_settings.party_mode == 0) )
2402 {
2403 play_status = PLAY_PAUSED;
2404 pcmbuf_pause(true);
2405 }
2406
2399 /* The skip is technically over */ 2407 /* The skip is technically over */
2400 skip_pending = TRACK_SKIP_NONE; 2408 skip_pending = TRACK_SKIP_NONE;
2401 2409
diff --git a/apps/settings.h b/apps/settings.h
index fedec8e025..9b4c56467d 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -476,6 +476,7 @@ struct user_settings
476 int default_codepage; /* set default codepage for tag conversion */ 476 int default_codepage; /* set default codepage for tag conversion */
477 bool hold_lr_for_scroll_in_list; /* hold L/R scrolls the list left/right */ 477 bool hold_lr_for_scroll_in_list; /* hold L/R scrolls the list left/right */
478 bool play_selected; /* Plays selected file even in shuffle mode */ 478 bool play_selected; /* Plays selected file even in shuffle mode */
479 bool single_mode; /* single mode - stop after every track */
479 bool party_mode; /* party mode - unstoppable music */ 480 bool party_mode; /* party mode - unstoppable music */
480 bool audioscrobbler; /* Audioscrobbler logging */ 481 bool audioscrobbler; /* Audioscrobbler logging */
481 bool cuesheet; 482 bool cuesheet;
diff --git a/apps/settings_list.c b/apps/settings_list.c
index d9ffd8cf3e..4758c27113 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -1238,6 +1238,7 @@ const struct settings_list settings[] = {
1238#endif 1238#endif
1239 /* more playback */ 1239 /* more playback */
1240 OFFON_SETTING(0,play_selected,LANG_PLAY_SELECTED,true,"play selected",NULL), 1240 OFFON_SETTING(0,play_selected,LANG_PLAY_SELECTED,true,"play selected",NULL),
1241 OFFON_SETTING(0,single_mode,LANG_SINGLE_MODE,false,"single mode",NULL),
1241 OFFON_SETTING(0,party_mode,LANG_PARTY_MODE,false,"party mode",NULL), 1242 OFFON_SETTING(0,party_mode,LANG_PARTY_MODE,false,"party mode",NULL),
1242 OFFON_SETTING(0,fade_on_stop,LANG_FADE_ON_STOP,true,"volume fade",NULL), 1243 OFFON_SETTING(0,fade_on_stop,LANG_FADE_ON_STOP,true,"volume fade",NULL),
1243 INT_SETTING(F_TIME_SETTING, ff_rewind_min_step, LANG_FFRW_STEP, 1, 1244 INT_SETTING(F_TIME_SETTING, ff_rewind_min_step, LANG_FFRW_STEP, 1,