New 'Track Skip Only' option for Crossfading; crossfading is disabled except for manual track changes. NOTE: If you were using 'Always' mode previously, check again after updating: you'll now be in the new 'Track Skip Only' mode.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9353 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Zakk Roberts 2006-03-30 05:56:19 +00:00
parent dbcc9c25d5
commit 8bdd92b05e
5 changed files with 243 additions and 235 deletions

View file

@ -3898,3 +3898,9 @@ desc: spoken only, for file extension
eng: "" eng: ""
voice: "keyboard" voice: "keyboard"
new: new:
id: LANG_TRACKSKIP
desc: in crossfade settings
eng: "Track Skip Only"
voice: "Track Skip Only"
new:

View file

@ -1533,11 +1533,12 @@ static void audio_update_trackinfo(void)
codec_track_changed(); codec_track_changed();
} }
/* Automatic track change with crossfade. */ /* Automatic track change with crossfade, if not in "Track Skip Only" mode. */
else if (pcmbuf_is_crossfade_enabled() && !pcmbuf_is_crossfade_active()) else if (pcmbuf_is_crossfade_enabled() && !pcmbuf_is_crossfade_active()
&& global_settings.crossfade != 2)
{ {
pcmbuf_crossfade_init(false); pcmbuf_crossfade_init(false);
codec_track_changed(); codec_track_changed();
} }
/* Gapless playback. */ /* Gapless playback. */

View file

@ -475,7 +475,7 @@ static const struct bit_entry hd_bits[] =
{1, S_O(replaygain_noclip), false, "replaygain noclip", off_on }, {1, S_O(replaygain_noclip), false, "replaygain noclip", off_on },
{8 | SIGNED, S_O(replaygain_preamp), 0, "replaygain preamp", NULL }, {8 | SIGNED, S_O(replaygain_preamp), 0, "replaygain preamp", NULL },
{2, S_O(beep), 0, "beep", "off,weak,moderate,strong" }, {2, S_O(beep), 0, "beep", "off,weak,moderate,strong" },
{2, S_O(crossfade), 0, "crossfade", "off,shuffle,always"}, {2, S_O(crossfade), 0, "crossfade", "off,shuffle,track skip,always"},
{3, S_O(crossfade_fade_in_delay), 0, "crossfade fade in delay", NULL}, {3, S_O(crossfade_fade_in_delay), 0, "crossfade fade in delay", NULL},
{3, S_O(crossfade_fade_out_delay), 0, "crossfade fade out delay", NULL}, {3, S_O(crossfade_fade_out_delay), 0, "crossfade fade out delay", NULL},
{4, S_O(crossfade_fade_in_duration), 0, "crossfade fade in duration", NULL}, {4, S_O(crossfade_fade_in_duration), 0, "crossfade fade in duration", NULL},

View file

@ -1375,13 +1375,14 @@ static bool crossfade(void)
static const struct opt_items names[] = { static const struct opt_items names[] = {
{ STR(LANG_OFF) }, { STR(LANG_OFF) },
{ STR(LANG_SHUFFLE) }, { STR(LANG_SHUFFLE) },
{ STR(LANG_TRACKSKIP) },
{ STR(LANG_ALWAYS) }, { STR(LANG_ALWAYS) },
}; };
bool ret; bool ret;
ret=set_option( str(LANG_CROSSFADE_ENABLE), ret=set_option( str(LANG_CROSSFADE_ENABLE),
&global_settings.crossfade, INT, names, 3, NULL); &global_settings.crossfade, INT, names, 4, NULL);
audio_set_crossfade(global_settings.crossfade); audio_set_crossfade(global_settings.crossfade);