Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Steve Lhomme
VLC
Commits
eb95c577
Commit
eb95c577
authored
May 05, 2010
by
Laurent Aimar
Browse files
Used a vout object for vout_OSDMessage/OSDSlider/OSDIcon.
It reduces the number of executed vlc_object_find. Some macosx calls have been commented out.
parent
26d4cf78
Changes
11
Hide whitespace changes
Inline
Side-by-side
include/vlc_vout_osd.h
View file @
eb95c577
...
...
@@ -55,10 +55,7 @@ VLC_EXPORT( int, vout_OSDEpg, ( vout_thread_t *, input_item_t * ) );
* \param i_channel Subpicture channel
* \param psz_format printf style formatting
**/
VLC_EXPORT
(
void
,
vout_OSDMessage
,
(
vlc_object_t
*
,
int
,
const
char
*
,
...
)
LIBVLC_FORMAT
(
3
,
4
)
);
#define vout_OSDMessage( obj, chan, ...) \
vout_OSDMessage( VLC_OBJECT(obj), chan, __VA_ARGS__ )
VLC_EXPORT
(
void
,
vout_OSDMessage
,
(
vout_thread_t
*
,
int
,
const
char
*
,
...
)
LIBVLC_FORMAT
(
3
,
4
)
);
/**
* Display a slider on the video output.
...
...
@@ -68,7 +65,7 @@ VLC_EXPORT( void, vout_OSDMessage, ( vlc_object_t *, int, const char *, ... ) L
* \param i_type Types are: OSD_HOR_SLIDER and OSD_VERT_SLIDER.
* @see vlc_osd.h
*/
VLC_EXPORT
(
void
,
vout_OSDSlider
,
(
v
lc_object
_t
*
,
int
,
int
,
short
)
);
VLC_EXPORT
(
void
,
vout_OSDSlider
,
(
v
out_thread
_t
*
,
int
,
int
,
short
)
);
/**
* Display an Icon on the video output.
...
...
@@ -77,7 +74,7 @@ VLC_EXPORT( void, vout_OSDSlider, ( vlc_object_t *, int, int , short ) );
* \param i_type Types are: OSD_PLAY_ICON, OSD_PAUSE_ICON, OSD_SPEAKER_ICON, OSD_MUTE_ICON
* @see vlc_osd.h
*/
VLC_EXPORT
(
void
,
vout_OSDIcon
,
(
v
lc_object
_t
*
,
int
,
short
)
);
VLC_EXPORT
(
void
,
vout_OSDIcon
,
(
v
out_thread
_t
*
,
int
,
short
)
);
#ifdef __cplusplus
}
...
...
modules/codec/zvbi.c
View file @
eb95c577
...
...
@@ -661,6 +661,14 @@ static int Position( vlc_object_t *p_this, char const *psz_cmd,
return
VLC_SUCCESS
;
}
#include <vlc_vout.h>
#define OSDMessage(dec, fmt, ...) do { \
vout_thread_t *p_vout = vlc_object_find( dec, VLC_OBJECT_VOUT, FIND_ANYWHERE ); \
if( p_vout ) { \
vout_OSDMessage( p_vout, fmt, __VA_ARGS__ ); \
vlc_object_release( p_vout ); \
} } while(0)
static
int
EventKey
(
vlc_object_t
*
p_this
,
char
const
*
psz_cmd
,
vlc_value_t
oldval
,
vlc_value_t
newval
,
void
*
p_data
)
{
...
...
@@ -683,7 +691,7 @@ static int EventKey( vlc_object_t *p_this, char const *psz_cmd,
if
(
!
vbi_bcd_digits_greater
(
p_sys
->
i_wanted_subpage
,
0x00
)
||
vbi_bcd_digits_greater
(
p_sys
->
i_wanted_subpage
,
0x99
)
)
p_sys
->
i_wanted_subpage
=
VBI_ANY_SUBNO
;
else
vout_
OSDMessage
(
p_this
,
SPU_DEFAULT_CHANNEL
,
"%s: %d"
,
_
(
"Subpage"
),
vbi_bcd2dec
(
p_sys
->
i_wanted_subpage
)
);
OSDMessage
(
p_this
,
SPU_DEFAULT_CHANNEL
,
"%s: %d"
,
_
(
"Subpage"
),
vbi_bcd2dec
(
p_sys
->
i_wanted_subpage
)
);
p_sys
->
b_update
=
true
;
vlc_mutex_unlock
(
&
p_sys
->
lock
);
...
...
@@ -697,7 +705,7 @@ static int EventKey( vlc_object_t *p_this, char const *psz_cmd,
p_sys
->
i_key
[
0
]
=
p_sys
->
i_key
[
1
];
p_sys
->
i_key
[
1
]
=
p_sys
->
i_key
[
2
];
p_sys
->
i_key
[
2
]
=
(
int
)(
newval
.
i_int
-
'0'
);
vout_
OSDMessage
(
p_this
,
SPU_DEFAULT_CHANNEL
,
"%s: %c%c%c"
,
_
(
"Page"
),
(
char
)(
p_sys
->
i_key
[
0
]
+
'0'
),
(
char
)(
p_sys
->
i_key
[
1
]
+
'0'
),
(
char
)(
p_sys
->
i_key
[
2
]
+
'0'
)
);
OSDMessage
(
p_this
,
SPU_DEFAULT_CHANNEL
,
"%s: %c%c%c"
,
_
(
"Page"
),
(
char
)(
p_sys
->
i_key
[
0
]
+
'0'
),
(
char
)(
p_sys
->
i_key
[
1
]
+
'0'
),
(
char
)(
p_sys
->
i_key
[
2
]
+
'0'
)
);
int
i_new_page
=
0
;
...
...
modules/control/hotkeys.c
View file @
eb95c577
...
...
@@ -71,10 +71,15 @@ static void PlayBookmark( intf_thread_t *, int );
static
void
SetBookmark
(
intf_thread_t
*
,
int
);
static
void
DisplayPosition
(
intf_thread_t
*
,
vout_thread_t
*
,
input_thread_t
*
);
static
void
DisplayVolume
(
intf_thread_t
*
,
vout_thread_t
*
,
audio_volume_t
);
static
void
DisplayRate
(
inp
ut_thread_t
*
,
float
);
static
void
DisplayRate
(
vo
ut_thread_t
*
,
float
);
static
float
AdjustRateFine
(
input_thread_t
*
,
const
int
);
static
void
ClearChannels
(
intf_thread_t
*
,
vout_thread_t
*
);
#define DisplayMessage(vout, fmt, ...) \
do { if(vout) vout_OSDMessage(vout, fmt, __VA_ARGS__); } while(0)
#define DisplayIcon(vout, icon) \
do { if(vout) vout_OSDIcon(vout, SPU_DEFAULT_CHANNEL, icon); } while(0)
/*****************************************************************************
* Module descriptor
*****************************************************************************/
...
...
@@ -175,7 +180,7 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
libvlc_Quit
(
p_intf
->
p_libvlc
);
ClearChannels
(
p_intf
,
p_vout
);
vout_OSD
Message
(
p_
intf
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Quit"
)
);
Display
Message
(
p_
vout
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Quit"
)
);
break
;
/* Volume and audio actions */
...
...
@@ -204,8 +209,7 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
if
(
i_newvol
==
0
)
{
ClearChannels
(
p_intf
,
p_vout
);
vout_OSDIcon
(
VLC_OBJECT
(
p_intf
),
SPU_DEFAULT_CHANNEL
,
OSD_MUTE_ICON
);
DisplayIcon
(
p_vout
,
OSD_MUTE_ICON
);
}
else
DisplayVolume
(
p_intf
,
p_vout
,
i_newvol
);
...
...
@@ -298,14 +302,12 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
int
state
=
var_GetInteger
(
p_input
,
"state"
);
if
(
state
!=
PAUSE_S
)
{
vout_OSDIcon
(
VLC_OBJECT
(
p_intf
),
SPU_DEFAULT_CHANNEL
,
OSD_PAUSE_ICON
);
DisplayIcon
(
p_vout
,
OSD_PAUSE_ICON
);
state
=
PAUSE_S
;
}
else
{
vout_OSDIcon
(
VLC_OBJECT
(
p_intf
),
SPU_DEFAULT_CHANNEL
,
OSD_PLAY_ICON
);
DisplayIcon
(
p_vout
,
OSD_PLAY_ICON
);
state
=
PLAYING_S
;
}
var_SetInteger
(
p_input
,
"state"
,
state
);
...
...
@@ -321,8 +323,7 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
else
{
ClearChannels
(
p_intf
,
p_vout
);
vout_OSDIcon
(
VLC_OBJECT
(
p_intf
),
SPU_DEFAULT_CHANNEL
,
OSD_PLAY_ICON
);
DisplayIcon
(
p_vout
,
OSD_PLAY_ICON
);
playlist_Play
(
p_playlist
);
}
break
;
...
...
@@ -369,9 +370,9 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
list
.
p_list
->
p_values
[
i
+
1
]
);
i
++
;
}
vout_OSD
Message
(
p_
intf
,
SPU_DEFAULT_CHANNEL
,
_
(
"Audio Device: %s"
),
list2
.
p_list
->
p_values
[
i
].
psz_string
);
Display
Message
(
p_
vout
,
SPU_DEFAULT_CHANNEL
,
_
(
"Audio Device: %s"
),
list2
.
p_list
->
p_values
[
i
].
psz_string
);
}
var_FreeList
(
&
list
,
&
list2
);
break
;
...
...
@@ -391,8 +392,7 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
if
(
var_GetInteger
(
p_input
,
"state"
)
!=
PAUSE_S
)
{
ClearChannels
(
p_intf
,
p_vout
);
vout_OSDIcon
(
VLC_OBJECT
(
p_intf
),
SPU_DEFAULT_CHANNEL
,
OSD_PAUSE_ICON
);
DisplayIcon
(
p_vout
,
OSD_PAUSE_ICON
);
var_SetInteger
(
p_input
,
"state"
,
PAUSE_S
);
}
}
...
...
@@ -466,9 +466,9 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
else
i
++
;
var_Set
(
p_input
,
"audio-es"
,
list
.
p_list
->
p_values
[
i
]
);
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
_
(
"Audio track: %s"
),
list2
.
p_list
->
p_values
[
i
].
psz_string
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
_
(
"Audio track: %s"
),
list2
.
p_list
->
p_values
[
i
].
psz_string
);
}
var_FreeList
(
&
list
,
&
list2
);
}
...
...
@@ -483,8 +483,8 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
i_count
=
list
.
p_list
->
i_count
;
if
(
i_count
<=
1
)
{
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
_
(
"Subtitle track: %s"
),
_
(
"N/A"
)
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
_
(
"Subtitle track: %s"
),
_
(
"N/A"
)
);
var_FreeList
(
&
list
,
&
list2
);
goto
cleanup_and_continue
;
}
...
...
@@ -507,9 +507,9 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
else
i
++
;
var_Set
(
p_input
,
"spu-es"
,
list
.
p_list
->
p_values
[
i
]
);
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
_
(
"Subtitle track: %s"
),
list2
.
p_list
->
p_values
[
i
].
psz_string
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
_
(
"Subtitle track: %s"
),
list2
.
p_list
->
p_values
[
i
].
psz_string
);
var_FreeList
(
&
list
,
&
list2
);
}
else
if
(
i_action
==
ACTIONID_ASPECT_RATIO
&&
p_vout
)
...
...
@@ -532,9 +532,9 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
if
(
i
==
val_list
.
p_list
->
i_count
)
i
=
0
;
var_SetString
(
p_vout
,
"aspect-ratio"
,
val_list
.
p_list
->
p_values
[
i
].
psz_string
);
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
_
(
"Aspect ratio: %s"
),
text_list
.
p_list
->
p_values
[
i
].
psz_string
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
_
(
"Aspect ratio: %s"
),
text_list
.
p_list
->
p_values
[
i
].
psz_string
);
var_FreeList
(
&
val_list
,
&
text_list
);
}
...
...
@@ -560,9 +560,9 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
if
(
i
==
val_list
.
p_list
->
i_count
)
i
=
0
;
var_SetString
(
p_vout
,
"crop"
,
val_list
.
p_list
->
p_values
[
i
].
psz_string
);
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
_
(
"Crop: %s"
),
text_list
.
p_list
->
p_values
[
i
].
psz_string
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
_
(
"Crop: %s"
),
text_list
.
p_list
->
p_values
[
i
].
psz_string
);
var_FreeList
(
&
val_list
,
&
text_list
);
}
...
...
@@ -574,19 +574,19 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
if
(
f_scalefactor
!=
1
.
0
)
{
var_SetFloat
(
p_vout
,
"scale"
,
1
.
0
);
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Zooming reset"
)
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Zooming reset"
)
);
}
else
{
bool
b_autoscale
=
!
var_GetBool
(
p_vout
,
"autoscale"
);
var_SetBool
(
p_vout
,
"autoscale"
,
b_autoscale
);
if
(
b_autoscale
)
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Scaled to screen"
)
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Scaled to screen"
)
);
else
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Original Size"
)
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Original Size"
)
);
}
}
else
if
(
i_action
==
ACTIONID_SCALE_UP
&&
p_vout
)
...
...
@@ -613,8 +613,8 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
if
(
i_deinterlace
!=
0
)
{
var_SetInteger
(
p_vout
,
"deinterlace"
,
0
);
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Deinterlace off"
)
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Deinterlace off"
)
);
}
else
{
...
...
@@ -633,8 +633,8 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
break
;
}
}
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
"%s (%s)"
,
_
(
"Deinterlace on"
),
psz_text
?
psz_text
:
psz_mode
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
"%s (%s)"
,
_
(
"Deinterlace on"
),
psz_text
?
psz_text
:
psz_mode
);
var_FreeList
(
&
vlist
,
&
tlist
);
}
...
...
@@ -666,9 +666,9 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
if
(
i
==
-
1
)
i
=
val_list
.
p_list
->
i_count
-
1
;
var_SetFloat
(
p_vout
,
"zoom"
,
val_list
.
p_list
->
p_values
[
i
].
f_float
);
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
_
(
"Zoom mode: %s"
),
text_list
.
p_list
->
p_values
[
i
].
psz_string
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
_
(
"Zoom mode: %s"
),
text_list
.
p_list
->
p_values
[
i
].
psz_string
);
var_FreeList
(
&
val_list
,
&
text_list
);
}
...
...
@@ -692,13 +692,13 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
else
if
(
i_action
==
ACTIONID_NEXT
)
{
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Next"
)
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Next"
)
);
playlist_Next
(
p_playlist
);
}
else
if
(
i_action
==
ACTIONID_PREV
)
{
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Previous"
)
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Previous"
)
);
playlist_Prev
(
p_playlist
);
}
else
if
(
i_action
==
ACTIONID_STOP
)
...
...
@@ -708,24 +708,24 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
else
if
(
i_action
==
ACTIONID_FRAME_NEXT
)
{
var_TriggerCallback
(
p_input
,
"frame-next"
);
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Next frame"
)
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Next frame"
)
);
}
else
if
(
i_action
==
ACTIONID_RATE_NORMAL
)
{
var_SetFloat
(
p_input
,
"rate"
,
1
.
);
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"1.00x"
)
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"1.00x"
)
);
}
else
if
(
i_action
==
ACTIONID_FASTER
)
{
var_TriggerCallback
(
p_input
,
"rate-faster"
);
DisplayRate
(
p_
inp
ut
,
var_GetFloat
(
p_input
,
"rate"
)
);
DisplayRate
(
p_
vo
ut
,
var_GetFloat
(
p_input
,
"rate"
)
);
}
else
if
(
i_action
==
ACTIONID_SLOWER
)
{
var_TriggerCallback
(
p_input
,
"rate-slower"
);
DisplayRate
(
p_
inp
ut
,
var_GetFloat
(
p_input
,
"rate"
)
);
DisplayRate
(
p_
vo
ut
,
var_GetFloat
(
p_input
,
"rate"
)
);
}
else
if
(
i_action
==
ACTIONID_RATE_FASTER_FINE
||
i_action
==
ACTIONID_RATE_SLOWER_FINE
)
...
...
@@ -734,7 +734,7 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
float
f_newrate
=
AdjustRateFine
(
p_input
,
i_dir
);
var_SetFloat
(
p_input
,
"rate"
,
f_newrate
);
DisplayRate
(
p_
inp
ut
,
f_newrate
);
DisplayRate
(
p_
vo
ut
,
f_newrate
);
}
else
if
(
i_action
==
ACTIONID_POSITION
)
{
...
...
@@ -769,9 +769,9 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
i_delay
-=
50000
;
/* 50 ms */
var_SetTime
(
p_input
,
"spu-delay"
,
i_delay
);
ClearChannels
(
p_intf
,
p_vout
);
vout_OSD
Message
(
p_
intf
,
SPU_DEFAULT_CHANNEL
,
_
(
"Subtitle delay %i ms"
),
(
int
)(
i_delay
/
1000
)
);
Display
Message
(
p_
vout
,
SPU_DEFAULT_CHANNEL
,
_
(
"Subtitle delay %i ms"
),
(
int
)(
i_delay
/
1000
)
);
}
else
if
(
i_action
==
ACTIONID_SUBDELAY_UP
)
{
...
...
@@ -779,7 +779,7 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
i_delay
+=
50000
;
/* 50 ms */
var_SetTime
(
p_input
,
"spu-delay"
,
i_delay
);
ClearChannels
(
p_intf
,
p_vout
);
vout_OSD
Message
(
p_
intf
,
SPU_DEFAULT_CHANNEL
,
Display
Message
(
p_
vout
,
SPU_DEFAULT_CHANNEL
,
_
(
"Subtitle delay %i ms"
),
(
int
)(
i_delay
/
1000
)
);
}
...
...
@@ -789,7 +789,7 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
--
i_pos
;
var_SetInteger
(
p_input
,
"sub-margin"
,
i_pos
);
ClearChannels
(
p_intf
,
p_vout
);
vout_OSD
Message
(
p_
intf
,
SPU_DEFAULT_CHANNEL
,
Display
Message
(
p_
vout
,
SPU_DEFAULT_CHANNEL
,
_
(
"Subtitle position %i px"
),
(
int
)(
i_pos
)
);
}
...
...
@@ -799,7 +799,7 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
++
i_pos
;
var_SetInteger
(
p_input
,
"sub-margin"
,
i_pos
);
ClearChannels
(
p_intf
,
p_vout
);
vout_OSD
Message
(
p_
intf
,
SPU_DEFAULT_CHANNEL
,
Display
Message
(
p_
vout
,
SPU_DEFAULT_CHANNEL
,
_
(
"Subtitle position %i px"
),
(
int
)(
i_pos
)
);
}
...
...
@@ -809,7 +809,7 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
i_delay
-=
50000
;
/* 50 ms */
var_SetTime
(
p_input
,
"audio-delay"
,
i_delay
);
ClearChannels
(
p_intf
,
p_vout
);
vout_OSD
Message
(
p_
intf
,
SPU_DEFAULT_CHANNEL
,
Display
Message
(
p_
vout
,
SPU_DEFAULT_CHANNEL
,
_
(
"Audio delay %i ms"
),
(
int
)(
i_delay
/
1000
)
);
}
...
...
@@ -819,7 +819,7 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
i_delay
+=
50000
;
/* 50 ms */
var_SetTime
(
p_input
,
"audio-delay"
,
i_delay
);
ClearChannels
(
p_intf
,
p_vout
);
vout_OSD
Message
(
p_
intf
,
SPU_DEFAULT_CHANNEL
,
Display
Message
(
p_
vout
,
SPU_DEFAULT_CHANNEL
,
_
(
"Audio delay %i ms"
),
(
int
)(
i_delay
/
1000
)
);
}
...
...
@@ -858,9 +858,9 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
const
bool
b_record
=
var_ToggleBool
(
p_input
,
"record"
);
if
(
b_record
)
vout_OSD
Message
(
p_
intf
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Recording"
)
);
Display
Message
(
p_
vout
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Recording"
)
);
else
vout_OSD
Message
(
p_
intf
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Recording done"
)
);
Display
Message
(
p_
vout
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Recording done"
)
);
}
}
}
...
...
@@ -1008,18 +1008,18 @@ static void DisplayPosition( intf_thread_t *p_intf, vout_thread_t *p_vout,
if
(
time
.
i_time
>
0
)
{
secstotimestr
(
psz_duration
,
time
.
i_time
/
1000000
);
vout_OSD
Message
(
p_
inp
ut
,
POSITION_TEXT_CHAN
,
"%s / %s"
,
psz_time
,
psz_duration
);
Display
Message
(
p_
vo
ut
,
POSITION_TEXT_CHAN
,
"%s / %s"
,
psz_time
,
psz_duration
);
}
else
if
(
i_seconds
>
0
)
{
vout_OSD
Message
(
p_
inp
ut
,
POSITION_TEXT_CHAN
,
"%s"
,
psz_time
);
Display
Message
(
p_
vo
ut
,
POSITION_TEXT_CHAN
,
"%s"
,
psz_time
);
}
if
(
var_GetBool
(
p_vout
,
"fullscreen"
)
)
{
var_Get
(
p_input
,
"position"
,
&
pos
);
vout_OSDSlider
(
VLC_OBJECT
(
p_input
)
,
POSITION_WIDGET_CHAN
,
vout_OSDSlider
(
p_vout
,
POSITION_WIDGET_CHAN
,
pos
.
f_float
*
100
,
OSD_HOR_SLIDER
);
}
}
...
...
@@ -1035,19 +1035,19 @@ static void DisplayVolume( intf_thread_t *p_intf, vout_thread_t *p_vout,
if
(
var_GetBool
(
p_vout
,
"fullscreen"
)
)
{
vout_OSDSlider
(
VLC_OBJECT
(
p_vout
)
,
VOLUME_WIDGET_CHAN
,
vout_OSDSlider
(
p_vout
,
VOLUME_WIDGET_CHAN
,
i_vol
*
100
/
AOUT_VOLUME_MAX
,
OSD_VERT_SLIDER
);
}
else
{
vout_OSD
Message
(
p_vout
,
VOLUME_TEXT_CHAN
,
_
(
"Volume %d%%"
),
i_vol
*
400
/
AOUT_VOLUME_MAX
);
Display
Message
(
p_vout
,
VOLUME_TEXT_CHAN
,
_
(
"Volume %d%%"
),
i_vol
*
400
/
AOUT_VOLUME_MAX
);
}
}
static
void
DisplayRate
(
inp
ut_thread_t
*
p_
inp
ut
,
float
f_rate
)
static
void
DisplayRate
(
vo
ut_thread_t
*
p_
vo
ut
,
float
f_rate
)
{
vout_OSD
Message
(
VLC_OBJECT
(
p_inp
ut
)
,
SPU_DEFAULT_CHANNEL
,
_
(
"Speed: %.2fx"
),
f_rate
);
Display
Message
(
p_vo
ut
,
SPU_DEFAULT_CHANNEL
,
_
(
"Speed: %.2fx"
),
f_rate
);
}
static
float
AdjustRateFine
(
input_thread_t
*
p_input
,
const
int
i_dir
)
...
...
modules/gui/macosx/controls.m
View file @
eb95c577
...
...
@@ -211,12 +211,12 @@
var_Set
(
p_playlist
,
"random"
,
val
);
if
(
val
.
b_bool
)
{
vout_OSDMessage
(
p_intf
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Random On"
)
);
//
vout_OSDMessage( p_intf, SPU_DEFAULT_CHANNEL, "%s", _( "Random On" ) );
config_PutInt
(
p_playlist
,
"random"
,
1
);
}
else
{
vout_OSDMessage
(
p_intf
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Random Off"
)
);
//
vout_OSDMessage( p_intf, SPU_DEFAULT_CHANNEL, "%s", _( "Random Off" ) );
config_PutInt
(
p_playlist
,
"random"
,
0
);
}
...
...
@@ -278,7 +278,7 @@
config_PutInt
(
p_playlist
,
"loop"
,
0
);
/* show the change */
vout_OSDMessage
(
p_intf
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Repeat One"
)
);
//
vout_OSDMessage( p_intf, SPU_DEFAULT_CHANNEL, "%s", _( "Repeat One" ) );
}
else
if
(
repeating
.
b_bool
&&
!
looping
.
b_bool
)
{
...
...
@@ -294,7 +294,7 @@
config_PutInt
(
p_playlist
,
"loop"
,
1
);
/* show the change */
vout_OSDMessage
(
p_intf
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Repeat All"
)
);
//
vout_OSDMessage( p_intf, SPU_DEFAULT_CHANNEL, "%s", _( "Repeat All" ) );
}
else
{
...
...
@@ -310,7 +310,7 @@
config_PutInt
(
p_playlist
,
"loop"
,
0
);
/* show the change */
vout_OSDMessage
(
p_intf
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Repeat Off"
)
);
//
vout_OSDMessage( p_intf, SPU_DEFAULT_CHANNEL, "%s", _( "Repeat Off" ) );
}
/* communicate with core and the main intf loop */
...
...
@@ -336,12 +336,12 @@
var_Set
(
p_playlist
,
"repeat"
,
val
);
if
(
val
.
b_bool
)
{
vout_OSDMessage
(
p_intf
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Repeat One"
)
);
//
vout_OSDMessage( p_intf, SPU_DEFAULT_CHANNEL, "%s", _( "Repeat One" ) );
config_PutInt
(
p_playlist
,
"repeat"
,
1
);
}
else
{
vout_OSDMessage
(
p_intf
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Repeat Off"
)
);
//
vout_OSDMessage( p_intf, SPU_DEFAULT_CHANNEL, "%s", _( "Repeat Off" ) );
config_PutInt
(
p_playlist
,
"repeat"
,
0
);
}
...
...
@@ -364,12 +364,12 @@
var_Set
(
p_playlist
,
"loop"
,
val
);
if
(
val
.
b_bool
)
{
vout_OSDMessage
(
p_intf
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Repeat All"
)
);
//
vout_OSDMessage( p_intf, SPU_DEFAULT_CHANNEL, "%s", _( "Repeat All" ) );
config_PutInt
(
p_playlist
,
"loop"
,
1
);
}
else
{
vout_OSDMessage
(
p_intf
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Repeat Off"
)
);
//
vout_OSDMessage( p_intf, SPU_DEFAULT_CHANNEL, "%s", _( "Repeat Off" ) );
config_PutInt
(
p_playlist
,
"loop"
,
0
);
}
...
...
modules/gui/skins2/commands/cmd_quit.cpp
View file @
eb95c577
...
...
@@ -36,8 +36,15 @@
void
CmdQuit
::
execute
()
{
// Stop the playlist
vout_OSDMessage
(
getIntf
(),
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Quit"
)
);
if
(
getIntf
()
->
p_sys
->
p_input
)
{
vout_thread_t
*
pVout
=
input_GetVout
(
getIntf
()
->
p_sys
->
p_input
);
if
(
pVout
)
{
vout_OSDMessage
(
pVout
,
SPU_DEFAULT_CHANNEL
,
"%s"
,
_
(
"Quit"
)
);
vlc_object_release
(
pVout
);
}
}
// Kill libvlc
libvlc_Quit
(
getIntf
()
->
p_libvlc
);
...
...
modules/misc/lua/libs/osd.c
View file @
eb95c577
...
...
@@ -75,7 +75,13 @@ static int vlclua_osd_icon( lua_State *L )
else
{
vlc_object_t
*
p_this
=
vlclua_get_this
(
L
);
vout_OSDIcon
(
p_this
,
i_chan
,
i_icon
);
vout_thread_t
*
p_vout
=
vlc_object_find
(
p_this
,
VLC_OBJECT_VOUT
,
FIND_ANYWHERE
);
if
(
p_vout
)
{
vout_OSDIcon
(
p_vout
,
i_chan
,
i_icon
);
vlc_object_release
(
p_vout
);
}
return
0
;
}
}
...
...
@@ -85,7 +91,13 @@ static int vlclua_osd_message( lua_State *L )
const
char
*
psz_message
=
luaL_checkstring
(
L
,
1
);
int
i_chan
=
luaL_optint
(
L
,
2
,
SPU_DEFAULT_CHANNEL
);
vlc_object_t
*
p_this
=
vlclua_get_this
(
L
);
vout_OSDMessage
(
p_this
,
i_chan
,
"%s"
,
psz_message
);
vout_thread_t
*
p_vout
=
vlc_object_find
(
p_this
,
VLC_OBJECT_VOUT
,
FIND_ANYWHERE
);
if
(
p_vout
)
{
vout_OSDMessage
(
p_vout
,
i_chan
,
"%s"
,
psz_message
);
vlc_object_release
(
p_vout
);
}
return
0
;
}
...
...
@@ -120,7 +132,13 @@ static int vlclua_osd_slider( lua_State *L )
else
{
vlc_object_t
*
p_this
=
vlclua_get_this
(
L
);
vout_OSDSlider
(
p_this
,
i_chan
,
i_position
,
i_type
);
vout_thread_t
*
p_vout
=
vlc_object_find
(
p_this
,
VLC_OBJECT_VOUT
,
FIND_ANYWHERE
);
if
(
p_vout
)
{
vout_OSDSlider
(
p_vout
,
i_chan
,
i_position
,
i_type
);
vlc_object_release
(
p_vout
);
}
return
0
;
}
}
...
...
src/video_output/video_output.c
View file @
eb95c577
...
...
@@ -851,19 +851,15 @@ static void ThreadDisplayOsdTitle(vout_thread_t *vout, const char *string)
vlc_assert_locked
(
&
vout
->
p
->
change_lock
);
const
mtime_t
start
=
mdate
();
const
mtime_t
stop
=
start
+
INT64_C
(
1000
)
*
vout
->
p
->
title
.
timeout
;
if
(
stop
>
start
)
vout_ShowTextAbsolute
(
vout
,
SPU_DEFAULT_CHANNEL
,
if
(
vout
->
p
->
title
.
timeout
>
0
)
vout_ShowTextRelative
(
vout
,
SPU_DEFAULT_CHANNEL
,
string
,
NULL
,
vout
->
p
->
title
.
position
,
30
+
vout
->
p
->
fmt_in
.
i_width
-
vout
->
p
->
fmt_in
.
i_visible_width
-
vout
->
p
->
fmt_in
.
i_x_offset
,
20
+
vout
->
p
->
fmt_in
.
i_y_offset
,
start
,
stop
);
INT64_C
(
1000
)
*
vout
->
p
->
title
.
timeout
);
}
static
void
ThreadChangeFilters
(
vout_thread_t
*
vout
,
const
char
*
filters
)
...
...
src/video_output/video_text.c
View file @
eb95c577
...
...
@@ -36,7 +36,7 @@
#include "vout_internal.h"
/**
* \brief Show text on the video f
or some tim
e
* \brief Show text on the video f
rom a given start date to a given end dat
e
* \param p_vout pointer to the vout the text is to be showed on
* \param i_channel Subpicture channel
* \param psz_string The text to be shown
...
...
@@ -47,35 +47,9 @@
* \param i_duration Amount of time the text is to be shown.
*/
int
vout_ShowTextRelative
(
vout_thread_t
*
p_vout
,
int
i_channel
,
char
*
psz_string
,
const
text_style_t
*
p_style
,
int
i_flags
,
int
i_hmargin
,
int
i_vmargin
,
mtime_t
i_duration
)
{
mtime_t
i_now
=
mdate
();