<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>asf</string>
+ <string>sub</string>
+ <string>srt</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>asf.icns</string>
+ <string>sub.icns</string>
<key>CFBundleTypeName</key>
- <string>ASF File</string>
+ <string>Subtitle File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>sub</string>
- <string>srt</string>
+ <string>pls</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>sub.icns</string>
+ <string>pls.icns</string>
<key>CFBundleTypeName</key>
- <string>Subtitle File</string>
+ <string>Shoutcast playlist</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>dv</string>
+ <string>m3u</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>dv.icns</string>
+ <string>m3u.icns</string>
<key>CFBundleTypeName</key>
- <string>DV file</string>
+ <string>Playlist file</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>mov</string>
+ <string>vob</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>generic.icns</string>
+ <string>vob.icns</string>
<key>CFBundleTypeName</key>
- <string>Mov File</string>
+ <string>VOB File (DVD Video)</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>pls</string>
+ <string>dat</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>pls.icns</string>
+ <string>dat.icns</string>
<key>CFBundleTypeName</key>
- <string>Shoutcast playlist</string>
+ <string>DAT file</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>m3u</string>
+ <string>cue</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>m3u.icns</string>
+ <string>cue.icns</string>
<key>CFBundleTypeName</key>
- <string>Playlist file</string>
+ <string>CUE file</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>vob</string>
+ <string>iso</string>
+ <string>bin</string>
</array>
- <key>CFBundleTypeIconFile</key>
- <string>vob.icns</string>
<key>CFBundleTypeName</key>
- <string>VOB File (DVD Video)</string>
+ <string>Iso file</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>dat</string>
+ <string>a52</string>
+ <string>ac3</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>dat.icns</string>
+ <string>a52.icns</string>
<key>CFBundleTypeName</key>
- <string>DAT file</string>
+ <string>Digital Audio</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>cue</string>
+ <string>aac</string>
</array>
- <key>CFBundleTypeIconFile</key>
- <string>cue.icns</string>
<key>CFBundleTypeName</key>
- <string>CUE file</string>
+ <string>Advanced Audio Coding</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>iso</string>
- <string>bin</string>
+ <string>ogm</string>
</array>
+ <key>CFBundleTypeIconFile</key>
+ <string>ogm.icns</string>
<key>CFBundleTypeName</key>
- <string>Iso file</string>
+ <string>Ogg Vorbis Media container</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>mp3</string>
+ <string>ogg</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>mp3.icns</string>
+ <string>ogg.icns</string>
<key>CFBundleTypeName</key>
- <string>MP3</string>
+ <string>OGG Vorbis file</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>a52</string>
+ <string>avi</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>a52.icns</string>
+ <string>avi.icns</string>
<key>CFBundleTypeName</key>
- <string>Raw a52</string>
+ <string>Avi container</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>aac</string>
+ <string>mov</string>
+ <string>moov</string>
+ <string>qt</string>
</array>
+ <key>CFBundleTypeIconFile</key>
+ <string>generic.icns</string>
<key>CFBundleTypeName</key>
- <string>Raw aac</string>
+ <string>Apple QuickTime container</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>wma</string>
+ <string>divx</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>wma.icns</string>
+ <string>divx.icns</string>
<key>CFBundleTypeName</key>
- <string>WMA File</string>
+ <string>DivX file</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>ogg</string>
+ <string>dv</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>ogg.icns</string>
+ <string>dv.icns</string>
<key>CFBundleTypeName</key>
- <string>OGG file</string>
+ <string>DV file</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>avi</string>
+ <string>asf</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>avi.icns</string>
+ <string>asf.icns</string>
<key>CFBundleTypeName</key>
- <string>Avi file</string>
+ <string>Advanced Streaming Format</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>ogm</string>
+ <string>wma</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>ogm.icns</string>
+ <string>wma.icns</string>
<key>CFBundleTypeName</key>
- <string>OGM FIle</string>
+ <string>WIndows Media Audio</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>divx</string>
+ <string>wmv</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>divx.icns</string>
+ <string>wmv.icns</string>
<key>CFBundleTypeName</key>
- <string>DivX file</string>
+ <string>Windows Media Video</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<array>
<string>mpg</string>
<string>mpeg</string>
- <string>ts</string>
- <string>ps</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>mpeg.icns</string>
<key>CFBundleTypeName</key>
- <string>MPEG File</string>
+ <string>mulitplexed MPEG-1/2</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>m2a</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>MPEG-1/2 Audio File</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>mp1</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>MPEG Audio Layer 1</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>mp2</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>MPEG Audio Layer 2</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>mp3</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>mp3.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>MPEG Audio Layer 3</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>m2p</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>MPEG-2 Program Stream</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ </dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>m2v</string>
+ <string>mpv</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>mpeg2.icns</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>mpa</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>MPEG-2 Audio File</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ </dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
- <string>wmv</string>
+ <string>3gp</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>3GPP File</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>mka</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Matroska Audio</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>mkv</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Matroska Video</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>mks</string>
</array>
- <key>CFBundleTypeIconFile</key>
- <string>wmv.icns</string>
<key>CFBundleTypeName</key>
- <string>WMV File</string>
+ <string>Matroska Elementry Stream</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
* intf.m: MacOS X interface plugin
*****************************************************************************
* Copyright (C) 2002-2003 VideoLAN
- * $Id: intf.m,v 1.93 2003/07/27 23:05:41 hartman Exp $
+ * $Id: intf.m,v 1.94 2003/09/19 23:03:27 hartman Exp $
*
* Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
* Christophe Massiot <massiot@via.ecp.fr>
p_intf->pf_run = Run;
[[VLCApplication sharedApplication] autorelease];
- [NSApp initIntlSupport];
[NSApp setIntf: p_intf];
[NSBundle loadNibNamed: @"MainMenu" owner: NSApp];
*****************************************************************************/
@implementation VLCApplication
-- (id)init
-{
- /* default encoding: ISO-8859-1 */
- i_encoding = NSUTF8StringEncoding;
-
- return( [super init] );
-}
-
-- (void)initIntlSupport
-{
-}
-
- (NSString *)localizedString:(char *)psz
{
NSString * o_str = nil;
- (char *)delocalizeString:(NSString *)id
{
- NSData * o_data = [id dataUsingEncoding: i_encoding
+ NSData * o_data = [id dataUsingEncoding: NSUTF8StringEncoding
allowLossyConversion: NO];
char * psz_string;
if ( o_data == nil )
{
- o_data = [id dataUsingEncoding: i_encoding
+ o_data = [id dataUsingEncoding: NSUTF8StringEncoding
allowLossyConversion: YES];
psz_string = malloc( [o_data length] + 1 );
[o_data getBytes: psz_string];
return psz_string;
}
-- (NSStringEncoding)getEncoding
-{
- return i_encoding;
-}
-
/* i_width is in pixels */
- (NSString *)wrapString: (NSString *)o_in_string toWidth: (int) i_width
{
msg_Dbg( p_intf, "stream has changed, refreshing interface" );
}
- else
- {
- vout_thread_t * p_vout = vlc_object_find( p_intf, VLC_OBJECT_VOUT,
- FIND_ANYWHERE );
- if( p_vout != NULL )
- {
- vlc_object_detach( p_vout );
- vlc_object_release( p_vout );
-
- vlc_mutex_unlock( &p_playlist->object_lock );
- vout_Destroy( p_vout );
- vlc_mutex_lock( &p_playlist->object_lock );
- }
- }
p_intf->p_sys->b_intf_update = VLC_TRUE;
}
FIND_ANYWHERE );
if( p_vout != NULL )
{
- /* We need to lock the vout here to make sure it does not disappear */
id o_vout_wnd;
NSEnumerator * o_enum = [[NSApp windows] objectEnumerator];
#define p_input p_playlist->p_input
- if( p_input != NULL )
- {
- vlc_mutex_lock( &p_input->stream.stream_lock );
- }
-
if( p_intf->p_sys->b_intf_update )
{
vlc_bool_t b_input = VLC_FALSE;
if( ( b_input = ( p_input != NULL ) ) )
{
+ vlc_mutex_lock( &p_input->stream.stream_lock );
+
/* seekable streams */
b_seekable = p_input->stream.b_seekable;
/* play status */
p_intf->p_sys->b_play_status =
p_input->stream.control.i_status != PAUSE_S;
+
+ vlc_mutex_unlock( &p_input->stream.stream_lock );
}
else
{
p_intf->p_sys->b_intf_update = VLC_FALSE;
}
-
+
#define p_area p_input->stream.p_selected_area
if( p_intf->p_sys->b_playing && p_input != NULL )
{
vlc_bool_t b_field_update = TRUE;
-
+ vlc_mutex_lock( &p_input->stream.stream_lock );
+
if( !p_input->b_die && ( p_intf->p_sys->b_play_status !=
( p_input->stream.control.i_status != PAUSE_S ) ) )
{
o_time = [NSString stringWithUTF8String: psz_time];
[o_timefield setStringValue: o_time];
}
+ vlc_mutex_unlock( &p_input->stream.stream_lock );
/* disable screen saver */
UpdateSystemActivity( UsrActivity );