From d5c4e1bf28c22092fe75c82b79dd025b1f3e2719 Mon Sep 17 00:00:00 2001 From: Derk-Jan Hartman Date: Sat, 27 Mar 2004 17:36:46 +0000 Subject: [PATCH] * src/interface/interface.c - spelling fix - added telnet intf to 'Add Interface' * modules/misc/logger.c: - on Mac OS X, use ~/Library/Logs to write logger intf output. * ALL - Added 'Add Interface' to Mac OS X build. Now you can finaly quicklaunch the SAP intf. --- .../English.lproj/MainMenu.nib/classes.nib | 3 +- .../English.lproj/MainMenu.nib/info.nib | 10 ++-- .../English.lproj/MainMenu.nib/objects.nib | Bin 54565 -> 55272 bytes modules/gui/macosx/intf.h | 2 + modules/gui/macosx/intf.m | 5 ++ modules/misc/logger.c | 44 +++++++++++++++--- src/interface/interface.c | 13 +++--- 7 files changed, 58 insertions(+), 19 deletions(-) diff --git a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib index f55c9427ef..bdcf9eb56b 100644 --- a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib +++ b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib @@ -103,6 +103,7 @@ "o_info_window" = id; "o_messages" = id; "o_mi_about" = id; + "o_mi_add_intf" = id; "o_mi_audiotrack" = id; "o_mi_bring_atf" = id; "o_mi_bwd" = id; @@ -146,7 +147,6 @@ "o_mi_paste" = id; "o_mi_play" = id; "o_mi_playlist" = id; - "o_mi_position" = id; "o_mi_prefs" = id; "o_mi_previous" = id; "o_mi_program" = id; @@ -169,6 +169,7 @@ "o_mi_website" = id; "o_msgs_btn_crashlog" = id; "o_msgs_panel" = id; + "o_mu_add_intf" = id; "o_mu_audio" = id; "o_mu_audiotrack" = id; "o_mu_channels" = id; diff --git a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib index 9a50eddc11..aff8af4683 100644 --- a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib +++ b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib @@ -3,26 +3,24 @@ IBDocumentLocation - -6 44 505 517 0 0 800 578 + 392 439 505 517 0 0 1280 1002 IBEditorPositions 1617 - 410 345 104 149 0 0 800 578 + 693 686 104 149 0 0 1280 1002 29 - 11 440 419 44 0 0 800 578 + 25 789 419 44 0 0 1280 1002 915 160 353 103 130 0 0 800 578 IBFramework Version - 362.0 + 349.0 IBLockedObjects IBOpenObjects 1617 29 - 636 - 21 IBSystem Version 7F44 diff --git a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib index 0e31f7840bf8d917955b895e943b0a31839f65b9..50c3f45c1a44bc4fe4e4376e31619eee3f277564 100644 GIT binary patch literal 55272 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 PVq1SZr!!~a&cW#TT0eI_U`DgPkPhp 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 literal 54565 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 diff --git a/modules/gui/macosx/intf.h b/modules/gui/macosx/intf.h index 0ab06f054f..30f763d8eb 100644 --- a/modules/gui/macosx/intf.h +++ b/modules/gui/macosx/intf.h @@ -138,6 +138,8 @@ struct intf_sys_t IBOutlet id o_mi_about; IBOutlet id o_mi_prefs; + IBOutlet id o_mi_add_intf; + IBOutlet id o_mu_add_intf; IBOutlet id o_mi_hide; IBOutlet id o_mi_hide_others; IBOutlet id o_mi_show_all; diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m index 18349dee8e..3e901f8f73 100644 --- a/modules/gui/macosx/intf.m +++ b/modules/gui/macosx/intf.m @@ -470,6 +470,8 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key ) /* main menu */ [o_mi_about setTitle: _NS("About VLC media player")]; [o_mi_prefs setTitle: _NS("Preferences...")]; + [o_mi_add_intf setTitle: _NS("Add Interface")]; + [o_mu_add_intf setTitle: _NS("Add Interface")]; [o_mi_hide setTitle: _NS("Hide VLC")]; [o_mi_hide_others setTitle: _NS("Hide Others")]; [o_mi_show_all setTitle: _NS("Show All")]; @@ -601,6 +603,9 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key ) [NSThread detachNewThreadSelector: @selector(manage) toTarget: self withObject: nil]; + + [o_controls setupVarMenuItem: o_mi_add_intf target: (vlc_object_t *)p_intf + var: "intf-add" selector: @selector(toggleVar:)]; vlc_thread_set_priority( p_intf, VLC_THREAD_PRIORITY_LOW ); } diff --git a/modules/misc/logger.c b/modules/misc/logger.c index f91299627c..345182a40d 100644 --- a/modules/misc/logger.c +++ b/modules/misc/logger.c @@ -36,7 +36,13 @@ #define MODE_TEXT 0 #define MODE_HTML 1 -#define LOG_FILE "vlc-log.txt" +#ifdef SYS_DARWIN +#define LOG_DIR "Library/Logs/" +#endif + +#define LOG_FILE_TEXT "vlc-log.txt" +#define LOG_FILE_HTML "vlc-log.html" + #define LOG_STRING( msg, file ) fwrite( msg, strlen( msg ), 1, file ); #define TEXT_HEADER "-- logger module started --\n" @@ -82,7 +88,7 @@ static void HtmlPrint ( const msg_item_t *, FILE * ); * Module descriptor *****************************************************************************/ static char *mode_list[] = { "text", "html" }; -static char *mode_list_text[] = { N_("Text"), N_("Html") }; +static char *mode_list_text[] = { N_("Text"), N_("HTML") }; #define LOGMODE_TEXT N_("Log format") #define LOGMODE_LONGTEXT N_("Specify the log format. Available choices are \"text\" (default) and \"html\".") @@ -146,17 +152,43 @@ static int Open( vlc_object_t *p_this ) psz_file = config_GetPsz( p_intf, "logfile" ); if( !psz_file ) { - switch( p_intf->p_sys->i_mode ) +#ifdef SYS_DARWIN + char *psz_homedir = p_this->p_vlc->psz_homedir; + + if( !psz_homedir ) + { + msg_Err( p_this, "psz_homedir is null" ); + return -1; + } + psz_file = (char *)malloc( sizeof("/" LOG_DIR "/" LOG_FILE_HTML) + + strlen(psz_homedir) ); + if( psz_file ) + { + switch( p_intf->p_sys->i_mode ) + { + case MODE_HTML: + sprintf( psz_file, "%s/" LOG_DIR "/" LOG_FILE_HTML, + psz_homedir ); + break; + case MODE_TEXT: + default: + sprintf( psz_file, "%s/" LOG_DIR "/" LOG_FILE_TEXT, + psz_homedir ); + break; + } + } +#else + switch( p_intf->p_sys->i_mode ) { case MODE_HTML: - psz_file = strdup( "vlc-log.html" ); + psz_file = strdup( LOG_FILE_HTML ); break; case MODE_TEXT: default: - psz_file = strdup( "vlc-log.txt" ); + psz_file = strdup( LOG_FILE_TEXT ); break; } - +#endif msg_Warn( p_intf, "no log filename provided, using `%s'", psz_file ); } diff --git a/src/interface/interface.c b/src/interface/interface.c index e42f1a86a9..c47ecd1141 100644 --- a/src/interface/interface.c +++ b/src/interface/interface.c @@ -75,7 +75,6 @@ static int AddIntfCallback( vlc_object_t *, char const *, intf_thread_t* __intf_Create( vlc_object_t *p_this, const char *psz_module ) { intf_thread_t * p_intf; - char *psz_intf; /* Allocate structure */ p_intf = vlc_object_create( p_this, VLC_OBJECT_INTF ); @@ -257,18 +256,20 @@ static void RunInterface( intf_thread_t *p_intf ) /* Variable used for interface spawning */ var_Create( p_intf, "intf-add", VLC_VAR_STRING | VLC_VAR_HASCHOICE | VLC_VAR_ISCOMMAND ); - text.psz_string = _("Add interface"); + text.psz_string = _("Add Interface"); var_Change( p_intf, "intf-add", VLC_VAR_SETTEXT, &text, NULL ); val.psz_string = "rc"; text.psz_string = "Console"; var_Change( p_intf, "intf-add", VLC_VAR_ADDCHOICE, &val, &text ); - val.psz_string = "logger"; text.psz_string = "Debug logging"; + val.psz_string = "telnet"; text.psz_string = "Telnet Interface"; + var_Change( p_intf, "intf-add", VLC_VAR_ADDCHOICE, &val, &text ); + val.psz_string = "http"; text.psz_string = "Web Interface"; var_Change( p_intf, "intf-add", VLC_VAR_ADDCHOICE, &val, &text ); - val.psz_string = "http"; text.psz_string = "HTTP remote control"; + val.psz_string = "logger"; text.psz_string = "Debug logging"; var_Change( p_intf, "intf-add", VLC_VAR_ADDCHOICE, &val, &text ); - val.psz_string = "sap"; text.psz_string = "SAP interface"; + val.psz_string = "sap"; text.psz_string = "SAP Playlist"; var_Change( p_intf, "intf-add", VLC_VAR_ADDCHOICE, &val, &text ); - val.psz_string = "gestures"; text.psz_string = "Mouse gestures control"; + val.psz_string = "gestures"; text.psz_string = "Mouse Gestures"; var_Change( p_intf, "intf-add", VLC_VAR_ADDCHOICE, &val, &text ); var_AddCallback( p_intf, "intf-add", AddIntfCallback, NULL ); -- 2.39.2