From 27717ca5103366effd3afb0a6d75a2ea59945f2e Mon Sep 17 00:00:00 2001 From: pontscho Date: Thu, 25 Jul 2002 20:34:33 +0000 Subject: [PATCH] add preferences to gui git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6797 b3059339-0415-0410-9bf9-f77b7e298cf2 --- help_mp-en.h | 62 +++++++++++++++++++++++++++++++++++++++++++++++++--- help_mp-hu.h | 57 ++++++++++++++++++++++++++++++++++++++++++++++- mplayer.c | 21 +++++++++--------- mplayer.h | 13 +++++++++++ 4 files changed, 139 insertions(+), 14 deletions(-) diff --git a/help_mp-en.h b/help_mp-en.h index 41f61f01d6..f04d9448bb 100644 --- a/help_mp-en.h +++ b/help_mp-en.h @@ -237,11 +237,14 @@ static char help_text[]= #define MSGTR_SubtitleSelect "Select subtitle ..." #define MSGTR_OtherSelect "Select ..." #define MSGTR_AudioFileSelect "Select external audio channel ..." +#define MSGTR_FontSelect "Select font ..." #define MSGTR_MessageBox "MessageBox" #define MSGTR_PlayList "PlayList" #define MSGTR_Equalizer "Equalizer" #define MSGTR_SkinBrowser "Skin Browser" #define MSGTR_Network "Network streaming ..." +#define MSGTR_Preferences "Preferences" +#define MSGTR_OSSPreferences "OSS driver configuration" // --- buttons --- #define MSGTR_Ok "Ok" @@ -250,11 +253,14 @@ static char help_text[]= #define MSGTR_Remove "Remove" #define MSGTR_Clear "Clear" #define MSGTR_Config "Config" +#define MSGTR_ConfigDriver "Configure driver" +#define MSGTR_Browse "Browse" // --- error messages --- #define MSGTR_NEMDB "Sorry, not enough memory for draw buffer." #define MSGTR_NEMFMR "Sorry, not enough memory for menu rendering." #define MSGTR_NEMFMM "Sorry, not enough memory for main window shape mask." +#define MSGTR_IDFGCVD "Sorry, i don't find gui compatible video output driver." // --- skin loader error messages #define MSGTR_SKIN_ERRORMESSAGE "[skin] error in skin config file on line %d: %s" @@ -301,7 +307,7 @@ static char help_text[]= #define MSGTR_MENU_FullScreen "Fullscreen" #define MSGTR_MENU_DVD "DVD" #define MSGTR_MENU_VCD "VCD" -#define MSGTR_MENU_PlayDisc "Play disc ..." +#define MSGTR_MENU_PlayDisc "Open disc ..." #define MSGTR_MENU_ShowDVDMenu "Show DVD menu" #define MSGTR_MENU_Titles "Titles" #define MSGTR_MENU_Title "Title %2d" @@ -324,8 +330,8 @@ static char help_text[]= #define MSGTR_EQU_Saturation "Saturation: " #define MSGTR_EQU_Front_Left "Front Left" #define MSGTR_EQU_Front_Right "Front Right" -#define MSGTR_EQU_Back_Left "Back Left" -#define MSGTR_EQU_Back_Right "Back Right" +#define MSGTR_EQU_Back_Left "Rear Left" +#define MSGTR_EQU_Back_Right "Rear Right" #define MSGTR_EQU_Center "Center" #define MSGTR_EQU_Bass "Bass" #define MSGTR_EQU_All "All" @@ -336,6 +342,56 @@ static char help_text[]= #define MSGTR_PLAYLIST_Files "Files" #define MSGTR_PLAYLIST_DirectoryTree "Directory tree" +// --- preferences +#define MSGTR_PREFERENCES_None "None" +#define MSGTR_PREFERENCES_Codec1 "Use VFW (Win32) codecs" +#define MSGTR_PREFERENCES_Codec2 "Use OpenDivX/DivX4 codec (YV12)" +#define MSGTR_PREFERENCES_Codec3 "Use DirectShow (Win32) codecs" +#define MSGTR_PREFERENCES_Codec4 "Use ffmpeg (libavcodec) codecs" +#define MSGTR_PREFERENCES_Codec5 "Use DivX4 codec (YUY2)" +#define MSGTR_PREFERENCES_Codec6 "Use XAnim codecs" +#define MSGTR_PREFERENCES_AvailableDrivers "Available drivers:" +#define MSGTR_PREFERENCES_DoNotPlaySound "Do not play sound" +#define MSGTR_PREFERENCES_NormalizeSound "Normalize sound" +#define MSGTR_PREFERENCES_EnEqualizer "Enable equalizer" +#define MSGTR_PREFERENCES_ExtraStereo "Enable extra stereo" +#define MSGTR_PREFERENCES_Coefficient "Coefficient:" +#define MSGTR_PREFERENCES_AudioDelay "Audio delay" +#define MSGTR_PREFERENCES_Audio "Audio" +#define MSGTR_PREFERENCES_VideoEqu "Enable video equalizer" +#define MSGTR_PREFERENCES_DoubleBuffer "Enable double buffering" +#define MSGTR_PREFERENCES_DirectRender "Enable direct rendering" +#define MSGTR_PREFERENCES_FrameDrop "Enable frame dropping" +#define MSGTR_PREFERENCES_HFrameDrop "Enable HARD frame drop( dangerous )" +#define MSGTR_PREFERENCES_Flip "Flip image upside-down" +#define MSGTR_PREFERENCES_Panscan "Panscan: " +#define MSGTR_PREFERENCES_Video "Video" +#define MSGTR_PREFERENCES_OSDTimer "Timer and indicators" +#define MSGTR_PREFERENCES_OSDProgress "Progressbars only" +#define MSGTR_PREFERENCES_Subtitle "Subtitle:" +#define MSGTR_PREFERENCES_SUB_Delay "Delay: " +#define MSGTR_PREFERENCES_SUB_FPS "FPS:" +#define MSGTR_PREFERENCES_SUB_POS "Position: " +#define MSGTR_PREFERENCES_SUB_AutoLoad "Disable subtitle autoloading" +#define MSGTR_PREFERENCES_SUB_Unicode "Unicode subtitle" +#define MSGTR_PREFERENCES_SUB_MPSUB "Convert the given subtitle to MPlayer's subtitle format" +#define MSGTR_PREFERENCES_SUB_SRT "Convert the given subtitle to the time-based SubViewer( SRT ) format" +#define MSGTR_PREFERENCES_Font "Font:" +#define MSGTR_PREFERENCES_FontFactor "Font factor:" +#define MSGTR_PREFERENCES_PostProcess "Enable postprocess" +#define MSGTR_PREFERENCES_AutoQuality "Auto quality: " +#define MSGTR_PREFERENCES_NI "Use non-interleaved AVI parser" +#define MSGTR_PREFERENCES_IDX "Rebuilt index table, if needed" +#define MSGTR_PREFERENCES_VideoCodecFamily "Video codec family:" +#define MSGTR_PREFERENCES_FRAME_OSD_Level "OSD level" +#define MSGTR_PREFERENCES_FRAME_Subtitle "Subtitle" +#define MSGTR_PREFERENCES_FRAME_Font "Font" +#define MSGTR_PREFERENCES_FRAME_PostProcess "Postprocess" +#define MSGTR_PREFERENCES_FRAME_CodecDemuxer "Codec & demuxer" +#define MSGTR_PREFERENCES_OSS_Device "Device:" +#define MSGTR_PREFERENCES_OSS_Mixer "Mixer:" +#define MSGTR_PREFERENCES_Message "Please remember, some function need restart the playing." + // --- messagebox #define MSGTR_MSGBOX_LABEL_FatalError "fatal error ..." #define MSGTR_MSGBOX_LABEL_Error "error ..." diff --git a/help_mp-hu.h b/help_mp-hu.h index b921b42e61..0385f1b8a9 100644 --- a/help_mp-hu.h +++ b/help_mp-hu.h @@ -237,6 +237,8 @@ static char help_text[]= #define MSGTR_PlayList "Lejátszási lista" #define MSGTR_SkinBrowser "Skin böngésző" #define MSGTR_Network "Lejátszás WEB - röl ..." +#define MSGTR_Preferences "Beállítások" +#define MSGTR_OSSPreferences "OSS driver beállítások" // --- buttons --- #define MSGTR_Ok "Ok" @@ -245,11 +247,14 @@ static char help_text[]= #define MSGTR_Remove "Kivesz" #define MSGTR_Clear "Törlés" #define MSGTR_Config "Beállítás" +#define MSGTR_ConfigDriver "Driver beállítása" +#define MSGTR_Browse "Tallózás" // --- error messages --- #define MSGTR_NEMDB "Nincs elég memória a buffer kirajzolásához." #define MSGTR_NEMFMR "Nincs elég memória a menü rendereléséhez." #define MSGTR_NEMFMM "Nincs elég memória a főablak alakjának maszkolásához." +#define MSGTR_IDFGCVD "Nem talaltam gui kompatibilis video drivert." // --- skin loader error messages #define MSGTR_SKIN_ERRORMESSAGE "[skin] hiba a skin konfigurációs file-jának %d. sorában: %s" @@ -296,7 +301,7 @@ static char help_text[]= #define MSGTR_MENU_FullScreen "Teljesképernyő" #define MSGTR_MENU_DVD "DVD" #define MSGTR_MENU_VCD "VCD" -#define MSGTR_MENU_PlayDisc "Lemez lejátszása ..." +#define MSGTR_MENU_PlayDisc "Lemez megnyitása ..." #define MSGTR_MENU_ShowDVDMenu "DVD menű" #define MSGTR_MENU_Titles "Sávok" #define MSGTR_MENU_Title "Sáv %2d" @@ -331,6 +336,56 @@ static char help_text[]= #define MSGTR_PLAYLIST_Files "File - ok" #define MSGTR_PLAYLIST_DirectoryTree "Könyvtár lista" +// --- preferences +#define MSGTR_PREFERENCES_None "Egyik sem" +#define MSGTR_PREFERENCES_Codec1 "VFW (Win32) kodek család" +#define MSGTR_PREFERENCES_Codec2 "OpenDivX/DivX4 kodek" +#define MSGTR_PREFERENCES_Codec3 "DirectShow (Win32) kodek család" +#define MSGTR_PREFERENCES_Codec4 "ffmpeg (libavcodec) család" +#define MSGTR_PREFERENCES_Codec5 "DivX4 (YUY2) kodek" +#define MSGTR_PREFERENCES_Codec6 "XAnim kodek család" +#define MSGTR_PREFERENCES_AvailableDrivers "Driverek:" +#define MSGTR_PREFERENCES_DoNotPlaySound "Hang nélkül" +#define MSGTR_PREFERENCES_NormalizeSound "Hang normalizálása" +#define MSGTR_PREFERENCES_EnEqualizer "Audio equalizer" +#define MSGTR_PREFERENCES_ExtraStereo "Extra stereo" +#define MSGTR_PREFERENCES_Coefficient "Együttható:" +#define MSGTR_PREFERENCES_AudioDelay "Hang késleltetés" +#define MSGTR_PREFERENCES_Audio "Audio" +#define MSGTR_PREFERENCES_VideoEqu "Video equalizer" +#define MSGTR_PREFERENCES_DoubleBuffer "Dupla bufferelés" +#define MSGTR_PREFERENCES_DirectRender "Direct rendering" +#define MSGTR_PREFERENCES_FrameDrop "Képeldobás" +#define MSGTR_PREFERENCES_HFrameDrop "Erőszakos képeldobó" +#define MSGTR_PREFERENCES_Flip Kép fejjel lefelé" +#define MSGTR_PREFERENCES_Panscan "Panscan: " +#define MSGTR_PREFERENCES_Video "Video" +#define MSGTR_PREFERENCES_OSDTimer "Óra es indikatorok" +#define MSGTR_PREFERENCES_OSDProgress "Csak a százalék jelzők" +#define MSGTR_PREFERENCES_Subtitle "Felirat:" +#define MSGTR_PREFERENCES_SUB_Delay "Késleltetés: " +#define MSGTR_PREFERENCES_SUB_FPS "FPS:" +#define MSGTR_PREFERENCES_SUB_POS "Pozíciója: " +#define MSGTR_PREFERENCES_SUB_AutoLoad "Felirat autómatikus betöltésének tiltása" +#define MSGTR_PREFERENCES_SUB_Unicode "Unicode felirat" +#define MSGTR_PREFERENCES_SUB_MPSUB "A film feliratának konvertálása MPlayer felirat formátumba" +#define MSGTR_PREFERENCES_SUB_SRT "A film feliratának konvertálása SubViewer ( SRT ) formátumba" +#define MSGTR_PREFERENCES_Font "Betük:" +#define MSGTR_PREFERENCES_FontFactor "Betü együttható:" +#define MSGTR_PREFERENCES_PostProcess "Képjavítás" +#define MSGTR_PREFERENCES_AutoQuality "Auto quality: " +#define MSGTR_PREFERENCES_NI "non-interleaved AVI feltételezése (hibás AVI-knál segíthet" +#define MSGTR_PREFERENCES_IDX "Az AVI indexének újraéptése, ha szükségesÁ +#define MSGTR_PREFERENCES_VideoCodecFamily "Video kodek család:" +#define MSGTR_PREFERENCES_FRAME_OSD_Level "OSD szint" +#define MSGTR_PREFERENCES_FRAME_Subtitle "Felirat" +#define MSGTR_PREFERENCES_FRAME_Font "Betü" +#define MSGTR_PREFERENCES_FRAME_PostProcess "Képjavítás" +#define MSGTR_PREFERENCES_FRAME_CodecDemuxer "Codec & demuxer" +#define MSGTR_PREFERENCES_OSS_Device "Meghajtó:" +#define MSGTR_PREFERENCES_OSS_Mixer "Mixer:" +#define MSGTR_PREFERENCES_Message "Kérlek emlékezz, néhány opció igényli a lejátszás újraindítását." + // --- messagebox #define MSGTR_MSGBOX_LABEL_FatalError "végzetes hiba ..." #define MSGTR_MSGBOX_LABEL_Error "hiba ..." diff --git a/mplayer.c b/mplayer.c index 9d38b58195..5db9dae8a4 100644 --- a/mplayer.c +++ b/mplayer.c @@ -166,7 +166,7 @@ int benchmark=0; // static int play_in_bg=0; // options: -static int auto_quality=0; + int auto_quality=0; static int output_quality=0; int use_gui=0; @@ -220,20 +220,20 @@ extern int cache_fill_status; // dump: static char *stream_dump_name="stream.dump"; -static int stream_dump_type=0; + int stream_dump_type=0; // A-V sync: static float default_max_pts_correction=-1;//0.01f; static float max_pts_correction=0;//default_max_pts_correction; static float c_total=0; -static float audio_delay=0; + float audio_delay=0; static int dapsync=0; static int softsleep=0; static float force_fps=0; static int force_srate=0; -static int frame_dropping=0; // option 0=no drop 1= drop vo 2= drop decode + int frame_dropping=0; // option 0=no drop 1= drop vo 2= drop decode static int play_n_frames=-1; static int play_n_frames_mf=-1; @@ -897,7 +897,6 @@ if(!use_stdin && !slave_mode){ video_out = video_out_drivers[i];break; } } - if(!video_out){ mp_msg(MSGT_CPLAYER,MSGL_FATAL,MSGTR_InvalidVOdriver,vo?vo:"?"); exit_player(MSGTR_Exit_error); @@ -1211,7 +1210,7 @@ if(sh_video) { } else if(sub_auto) { // auto load sub file ... subtitles=sub_read_file( filename ? sub_filename( get_path("sub/"), filename ) - : "default.sub", sh_video->fps ); + : "default.sub", sh_video->fps ); } if(subtitles && stream_dump_type==3) list_sub_file(subtitles); if(subtitles && stream_dump_type==4) dump_mpsub(subtitles, sh_video->fps); @@ -1355,10 +1354,10 @@ fflush(stdout); #ifdef HAVE_NEW_GUI if ( use_gui ) { - guiGetEvent( guiSetFileName,filename ); guiGetEvent( guiSetStream,(char *)stream ); + guiGetEvent( guiSetFileName,filename ); if ( sh_audio ) guiIntfStruct.AudioType=sh_audio->channels; else guiIntfStruct.AudioType=0; - if ( !sh_video && sh_audio ) guiGetEvent( guiSetAudioOnly,1 ); else guiGetEvent( guiSetAudioOnly,0 ); + if ( !sh_video && sh_audio ) guiGetEvent( guiSetAudioOnly,(char *)1 ); else guiGetEvent( guiSetAudioOnly,(char *)0 ); guiGetEvent( guiSetVolume,NULL ); } #endif @@ -1948,7 +1947,7 @@ if(auto_quality>0){ guiGetEvent( guiCEvent,(char *)guiSetPlay ); } #endif - if(pkey!=32 && pkey!=112) + if(pkey!=32 && pkey!=112 && pkey!=-1) mplayer_put_key(pkey); // pass on the key } @@ -3107,7 +3106,8 @@ if(use_gui || playtree_iter != NULL){ current_module="free_stream"; if(stream) free_stream(stream); stream=NULL; - + +#ifdef USE_SUB current_module="sub_free"; if ( subtitles ) { @@ -3116,6 +3116,7 @@ if(use_gui || playtree_iter != NULL){ vo_sub=NULL; subtitles=NULL; } +#endif eof = 0; goto play_next_file; diff --git a/mplayer.h b/mplayer.h index 6f267b3e30..d7b3c27d7b 100644 --- a/mplayer.h +++ b/mplayer.h @@ -7,10 +7,23 @@ extern char* current_module; extern int fullscreen; extern int vcd_track; +extern int video_family; +extern char * video_driver; +extern char * audio_driver; +extern int has_audio; +extern float audio_delay; + extern int osd_level; extern int osd_visible; +extern char * font_name; +extern float font_factor; + extern char * sub_name; +extern float sub_delay; +extern float sub_fps; +extern int sub_auto; + extern char * filename; extern void exit_player(char* how);