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
c5bd872c
Commit
c5bd872c
authored
Oct 10, 2002
by
Eric Petit
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Some clean-up. Playlist works again.
parent
ae6f2253
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
188 additions
and
177 deletions
+188
-177
modules/gui/beos/Interface.cpp
modules/gui/beos/Interface.cpp
+12
-8
modules/gui/beos/InterfaceWindow.cpp
modules/gui/beos/InterfaceWindow.cpp
+47
-42
modules/gui/beos/PlayListWindow.cpp
modules/gui/beos/PlayListWindow.cpp
+8
-6
modules/gui/beos/PlayListWindow.h
modules/gui/beos/PlayListWindow.h
+10
-7
modules/gui/beos/VlcWrapper.cpp
modules/gui/beos/VlcWrapper.cpp
+102
-109
modules/gui/beos/VlcWrapper.h
modules/gui/beos/VlcWrapper.h
+9
-5
No files found.
modules/gui/beos/Interface.cpp
View file @
c5bd872c
...
...
@@ -2,7 +2,7 @@
* intf_beos.cpp: beos interface
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: Interface.cpp,v 1.
2 2002/09/30 18:30:27
titer Exp $
* $Id: Interface.cpp,v 1.
3 2002/10/10 23:11:52
titer Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
...
...
@@ -71,6 +71,10 @@ int E_(OpenIntf) ( vlc_object_t *p_this )
}
p_intf
->
p_sys
->
p_input
=
NULL
;
p_intf
->
p_sys
->
p_vlc_wrapper
=
new
Intf_VLCWrapper
(
p_intf
);
p_intf
->
p_sys
->
p_playlist
=
(
playlist_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
p_intf
->
pf_run
=
Run
;
...
...
@@ -124,6 +128,13 @@ static void Run( intf_thread_t *p_intf )
{
while
(
!
p_intf
->
b_die
)
{
if
(
p_intf
->
p_sys
->
p_input
==
NULL
)
{
p_intf
->
p_sys
->
p_input
=
(
input_thread_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_INPUT
,
FIND_ANYWHERE
);
}
/* Update the input */
if
(
p_intf
->
p_sys
->
p_input
!=
NULL
)
{
...
...
@@ -135,13 +146,6 @@ static void Run( intf_thread_t *p_intf )
/* Manage the slider */
p_intf
->
p_sys
->
p_window
->
updateInterface
();
}
if
(
p_intf
->
p_sys
->
p_input
==
NULL
)
{
p_intf
->
p_sys
->
p_input
=
(
input_thread_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_INPUT
,
FIND_ANYWHERE
);
}
/* Wait a bit */
msleep
(
INTF_IDLE_SLEEP
);
...
...
modules/gui/beos/InterfaceWindow.cpp
View file @
c5bd872c
...
...
@@ -2,7 +2,7 @@
* InterfaceWindow.cpp: beos interface
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: InterfaceWindow.cpp,v 1.
2 2002/09/30 18:30:27
titer Exp $
* $Id: InterfaceWindow.cpp,v 1.
3 2002/10/10 23:11:52
titer Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
...
...
@@ -67,11 +67,16 @@ InterfaceWindow::InterfaceWindow( BRect frame, const char *name,
fSettings
(
new
BMessage
(
'
sett
'
)
)
{
p_intf
=
p_interface
;
p_vlc_wrapper
=
p_vlc_wrapper
->
getVLCWrapper
(
p_intf
);
playlist_t
*
p_playlist
=
(
playlist_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
fPlaylistIsEmpty
=
(
p_playlist
->
i_size
<
0
);
fPlaylistWindow
=
new
PlayListWindow
(
BRect
(
20.0
,
20.0
,
170.0
,
320.0
),
"Playlist"
,
p_playlist
,
this
,
p_intf
);
// set the title bar
SetName
(
"interface"
);
SetTitle
(
VOUT_TITLE
);
...
...
@@ -199,7 +204,7 @@ InterfaceWindow::FrameResized(float width, float height)
void
InterfaceWindow
::
MessageReceived
(
BMessage
*
p_message
)
{
int
playback_status
;
// remember playback state
playback_status
=
p_vlc_wrapper
->
inputGetStatus
();
playback_status
=
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
inputGetStatus
();
switch
(
p_message
->
what
)
{
...
...
@@ -241,7 +246,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
if
(
p_message
->
FindString
(
"device"
,
&
psz_device
)
==
B_OK
)
{
BString
device
(
psz_device
);
p_vlc_wrapper
->
openDisc
(
type
,
device
,
0
,
0
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
openDisc
(
type
,
device
,
0
,
0
);
}
_UpdatePlaylist
();
}
...
...
@@ -251,9 +256,9 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
// this currently stops playback not nicely
if
(
playback_status
>
UNDEF_S
)
{
p_vlc_wrapper
->
volume_mute
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
volume_mute
();
snooze
(
400000
);
p_vlc_wrapper
->
playlistStop
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
playlistStop
();
p_mediaControl
->
SetStatus
(
NOT_STARTED_S
,
DEFAULT_RATE
);
}
break
;
...
...
@@ -268,20 +273,20 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
/* pause if currently playing */
if
(
playback_status
==
PLAYING_S
)
{
p_vlc_wrapper
->
volume_mute
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
volume_mute
();
snooze
(
400000
);
p_vlc_wrapper
->
playlistPause
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
playlistPause
();
}
else
{
p_vlc_wrapper
->
volume_restore
();
p_vlc_wrapper
->
playlistPlay
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
volume_restore
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
playlistPlay
();
}
}
else
{
/* Play a new file */
p_vlc_wrapper
->
playlistPlay
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
playlistPlay
();
}
break
;
...
...
@@ -289,9 +294,9 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
/* cycle the fast playback modes */
if
(
playback_status
>
UNDEF_S
)
{
p_vlc_wrapper
->
volume_mute
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
volume_mute
();
snooze
(
400000
);
p_vlc_wrapper
->
playFaster
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
playFaster
();
}
break
;
...
...
@@ -299,9 +304,9 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
/* cycle the slow playback modes */
if
(
playback_status
>
UNDEF_S
)
{
p_vlc_wrapper
->
volume_mute
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
volume_mute
();
snooze
(
400000
);
p_vlc_wrapper
->
playSlower
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
playSlower
();
}
break
;
...
...
@@ -309,8 +314,8 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
/* restore speed to normal if already playing */
if
(
playback_status
>
UNDEF_S
)
{
p_vlc_wrapper
->
volume_restore
();
p_vlc_wrapper
->
playlistPlay
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
volume_restore
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
playlistPlay
();
}
break
;
...
...
@@ -322,15 +327,15 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
/* adjust the volume */
if
(
playback_status
>
UNDEF_S
)
{
p_vlc_wrapper
->
set_volume
(
p_mediaControl
->
GetVolume
()
);
p_mediaControl
->
SetMuted
(
p_vlc_wrapper
->
is_muted
()
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
set_volume
(
p_mediaControl
->
GetVolume
()
);
p_mediaControl
->
SetMuted
(
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
is_muted
()
);
}
break
;
case
VOLUME_MUTE
:
// toggle muting
p_vlc_wrapper
->
toggle_mute
();
p_mediaControl
->
SetMuted
(
p_vlc_wrapper
->
is_muted
()
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
toggle_mute
();
p_mediaControl
->
SetMuted
(
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
is_muted
()
);
break
;
case
SELECT_CHANNEL
:
...
...
@@ -339,14 +344,14 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
int32
channel
;
if
(
p_message
->
FindInt32
(
"channel"
,
&
channel
)
==
B_OK
)
{
p_vlc_wrapper
->
toggleLanguage
(
channel
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
toggleLanguage
(
channel
);
// vlc seems to remember the volume for every channel,
// but I would assume that to be somewhat annoying to the user
// the next call will also unmute the volume, which is probably
// desired as well, because if the user selects another language,
// he probably wants to hear the change as well
snooze
(
400000
);
// we have to wait a bit, or the change will be reverted
p_vlc_wrapper
->
set_volume
(
p_mediaControl
->
GetVolume
()
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
set_volume
(
p_mediaControl
->
GetVolume
()
);
}
}
break
;
...
...
@@ -356,7 +361,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
{
int32
subtitle
;
if
(
p_message
->
FindInt32
(
"subtitle"
,
&
subtitle
)
==
B_OK
)
p_vlc_wrapper
->
toggleSubtitle
(
subtitle
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
toggleSubtitle
(
subtitle
);
}
break
;
...
...
@@ -369,7 +374,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
/* Disallow area 0 since it is used for video_ts.vob */
if
(
i_id
>
0
)
{
p_vlc_wrapper
->
toggleTitle
(
i_id
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
toggleTitle
(
i_id
);
}
break
;
}
...
...
@@ -381,7 +386,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
if
(
i_id
<
p_intf
->
p_sys
->
p_input
->
stream
.
i_area_nb
)
{
p_vlc_wrapper
->
toggleTitle
(
i_id
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
toggleTitle
(
i_id
);
}
break
;
}
...
...
@@ -390,7 +395,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
{
int32
index
;
if
(
p_message
->
FindInt32
(
"index"
,
&
index
)
==
B_OK
)
p_vlc_wrapper
->
toggleTitle
(
index
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
toggleTitle
(
index
);
}
break
;
case
PREV_CHAPTER
:
...
...
@@ -401,7 +406,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
if
(
i_id
>=
0
)
{
p_vlc_wrapper
->
toggleChapter
(
i_id
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
toggleChapter
(
i_id
);
}
break
;
}
...
...
@@ -413,7 +418,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
if
(
i_id
>=
0
)
{
p_vlc_wrapper
->
toggleChapter
(
i_id
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
toggleChapter
(
i_id
);
}
break
;
}
...
...
@@ -422,21 +427,21 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
{
int32
index
;
if
(
p_message
->
FindInt32
(
"index"
,
&
index
)
==
B_OK
)
p_vlc_wrapper
->
toggleChapter
(
index
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
toggleChapter
(
index
);
}
break
;
case
PREV_FILE
:
p_vlc_wrapper
->
playlistPrev
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
playlistPrev
();
break
;
case
NEXT_FILE
:
p_vlc_wrapper
->
playlistNext
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
playlistNext
();
break
;
// general next/prev functionality (skips to whatever makes most sense)
case
NAVIGATE_PREV
:
p_vlc_wrapper
->
navigatePrev
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
navigatePrev
();
break
;
case
NAVIGATE_NEXT
:
p_vlc_wrapper
->
navigateNext
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
navigateNext
();
break
;
// drag'n'drop and system messages
case
B_REFS_RECEIVED
:
...
...
@@ -458,7 +463,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
files
.
AddItem
(
new
BString
(
(
char
*
)
path
.
Path
()
)
);
}
// give the list to VLC
p_vlc_wrapper
->
openFiles
(
&
files
,
replace
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
openFiles
(
&
files
,
replace
);
_UpdatePlaylist
();
}
break
;
...
...
@@ -477,9 +482,9 @@ bool InterfaceWindow::QuitRequested()
{
if
(
p_intf
->
p_sys
->
p_input
)
{
p_vlc_wrapper
->
volume_mute
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
volume_mute
();
snooze
(
400000
);
p_vlc_wrapper
->
playlistStop
();
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
playlistStop
();
p_mediaControl
->
SetStatus
(
NOT_STARTED_S
,
DEFAULT_RATE
);
}
...
...
@@ -500,7 +505,7 @@ void InterfaceWindow::updateInterface()
{
if
(
acquire_sem
(
p_mediaControl
->
fScrubSem
)
==
B_OK
)
{
p_vlc_wrapper
->
setTimeAsFloat
(
p_mediaControl
->
GetSeekTo
());
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
setTimeAsFloat
(
p_mediaControl
->
GetSeekTo
());
}
else
if
(
Lock
()
)
{
...
...
@@ -517,13 +522,13 @@ void InterfaceWindow::updateInterface()
// enable/disable skip buttons
bool
canSkipPrev
;
bool
canSkipNext
;
p_vlc_wrapper
->
getNavCapabilities
(
&
canSkipPrev
,
&
canSkipNext
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
getNavCapabilities
(
&
canSkipPrev
,
&
canSkipNext
);
p_mediaControl
->
SetSkippable
(
canSkipPrev
,
canSkipNext
);
if
(
p_vlc_wrapper
->
has_audio
()
)
if
(
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
has_audio
()
)
{
p_mediaControl
->
SetAudioEnabled
(
true
);
p_mediaControl
->
SetMuted
(
p_vlc_wrapper
->
is_muted
()
);
p_mediaControl
->
SetMuted
(
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
is_muted
()
);
}
else
p_mediaControl
->
SetAudioEnabled
(
false
);
...
...
@@ -659,7 +664,7 @@ InterfaceWindow::_InputStreamChanged()
//printf("InterfaceWindow::_InputStreamChanged()\n");
// TODO: move more stuff from updateInterface() here!
snooze
(
400000
);
p_vlc_wrapper
->
set_volume
(
p_mediaControl
->
GetVolume
()
);
p_
intf
->
p_sys
->
p_
vlc_wrapper
->
set_volume
(
p_mediaControl
->
GetVolume
()
);
}
/*****************************************************************************
...
...
modules/gui/beos/PlayListWindow.cpp
View file @
c5bd872c
...
...
@@ -2,7 +2,7 @@
* PlayListWindow.cpp: beos interface
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: PlayListWindow.cpp,v 1.
2 2002/09/30 18:30:27
titer Exp $
* $Id: PlayListWindow.cpp,v 1.
3 2002/10/10 23:11:52
titer Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
...
...
@@ -58,12 +58,14 @@ enum
*****************************************************************************/
PlayListWindow
::
PlayListWindow
(
BRect
frame
,
const
char
*
name
,
playlist_t
*
playlist
,
InterfaceWindow
*
mainWindow
)
InterfaceWindow
*
mainWindow
,
intf_thread_t
*
p_interface
)
:
BWindow
(
frame
,
name
,
B_FLOATING_WINDOW_LOOK
,
B_NORMAL_WINDOW_FEEL
,
B_WILL_ACCEPT_FIRST_CLICK
|
B_ASYNCHRONOUS_CONTROLS
),
fPlaylist
(
playlist
),
fMainWindow
(
mainWindow
)
{
this
->
p_intf
=
p_interface
;
SetName
(
"playlist"
);
// set up the main menu bar
...
...
@@ -222,7 +224,7 @@ void
PlayListWindow
::
ReallyQuit
()
{
Lock
();
Hide
();
Hide
();
Quit
();
}
...
...
@@ -232,7 +234,7 @@ PlayListWindow::ReallyQuit()
void
PlayListWindow
::
UpdatePlaylist
(
bool
rebuild
)
{
/*
if ( rebuild )
if
(
rebuild
)
{
// remove all items
int32
count
=
fListView
->
CountItems
();
...
...
@@ -241,8 +243,8 @@ PlayListWindow::UpdatePlaylist( bool rebuild )
// rebuild listview from VLC's playlist
for
(
int
i
=
0
;
i
<
fPlaylist
->
i_size
;
i
++
)
fListView->AddItem( new PlaylistItem( fPlaylist->p
_item[i].
psz_name ) );
fListView
->
AddItem
(
new
PlaylistItem
(
fPlaylist
->
p
p_items
[
i
]
->
psz_name
)
);
}
fListView
->
SetCurrent
(
fPlaylist
->
i_index
);
fListView->SetPlaying(
Intf_VLCWrapper::is_playing() ); */
fListView
->
SetPlaying
(
p_intf
->
p_sys
->
p_vlc_wrapper
->
is_playing
()
);
}
modules/gui/beos/PlayListWindow.h
View file @
c5bd872c
...
...
@@ -2,7 +2,7 @@
* PlayListWindow.h: BeOS interface window class prototype
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: PlayListWindow.h,v 1.
2 2002/09/30 18:30:27
titer Exp $
* $Id: PlayListWindow.h,v 1.
3 2002/10/10 23:11:52
titer Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Tony Castley <tcastley@mail.powerup.com.au>
...
...
@@ -40,7 +40,8 @@ class PlayListWindow : public BWindow
PlayListWindow
(
BRect
frame
,
const
char
*
name
,
playlist_t
*
playlist
,
InterfaceWindow
*
mainWindow
);
InterfaceWindow
*
mainWindow
,
intf_thread_t
*
p_interface
);
virtual
~
PlayListWindow
();
// BWindow
...
...
@@ -54,11 +55,13 @@ class PlayListWindow : public BWindow
private:
playlist_t
*
fPlaylist
;
PlaylistView
*
fListView
;
BView
*
fBackgroundView
;
BMenuBar
*
fMenuBar
;
InterfaceWindow
*
fMainWindow
;
playlist_t
*
fPlaylist
;
PlaylistView
*
fListView
;
BView
*
fBackgroundView
;
BMenuBar
*
fMenuBar
;
InterfaceWindow
*
fMainWindow
;
intf_thread_t
*
p_intf
;
};
#endif // BEOS_PLAY_LIST_WINDOW_H
...
...
modules/gui/beos/VlcWrapper.cpp
View file @
c5bd872c
...
...
@@ -2,7 +2,7 @@
* intf_vlc_wrapper.h: BeOS plugin for vlc (derived from MacOS X port )
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: VlcWrapper.cpp,v 1.
4 2002/09/30 18:30:27
titer Exp $
* $Id: VlcWrapper.cpp,v 1.
5 2002/10/10 23:11:52
titer Exp $
*
* Authors: Florian G. Pflug <fgp@phlo.org>
* Jon Lech Johansen <jon-vl@nanocrew.net>
...
...
@@ -28,22 +28,24 @@
#include <vlc/vlc.h>
#include <vlc/intf.h>
#include <audio_output.h>
#include <aout_internal.h>
#include "VlcWrapper.h"
Intf_VLCWrapper
*
Intf_VLCWrapper
::
getVLCWrapper
(
intf_thread_t
*
p_i
f
)
Intf_VLCWrapper
*
Intf_VLCWrapper
::
getVLCWrapper
(
intf_thread_t
*
p_i
nterface
)
{
static
Intf_VLCWrapper
*
one_wrapper
;
if
(
one_wrapper
==
NULL
)
{
one_wrapper
=
new
Intf_VLCWrapper
(
p_i
f
);
one_wrapper
=
new
Intf_VLCWrapper
(
p_i
nterface
);
}
return
one_wrapper
;
}
Intf_VLCWrapper
::
Intf_VLCWrapper
(
intf_thread_t
*
p_i
f
)
Intf_VLCWrapper
::
Intf_VLCWrapper
(
intf_thread_t
*
p_i
nterface
)
{
p_intf
=
p_i
f
;
p_intf
=
p_i
nterface
;
}
Intf_VLCWrapper
::~
Intf_VLCWrapper
()
...
...
@@ -53,34 +55,34 @@ Intf_VLCWrapper::~Intf_VLCWrapper()
#if 0
bool Intf_VLCWrapper::manage()
{
p_main->p_intf->pf_manage( p_main->p_intf );
/* p_main->p_intf->pf_manage( p_intf ); */
if ( p_
main->p_
intf->b_die )
if ( p_intf->b_die )
{
// exit the lot
return( 1 );
}
if ( p_in
put_bank->pp_input[0]
!= NULL )
if ( p_in
tf->p_sys->p_input
!= NULL )
{
vlc_mutex_lock( &p_in
put_bank->pp_input[0]
->stream.stream_lock );
if( !p_in
put_bank->pp_input[0]
->b_die )
vlc_mutex_lock( &p_in
tf->p_sys->p_input
->stream.stream_lock );
if( !p_in
tf->p_sys->p_input
->b_die )
{
/* New input or stream map change */
if( p_in
put_bank->pp_input[0]
->stream.b_changed ||
p_
main->p_
intf->p_sys->i_part !=
p_input_bank->pp_input[0]
->stream.p_selected_area->i_part )
if( p_in
tf->p_sys->p_input
->stream.b_changed ||
p_intf->p_sys->i_part !=
p_intf->p_sys->p_input
->stream.p_selected_area->i_part )
{
setupMenus();
p_
main->p_
intf->p_sys->b_disabled_menus = 0;
p_intf->p_sys->b_disabled_menus = 0;
}
}
vlc_mutex_unlock( &p_in
put_bank->pp_input[0]
->stream.stream_lock );
vlc_mutex_unlock( &p_in
tf->p_sys->p_input
->stream.stream_lock );
}
else if ( !p_
main->p_
intf->p_sys->b_disabled_menus )
else if ( !p_intf->p_sys->b_disabled_menus )
{
setupMenus();
p_
main->p_
intf->p_sys->b_disabled_menus = 1;
p_intf->p_sys->b_disabled_menus = 1;
}
return( 0 );
}
...
...
@@ -199,34 +201,33 @@ void Intf_VLCWrapper::playlistJumpTo( int pos )
int
Intf_VLCWrapper
::
playlistCurrentPos
()
{
/*
playlistLock();
int pos = p_
main
->p_playlist->i_index;
playlistLock
();
int
pos
=
p_
intf
->
p_sys
->
p_playlist
->
i_index
;
playlistUnlock
();
return pos;
*/
return
pos
;
}
int
Intf_VLCWrapper
::
playlistSize
()
{
/*
playlistLock();
int size = p_
main
->p_playlist->i_size;
playlistLock
();
int
size
=
p_
intf
->
p_sys
->
p_playlist
->
i_size
;
playlistUnlock
();
return size;
*/
return
size
;
}
void
Intf_VLCWrapper
::
playlistLock
()
{
/*vlc_mutex_lock( &p_main->p_playlist->change_lock );*/
vlc_mutex_lock
(
&
p_intf
->
p_sys
->
p_playlist
->
object_lock
);
}
void
Intf_VLCWrapper
::
playlistUnlock
()
{
/*vlc_mutex_unlock( &p_main->p_playlist->change_lock );*/
vlc_mutex_unlock
(
&
p_intf
->
p_sys
->
p_playlist
->
object_lock
);
}
void
Intf_VLCWrapper
::
getNavCapabilities
(
bool
*
canSkipPrev
,
bool
*
canSkipNext
)
{
#if 0
if
(
canSkipPrev
&&
canSkipNext
)
{
// init the parameters
...
...
@@ -234,11 +235,12 @@ void Intf_VLCWrapper::getNavCapabilities( bool* canSkipPrev,
*
canSkipNext
=
false
;
// get playlist info
playlistLock
();
int pos = p_
main
->p_playlist->i_index;
int size = p_
main
->p_playlist->i_size;
int
pos
=
p_
intf
->
p_sys
->
p_playlist
->
i_index
;
int
size
=
p_
intf
->
p_sys
->
p_playlist
->
i_size
;
playlistUnlock
();
input_thread_t* input = p_input_bank->pp_input[0];
/* input_thread_t* input = p_input_bank->pp_input[0]; */
input_thread_t
*
input
=
p_intf
->
p_sys
->
p_input
;
// see if we have got a stream going
if
(
input
)
{
...
...
@@ -269,7 +271,6 @@ void Intf_VLCWrapper::getNavCapabilities( bool* canSkipPrev,
if
(
!*
canSkipNext
)
*
canSkipNext
=
pos
<
size
-
1
;
}
#endif
}
void
Intf_VLCWrapper
::
navigatePrev
()
...
...
@@ -416,21 +417,18 @@ void Intf_VLCWrapper::navigateNext()
void
Intf_VLCWrapper
::
loop
()
{
#if 0
intf_thread_t * p_intf = p_main->p_intf;
if
(
p_intf
->
p_sys
->
b_loop
)
{
intf_PlaylistDelete( p_main
->p_playlist,
p_main
->p_playlist->i_size - 1 );
playlist_Delete
(
p_intf
->
p_sys
->
p_playlist
,
p_intf
->
p_sys
->
p_playlist
->
i_size
-
1
);
}
else
{
intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END,
"vlc:loop" );
playlist_Add
(
p_intf
->
p_sys
->
p_playlist
,
"vlc:loop"
,
PLAYLIST_APPEND
|
PLAYLIST_GO
,
PLAYLIST_END
);
}
p_intf
->
p_sys
->
b_loop
=
!
p_intf
->
p_sys
->
b_loop
;
#endif
}
...
...
@@ -469,110 +467,104 @@ void Intf_VLCWrapper::playFaster()
void
Intf_VLCWrapper
::
volume_mute
()
{
/*
if( p_aout_bank->i_count > 0
&& p_aout_bank->pp_aout[0] != NULL )
p_intf
->
p_sys
->
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
if
(
p_intf
->
p_sys
->
p_aout
!=
NULL
)
{
if( !p_
main->p_
intf->p_sys->b_mute )
if
(
!
p_intf
->
p_sys
->
b_mute
)
{
p_main->p_intf->p_sys->i_saved_volume =
p_aout_bank->pp_aout[0]->i_volume;
p_aout_bank->pp_aout[0]->i_volume = 0;
p_main->p_intf->p_sys->b_mute = 1;
p_intf
->
p_sys
->
i_saved_volume
=
p_intf
->
p_sys
->
p_aout
->
output
.
i_volume
;
p_intf
->
p_sys
->
p_aout
->
output
.
i_volume
=
0
;
p_intf
->
p_sys
->
b_mute
=
1
;
}
}
*/
}
void
Intf_VLCWrapper
::
volume_restore
()
{
/*
if( p_aout_bank->i_count > 0
&& p_aout_bank->pp_aout[0] != NULL )
p_intf
->
p_sys
->
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
if
(
p_intf
->
p_sys
->
p_aout
!=
NULL
)
{
p_aout_bank->pp_aout[0]->i_volume =
p_main->p_intf->p_sys->i_saved_volume;
p_main->p_intf->p_sys->i_saved_volume = 0;
p_main->p_intf->p_sys->b_mute = 0;
p_intf
->
p_sys
->
p_aout
->
output
.
i_volume
=
p_intf
->
p_sys
->
i_saved_volume
;
p_intf
->
p_sys
->
i_saved_volume
=
0
;
p_intf
->
p_sys
->
b_mute
=
0
;
}
*/
}
void
Intf_VLCWrapper
::
set_volume
(
int
value
)
{
#if 0
if( p_aout_bank->i_count > 0
&& p_aout_bank->pp_aout[0] != NULL )
p_intf
->
p_sys
->
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
if
(
p_intf
->
p_sys
->
p_aout
!=
NULL
)
{
// make sure value is within bounds
if
(
value
<
0
)
value
=
0
;
if
(
value
>
AOUT_VOLUME_MAX
)
value
=
AOUT_VOLUME_MAX
;
vlc_mutex_lock( &p_aout_bank->lock );
// unmute volume if muted
if ( p_main->p_intf->p_sys->b_mute )
p_main->p_intf->p_sys->b_mute = 0;
// set every stream to the given value
for ( int i = 0 ; i < p_aout_bank->i_count ; i++ )
{
if ( p_aout_bank->pp_aout[i] )
p_aout_bank->pp_aout[i]->i_volume = value;
}
vlc_mutex_unlock( &p_aout_bank->lock );
vlc_mutex_lock
(
&
p_intf
->
p_sys
->
p_aout
->
mixer_lock
);
// unmute volume if muted
if
(
p_intf
->
p_sys
->
b_mute
)
{
p_intf
->
p_sys
->
b_mute
=
0
;
p_intf
->
p_sys
->
p_aout
->
output
.
i_volume
=
value
;
}
vlc_mutex_unlock
(
&
p_intf
->
p_sys
->
p_aout
->
mixer_lock
);
}
#endif
}
void
Intf_VLCWrapper
::
toggle_mute
()
{
/*
if( p_aout_bank->i_count > 0
&& p_aout_bank->pp_aout[0] != NULL )
p_intf
->
p_sys
->
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
if
(
p_intf
->
p_sys
->
p_aout
!=
NULL
)
{
if ( p_
main->p_
intf->p_sys->b_mute )
if
(
p_intf
->
p_sys
->
b_mute
)
{
Intf_VLCWrapper::
volume_restore();
volume_restore
();
}
else
{
Intf_VLCWrapper::
volume_mute();
volume_mute
();
}
}
*/
}
bool
Intf_VLCWrapper
::
is_muted
()
{
#if 0
bool
muted
=
true
;
if ( p_aout_bank->i_count > 0 )
p_intf
->
p_sys
->
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
if
(
p_intf
->
p_sys
->
p_aout
!=
NULL
)
{
vlc_mutex_lock( &p_aout_bank->lock );
for ( int i = 0 ; i < p_aout_bank->i_count ; i++ )
{
if ( p_aout_bank->pp_aout[i]
&& p_aout_bank->pp_aout[i]->i_volume > 0 )
{
muted = false;
break;
}
}
vlc_mutex_unlock( &p_aout_bank->lock );
vlc_mutex_lock
(
&
p_intf
->
p_sys
->
p_aout
->
mixer_lock
);
if
(
p_intf
->
p_sys
->
p_aout
->
output
.
i_volume
>
0
)
{
muted
=
false
;
}
vlc_mutex_unlock
(
&
p_intf
->
p_sys
->
p_aout
->
mixer_lock
);
// unfortunately, this is not reliable!
// return p_main->p_intf->p_sys->b_mute;
}
return
muted
;
#endif
}
bool
Intf_VLCWrapper
::
is_playing
()
{
/*
bool
playing
=
false
;
if ( p_in
put_bank->pp_input[0]
)
if
(
p_in
tf
->
p_sys
->
p_input
)
{
switch ( p_in
put_bank->pp_input[0]
->stream.control.i_status )
switch
(
p_in
tf
->
p_sys
->
p_input
->
stream
.
control
.
i_status
)
{
case
PLAYING_S
:
case
FORWARD_S
:
...
...
@@ -588,30 +580,33 @@ bool Intf_VLCWrapper::is_playing()
}
}
return
playing
;
*/
}
void
Intf_VLCWrapper
::
maxvolume
()
{
/*
if( p_aout_bank->i_count > 0
&& p_aout_bank->pp_aout[0] != NULL )
p_intf
->
p_sys
->
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
if
(
p_intf
->
p_sys
->
p_aout
!=
NULL
)
{
if( p_
main->p_
intf->p_sys->b_mute )
if
(
p_intf
->
p_sys
->
b_mute
)
{
p_
main->p_intf->p_sys->i_saved_volume =
VOLUME_MAX;
p_
intf
->
p_sys
->
i_saved_volume
=
AOUT_
VOLUME_MAX
;
}
else
{
p_
aout_bank->pp_aout[0]->i_volume =
VOLUME_MAX;
p_
intf
->
p_sys
->
p_aout
->
output
.
i_volume
=
AOUT_
VOLUME_MAX
;
}
}
*/
}
bool
Intf_VLCWrapper
::
has_audio
()
{
/* return (p_aout_bank->i_count > 0); */
p_intf
->
p_sys
->
p_aout
=
(
aout_instance_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_AOUT
,
FIND_ANYWHERE
);
return
(
p_intf
->
p_sys
->
p_aout
!=
NULL
);
}
//void Intf_VLCWrapper::fullscreen()
...
...
@@ -668,10 +663,10 @@ void Intf_VLCWrapper::setTimeAsFloat(float f_position)
}
}
bool
Intf_VLCWrapper
::
playlistPlaying
()
/*
bool Intf_VLCWrapper::playlistPlaying()
{
/* return( !p_main->p_playlist->b_stopped ); */
}
return( !p_intf->p_sys->p_playlist->b_stopped );
}
*/
BList
*
Intf_VLCWrapper
::
playlistAsArray
()
{
...
...
@@ -698,9 +693,7 @@ BList *Intf_VLCWrapper::playlistAsArray()
void
Intf_VLCWrapper
::
openFiles
(
BList
*
o_files
,
bool
replace
)
{
BString
*
o_file
;
playlist_t
*
p_playlist
=
(
playlist_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
p_intf
->
p_sys
->
p_playlist
;
while
(
(
o_file
=
(
BString
*
)
o_files
->
LastItem
()
)
)
{
...
...
modules/gui/beos/VlcWrapper.h
View file @
c5bd872c
...
...
@@ -2,7 +2,7 @@
* intf_vlc_wrapper.h: BeOS plugin for vlc (derived from MacOS X port )
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: VlcWrapper.h,v 1.
2 2002/09/30 18:30:27
titer Exp $
* $Id: VlcWrapper.h,v 1.
3 2002/10/10 23:11:52
titer Exp $
*
* Authors: Florian G. Pflug <fgp@phlo.org>
* Jon Lech Johansen <jon-vl@nanocrew.net>
...
...
@@ -24,6 +24,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
class
InterfaceWindow
;
class
Intf_VLCWrapper
;
/*****************************************************************************
* intf_sys_t: description and status of FB interface
...
...
@@ -33,8 +34,9 @@ struct intf_sys_t
InterfaceWindow
*
p_window
;
char
i_key
;
/* The input thread */
input_thread_t
*
p_input
;
input_thread_t
*
p_input
;
playlist_t
*
p_playlist
;
aout_instance_t
*
p_aout
;
/* DVD mode */
vlc_bool_t
b_disabled_menus
;
...
...
@@ -43,6 +45,8 @@ struct intf_sys_t
int
i_part
;
int
i_saved_volume
;
int
i_channel
;
Intf_VLCWrapper
*
p_vlc_wrapper
;
};
/* Intf_VLCWrapper is a singleton class
...
...
@@ -143,8 +147,8 @@ public:
void
loop
();
//private:
Intf_VLCWrapper
(
intf_thread_t
*
p_if
);
es_descriptor_t
*
p_audio_es
;
Intf_VLCWrapper
(
intf_thread_t
*
p_i
nt
f
);
es_descriptor_t
*
p_audio_es
;
intf_thread_t
*
p_intf
;
};
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