Commit 2175c26e authored by Christophe Massiot's avatar Christophe Massiot

* New Loop menu item in OS X interface.

parent 5c3f46de
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
eject = id; eject = id;
faster = id; faster = id;
fullscreen = id; fullscreen = id;
loop = id;
maxvolume = id; maxvolume = id;
mute = id; mute = id;
next = id; next = id;
......
...@@ -19,9 +19,8 @@ ...@@ -19,9 +19,8 @@
<string>248.0</string> <string>248.0</string>
<key>IBOpenObjects</key> <key>IBOpenObjects</key>
<array> <array>
<integer>29</integer>
<integer>528</integer> <integer>528</integer>
<integer>21</integer> <integer>29</integer>
</array> </array>
<key>IBSystem Version</key> <key>IBSystem Version</key>
<string>5Q125</string> <string>5Q125</string>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* intf_controller.h: MacOS X plugin for vlc * intf_controller.h: MacOS X plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: intf_controller.h,v 1.8.2.1 2002/06/02 01:22:04 massiot Exp $ * $Id: intf_controller.h,v 1.8.2.2 2002/06/02 12:17:23 massiot Exp $
* *
* Authors: Florian G. Pflug <fgp@phlo.org> * Authors: Florian G. Pflug <fgp@phlo.org>
* *
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
- (void)applicationWillFinishLaunching:(NSNotification *)o_notification; - (void)applicationWillFinishLaunching:(NSNotification *)o_notification;
- (BOOL)application:(NSApplication *)o_app openFile:(NSString *)o_filename; - (BOOL)application:(NSApplication *)o_app openFile:(NSString *)o_filename;
/* Functions atteched to user interface */ /* Functions attached to user interface */
- (IBAction)pause:(id)sender; - (IBAction)pause:(id)sender;
- (IBAction)play:(id)sender; - (IBAction)play:(id)sender;
- (IBAction)stop:(id)sender; - (IBAction)stop:(id)sender;
...@@ -78,6 +78,7 @@ ...@@ -78,6 +78,7 @@
- (IBAction)next:(id)sender; - (IBAction)next:(id)sender;
- (IBAction)prevChannel:(id)sender; - (IBAction)prevChannel:(id)sender;
- (IBAction)nextChannel:(id)sender; - (IBAction)nextChannel:(id)sender;
- (IBAction)loop:(id)sender;
- (IBAction)mute:(id)sender; - (IBAction)mute:(id)sender;
- (IBAction)fullscreen:(id)fullscreen; - (IBAction)fullscreen:(id)fullscreen;
- (IBAction)eject:(id)sender; - (IBAction)eject:(id)sender;
...@@ -85,4 +86,6 @@ ...@@ -85,4 +86,6 @@
- (IBAction)timesliderUpdate:(id)slider; - (IBAction)timesliderUpdate:(id)slider;
- (IBAction)quit:(id)sender; - (IBAction)quit:(id)sender;
- (BOOL)validateMenuItem:(id)sender;
@end @end
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* intf_controller.c: MacOS X plugin for vlc * intf_controller.c: MacOS X plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: intf_controller.m,v 1.4.2.1 2002/06/02 01:22:04 massiot Exp $ * $Id: intf_controller.m,v 1.4.2.2 2002/06/02 12:17:23 massiot Exp $
* *
* Authors: Florian G. Pflug <fgp@phlo.org> * Authors: Florian G. Pflug <fgp@phlo.org>
* Jon Lech Johansen <jon-vl@nanocrew.net> * Jon Lech Johansen <jon-vl@nanocrew.net>
...@@ -177,6 +177,22 @@ ...@@ -177,6 +177,22 @@
[o_intf channelNext]; [o_intf channelNext];
} }
- (IBAction)loop:(id)sender
{
NSMenuItem * item = (NSMenuItem *)sender;
[o_intf loop];
if( p_main->p_intf->p_sys->b_loop )
{
[item setState:NSOnState];
}
else
{
[item setState:NSOffState];
}
}
- (IBAction)mute:(id)sender - (IBAction)mute:(id)sender
{ {
NSMenuItem * item = (NSMenuItem *)sender; NSMenuItem * item = (NSMenuItem *)sender;
...@@ -231,6 +247,21 @@ ...@@ -231,6 +247,21 @@
[o_intf quit]; [o_intf quit];
} }
- (BOOL)validateMenuItem:(id)sender
{
NSMenuItem * o_item = (NSMenuItem *)sender;
if ( [o_item tag] == 12 || [o_item tag] == 13 )
{
if( !config_GetIntVariable( "network-channel" ) )
{
return NO;
}
}
return YES;
}
@end @end
@implementation Intf_PlaylistDS @implementation Intf_PlaylistDS
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* intf_macosx.c: MacOS X interface plugin * intf_macosx.c: MacOS X interface plugin
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: intf_macosx.m,v 1.1.2.1 2002/06/02 01:22:04 massiot Exp $ * $Id: intf_macosx.m,v 1.1.2.2 2002/06/02 12:17:23 massiot Exp $
* *
* Authors: Colin Delacroix <colin@zoy.org> * Authors: Colin Delacroix <colin@zoy.org>
* Florian G. Pflug <fgp@phlo.org> * Florian G. Pflug <fgp@phlo.org>
...@@ -70,6 +70,7 @@ static int intf_Open( intf_thread_t *p_intf ) ...@@ -70,6 +70,7 @@ static int intf_Open( intf_thread_t *p_intf )
p_intf->p_sys->b_mute = 0; p_intf->p_sys->b_mute = 0;
p_intf->p_sys->i_part = 0; p_intf->p_sys->i_part = 0;
p_intf->p_sys->b_disabled_menus = 0; p_intf->p_sys->b_disabled_menus = 0;
p_intf->p_sys->b_loop = 0;
p_intf->p_sys->i_channel = 0; p_intf->p_sys->i_channel = 0;
[[NSApplication sharedApplication] autorelease]; [[NSApplication sharedApplication] autorelease];
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* intf_vlc_wrapper.h: MacOS X plugin for vlc * intf_vlc_wrapper.h: MacOS X plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: intf_vlc_wrapper.h,v 1.8.2.1 2002/06/02 01:22:04 massiot Exp $ * $Id: intf_vlc_wrapper.h,v 1.8.2.2 2002/06/02 12:17:23 massiot Exp $
* *
* Authors: Florian G. Pflug <fgp@phlo.org> * Authors: Florian G. Pflug <fgp@phlo.org>
* Jon Lech Johansen <jon-vl@nanocrew.net> * Jon Lech Johansen <jon-vl@nanocrew.net>
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
- (void)playlistPrev; - (void)playlistPrev;
- (void)channelNext; - (void)channelNext;
- (void)channelPrev; - (void)channelPrev;
- (void)loop;
- (void)playSlower; - (void)playSlower;
- (void)playFaster; - (void)playFaster;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* intf_vlc_wrapper.c: MacOS X plugin for vlc * intf_vlc_wrapper.c: MacOS X plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: intf_vlc_wrapper.m,v 1.6.2.3 2002/06/02 01:22:04 massiot Exp $ * $Id: intf_vlc_wrapper.m,v 1.6.2.4 2002/06/02 12:17:23 massiot Exp $
* *
* Authors: Florian G. Pflug <fgp@phlo.org> * Authors: Florian G. Pflug <fgp@phlo.org>
* Jon Lech Johansen <jon-vl@nanocrew.net> * Jon Lech Johansen <jon-vl@nanocrew.net>
...@@ -275,6 +275,23 @@ static Intf_VLCWrapper *o_intf = nil; ...@@ -275,6 +275,23 @@ static Intf_VLCWrapper *o_intf = nil;
vlc_mutex_unlock( &p_intf->change_lock ); vlc_mutex_unlock( &p_intf->change_lock );
} }
- (void)loop
{
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 );
}
else
{
intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END,
"vlc:loop" );
}
p_intf->p_sys->b_loop = !p_intf->p_sys->b_loop;
}
- (void)playSlower - (void)playSlower
{ {
if( p_input_bank->pp_input[0] != NULL ) if( p_input_bank->pp_input[0] != NULL )
...@@ -498,6 +515,13 @@ static Intf_VLCWrapper *o_intf = nil; ...@@ -498,6 +515,13 @@ static Intf_VLCWrapper *o_intf = nil;
NSString *o_file; NSString *o_file;
int i_end = p_main->p_playlist->i_size; int i_end = p_main->p_playlist->i_size;
NSEnumerator *o_enum = [o_files objectEnumerator]; NSEnumerator *o_enum = [o_files objectEnumerator];
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 );
}
while( ( o_file = (NSString *)[o_enum nextObject] ) ) while( ( o_file = (NSString *)[o_enum nextObject] ) )
{ {
...@@ -512,16 +536,29 @@ static Intf_VLCWrapper *o_intf = nil; ...@@ -512,16 +536,29 @@ static Intf_VLCWrapper *o_intf = nil;
} }
intf_PlaylistJumpto( p_main->p_playlist, i_end - 1 ); intf_PlaylistJumpto( p_main->p_playlist, i_end - 1 );
if ( p_intf->p_sys->b_loop )
{
intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END,
"vlc:loop" );
}
} }
- (void)openDisc:(NSString*)o_type device:(NSString*)o_device title:(int)i_title chapter:(int)i_chapter - (void)openDisc:(NSString*)o_type device:(NSString*)o_device title:(int)i_title chapter:(int)i_chapter
{ {
NSString *o_source; NSString *o_source;
int i_end = p_main->p_playlist->i_size; int i_end = p_main->p_playlist->i_size;
intf_thread_t * p_intf = p_main->p_intf;
o_source = [NSString stringWithFormat: @"%@:%@@%d,%d", o_source = [NSString stringWithFormat: @"%@:%@@%d,%d",
o_type, o_device, i_title, i_chapter]; o_type, o_device, i_title, i_chapter];
if ( p_intf->p_sys->b_loop )
{
intf_PlaylistDelete( p_main->p_playlist,
p_main->p_playlist->i_size - 1 );
}
intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END, intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END,
[o_source fileSystemRepresentation] ); [o_source fileSystemRepresentation] );
...@@ -532,12 +569,19 @@ static Intf_VLCWrapper *o_intf = nil; ...@@ -532,12 +569,19 @@ static Intf_VLCWrapper *o_intf = nil;
} }
intf_PlaylistJumpto( p_main->p_playlist, i_end - 1 ); intf_PlaylistJumpto( p_main->p_playlist, i_end - 1 );
if ( p_intf->p_sys->b_loop )
{
intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END,
"vlc:loop" );
}
} }
- (void)openNet:(NSString*)o_protocol addr:(NSString*)o_addr port:(int)i_port baddr:(NSString*)o_baddr - (void)openNet:(NSString*)o_protocol addr:(NSString*)o_addr port:(int)i_port baddr:(NSString*)o_baddr
{ {
NSString *o_source; NSString *o_source;
int i_end = p_main->p_playlist->i_size; int i_end = p_main->p_playlist->i_size;
intf_thread_t * p_intf = p_main->p_intf;
if( p_input_bank->pp_input[0] != NULL ) if( p_input_bank->pp_input[0] != NULL )
{ {
...@@ -557,10 +601,22 @@ static Intf_VLCWrapper *o_intf = nil; ...@@ -557,10 +601,22 @@ static Intf_VLCWrapper *o_intf = nil;
o_protocol, o_addr, i_port]; o_protocol, o_addr, i_port];
} }
if ( p_intf->p_sys->b_loop )
{
intf_PlaylistDelete( p_main->p_playlist,
p_main->p_playlist->i_size - 1 );
}
intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END, intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END,
[o_source fileSystemRepresentation] ); [o_source fileSystemRepresentation] );
intf_PlaylistJumpto( p_main->p_playlist, i_end - 1 ); intf_PlaylistJumpto( p_main->p_playlist, i_end - 1 );
if ( p_intf->p_sys->b_loop )
{
intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END,
"vlc:loop" );
}
} }
- (void)openNetChannel:(NSString*)o_addr port:(int)i_port - (void)openNetChannel:(NSString*)o_addr port:(int)i_port
...@@ -736,8 +792,8 @@ static Intf_VLCWrapper *o_intf = nil; ...@@ -736,8 +792,8 @@ static Intf_VLCWrapper *o_intf = nil;
o_chapter_item = [[o_controls_item submenu] itemWithTitle: @"Chapter"]; o_chapter_item = [[o_controls_item submenu] itemWithTitle: @"Chapter"];
o_language_item = [[o_controls_item submenu] itemWithTitle: @"Language"]; o_language_item = [[o_controls_item submenu] itemWithTitle: @"Language"];
o_subtitle_item = [[o_controls_item submenu] itemWithTitle: @"Subtitles"]; o_subtitle_item = [[o_controls_item submenu] itemWithTitle: @"Subtitles"];
o_next_channel_item = [[o_controls_item submenu] itemWithTag: 2]; o_next_channel_item = [[o_controls_item submenu] itemWithTag: 13];
o_prev_channel_item = [[o_controls_item submenu] itemWithTag: 1]; o_prev_channel_item = [[o_controls_item submenu] itemWithTag: 12];
if( p_input == NULL ) if( p_input == NULL )
{ {
...@@ -1006,17 +1062,6 @@ static Intf_VLCWrapper *o_intf = nil; ...@@ -1006,17 +1062,6 @@ static Intf_VLCWrapper *o_intf = nil;
} }
p_input->stream.b_changed = 0; p_input->stream.b_changed = 0;
} }
if( config_GetIntVariable( "network-channel" ) )
{
[o_next_channel_item setEnabled: 1];
[o_prev_channel_item setEnabled: 1];
}
else
{
[o_next_channel_item setEnabled: 0];
[o_prev_channel_item setEnabled: 0];
}
} }
@end @end
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* macosx.h: MacOS X plugin for vlc * macosx.h: MacOS X plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: macosx.h,v 1.9.2.1 2002/06/02 01:22:04 massiot Exp $ * $Id: macosx.h,v 1.9.2.2 2002/06/02 12:17:23 massiot Exp $
* *
* Authors: Colin Delacroix <colin@zoy.org> * Authors: Colin Delacroix <colin@zoy.org>
* Eugenio Jarosiewicz <ej0@cise.ufl.edu> * Eugenio Jarosiewicz <ej0@cise.ufl.edu>
...@@ -43,6 +43,7 @@ typedef struct intf_sys_s ...@@ -43,6 +43,7 @@ typedef struct intf_sys_s
int i_part; int i_part;
boolean_t b_disabled_menus; boolean_t b_disabled_menus;
boolean_t b_loop;
int i_channel; int i_channel;
} intf_sys_t; } intf_sys_t;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment