* InterfaceWindow.h: BeOS interface window class prototype
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
- * $Id: InterfaceWindow.h,v 1.3 2002/10/28 16:55:05 titer Exp $
+ * $Id: InterfaceWindow.h,v 1.4 2002/10/30 00:59:21 titer Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Tony Castley <tcastley@mail.powerup.com.au>
void _StoreSettings();
intf_thread_t* p_intf;
- es_descriptor_t* p_audio_es;
es_descriptor_t* p_spu_es;
input_thread_t* fInputThread;
* vout_beos.cpp: beos video output display method
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
- * $Id: VideoOutput.cpp,v 1.4 2002/10/29 17:33:11 titer Exp $
+ * $Id: VideoOutput.cpp,v 1.5 2002/10/30 00:59:22 titer Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
{
if (noOverlay) break;
bitmap[0] = new BBitmap ( bitmapFrame,
- B_BITMAP_WILL_OVERLAY,
+ B_BITMAP_WILL_OVERLAY |
+ B_BITMAP_RESERVE_OVERLAY_CHANNEL,
colspace[i].colspace);
if(bitmap[0] && bitmap[0]->InitCheck() == B_OK)
* intf_vlc_wrapper.h: BeOS plugin for vlc (derived from MacOS X port )
*****************************************************************************
* Copyright (C) 2001 VideoLAN
- * $Id: VlcWrapper.cpp,v 1.8 2002/10/29 17:33:11 titer Exp $
+ * $Id: VlcWrapper.cpp,v 1.9 2002/10/30 00:59:22 titer Exp $
*
* Authors: Florian G. Pflug <fgp@phlo.org>
* Jon Lech Johansen <jon-vl@nanocrew.net>
* Tony Casltey <tony@castley.net>
* Stephan Aßmus <stippi@yellowbites.com>
+ * Eric Petit <titer@videolan.org>
*
* This program is free software{} you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include "VlcWrapper.h"
-Intf_VLCWrapper *Intf_VLCWrapper::getVLCWrapper(intf_thread_t *p_interface)
-{
- static Intf_VLCWrapper *one_wrapper;
- if (one_wrapper == NULL )
- {
- one_wrapper = new Intf_VLCWrapper(p_interface);
- }
- return one_wrapper;
-}
-
Intf_VLCWrapper::Intf_VLCWrapper(intf_thread_t *p_interface)
{
p_intf = p_interface;
Intf_VLCWrapper::~Intf_VLCWrapper()
{
}
-
-#if 0
-bool Intf_VLCWrapper::manage()
-{
- /* p_main->p_intf->pf_manage( p_intf ); */
-
- if ( p_intf->b_die )
- {
- // exit the lot
- return( 1 );
- }
-
- if ( p_intf->p_sys->p_input != NULL )
- {
- vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
- if( !p_intf->p_sys->p_input->b_die )
- {
- /* New input or stream map change */
- if( p_intf->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_intf->p_sys->b_disabled_menus = 0;
- }
- }
- vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
- }
- else if ( !p_intf->p_sys->b_disabled_menus )
- {
- setupMenus();
- p_intf->p_sys->b_disabled_menus = 1;
- }
- return( 0 );
-}
-#endif
-
-void Intf_VLCWrapper::quit()
-{
- p_intf->b_die = 1;
-}
/* playlist control */
bool Intf_VLCWrapper::playlistPlay()
playlist_t *p_playlist =
(playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
FIND_ANYWHERE );
-
playlist_Stop( p_playlist );
vlc_object_release( p_playlist );
}
return( p_intf->p_sys->p_aout != NULL );
}
-//void Intf_VLCWrapper::fullscreen()
-//{
-// if( p_vout_bank->pp_vout[0] != NULL )
-// {
-// p_vout_bank->pp_vout[0]->i_changes |= VOUT_FULLSCREEN_CHANGE;
-// }
-//}
-
-void Intf_VLCWrapper::eject(){}
-
/* playback info */
const char* Intf_VLCWrapper::getTimeAsString()
p_intf->p_sys->p_input->stream.pp_areas[i_title] );
vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
- //setupMenus();
vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
}
p_intf->p_sys->p_input->stream.p_selected_area );
vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-// setupMenus();
vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
}
}
}
}
-
-void Intf_VLCWrapper::setupMenus(){}
int Intf_VLCWrapper::inputGetStatus()
{
return 0;
* intf_vlc_wrapper.h: BeOS plugin for vlc (derived from MacOS X port )
*****************************************************************************
* Copyright (C) 2001 VideoLAN
- * $Id: VlcWrapper.h,v 1.5 2002/10/28 19:42:24 titer Exp $
+ * $Id: VlcWrapper.h,v 1.6 2002/10/30 00:59:22 titer Exp $
*
* Authors: Florian G. Pflug <fgp@phlo.org>
* Jon Lech Johansen <jon-vl@nanocrew.net>
- * Tony Casltey <tony@castley.net>
+ * Tony Castley <tony@castley.net>
* Stephan Aßmus <stippi@yellowbites.com>
+ * Eric Petit <titer@videolan.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
class Intf_VLCWrapper;
/*****************************************************************************
- * intf_sys_t: description and status of FB interface
+ * intf_sys_t: internal variables of the BeOS interface
*****************************************************************************/
struct intf_sys_t
{
InterfaceWindow * p_window;
- char i_key;
input_thread_t * p_input;
playlist_t * p_playlist;
Intf_VLCWrapper * p_vlc_wrapper;
};
-/* Intf_VLCWrapper is a singleton class
- (only one instance at any time) */
+/*****************************************************************************
+ * Intf_VLCWrapper
+ *****************************************************************************
+ * This class makes the link between the BeOS interface and the vlc core.
+ * There is only one Intf_VLCWrapper instance at any time, which is stored
+ * in p_intf->p_sys->p_vlc_wrapper
+ *****************************************************************************/
class Intf_VLCWrapper
{
public:
- static Intf_VLCWrapper *getVLCWrapper(intf_thread_t *p_if);
+ Intf_VLCWrapper( intf_thread_t *p_intf );
~Intf_VLCWrapper();
- /* static bool manage(); */
- void quit();
int inputGetStatus();
+ void inputSeek();
/* playlist control */
bool playlistPlay();
void playlistStop();
void playlistNext();
void playlistPrev();
- /* void playlistJumpTo( int pos );
- int playlistCurrentPos();
- int playlistSize();
- playlistLock();
- playlistUnlock();*/
- void playlistSkip(int i);
+ void playlistJumpTo( int );
+ int playlistSize();
+ int playlistCurrentPos();
+ void playlistLock();
+ void playlistUnlock();
+ void playlistSkip(int i);
void playlistGoto(int i);
+ void loop();
-/* Playback Modes
- PLAYLIST_REPEAT_CURRENT
- PLAYLIST_FORWARD
- PLAYLIST_BACKWARD
- PLAYLIST_FORWARD_LOOP
- PLAYLIST_BACKWARD_LOOP
- PLAYLIST_RANDOM
- PLAYLIST_REVERSE_RANDOM
-*/
-
+ bool playlistPlaying();
+ BList* playlistAsArray();
+ void getPlaylistInfo( int32& currentIndex,
+ int32& maxIndex );
+ void getTitleInfo( int32& currentIndex,
+ int32& maxIndex );
+ void getChapterInfo( int32& currentIndex,
+ int32& maxIndex );
void getNavCapabilities( bool* canSkipPrev,
- bool* canSkipNext );
- void navigatePrev();
- void navigateNext();
-
-// void channelNext();
-// void channelPrev();
-// void loop();
+ bool* canSkipNext );
+ void navigatePrev();
+ void navigateNext();
/* Stream Control */
void playSlower();
bool is_playing();
void maxvolume();
bool has_audio();
-// void fullscreen();
- void eject();
- int getStatus();
- void setStatus(int status);
- void inputSeek();
-
/* playback info */
const char* getTimeAsString();
float getTimeAsFloat();
void setTimeAsFloat( float i_offset );
- bool playlistPlaying();
- BList* playlistAsArray();
-
- void getPlaylistInfo( int32& currentIndex,
- int32& maxIndex );
- void getTitleInfo( int32& currentIndex,
- int32& maxIndex );
- void getChapterInfo( int32& currentIndex,
- int32& maxIndex );
/* open file/disc/network */
void openFiles( BList *o_files, bool replace = true );
void openDisc( BString o_type, BString o_device,
- int i_title, int i_chapter );
+ int i_title, int i_chapter );
void openNet( BString o_addr, int i_port );
void openNetChannel( BString o_addr, int i_port );
void openNetHTTP( BString o_addr );
void toggleSubtitle( int i_subtitle );
void channelNext();
void channelPrev();
- void setupMenus();
-
- void playlistJumpTo( int );
- int playlistSize();
- int playlistCurrentPos();
- void playlistLock();
- void playlistUnlock();
- void loop();
-
-//private:
- Intf_VLCWrapper( intf_thread_t *p_intf );
- es_descriptor_t * p_audio_es;
+
+private:
intf_thread_t *p_intf;
};