X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fbeos%2FInterfaceWindow.cpp;h=6477c07bfe437c45a24edbb176d06817372c94f1;hb=c5bd872c66f60cee7f886bdfdc5b8e5ec5b0b17c;hp=6ce75e5cb758c459abc78c68f229dead2e5f1659;hpb=ae6f22536b970206d32b71c70415d7606d8bdade;p=vlc diff --git a/modules/gui/beos/InterfaceWindow.cpp b/modules/gui/beos/InterfaceWindow.cpp index 6ce75e5cb7..6477c07bfe 100644 --- a/modules/gui/beos/InterfaceWindow.cpp +++ b/modules/gui/beos/InterfaceWindow.cpp @@ -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 * Samuel Hocevar @@ -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() ); } /*****************************************************************************