diff options
author | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2013-01-16 00:42:07 +0100 |
---|---|---|
committer | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2013-01-16 22:27:04 +0100 |
commit | 89a49ffd74f8be4ff36b0e6500e7b4434944c7fa (patch) | |
tree | 7d65e2c29b0984ac3c62d77510c433d22559b69b /video/out/cocoa_common.m | |
parent | 60755108a61d7ce2f5ff07226a689bde552be008 (diff) | |
download | mpv-89a49ffd74f8be4ff36b0e6500e7b4434944c7fa.tar.bz2 mpv-89a49ffd74f8be4ff36b0e6500e7b4434944c7fa.tar.xz |
osxbundle: cocoa_common: change playlist on fileopen events
When opening new files in Finder when `mpv` is running from an application
bundle, the new files will now replace the current playlist.
Fixes #14
Diffstat (limited to 'video/out/cocoa_common.m')
-rw-r--r-- | video/out/cocoa_common.m | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m index 071366c378..c713398863 100644 --- a/video/out/cocoa_common.m +++ b/video/out/cocoa_common.m @@ -767,6 +767,26 @@ void create_menu() } } +- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames +{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + NSArray *sorted_filenames = [filenames + sortedArrayUsingSelector:@selector(compare:)]; + + for (int i = 0; i < [sorted_filenames count]; i++) { + NSString *filename = [sorted_filenames objectAtIndex:i]; + NSString *escaped_filename = escape_loadfile_name(filename); + + char *cmd = talloc_asprintf(NULL, "loadfile \"%s\"%s", + [escaped_filename UTF8String], + (i == 0) ? "" : " append"); + mp_input_queue_cmd(_vo->input_ctx, mp_input_parse_cmd(bstr0(cmd), "")); + talloc_free(cmd); + } + + [pool release]; +} + - (void)applicationWillBecomeActive:(NSNotification *)aNotification { if (vo_fs && current_screen_has_dock_or_menubar(_vo)) { |