Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
1577ef79
Commit
1577ef79
authored
Aug 21, 2004
by
Gildas Bazin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* modules/gui/wxwindows/*: updated open disc dialog.
parent
9b67ddf0
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
86 additions
and
120 deletions
+86
-120
modules/gui/wxwindows/open.cpp
modules/gui/wxwindows/open.cpp
+81
-117
modules/gui/wxwindows/wxwindows.h
modules/gui/wxwindows/wxwindows.h
+5
-3
No files found.
modules/gui/wxwindows/open.cpp
View file @
1577ef79
...
...
@@ -61,6 +61,7 @@ enum
DiscDevice_Event
,
DiscTitle_Event
,
DiscChapter_Event
,
DiscSub_Event
,
NetType_Event
,
NetRadio1_Event
,
NetRadio2_Event
,
NetRadio3_Event
,
NetRadio4_Event
,
...
...
@@ -98,6 +99,8 @@ BEGIN_EVENT_TABLE(OpenDialog, wxDialog)
EVT_SPINCTRL
(
DiscTitle_Event
,
OpenDialog
::
OnDiscPanelChange
)
EVT_TEXT
(
DiscChapter_Event
,
OpenDialog
::
OnDiscPanelChange
)
EVT_SPINCTRL
(
DiscChapter_Event
,
OpenDialog
::
OnDiscPanelChange
)
EVT_TEXT
(
DiscSub_Event
,
OpenDialog
::
OnDiscPanelChange
)
EVT_SPINCTRL
(
DiscSub_Event
,
OpenDialog
::
OnDiscPanelChange
)
/* Events generated by the net panel */
EVT_RADIOBUTTON
(
NetRadio1_Event
,
OpenDialog
::
OnNetTypeChange
)
...
...
@@ -631,7 +634,6 @@ wxPanel *OpenDialog::DiscPanel( wxWindow* parent )
disc_title_label
=
new
wxStaticText
(
panel
,
-
1
,
wxU
(
_
(
"Title"
))
);
disc_title
=
new
wxSpinCtrl
(
panel
,
DiscTitle_Event
);
sizer
->
Add
(
disc_title_label
,
0
,
wxALIGN_LEFT
|
wxALIGN_CENTER_VERTICAL
);
sizer
->
Add
(
disc_title
,
1
,
wxALIGN_LEFT
|
wxALIGN_CENTER_VERTICAL
);
...
...
@@ -640,6 +642,15 @@ wxPanel *OpenDialog::DiscPanel( wxWindow* parent )
sizer
->
Add
(
disc_chapter_label
,
0
,
wxALIGN_LEFT
|
wxALIGN_CENTER_VERTICAL
);
sizer
->
Add
(
disc_chapter
,
1
,
wxALIGN_LEFT
|
wxALIGN_CENTER_VERTICAL
);
disc_sub_label
=
new
wxStaticText
(
panel
,
-
1
,
wxU
(
_
(
"Subtitles track"
))
);
disc_sub
=
new
wxSpinCtrl
(
panel
,
DiscSub_Event
);
sizer
->
Add
(
disc_sub_label
,
0
,
wxALIGN_LEFT
|
wxALIGN_CENTER_VERTICAL
);
sizer
->
Add
(
disc_sub
,
1
,
wxALIGN_LEFT
|
wxALIGN_CENTER_VERTICAL
);
disc_sub
->
SetRange
(
-
1
,
255
);
i_disc_sub
=
config_GetInt
(
p_intf
,
"spu-channel"
);
disc_sub
->
SetValue
(
i_disc_sub
);
sizer_row
->
Add
(
sizer
,
0
,
wxEXPAND
|
wxALL
,
5
);
panel
->
SetSizerAndFit
(
sizer_row
);
...
...
@@ -766,89 +777,63 @@ void OpenDialog::UpdateMRL( int i_access_method )
//mrltemp = wxT("file") + demux + wxT(":") + file_combo->GetValue();
mrltemp
=
file_combo
->
GetValue
();
break
;
case
DISC_ACCESS
:
i_disc_type_selection
=
disc_type
->
GetSelection
();
i_disc_type_selection
=
disc_type
->
GetSelection
();
switch
(
i_disc_type_selection
)
switch
(
i_disc_type_selection
)
{
case
0
:
/* DVD with menus */
disc_chapter
->
Enable
();
disc_chapter_label
->
Enable
();
mrltemp
=
wxT
(
"dvd://"
)
+
disc_device
->
GetValue
()
+
wxString
::
Format
(
wxT
(
"@%d:%d"
),
disc_title
->
GetValue
(),
disc_chapter
->
GetValue
()
);
break
;
case
1
:
/* DVD without menus */
disc_chapter
->
Enable
();
disc_chapter_label
->
Enable
();
mrltemp
=
wxT
(
"dvdsimple://"
)
+
disc_device
->
GetValue
()
+
wxString
::
Format
(
wxT
(
"@%d:%d"
),
disc_title
->
GetValue
(),
disc_chapter
->
GetValue
()
);
break
;
if
(
i_disc_type_selection
==
0
)
mrltemp
=
wxT
(
"dvd://"
)
+
disc_device
->
GetValue
();
else
mrltemp
=
wxT
(
"dvdsimple://"
)
+
disc_device
->
GetValue
();
if
(
i_disc_title
>
0
)
{
mrltemp
+=
wxString
::
Format
(
wxT
(
"@%d"
),
i_disc_title
);
if
(
i_disc_chapter
>
0
)
mrltemp
+=
wxString
::
Format
(
wxT
(
":%d"
),
i_disc_chapter
);
}
if
(
i_disc_sub
>=
0
)
mrltemp
+=
wxString
::
Format
(
wxT
(
" :spu-channel=%d"
),
i_disc_sub
);
break
;
case
2
:
/* VCD of some sort */
{
/* The chapter object is used for subtitles */
int
i_subtitle
=
disc_chapter
->
GetValue
();
config_PutInt
(
p_intf
,
"spu-channel"
,
i_subtitle
);
disc_chapter
->
Enable
();
disc_chapter_label
->
Enable
();
#ifdef HAVE_VCDX
if
(
disc_title
->
GetValue
()
)
mrltemp
=
wxT
(
"vcdx://"
)
+
disc_device
->
GetValue
()
+
wxString
::
Format
(
wxT
(
"@%c%d"
),
mrltemp
=
wxT
(
"vcdx://"
)
+
disc_device
->
GetValue
();
if
(
i_disc_title
>
0
)
mrltemp
+=
wxString
::
Format
(
wxT
(
"@%c%d"
),
config_GetInt
(
p_intf
,
"vcdx-PBC"
)
?
'P'
:
'E'
,
disc_title
->
GetValue
()
);
else
mrltemp
=
wxT
(
"vcdx://"
)
+
disc_device
->
GetValue
();
?
'P'
:
'E'
,
i_disc_title
);
#else
mrltemp
=
wxT
(
"vcd://"
)
+
disc_device
->
GetValue
()
+
wxString
::
Format
(
wxT
(
"@%d"
),
disc_title
->
GetValue
()
);
mrltemp
=
wxT
(
"vcd://"
)
+
disc_device
->
GetValue
();
if
(
i_disc_title
>
0
)
mrltemp
+=
wxString
::
Format
(
wxT
(
"@%d"
),
i_disc_title
);
#endif
break
;
}
case
3
:
/* CD-DA */
disc_chapter
->
Disable
();
disc_chapter_label
->
Disable
();
#ifdef HAVE_CDDAX
if
(
disc_title
->
GetValue
()
)
mrltemp
=
wxT
(
"cddax://"
)
+
disc_device
->
GetValue
()
+
wxString
::
Format
(
wxT
(
"@T%d"
),
disc_title
->
GetValue
()
);
else
mrltemp
=
wxT
(
"cddax://"
)
+
disc_device
->
GetValue
();
if
(
i_disc_sub
>=
0
)
mrltemp
+=
wxString
::
Format
(
wxT
(
" :spu-channel=%d"
),
i_disc_sub
);
break
;
#else
mrltemp
=
wxT
(
"cdda://"
)
+
disc_device
->
GetValue
()
+
wxString
::
Format
(
wxT
(
"@%d"
),
disc_title
->
GetValue
()
);
#endif
break
;
case
3
:
/* CD-DA */
mrltemp
=
wxT
(
"cdda://"
)
+
disc_device
->
GetValue
();
if
(
i_disc_title
>
0
)
mrltemp
+=
wxString
::
Format
(
wxT
(
"@%d"
),
i_disc_title
);
break
;
default:
;
msg_Err
(
p_intf
,
"invalid selection (%d)"
,
disc_type
->
GetSelection
()
);
default:
msg_Err
(
p_intf
,
"invalid selection (%d)"
,
disc_type
->
GetSelection
()
);
}
break
;
case
NET_ACCESS
:
switch
(
i_net_type
)
{
...
...
@@ -1089,6 +1074,10 @@ void OpenDialog::OnFileBrowse( wxCommandEvent& WXUNUSED(event) )
*****************************************************************************/
void
OpenDialog
::
OnDiscPanelChange
(
wxCommandEvent
&
event
)
{
if
(
event
.
GetId
()
==
DiscTitle_Event
)
i_disc_title
=
event
.
GetInt
();
if
(
event
.
GetId
()
==
DiscChapter_Event
)
i_disc_chapter
=
event
.
GetInt
();
if
(
event
.
GetId
()
==
DiscSub_Event
)
i_disc_sub
=
event
.
GetInt
();
UpdateMRL
(
DISC_ACCESS
);
}
...
...
@@ -1124,93 +1113,68 @@ void OpenDialog::OnDiscDeviceChange( wxCommandEvent& event )
void
OpenDialog
::
OnDiscTypeChange
(
wxCommandEvent
&
WXUNUSED
(
event
)
)
{
char
*
psz_device
=
NULL
;
int
i_selection
=
1
;
/* Default Title/Track selection number*/
switch
(
disc_type
->
GetSelection
()
)
{
case
0
:
/* DVD with menus */
case
4
:
/* DVD with menus (dvdnav) */
i_selection
=
0
;
/* Fall through... */
case
1
:
/* DVD of some sort */
case
1
:
/* DVD without menus */
disc_sub
->
Enable
();
disc_sub_label
->
Enable
();
disc_chapter
->
Enable
();
disc_chapter_label
->
Enable
();
disc_title_label
->
SetLabel
(
wxU
(
_
(
"Title"
))
);
psz_device
=
config_GetPsz
(
p_intf
,
"dvd"
);
if
(
!
b_disc_device_changed
)
{
if
(
psz_device
)
disc_device
->
SetValue
(
wxL2U
(
psz_device
)
);
else
disc_device
->
SetValue
(
wxT
(
""
)
);
disc_title_label
->
SetLabel
(
wxU
(
_
(
"Title"
))
);
if
(
psz_device
)
disc_device
->
SetValue
(
wxL2U
(
psz_device
)
);
else
disc_device
->
SetValue
(
wxT
(
""
)
);
}
disc_title
->
SetRange
(
i_selection
,
255
);
disc_title
->
SetValue
(
i_selection
);
disc_chapter
->
SetRange
(
1
,
255
);
disc_chapter
->
SetValue
(
1
);
disc_chapter_label
->
SetLabel
(
wxU
(
_
(
"Chapter"
))
);
disc_title
->
SetRange
(
0
,
255
);
disc_chapter
->
SetRange
(
0
,
255
);
break
;
case
2
:
/* VCD of some sort */
disc_sub
->
Enable
();
disc_sub_label
->
Enable
();
disc_chapter
->
Disable
();
disc_chapter_label
->
Disable
();
psz_device
=
config_GetPsz
(
p_intf
,
"vcd"
);
if
(
!
b_disc_device_changed
)
{
if
(
psz_device
)
disc_device
->
SetValue
(
wxL2U
(
psz_device
)
);
else
disc_device
->
SetValue
(
wxT
(
""
)
);
if
(
psz_device
)
disc_device
->
SetValue
(
wxL2U
(
psz_device
)
);
else
disc_device
->
SetValue
(
wxT
(
""
)
);
}
/* There are at most 98, tracks in a VCD, 999 Segments, 500 entries
I don't know what the limit is for LIDs, 999 is probably safe
though.
FIXME: it would be better however to get the information for
this particular Media possibly from the General Info area.
*/
#ifdef HAVE_VCDX
disc_title_label
->
SetLabel
(
config_GetInt
(
p_intf
,
"vcdx-PBC"
)
?
wxT
(
"Playback LID"
)
:
wxT
(
"Entry"
)
);
disc_title
->
SetRange
(
0
,
999
);
i_selection
=
0
;
#else
disc_title_label
->
SetLabel
(
wxU
(
_
(
"Track"
))
);
disc_title
->
SetRange
(
1
,
98
);
#endif
disc_title
->
SetValue
(
i_selection
);
/* We use the chapter to set subtitle number */
disc_chapter_label
->
SetLabel
(
wxU
(
_
(
"Subtitle"
))
);
disc_chapter
->
SetRange
(
-
1
,
4
);
disc_chapter
->
SetValue
(
config_GetInt
(
p_intf
,
"spu-channel"
)
);
disc_title
->
SetRange
(
0
,
999
);
break
;
case
3
:
/* CD-DA */
disc_sub
->
Disable
();
disc_sub_label
->
Disable
();
disc_chapter
->
Disable
();
disc_chapter_label
->
Disable
();
disc_title_label
->
SetLabel
(
wxU
(
_
(
"Track"
))
);
psz_device
=
config_GetPsz
(
p_intf
,
"cd-audio"
);
if
(
!
b_disc_device_changed
)
{
if
(
psz_device
)
disc_device
->
SetValue
(
wxL2U
(
psz_device
)
);
else
disc_device
->
SetValue
(
wxT
(
""
)
);
if
(
psz_device
)
disc_device
->
SetValue
(
wxL2U
(
psz_device
)
);
else
disc_device
->
SetValue
(
wxT
(
""
)
);
}
disc_title_label
->
SetLabel
(
wxU
(
_
(
"Track"
))
);
#ifdef HAVE_CDDAX
i_selection
=
0
;
#endif
/* There are at most 99 tracks in a CD-DA */
disc_title
->
SetRange
(
i_selection
,
99
);
disc_title
->
SetValue
(
i_selection
);
/* There are at most 99 tracks in a CD-DA */
disc_title
->
SetRange
(
0
,
99
);
break
;
default:
msg_Err
(
p_intf
,
"invalid Disc type selection (%d)"
,
disc_type
->
GetSelection
()
);
break
;
}
disc_title
->
SetValue
(
0
);
i_disc_title
=
0
;
disc_chapter
->
SetValue
(
0
);
i_disc_chapter
=
0
;
if
(
psz_device
)
free
(
psz_device
);
UpdateMRL
(
DISC_ACCESS
);
...
...
modules/gui/wxwindows/wxwindows.h
View file @
1577ef79
...
...
@@ -441,13 +441,15 @@ private:
/* Controls for the disc panel */
wxRadioBox
*
disc_type
;
wxTextCtrl
*
disc_device
;
wxSpinCtrl
*
disc_title
;
wxSpinCtrl
*
disc_chapter
;
wxSpinCtrl
*
disc_title
;
int
i_disc_title
;
wxSpinCtrl
*
disc_chapter
;
int
i_disc_chapter
;
wxSpinCtrl
*
disc_sub
;
int
i_disc_sub
;
/* The media equivalent name for a DVD names. For example,
"Title", is "Track" for a CD-DA */
*
"Title", is "Track" for a CD-DA */
wxStaticText
*
disc_title_label
;
wxStaticText
*
disc_chapter_label
;
wxStaticText
*
disc_sub_label
;
/* Indicates if the disc device control was modified */
bool
b_disc_device_changed
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment