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
GSoC
GSoC2018
macOS
vlc
Commits
72ca0539
Commit
72ca0539
authored
Apr 08, 2001
by
Stéphane Borel
Browse files
-changes in gnome interface
-bugfix in input dvd
parent
1843a615
Changes
15
Hide whitespace changes
Inline
Side-by-side
include/input_ext-intf.h
View file @
72ca0539
...
...
@@ -4,7 +4,7 @@
* control the pace of reading.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: input_ext-intf.h,v 1.
29
2001/04/0
1
07:
31:38
stef Exp $
* $Id: input_ext-intf.h,v 1.
30
2001/04/0
8
07:
24:47
stef Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -52,7 +52,8 @@ typedef struct es_descriptor_s
boolean_t
b_audio
;
/* is the stream an audio stream that
* will need to be discarded with
* fast forward and slow motion ? */
boolean_t
b_spu
;
u8
i_cat
;
/* stream category: video, audio,
* spu, other */
char
psz_desc
[
20
];
/* description of ES: audio language
* for instance ; NULL if not
...
...
@@ -96,6 +97,12 @@ typedef struct es_descriptor_s
#define LPCM_AUDIO_ES 0x83
#define UNKNOWN_ES 0xFF
/* ES Categories */
#define VIDEO_ES 0x00
#define AUDIO_ES 0x01
#define SPU_ES 0x02
#define NAV_ES 0x03
#define UNKNOWN_ES 0xFF
/*****************************************************************************
* pgrm_descriptor_t
*****************************************************************************
...
...
@@ -352,7 +359,7 @@ void input_SetRate ( struct input_thread_s *, int );
void
input_Seek
(
struct
input_thread_s
*
,
off_t
);
void
input_DumpStream
(
struct
input_thread_s
*
);
char
*
input_OffsetToTime
(
struct
input_thread_s
*
,
char
*
psz_buffer
,
off_t
);
int
input_ChangeES
(
struct
input_thread_s
*
,
struct
es_descriptor_s
*
,
int
);
int
input_ChangeES
(
struct
input_thread_s
*
,
struct
es_descriptor_s
*
,
u8
);
int
input_ToggleES
(
struct
input_thread_s
*
,
struct
es_descriptor_s
*
,
boolean_t
);
plugins/dvd/dvd_ifo.c
View file @
72ca0539
...
...
@@ -2,7 +2,7 @@
* dvd_ifo.c: Functions for ifo parsing
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: dvd_ifo.c,v 1.1
6
2001/04/0
1
07:
31:38
stef Exp $
* $Id: dvd_ifo.c,v 1.1
7
2001/04/0
8
07:
24:47
stef Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
...
...
@@ -539,11 +539,19 @@ FLUSH(2);
{
GETLL
(
&
i_temp
);
//fprintf( stderr, "Audio %d: %llx\n", i, i_temp );
i_temp
>>=
32
;
i_temp
>>=
8
;
manager_inf
.
p_audio_attr
[
i
].
i_bar
=
i_temp
&
0xff
;
i_temp
>>=
8
;
manager_inf
.
p_audio_attr
[
i
].
i_caption
=
i_temp
&
0xff
;
i_temp
>>=
8
;
manager_inf
.
p_audio_attr
[
i
].
i_foo
=
i_temp
&
0xff
;
i_temp
>>=
8
;
manager_inf
.
p_audio_attr
[
i
].
i_lang_code
=
i_temp
&
0xffff
;
i_temp
>>=
16
;
manager_inf
.
p_audio_attr
[
i
].
i_num_channels
=
i_temp
&
0x7
;
i_temp
>>=
4
;
i_temp
>>=
3
;
manager_inf
.
p_audio_attr
[
i
].
i_test
=
i_temp
&
0x1
;
i_temp
>>=
1
;
manager_inf
.
p_audio_attr
[
i
].
i_sample_freq
=
i_temp
&
0x3
;
i_temp
>>=
2
;
manager_inf
.
p_audio_attr
[
i
].
i_quantization
=
i_temp
&
0x3
;
...
...
plugins/dvd/dvd_ifo.h
View file @
72ca0539
...
...
@@ -2,7 +2,7 @@
* dvd_ifo.h: Structures for ifo parsing
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: dvd_ifo.h,v 1.1
0
2001/04/0
4
0
2:49:18 sam
Exp $
* $Id: dvd_ifo.h,v 1.1
1
2001/04/0
8
0
7:24:47 stef
Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
...
...
@@ -57,7 +57,7 @@ typedef struct ifo_audio_s
u8
i_quantization
;
// 2;
u8
i_sample_freq
;
// 2;
//
u8
;// 1;
u8
i_test
;
// 1;
u8
i_num_channels
;
// 3;
u16
i_lang_code
;
// 16; // <char> description
u8
i_foo
;
// 8; // 0x00000000 ?
...
...
plugins/dvd/input_dvd.c
View file @
72ca0539
...
...
@@ -10,7 +10,7 @@
* -dvd_udf to find files
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: input_dvd.c,v 1.3
7
2001/04/0
3
0
3:39
:4
1
stef Exp $
* $Id: input_dvd.c,v 1.3
8
2001/04/0
8
0
7:24
:4
7
stef Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
...
...
@@ -365,6 +365,7 @@ static int DVDFindCell( thread_dvd_data_t * p_dvd )
if
(
i_cell
==
cell
.
i_cell_nb
)
{
intf_ErrMsg
(
"dvd error: can't find cell"
);
return
-
1
;
}
else
...
...
@@ -392,6 +393,7 @@ static int DVDFindSector( thread_dvd_data_t * p_dvd )
if
(
DVDFindCell
(
p_dvd
)
<
0
)
{
intf_ErrMsg
(
"dvd error: can't find sector"
);
return
-
1
;
}
...
...
@@ -421,6 +423,7 @@ static int DVDChapterSelect( thread_dvd_data_t * p_dvd, int i_chapter )
/* Find cell index in Program chain for current chapter */
p_dvd
->
i_prg_cell
=
title
.
chapter_map
.
pi_start_cell
[
i_chapter
-
1
]
-
1
;
p_dvd
->
i_cell
=
0
;
p_dvd
->
i_sector
=
0
;
/* Search for cell_index in cell adress_table and initialize start sector */
DVDFindSector
(
p_dvd
);
...
...
@@ -561,12 +564,17 @@ static int DVDSetArea( input_thread_t * p_input, input_area_t * p_area )
input_AddProgram
(
p_input
,
0
,
sizeof
(
stream_ps_data_t
)
);
/* No PSM to read in DVD mode, we already have all information */
p_input
->
stream
.
pp_programs
[
0
]
->
b_is_ok
=
1
;
p_input
->
stream
.
pp_programs
[
0
]
->
i_synchro_state
=
SYNCHRO_START
;
p_es
=
NULL
;
/* ES 0 -> video MPEG2 */
p_es
=
input_AddES
(
p_input
,
p_input
->
stream
.
pp_programs
[
0
],
0xe0
,
0
);
p_es
->
i_stream_id
=
0xe0
;
p_es
->
i_type
=
MPEG2_VIDEO_ES
;
p_es
->
i_cat
=
VIDEO_ES
;
input_SelectES
(
p_input
,
p_es
);
intf_WarnMsg
(
1
,
"dvd info: video MPEG2 stream"
);
...
...
@@ -579,15 +587,15 @@ static int DVDSetArea( input_thread_t * p_input, input_area_t * p_area )
{
#ifdef DEBUG
intf_
Dbg
Msg
(
"Audio %d: %x %x %x %x %x %x %x %x %x %x %x %x
\n
"
,
i
,
intf_
Warn
Msg
(
1
,
"Audio %d: %x %x %x %x %x %x %x %x %x %x %x %x"
,
i
,
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_num_channels
,
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_coding_mode
,
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_multichannel_extension
,
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_type
,
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_appl_mode
,
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_foo
,
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_test
,
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_bar
,
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_appl_mode
,
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_quantization
,
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_sample_freq
,
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_lang_code
,
...
...
@@ -603,8 +611,10 @@ static int DVDSetArea( input_thread_t * p_input, input_area_t * p_area )
p_es
->
i_stream_id
=
0xbd
;
p_es
->
i_type
=
AC3_AUDIO_ES
;
p_es
->
b_audio
=
1
;
p_es
->
i_cat
=
AUDIO_ES
;
strcpy
(
p_es
->
psz_desc
,
Language
(
hton16
(
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_lang_code
)
)
);
strcat
(
p_es
->
psz_desc
,
" (ac3)"
);
intf_WarnMsg
(
1
,
"dvd info: audio stream %d %s
\t
(0x%x)"
,
i
,
p_es
->
psz_desc
,
i_id
);
...
...
@@ -618,8 +628,10 @@ static int DVDSetArea( input_thread_t * p_input, input_area_t * p_area )
p_es
->
i_stream_id
=
i_id
;
p_es
->
i_type
=
MPEG2_AUDIO_ES
;
p_es
->
b_audio
=
1
;
p_es
->
i_cat
=
AUDIO_ES
;
strcpy
(
p_es
->
psz_desc
,
Language
(
hton16
(
vts
.
manager_inf
.
p_audio_attr
[
i
-
1
].
i_lang_code
)
)
);
strcat
(
p_es
->
psz_desc
,
" (mpeg)"
);
intf_WarnMsg
(
1
,
"dvd info: audio stream %d %s
\t
(0x%x)"
,
i
,
p_es
->
psz_desc
,
i_id
);
...
...
@@ -655,7 +667,7 @@ static int DVDSetArea( input_thread_t * p_input, input_area_t * p_area )
p_input
->
stream
.
pp_programs
[
0
],
i_id
,
0
);
p_es
->
i_stream_id
=
0xbd
;
p_es
->
i_type
=
DVD_SPU_ES
;
p_es
->
b_spu
=
1
;
p_es
->
i_cat
=
SPU_ES
;
strcpy
(
p_es
->
psz_desc
,
Language
(
hton16
(
vts
.
manager_inf
.
p_spu_attr
[
i
-
1
].
i_lang_code
)
)
);
intf_WarnMsg
(
1
,
"dvd info: spu stream %d %s
\t
(0x%x)"
,
...
...
@@ -674,7 +686,7 @@ static int DVDSetArea( input_thread_t * p_input, input_area_t * p_area )
main_PutIntVariable
(
INPUT_CHANNEL_VAR
,
1
);
i_audio
=
1
;
}
if
(
i_audio
>
0
)
if
(
i_audio
>
0
&&
vts
.
manager_inf
.
i_audio_nb
>
0
)
{
input_SelectES
(
p_input
,
p_input
->
stream
.
pp_es
[
i_audio
]
);
}
...
...
@@ -686,7 +698,7 @@ static int DVDSetArea( input_thread_t * p_input, input_area_t * p_area )
main_PutIntVariable
(
INPUT_CHANNEL_VAR
,
1
);
i_spu
=
0
;
}
if
(
i_spu
>
0
)
if
(
i_spu
>
0
&&
vts
.
manager_inf
.
i_spu_nb
>
0
)
{
i_spu
+=
vts
.
manager_inf
.
i_audio_nb
;
input_SelectES
(
p_input
,
p_input
->
stream
.
pp_es
[
i_spu
]
);
...
...
@@ -714,10 +726,6 @@ static int DVDSetArea( input_thread_t * p_input, input_area_t * p_area )
p_area
->
i_part
,
p_area
->
i_tell
);
}
/* No PSM to read in DVD mode, we already have all information */
p_input
->
stream
.
pp_programs
[
0
]
->
b_is_ok
=
1
;
p_input
->
stream
.
pp_programs
[
0
]
->
i_synchro_state
=
SYNCHRO_START
;
vlc_mutex_unlock
(
&
p_input
->
stream
.
stream_lock
);
#undef vts
#undef vmg
...
...
plugins/gnome/gnome_callbacks.c
View file @
72ca0539
...
...
@@ -2,7 +2,7 @@
* gnome_callbacks.c : Callbacks for the Gnome plugin.
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
* $Id: gnome_callbacks.c,v 1.2
0
2001/04/0
3
0
3:39
:4
1
stef Exp $
* $Id: gnome_callbacks.c,v 1.2
1
2001/04/0
8
0
7:24
:4
7
stef Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr>
...
...
@@ -160,6 +160,54 @@ on_intf_window_drag_data_received (GtkWidget *widget,
}
void
on_button_title_prev_clicked
(
GtkButton
*
button
,
gpointer
user_data
)
{
intf_thread_t
*
p_intf
;
input_area_t
*
p_area
;
int
i_id
;
p_intf
=
GetIntf
(
GTK_WIDGET
(
button
),
"intf_window"
);
i_id
=
p_intf
->
p_input
->
stream
.
p_selected_area
->
i_id
-
1
;
if
(
i_id
>=
0
)
{
p_area
=
p_intf
->
p_input
->
stream
.
pp_areas
[
i_id
];
p_intf
->
p_input
->
pf_set_area
(
p_intf
->
p_input
,
(
input_area_t
*
)
p_area
);
p_intf
->
p_sys
->
b_menus_update
=
1
;
input_SetStatus
(
p_intf
->
p_input
,
INPUT_STATUS_PLAY
);
p_intf
->
p_sys
->
b_menus_update
=
1
;
}
}
void
on_button_title_next_clicked
(
GtkButton
*
button
,
gpointer
user_data
)
{
intf_thread_t
*
p_intf
;
input_area_t
*
p_area
;
int
i_id
;
p_intf
=
GetIntf
(
GTK_WIDGET
(
button
),
"intf_window"
);
i_id
=
p_intf
->
p_input
->
stream
.
p_selected_area
->
i_id
+
1
;
if
(
i_id
<
p_intf
->
p_input
->
stream
.
i_area_nb
)
{
p_area
=
p_intf
->
p_input
->
stream
.
pp_areas
[
i_id
];
p_intf
->
p_input
->
pf_set_area
(
p_intf
->
p_input
,
(
input_area_t
*
)
p_area
);
p_intf
->
p_sys
->
b_menus_update
=
1
;
input_SetStatus
(
p_intf
->
p_input
,
INPUT_STATUS_PLAY
);
p_intf
->
p_sys
->
b_menus_update
=
1
;
}
}
void
on_button_chapter_prev_clicked
(
GtkButton
*
button
,
gpointer
user_data
)
...
...
@@ -170,11 +218,14 @@ on_button_chapter_prev_clicked (GtkButton *button,
p_intf
=
GetIntf
(
GTK_WIDGET
(
button
),
"intf_window"
);
p_area
=
p_intf
->
p_input
->
stream
.
p_selected_area
;
if
(
p_area
->
i_part
-
1
>=
0
)
if
(
p_area
->
i_part
>
0
)
{
p_area
->
i_part
--
;
p_intf
->
p_input
->
pf_set_area
(
p_intf
->
p_input
,
(
input_area_t
*
)
p_area
);
input_SetStatus
(
p_intf
->
p_input
,
INPUT_STATUS_PLAY
);
p_intf
->
p_sys
->
b_menus_update
=
1
;
}
}
...
...
@@ -189,11 +240,14 @@ on_button_chapter_next_clicked (GtkButton *button,
p_intf
=
GetIntf
(
GTK_WIDGET
(
button
),
"intf_window"
);
p_area
=
p_intf
->
p_input
->
stream
.
p_selected_area
;
if
(
p_area
->
i_part
+
1
<
p_area
->
i_part_nb
)
if
(
p_area
->
i_part
<
p_area
->
i_part_nb
)
{
p_area
->
i_part
++
;
p_intf
->
p_input
->
pf_set_area
(
p_intf
->
p_input
,
(
input_area_t
*
)
p_area
);
input_SetStatus
(
p_intf
->
p_input
,
INPUT_STATUS_PLAY
);
p_intf
->
p_sys
->
b_menus_update
=
1
;
}
}
...
...
@@ -278,13 +332,13 @@ void
on_menubar_audio_toggle
(
GtkCheckMenuItem
*
menuitem
,
gpointer
user_data
)
{
intf_thread_t
*
p_intf
=
GetIntf
(
GTK_WIDGET
(
menuitem
),
"intf_window"
)
;
intf_thread_t
*
p_intf
;
es_descriptor_t
*
p_es
;
p_es
=
(
es_descriptor_t
*
)
user_data
;
if
(
p_intf
->
p_sys
->
b_menus_ready
)
if
(
!
p_intf
->
p_sys
->
b_menus_update
)
{
p_es
=
(
es_descriptor_t
*
)
user_data
;
input_ToggleES
(
p_intf
->
p_input
,
p_es
,
menuitem
->
active
);
}
}
...
...
@@ -294,13 +348,15 @@ void
on_menubar_subtitle_toggle
(
GtkCheckMenuItem
*
menuitem
,
gpointer
user_data
)
{
intf_thread_t
*
p_intf
=
GetIntf
(
GTK_WIDGET
(
menuitem
),
"intf_window"
)
;
intf_thread_t
*
p_intf
;
es_descriptor_t
*
p_es
;
p_
es
=
(
es_descriptor_t
*
)
user_data
;
p_
intf
=
GetIntf
(
GTK_WIDGET
(
menuitem
),
"intf_window"
)
;
if
(
p_intf
->
p_sys
->
b_menus_
ready
)
if
(
!
p_intf
->
p_sys
->
b_menus_
update
)
{
p_es
=
(
es_descriptor_t
*
)
user_data
;
input_ToggleES
(
p_intf
->
p_input
,
p_es
,
menuitem
->
active
);
}
}
...
...
@@ -310,14 +366,16 @@ void
on_menubar_title_toggle
(
GtkCheckMenuItem
*
menuitem
,
gpointer
user_data
)
{
intf_thread_t
*
p_intf
=
GetIntf
(
GTK_WIDGET
(
menuitem
),
"intf_window"
);
intf_thread_t
*
p_intf
=
GetIntf
(
GTK_WIDGET
(
menuitem
),
"intf_window"
);
if
(
menuitem
->
active
&&
p_intf
->
p_sys
->
b_menus_
ready
)
if
(
menuitem
->
active
&&
!
p_intf
->
p_sys
->
b_menus_
update
)
{
p_intf
->
p_input
->
pf_set_area
(
p_intf
->
p_input
,
(
input_area_t
*
)
user_data
);
p_intf
->
p_sys
->
b_menus_update
=
1
;
input_SetStatus
(
p_intf
->
p_input
,
INPUT_STATUS_PLAY
);
p_intf
->
p_sys
->
b_menus_update
=
1
;
}
}
...
...
@@ -329,14 +387,21 @@ on_menubar_chapter_toggle (GtkCheckMenuItem *menuitem,
intf_thread_t
*
p_intf
=
GetIntf
(
GTK_WIDGET
(
menuitem
),
"intf_window"
);
input_area_t
*
p_area
=
p_intf
->
p_input
->
stream
.
p_selected_area
;
gint
i_chapter
=
(
gint
)
user_data
;
char
psz_chapter
[
3
];
if
(
menuitem
->
active
&&
p_intf
->
p_sys
->
b_menus_
ready
)
if
(
menuitem
->
active
&&
!
p_intf
->
p_sys
->
b_menus_
update
)
{
p_area
->
i_part
=
i_chapter
;
p_intf
->
p_input
->
pf_set_area
(
p_intf
->
p_input
,
(
input_area_t
*
)
p_area
);
snprintf
(
psz_chapter
,
3
,
"%02d"
,
p_area
->
i_part
);
gtk_label_set_text
(
p_intf
->
p_sys
->
p_label_chapter
,
psz_chapter
);
input_SetStatus
(
p_intf
->
p_input
,
INPUT_STATUS_PLAY
);
p_intf
->
p_sys
->
b_menus_update
=
1
;
}
input_SetStatus
(
p_intf
->
p_input
,
INPUT_STATUS_PLAY
);
}
void
...
...
@@ -526,6 +591,8 @@ on_toolbar_prev_clicked (GtkButton *button,
intf_PlaylistPrev
(
p_main
->
p_playlist
);
p_intf
->
p_input
->
b_eof
=
1
;
}
p_intf
->
p_sys
->
b_mode_changed
=
1
;
}
...
...
@@ -540,48 +607,8 @@ on_toolbar_next_clicked (GtkButton *button,
/* FIXME: temporary hack */
p_intf
->
p_input
->
b_eof
=
1
;
}
}
void
on_toolbar_prev_title_clicked
(
GtkButton
*
button
,
gpointer
user_data
)
{
intf_thread_t
*
p_intf
;
input_area_t
*
p_area
;
int
i_id
;
p_intf
=
GetIntf
(
GTK_WIDGET
(
button
),
"intf_window"
);
i_id
=
p_intf
->
p_input
->
stream
.
p_selected_area
->
i_id
-
1
;
if
(
i_id
>=
0
)
{
p_area
=
p_intf
->
p_input
->
stream
.
pp_areas
[
i_id
];
p_intf
->
p_input
->
pf_set_area
(
p_intf
->
p_input
,
(
input_area_t
*
)
p_area
);
p_intf
->
p_sys
->
b_menus_update
=
1
;
input_SetStatus
(
p_intf
->
p_input
,
INPUT_STATUS_PLAY
);
}
}
void
on_toolbar_next_title_clicked
(
GtkButton
*
button
,
gpointer
user_data
)
{
intf_thread_t
*
p_intf
;
input_area_t
*
p_area
;
int
i_id
;
p_intf
=
GetIntf
(
GTK_WIDGET
(
button
),
"intf_window"
);
i_id
=
p_intf
->
p_input
->
stream
.
p_selected_area
->
i_id
+
1
;
if
(
i_id
<
p_intf
->
p_input
->
stream
.
i_area_nb
)
{
p_area
=
p_intf
->
p_input
->
stream
.
pp_areas
[
i_id
];
p_intf
->
p_input
->
pf_set_area
(
p_intf
->
p_input
,
(
input_area_t
*
)
p_area
);
p_intf
->
p_sys
->
b_menus_update
=
1
;
input_SetStatus
(
p_intf
->
p_input
,
INPUT_STATUS_PLAY
);
}
p_intf
->
p_sys
->
b_mode_changed
=
1
;
}
...
...
@@ -652,7 +679,7 @@ on_popup_audio_toggle (GtkCheckMenuItem *menuitem,
p_es
=
(
es_descriptor_t
*
)
user_data
;
if
(
p_intf
->
p_sys
->
b_menus_
ready
)
if
(
!
p_intf
->
p_sys
->
b_menus_
update
)
{
input_ToggleES
(
p_intf
->
p_input
,
p_es
,
menuitem
->
active
);
}
...
...
@@ -668,7 +695,7 @@ on_popup_subtitle_toggle (GtkCheckMenuItem *menuitem,
p_es
=
(
es_descriptor_t
*
)
user_data
;
if
(
p_intf
->
p_sys
->
b_menus_
ready
)
if
(
!
p_intf
->
p_sys
->
b_menus_
update
)
{
input_ToggleES
(
p_intf
->
p_input
,
p_es
,
menuitem
->
active
);
}
...
...
@@ -681,7 +708,7 @@ on_popup_navigation_toggle (GtkCheckMenuItem *menuitem,
{
intf_thread_t
*
p_intf
=
GetIntf
(
GTK_WIDGET
(
menuitem
),
"intf_popup"
);
if
(
menuitem
->
active
&&
p_intf
->
p_sys
->
b_menus_
ready
)
if
(
menuitem
->
active
&&
!
p_intf
->
p_sys
->
b_menus_
update
)
{
input_area_t
*
p_area
;
gint
i_title
;
...
...
@@ -690,16 +717,14 @@ on_popup_navigation_toggle (GtkCheckMenuItem *menuitem,
i_title
=
(
gint
)(
user_data
)
/
100
;
i_chapter
=
(
gint
)(
user_data
)
-
(
100
*
i_title
);
if
(
i_title
!=
p_intf
->
p_input
->
stream
.
p_selected_area
->
i_id
)
{
p_intf
->
p_sys
->
b_menus_update
=
1
;
}
p_area
=
p_intf
->
p_input
->
stream
.
pp_areas
[
i_title
];
p_area
->
i_part
=
i_chapter
;
p_intf
->
p_input
->
pf_set_area
(
p_intf
->
p_input
,
(
input_area_t
*
)
p_area
);
input_SetStatus
(
p_intf
->
p_input
,
INPUT_STATUS_PLAY
);
p_intf
->
p_sys
->
b_menus_update
=
1
;
}
}
...
...
@@ -793,6 +818,8 @@ void
on_fileopen_ok_clicked
(
GtkButton
*
button
,
gpointer
user_data
)
{
intf_thread_t
*
p_intf
=
GetIntf
(
GTK_WIDGET
(
button
),
"intf_fileopen"
);
GtkWidget
*
filesel
;
gchar
*
filename
;
...
...
@@ -801,6 +828,13 @@ on_fileopen_ok_clicked (GtkButton *button,
filename
=
gtk_file_selection_get_filename
(
GTK_FILE_SELECTION
(
filesel
));
intf_PlaylistAdd
(
p_main
->
p_playlist
,
PLAYLIST_END
,
(
char
*
)
filename
);
/* Select added item and switch to file interface */
intf_PlaylistJumpto
(
p_main
->
p_playlist
,
p_main
->
p_playlist
->
i_size
-
2
);
if
(
p_intf
->
p_input
!=
NULL
)
p_intf
->
p_input
->
b_eof
=
1
;
p_intf
->
p_sys
->
i_intf_mode
=
FILE_MODE
;
p_intf
->
p_sys
->
b_mode_changed
=
1
;
}
...
...
@@ -937,7 +971,6 @@ on_disc_ok_clicked (GtkButton *button,
{
psz_method
=
"dvd"
;
p_intf
->
p_sys
->
i_intf_mode
=
DVD_MODE
;
p_intf
->
p_sys
->
b_mode_changed
=
1
;
}
else
if
(
GTK_TOGGLE_BUTTON
(
lookup_widget
(
GTK_WIDGET
(
button
),
"disc_vcd"
)
)
->
active
)
...
...
@@ -965,6 +998,12 @@ on_disc_ok_clicked (GtkButton *button,
intf_PlaylistAdd
(
p_main
->
p_playlist
,
PLAYLIST_END
,
psz_source
);
free
(
psz_source
);
/* Select added item and switch to DVD interface */
intf_PlaylistJumpto
(
p_main
->
p_playlist
,
p_main
->
p_playlist
->
i_size
-
2
);
if
(
p_intf
->
p_input
!=
NULL
)
p_intf
->
p_input
->
b_eof
=
1
;
p_intf
->
p_sys
->
b_mode_changed
=
1
;
gtk_widget_hide
(
p_intf
->
p_sys
->
p_disc
);
}
...
...
@@ -1030,6 +1069,13 @@ on_network_ok_clicked (GtkButton *button,
intf_PlaylistAdd
(
p_main
->
p_playlist
,
PLAYLIST_END
,
psz_source
);
free
(
psz_source
);
/* Select added item and switch to network interface */
intf_PlaylistJumpto
(
p_main
->
p_playlist
,
p_main
->
p_playlist
->
i_size
-
2
);
if
(
p_intf
->
p_input
!=
NULL
)
p_intf
->
p_input
->
b_eof
=
1
;
p_intf
->
p_sys
->
b_mode_changed
=
1
;
p_intf
->
p_sys
->
i_intf_mode
=
NET_MODE
;
gtk_widget_hide
(
p_intf
->
p_sys
->
p_network
);
}
...
...
plugins/gnome/gnome_callbacks.h
View file @
72ca0539
...
...
@@ -2,7 +2,7 @@
* gnome_callbacks.h : Callbacks for the Gnome plugin.
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
* $Id: gnome_callbacks.h,v 1.1
3
2001/04/0
3
0
3:39
:4
1
stef Exp $
* $Id: gnome_callbacks.h,v 1.1
4
2001/04/0
8
0
7:24
:4
7
stef Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
...
...
@@ -86,14 +86,6 @@ void
on_toolbar_next_clicked
(
GtkButton
*
button
,
gpointer
user_data
);
void
on_toolbar_prev_title_clicked
(
GtkButton
*
button
,
gpointer
user_data
);
void
on_toolbar_next_title_clicked
(
GtkButton
*
button
,
gpointer
user_data
);
void
on_popup_play_activate
(
GtkMenuItem
*
menuitem
,
gpointer
user_data
);
...
...
@@ -289,3 +281,11 @@ on_button_chapter_prev_clicked (GtkButton *button,
void
on_button_chapter_next_clicked
(
GtkButton
*
button
,
gpointer
user_data
);
void
on_button_title_prev_clicked
(
GtkButton
*
button
,
gpointer
user_data
);
void
on_button_title_next_clicked
(
GtkButton
*
button
,
gpointer
user_data
);
plugins/gnome/gnome_interface.c
View file @
72ca0539
...
...
@@ -140,12 +140,27 @@ create_intf_window (void)
GtkWidget
*
label_status
;
GtkWidget
*
label_bar
;
GtkWidget
*
slider
;
GtkWidget
*
file_box
;
GtkWidget
*
label_file
;
GtkWidget
*
dvd_box
;
GtkWidget
*
title_chapter_box
;
GtkWidget
*
label19
;
GtkWidget
*
label_title
;
GtkWidget
*
hbox6
;
GtkWidget
*
button_chapter_prev
;
GtkWidget
*
button_title_prev
;
GtkWidget
*
button_title_next
;
GtkWidget
*
dvd_chapter_box
;
GtkWidget
*
label20
;
GtkWidget
*
label_chapter
;
GtkWidget
*
button_chapter_prev
;
GtkWidget
*
button_chapter_next
;
GtkWidget
*
network_box
;
GtkWidget
*
label_network
;
GtkWidget
*
button_network_channel_1
;
GtkWidget
*
button_network_channel_2
;
GtkWidget
*
button_network_channel_3
;
GtkWidget
*
button_network_channel_4
;
GtkWidget
*
button_network_channel_5
;
GtkWidget
*
button_network_channel_6
;
GtkWidget
*
appbar
;
GtkTooltips
*
tooltips
;
...
...
@@ -471,51 +486,173 @@ create_intf_window (void)
gtk_scale_set_draw_value
(
GTK_SCALE
(
slider
),
FALSE
);
gtk_scale_set_digits
(
GTK_SCALE
(
slider
),
3
);