diff -NurwbBE main/Gui/app.c main.dev/Gui/app.c --- main/Gui/app.c 2003-03-20 15:41:32.000000000 +0300 +++ main.dev/Gui/app.c 2004-09-12 13:16:03.000000000 +0400 @@ -26,6 +26,7 @@ { evEqualizer, "evEqualizer" }, { evEqualizer, "evEqualeaser" }, { evPlayList, "evPlaylist" }, + { evShuffle, "evShuffle" }, { evExit, "evExit" }, { evIconify, "evIconify" }, { evIncBalance, "evIncBalance" }, diff -NurwbBE main/Gui/app.h main.dev/Gui/app.h --- main/Gui/app.h 2003-03-20 15:41:32.000000000 +0300 +++ main.dev/Gui/app.h 2004-09-12 13:16:03.000000000 +0400 @@ -59,7 +59,8 @@ #define evSetAspect 44 #define evSetAudio 45 #define evSetVideo 46 -// 47 ... +#define evShuffle 47 +// 48 ... #define evExit 1000 diff -NurwbBE main/Gui/cfg.c main.dev/Gui/cfg.c --- main/Gui/cfg.c 2004-07-30 19:58:36.000000000 +0400 +++ main.dev/Gui/cfg.c 2004-09-12 13:16:03.000000000 +0400 @@ -72,6 +72,8 @@ int gui_main_pos_y = -2; int gui_sub_pos_x = -1; int gui_sub_pos_y = -1; + +int gui_shuffle_playlist = 0; // --- extern char * get_path( char * filename ); @@ -163,6 +165,8 @@ { "gui_skin",&skinName,CONF_TYPE_STRING,0,0,0,NULL }, + { "gui_shuffle",&gui_shuffle_playlist,CONF_TYPE_FLAG,0,0,1,NULL }, + { "gui_save_pos", &gui_save_pos, CONF_TYPE_FLAG,0,0,1,NULL}, { "gui_main_pos_x", &gui_main_pos_x, CONF_TYPE_INT,0,0,0,NULL}, { "gui_main_pos_y", &gui_main_pos_y, CONF_TYPE_INT,0,0,0,NULL}, diff -NurwbBE main/Gui/interface.c main.dev/Gui/interface.c --- main/Gui/interface.c 2004-07-30 19:58:36.000000000 +0400 +++ main.dev/Gui/interface.c 2004-09-12 13:16:03.000000000 +0400 @@ -43,6 +43,12 @@ #include "../m_option.h" extern mixer_t mixer; // mixer from mplayer.c +extern int gui_shuffle_playlist; // gui_shuffle config variable from cfg.c +/* a "shuffle window" keeps track of recent prev/next jumps + in order to allow for more sensible prev/next operation */ +#define GUI_SHUFFLE_WINDOW_SIZE 16 +int shuffle_window[GUI_SHUFFLE_WINDOW_SIZE]; +int swi = -1; /* shuffle window index - current position in the shuffle window */ guiInterface_t guiIntfStruct; int guiWinID=-1; @@ -903,6 +909,9 @@ URLItem * url_item = (URLItem *)vparam; int is_added = True; + int next_pl_pos = -1, current_pl_pos = 0, pl_size, i; + plItem * it; + switch ( cmd ) { // --- handle playlist @@ -914,6 +923,8 @@ next->next=item; item->prev=next; } else { item->prev=item->next=NULL; plCurrent=plList=item; } list(); + /* any alteration of playlist invalidates current shuffle window */ + swi = -1; return NULL; case gtkInsertPlItem: // add item into playlist after current if ( plCurrent ) @@ -929,28 +940,111 @@ } else return gtkSet(gtkAddPlItem,0,(void*)item); + swi = -1; /* invalidate shuffle window */ return NULL; - case gtkGetNextPlItem: // get current item from playlist - if ( plCurrent && plCurrent->next) - { - plCurrent=plCurrent->next; - /*if ( !plCurrent && plList ) - { - plItem * next = plList; - while ( next->next ) { if ( !next->next ) break; next=next->next; } - plCurrent=next; - }*/ - return plCurrent; + case gtkGetNextPlItem: + case gtkGetPrevPlItem: + if ( plCurrent ) { + /* count current pl size. note the position of current entry. */ + for (pl_size = 0, it = plList; it; it = it->next, pl_size++) { + if (it == plCurrent) + current_pl_pos = pl_size; + } + /* initialize shuffle window, if needed */ + if (-1 == swi) { + for (i = 0; i < GUI_SHUFFLE_WINDOW_SIZE; i++) { + shuffle_window[i] = -1; + } + shuffle_window[(swi=0)] = current_pl_pos; + } else { + switch (cmd) { + case gtkGetNextPlItem: + if ((swi < GUI_SHUFFLE_WINDOW_SIZE - 1) + && (-1 != shuffle_window[swi+1])) { + /* just move on to the next item in window */ + next_pl_pos = shuffle_window[++swi]; } - return NULL; + break; case gtkGetPrevPlItem: - if ( plCurrent && plCurrent->prev) - { - plCurrent=plCurrent->prev; - //if ( !plCurrent && plList ) plCurrent=plList; - return plCurrent; + if ((swi > 0) + && (-1 != shuffle_window[swi-1])) { + /* move one step left in the window */ + next_pl_pos = shuffle_window[--swi]; + } + break; + } /* switch cmd */ + } + /* no items to the right of window index - determine the next entry to be played */ + if (next_pl_pos == -1) { + if (gui_shuffle_playlist) { + /* select random entry, avoiding dupes if possible. + (only do this on sufficiently big playlists) */ + do { + next_pl_pos = rand() % (pl_size + 1); + for (i = 0; + i < GUI_SHUFFLE_WINDOW_SIZE + && shuffle_window[i] != next_pl_pos; + i++); + } while (pl_size > GUI_SHUFFLE_WINDOW_SIZE * 2 + && i < GUI_SHUFFLE_WINDOW_SIZE); + } else { + switch (cmd) { + case gtkGetNextPlItem: + if (plCurrent->next) + next_pl_pos = current_pl_pos + 1; + break; + case gtkGetPrevPlItem: + if (plCurrent->prev) + next_pl_pos = current_pl_pos - 1; + break; + } /* switch cmd */ } - return NULL; + if (next_pl_pos != -1) { + /* record the selection made */ + switch (cmd) { + /* shift the window one position to left/right as needed, + depending on the command */ + case gtkGetNextPlItem: + if (swi >= GUI_SHUFFLE_WINDOW_SIZE - 1) { + for (swi = 0; + swi < GUI_SHUFFLE_WINDOW_SIZE - 1; + swi++) { + shuffle_window[swi] = shuffle_window[swi+1]; + } + } else { swi++; } + break; + case gtkGetPrevPlItem: + if (swi <= 0) { + for (swi = GUI_SHUFFLE_WINDOW_SIZE - 1; + swi > 0; + swi--) { + shuffle_window[swi] = shuffle_window[swi-1]; + } + } + break; + } /* switch cmd */ + shuffle_window[swi] = next_pl_pos; + } + } +/* + printf( "pl_size = %d, current_pl_pos = %d, next_pl_pos = %d, swi = %d\n", + pl_size, current_pl_pos, next_pl_pos, swi ); + printf( "shuffle_window = { "); + for (i = 0; i < GUI_SHUFFLE_WINDOW_SIZE; i++) { + if (i != 0) printf(", "); + printf("%d", shuffle_window[i]); + } + printf(" }\n"); +*/ + if (next_pl_pos != -1) { + /* set the current entry to plList[next_pl_pos] */ + for (plCurrent = plList; + next_pl_pos > 0 && plCurrent; + next_pl_pos--, plCurrent = plCurrent->next); + } + } /* if (plCurrent) */ + return plCurrent; + case gtkSetCurrPlItem: // set current item plCurrent=item; return plCurrent; @@ -975,7 +1069,7 @@ free( curr ); } mplCurr(); // Instead of using mplNext && mplPrev - + swi = -1; /* invalidate shuffle window */ return plCurrent; case gtkDelPl: // delete list { @@ -1001,6 +1095,7 @@ } plList=NULL; plCurrent=NULL; } + swi = -1; /* invalidate shuffle window */ return NULL; // ----- Handle url case gtkAddURLItem: diff -NurwbBE main/Gui/mplayer/gtk/menu.c main.dev/Gui/mplayer/gtk/menu.c --- main/Gui/mplayer/gtk/menu.c 2004-06-26 17:26:11.000000000 +0400 +++ main.dev/Gui/mplayer/gtk/menu.c 2004-09-12 13:16:03.000000000 +0400 @@ -18,6 +18,7 @@ #include "../../../libmpdemux/demuxer.h" extern mixer_t mixer; // mixer from mplayer.c +extern int gui_shuffle_playlist; // gui_shuffle config variable from cfg.c void ActivateMenuItem( int Item ) { @@ -467,6 +468,7 @@ MenuItem=AddMenuCheckItem( Menu,MSGTR_MENU_Mute,mixer.muted,evMute ); if ( !guiIntfStruct.AudioType ) gtk_widget_set_sensitive( MenuItem,FALSE ); AddMenuItem( Menu,MSGTR_MENU_PlayList, evPlayList ); + AddMenuCheckItem( Menu,MSGTR_MENU_Shuffle, gui_shuffle_playlist, evShuffle ); AddMenuItem( Menu,MSGTR_MENU_SkinBrowser, evSkinBrowser ); AddMenuItem( Menu,MSGTR_MENU_Preferences, evPreferences ); AddMenuItem( Menu,MSGTR_Equalizer, evEqualizer ); diff -NurwbBE main/Gui/mplayer/mw.c main.dev/Gui/mplayer/mw.c --- main/Gui/mplayer/mw.c 2004-06-26 17:26:11.000000000 +0400 +++ main.dev/Gui/mplayer/mw.c 2004-09-12 13:16:03.000000000 +0400 @@ -31,6 +31,7 @@ #include "widgets.h" extern mixer_t mixer; // mixer from mplayer.c +extern int gui_shuffle_playlist; // gui_shuffle config variable from cfg.c extern unsigned int GetTimerMS( void ); @@ -245,6 +246,7 @@ case evIncVolume: vo_x11_putkey( wsGrayMul ); break; case evDecVolume: vo_x11_putkey( wsGrayDiv ); break; case evMute: mixer_mute( &mixer ); break; + case evShuffle: gui_shuffle_playlist ^= 1; break; case evSetVolume: guiIntfStruct.Volume=param; diff -NurwbBE main/help/help_mp-bg.h main.dev/help/help_mp-bg.h --- main/help/help_mp-bg.h 2004-08-24 23:36:16.000000000 +0400 +++ main.dev/help/help_mp-bg.h 2004-09-12 13:16:03.000000000 +0400 @@ -411,6 +411,7 @@ #define MSGTR_MENU_AudioLanguages " " #define MSGTR_MENU_SubtitleLanguages " " #define MSGTR_MENU_PlayList "Playlist" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser " " #define MSGTR_MENU_Preferences "" #define MSGTR_MENU_Exit "..." diff -NurwbBE main/help/help_mp-cz.h main.dev/help/help_mp-cz.h --- main/help/help_mp-cz.h 2004-08-27 12:25:17.000000000 +0400 +++ main.dev/help/help_mp-cz.h 2004-09-12 13:16:03.000000000 +0400 @@ -588,6 +588,7 @@ #define MSGTR_MENU_AudioLanguages "Jazyk zvuku" #define MSGTR_MENU_SubtitleLanguages "Jazyk titulk" #define MSGTR_MENU_PlayList "Soubory pro pehrn" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Prohle tmat" #define MSGTR_MENU_Preferences "Pedvolby" #define MSGTR_MENU_Exit "Konec..." diff -NurwbBE main/help/help_mp-de.h main.dev/help/help_mp-de.h --- main/help/help_mp-de.h 2004-09-11 23:47:16.000000000 +0400 +++ main.dev/help/help_mp-de.h 2004-09-12 13:16:03.000000000 +0400 @@ -603,6 +603,7 @@ #define MSGTR_MENU_AudioLanguages "Audio-Sprachen" #define MSGTR_MENU_SubtitleLanguages "Untertitel-Sprachen" #define MSGTR_MENU_PlayList "Playlist" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Skinbrowser" #define MSGTR_MENU_Preferences "Einstellungen" #define MSGTR_MENU_Exit "Beenden..." diff -NurwbBE main/help/help_mp-dk.h main.dev/help/help_mp-dk.h --- main/help/help_mp-dk.h 2004-08-24 23:36:16.000000000 +0400 +++ main.dev/help/help_mp-dk.h 2004-09-12 13:16:04.000000000 +0400 @@ -448,6 +448,7 @@ #define MSGTR_MENU_AudioLanguages "Lyd sprog" #define MSGTR_MENU_SubtitleLanguages "Undertekst sprog" #define MSGTR_MENU_PlayList "Afspilningslisten" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Vlg udseende" #define MSGTR_MENU_Preferences "Indstillinger" #define MSGTR_MENU_Exit "Forlad..." diff -NurwbBE main/help/help_mp-el.h main.dev/help/help_mp-el.h --- main/help/help_mp-el.h 2004-08-24 23:36:16.000000000 +0400 +++ main.dev/help/help_mp-el.h 2004-09-12 13:16:04.000000000 +0400 @@ -461,6 +461,7 @@ #define MSGTR_MENU_AudioLanguages " " #define MSGTR_MENU_SubtitleLanguages " " #define MSGTR_MENU_PlayList " " +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser " skins" #define MSGTR_MENU_Preferences "" #define MSGTR_MENU_Exit "..." diff -NurwbBE main/help/help_mp-en.h main.dev/help/help_mp-en.h --- main/help/help_mp-en.h 2004-09-08 07:51:37.000000000 +0400 +++ main.dev/help/help_mp-en.h 2004-09-12 13:16:04.000000000 +0400 @@ -597,6 +597,7 @@ #define MSGTR_MENU_AudioLanguages "Audio languages" #define MSGTR_MENU_SubtitleLanguages "Subtitle languages" #define MSGTR_MENU_PlayList "Playlist" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Skin browser" #define MSGTR_MENU_Preferences "Preferences" #define MSGTR_MENU_Exit "Exit..." diff -NurwbBE main/help/help_mp-es.h main.dev/help/help_mp-es.h --- main/help/help_mp-es.h 2004-09-08 07:51:37.000000000 +0400 +++ main.dev/help/help_mp-es.h 2004-09-12 13:16:04.000000000 +0400 @@ -605,6 +605,7 @@ #define MSGTR_MENU_AudioLanguages "Idiomas de audio" #define MSGTR_MENU_SubtitleLanguages "Idiomas de subttulos" #define MSGTR_MENU_PlayList "Lista de reproduccin" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Navegador de skins" #define MSGTR_MENU_Preferences "Preferencias" #define MSGTR_MENU_Exit "Salir..." diff -NurwbBE main/help/help_mp-fr.h main.dev/help/help_mp-fr.h --- main/help/help_mp-fr.h 2004-08-24 23:36:16.000000000 +0400 +++ main.dev/help/help_mp-fr.h 2004-09-12 13:16:04.000000000 +0400 @@ -448,6 +448,7 @@ #define MSGTR_MENU_AudioLanguages "Langues audio" #define MSGTR_MENU_SubtitleLanguages "Langues des sous-titres" #define MSGTR_MENU_PlayList "Playlist" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Navigateur de skins" #define MSGTR_MENU_Preferences "Prfrences" #define MSGTR_MENU_Exit "Quitter..." diff -NurwbBE main/help/help_mp-hu.h main.dev/help/help_mp-hu.h --- main/help/help_mp-hu.h 2004-08-24 23:36:16.000000000 +0400 +++ main.dev/help/help_mp-hu.h 2004-09-12 13:16:04.000000000 +0400 @@ -448,6 +448,7 @@ #define MSGTR_MENU_AudioLanguages "Szinkron nyelvei" #define MSGTR_MENU_SubtitleLanguages "Feliratok nyelvei" #define MSGTR_MENU_PlayList "Lejtszsi lista" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Skin bngsz" #define MSGTR_MENU_Preferences "Belltsok" #define MSGTR_MENU_Exit "Kilps..." diff -NurwbBE main/help/help_mp-it.h main.dev/help/help_mp-it.h --- main/help/help_mp-it.h 2004-08-24 23:36:16.000000000 +0400 +++ main.dev/help/help_mp-it.h 2004-09-12 13:16:04.000000000 +0400 @@ -455,6 +455,7 @@ #define MSGTR_MENU_AudioLanguages "Lingua dell\'audio" #define MSGTR_MENU_SubtitleLanguages "Lingua dei sottotitoli" #define MSGTR_MENU_PlayList "Playlist" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Skin browser" #define MSGTR_MENU_Preferences "Preferenze" #define MSGTR_MENU_Exit "Uscita..." diff -NurwbBE main/help/help_mp-ja.h main.dev/help/help_mp-ja.h --- main/help/help_mp-ja.h 2004-08-24 23:36:16.000000000 +0400 +++ main.dev/help/help_mp-ja.h 2004-09-12 13:16:04.000000000 +0400 @@ -374,6 +374,7 @@ #define MSGTR_MENU_AudioLanguages "" #define MSGTR_MENU_SubtitleLanguages "֥ȥ" #define MSGTR_MENU_PlayList "ץ쥤ꥹ" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "֥饦" #define MSGTR_MENU_Preferences "" #define MSGTR_MENU_Exit "λ ..." diff -NurwbBE main/help/help_mp-ko.h main.dev/help/help_mp-ko.h --- main/help/help_mp-ko.h 2004-08-24 23:36:16.000000000 +0400 +++ main.dev/help/help_mp-ko.h 2004-09-12 13:16:04.000000000 +0400 @@ -455,6 +455,7 @@ #define MSGTR_MENU_AudioLanguages "오디오 언어" #define MSGTR_MENU_SubtitleLanguages "자막 언어" #define MSGTR_MENU_PlayList "재생목록" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "스킨선택" #define MSGTR_MENU_Preferences "선택사항" #define MSGTR_MENU_Exit "종료..." diff -NurwbBE main/help/help_mp-mk.h main.dev/help/help_mp-mk.h --- main/help/help_mp-mk.h 2004-08-24 23:36:16.000000000 +0400 +++ main.dev/help/help_mp-mk.h 2004-09-12 13:16:04.000000000 +0400 @@ -451,6 +451,7 @@ #define MSGTR_MENU_AudioLanguages "Аудио јазици" #define MSGTR_MENU_SubtitleLanguages "Јазици на преводите" #define MSGTR_MENU_PlayList "Плејлиста" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Разгледувач на скинови" #define MSGTR_MENU_Preferences "Подесувања" #define MSGTR_MENU_Exit "Излези ..." diff -NurwbBE main/help/help_mp-nl.h main.dev/help/help_mp-nl.h --- main/help/help_mp-nl.h 2004-08-24 23:36:16.000000000 +0400 +++ main.dev/help/help_mp-nl.h 2004-09-12 13:16:04.000000000 +0400 @@ -460,6 +460,7 @@ #define MSGTR_MENU_AudioLanguages "Audio talen" #define MSGTR_MENU_SubtitleLanguages "Ondertiteling talen" #define MSGTR_MENU_PlayList "Playlist" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Skin browser" #define MSGTR_MENU_Preferences "Voorkeuren" #define MSGTR_MENU_Exit "Afsluiten..." diff -NurwbBE main/help/help_mp-no.h main.dev/help/help_mp-no.h --- main/help/help_mp-no.h 2004-08-24 23:36:16.000000000 +0400 +++ main.dev/help/help_mp-no.h 2004-09-12 13:16:04.000000000 +0400 @@ -255,6 +255,7 @@ #define MSGTR_MENU_AudioLanguages "Lyd sprk" #define MSGTR_MENU_SubtitleLanguages "Tekst sprk" #define MSGTR_MENU_PlayList "Spilleliste" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Skin velger" #define MSGTR_MENU_Preferences "Preferanser" #define MSGTR_MENU_Exit "Avslutt..." diff -NurwbBE main/help/help_mp-pl.h main.dev/help/help_mp-pl.h --- main/help/help_mp-pl.h 2004-08-24 23:36:17.000000000 +0400 +++ main.dev/help/help_mp-pl.h 2004-09-12 13:16:04.000000000 +0400 @@ -464,6 +464,7 @@ #define MSGTR_MENU_AudioLanguages "Jzyki audio" #define MSGTR_MENU_SubtitleLanguages "Jzyki napisw" #define MSGTR_MENU_PlayList "Playlista" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Przegldarka skrek" #define MSGTR_MENU_Preferences "Preferencje" #define MSGTR_MENU_Exit "Wyjcie..." diff -NurwbBE main/help/help_mp-pt_BR.h main.dev/help/help_mp-pt_BR.h --- main/help/help_mp-pt_BR.h 2004-08-24 23:36:17.000000000 +0400 +++ main.dev/help/help_mp-pt_BR.h 2004-09-12 13:16:04.000000000 +0400 @@ -453,6 +453,7 @@ #define MSGTR_MENU_AudioLanguages "Idiomas do audio" #define MSGTR_MENU_SubtitleLanguages "Idiomas da legenda" #define MSGTR_MENU_PlayList "Lista de reproduo" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Skins" #define MSGTR_MENU_Preferences "Preferncias" #define MSGTR_MENU_Exit "Sair..." diff -NurwbBE main/help/help_mp-ru.h main.dev/help/help_mp-ru.h --- main/help/help_mp-ru.h 2004-08-24 23:36:17.000000000 +0400 +++ main.dev/help/help_mp-ru.h 2004-09-12 13:16:04.000000000 +0400 @@ -465,6 +465,7 @@ #define MSGTR_MENU_AudioLanguages " " #define MSGTR_MENU_SubtitleLanguages " " #define MSGTR_MENU_PlayList "Playlist" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser " skin'" #define MSGTR_MENU_Preferences "" #define MSGTR_MENU_Exit "..." diff -NurwbBE main/help/help_mp-sk.h main.dev/help/help_mp-sk.h --- main/help/help_mp-sk.h 2004-08-24 23:36:17.000000000 +0400 +++ main.dev/help/help_mp-sk.h 2004-09-12 13:16:04.000000000 +0400 @@ -440,6 +440,7 @@ #define MSGTR_MENU_AudioLanguages "Jazyk zvuku" #define MSGTR_MENU_SubtitleLanguages "Jazyk titulkov" #define MSGTR_MENU_PlayList "Playlist" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Prehliada tm" #define MSGTR_MENU_Preferences "Nastavenia" #define MSGTR_MENU_Exit "Koniec..." diff -NurwbBE main/help/help_mp-tr.h main.dev/help/help_mp-tr.h --- main/help/help_mp-tr.h 2004-08-24 23:36:17.000000000 +0400 +++ main.dev/help/help_mp-tr.h 2004-09-12 13:16:04.000000000 +0400 @@ -365,6 +365,7 @@ #define MSGTR_MENU_AudioLanguages "Ses Dilleri" #define MSGTR_MENU_SubtitleLanguages "Altyaz Dilleri" #define MSGTR_MENU_PlayList "Playlist" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Skin seici" #define MSGTR_MENU_Preferences "Seenekler" #define MSGTR_MENU_Exit "k..." diff -NurwbBE main/help/help_mp-uk.h main.dev/help/help_mp-uk.h --- main/help/help_mp-uk.h 2004-08-24 23:36:17.000000000 +0400 +++ main.dev/help/help_mp-uk.h 2004-09-12 13:16:04.000000000 +0400 @@ -440,6 +440,7 @@ #define MSGTR_MENU_AudioLanguages " " #define MSGTR_MENU_SubtitleLanguages " Ҧ" #define MSGTR_MENU_PlayList " " +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser " Φ" #define MSGTR_MENU_Preferences "" #define MSGTR_MENU_Exit "Ȧ..." diff -NurwbBE main/help/help_mp-zh_CN.h main.dev/help/help_mp-zh_CN.h --- main/help/help_mp-zh_CN.h 2004-08-24 23:36:17.000000000 +0400 +++ main.dev/help/help_mp-zh_CN.h 2004-09-12 13:16:04.000000000 +0400 @@ -459,6 +459,7 @@ #define MSGTR_MENU_AudioLanguages "Ƶ" #define MSGTR_MENU_SubtitleLanguages "Ļ" #define MSGTR_MENU_PlayList "б" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Skin" #define MSGTR_MENU_Preferences "" #define MSGTR_MENU_Exit "˳..." diff -NurwbBE main/help/help_mp-zh_TW.h main.dev/help/help_mp-zh_TW.h --- main/help/help_mp-zh_TW.h 2004-08-24 23:36:17.000000000 +0400 +++ main.dev/help/help_mp-zh_TW.h 2004-09-12 13:16:04.000000000 +0400 @@ -462,6 +462,7 @@ #define MSGTR_MENU_AudioLanguages "Ļy" #define MSGTR_MENU_SubtitleLanguages "ry" #define MSGTR_MENU_PlayList "C" +#define MSGTR_MENU_Shuffle "Shuffle" #define MSGTR_MENU_SkinBrowser "Skin s" #define MSGTR_MENU_Preferences "ߦn]w" #define MSGTR_MENU_Exit "hX..."