const char * name )
: BWindow( frame, name, B_TITLED_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL,
B_NOT_ZOOMABLE | B_WILL_ACCEPT_FIRST_CLICK | B_ASYNCHRONOUS_CONTROLS ),
-
+
/* Initializations */
p_intf( _p_intf ),
p_input( NULL ),
p_playlist( NULL ),
-
+
fFilePanel( NULL ),
fLastUpdateTime( system_time() ),
fSettings( new BMessage( 'sett' ) )
case B_ABOUT_REQUESTED:
{
BAlert * alert;
-
+
alert = new BAlert( "VLC media player" VERSION,
"VLC media player" VERSION " (BeOS interface)\n\n"
"The VideoLAN team <videolan@videolan.org>\n"
}
p_mediaControl->SetStatus(-1, INPUT_RATE_DEFAULT);
break;
-
+
case START_PLAYBACK:
- /* starts playing in normal mode */
-
case PAUSE_PLAYBACK:
+ {
+ vlc_value_t val;
+ val.i_int = PLAYING_S;
if( p_input )
{
- if( var_GetInteger( p_input, "state" ) == PAUSE_S )
- {
- if( p_playlist )
- {
- playlist_Play( p_playlist );
- }
- }
- else
- {
- var_SetInteger( p_input, "state", PAUSE_S );
- }
+ var_Get( p_input, "state", &val );
+ }
+ if( p_input && val.i_int != PAUSE_S )
+ {
+ val.i_int = PAUSE_S;
+ var_Set( p_input, "state", val );
+ }
+ else
+ {
+ playlist_Play( p_playlist );
}
break;
-
+ }
case HEIGHTH_PLAY:
if( p_input )
{
case VOLUME_CHG:
aout_VolumeSet( p_intf, p_mediaControl->GetVolume() );
break;
-
+
case VOLUME_MUTE:
aout_VolumeMute( p_intf, NULL );
break;
-
+
case SELECT_CHANNEL:
{
int32 channel;
}
break;
}
-
+
case PREV_TITLE:
if( p_input )
{
{
break;
}
-
+
vlc_bool_t b_remove = ( p_message->WasDropped() &&
- !( modifiers() & B_SHIFT_KEY ) );
+ !( modifiers() & B_SHIFT_KEY ) );
if( b_remove && p_playlist )
{
- /* Empty playlist */
- while( p_playlist->i_size > 0 )
- {
- playlist_Delete( p_playlist, 0 );
- }
+ playlist_Clear( p_playlist );
}
entry_ref ref;
p_mediaControl->SetStatus(-1, INPUT_RATE_DEFAULT);
_StoreSettings();
-
+
p_intf->b_die = 1;
return( true );
{
return;
}
-
+
if( p_input )
{
vlc_value_t val;
p_mediaControl->SetEnabled( true );
bool hasTitles = !var_Get( p_input, "title", &val );
bool hasChapters = !var_Get( p_input, "chapter", &val );
- p_mediaControl->SetStatus( var_GetInteger( p_input, "state" ),
+ p_mediaControl->SetStatus( var_GetInteger( p_input, "state" ),
var_GetInteger( p_input, "rate" ) );
var_Get( p_input, "position", &val );
p_mediaControl->SetProgress( val.f_float );
p_mediaControl->SetAudioEnabled( false );
_SetMenusEnabled( false );
-
- if( !p_playlist || p_playlist->i_size <= 0 )
+
+ if( !playlist_IsEmpty( p_playlist ) )
{
p_mediaControl->SetProgress( 0 );
-
+
#if 0
// enable/disable skip buttons
bool canSkipPrev;
p_mediaControl->SetEnabled( false );
}
}
-
+
Unlock();
fLastUpdateTime = system_time();
}
InterfaceWindow::_UpdateSpeedMenu( int rate )
{
BMenuItem * toMark = NULL;
-
+
switch( rate )
{
case ( INPUT_RATE_DEFAULT * 8 ):
toMark = fHeighthMI;
break;
-
+
case ( INPUT_RATE_DEFAULT * 4 ):
toMark = fQuarterMI;
break;
-
+
case ( INPUT_RATE_DEFAULT * 2 ):
toMark = fHalfMI;
break;
-
+
case ( INPUT_RATE_DEFAULT ):
toMark = fNormalMI;
break;
-
+
case ( INPUT_RATE_DEFAULT / 2 ):
toMark = fTwiceMI;
break;
-
+
case ( INPUT_RATE_DEFAULT / 4 ):
toMark = fFourMI;
break;
-
+
case ( INPUT_RATE_DEFAULT / 8 ):
toMark = fHeightMI;
break;
frame.bottom = frame.top + fPreferencesWindow->Frame().Height();
set_window_pos( fPreferencesWindow, frame );
}
-
+
bool showing;
if ( fSettings->FindBool( "playlist showing", &showing ) == B_OK )
launch_window( fPlaylistWindow, showing );
{
return;
}
-
+
vlc_value_t val_list, text_list;
BMessage * message;
int i_current;
-
+
i_current = var_GetInteger( p_input, psz_variable );
var_Change( p_input, psz_variable, VLC_VAR_GETLIST, &val_list, &text_list );
for( int i = 0; i < val_list.p_list->i_count; i++ )
AddItem( item );
}
var_Change( p_input, psz_variable, VLC_VAR_FREELIST, &val_list, &text_list );
-
+
vlc_object_release( p_input );
-
+
BMenu::AttachedToWindow();
}
vlc_value_t val_list, text_list;
var_Change( p_input, "title", VLC_VAR_GETCHOICES,
&val_list, &text_list );
-
+
for( int i = 0; i < val_list.p_list->i_count; i++ )
{
message = new BMessage( TOGGLE_TITLE );
vlc_value_t val_list, text_list;
var_Change( p_input, "chapter", VLC_VAR_GETCHOICES,
&val_list, &text_list );
-
+
for( int i = 0; i < val_list.p_list->i_count; i++ )
{
message = new BMessage( TOGGLE_CHAPTER );