Merge pull request #88 from nevack/nevack/inhibit-third-party-warnings
Inhibit ThirdParty libraries warnings and refactor+modernize several classesCQTexperiment
commit
5d9cc6faea
|
@ -101,17 +101,17 @@
|
||||||
{
|
{
|
||||||
BOOL shouldHandleMediaKeyEventLocally = ![SPMediaKeyTap usesGlobalMediaKeyTap];
|
BOOL shouldHandleMediaKeyEventLocally = ![SPMediaKeyTap usesGlobalMediaKeyTap];
|
||||||
|
|
||||||
if(shouldHandleMediaKeyEventLocally && [event type] == NSSystemDefined && [event subtype] == 8 )
|
if(shouldHandleMediaKeyEventLocally && [event type] == NSEventTypeSystemDefined && [event subtype] == 8 )
|
||||||
{
|
{
|
||||||
[self mediaKeyTap:nil receivedMediaKeyEvent:event];
|
[self mediaKeyTap:nil receivedMediaKeyEvent:event];
|
||||||
}
|
}
|
||||||
|
|
||||||
[super sendEvent: event];
|
[super sendEvent: event];
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)mediaKeyTap:(SPMediaKeyTap*)keyTap receivedMediaKeyEvent:(NSEvent*)event;
|
-(void)mediaKeyTap:(SPMediaKeyTap*)keyTap receivedMediaKeyEvent:(NSEvent*)event;
|
||||||
{
|
{
|
||||||
NSAssert([event type] == NSSystemDefined && [event subtype] == SPSystemDefinedEventMediaKeys, @"Unexpected NSEvent in mediaKeyTap:receivedMediaKeyEvent:");
|
NSAssert([event type] == NSEventTypeSystemDefined && [event subtype] == SPSystemDefinedEventMediaKeys, @"Unexpected NSEvent in mediaKeyTap:receivedMediaKeyEvent:");
|
||||||
|
|
||||||
int keyCode = (([event data1] & 0xFFFF0000) >> 16);
|
int keyCode = (([event data1] & 0xFFFF0000) >> 16);
|
||||||
int keyFlags = ([event data1] & 0x0000FFFF);
|
int keyFlags = ([event data1] & 0x0000FFFF);
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#import "Node.h"
|
#import "Node.h"
|
||||||
|
|
||||||
#import "Logging.h"
|
#import "Logging.h"
|
||||||
|
#import "BufferChain.h"
|
||||||
|
|
||||||
@implementation Node
|
@implementation Node
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -3,5 +3,6 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifdef __OBJC__
|
#ifdef __OBJC__
|
||||||
|
#import <AssertMacros.h>
|
||||||
#import <Cocoa/Cocoa.h>
|
#import <Cocoa/Cocoa.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -11,16 +11,12 @@
|
||||||
@class PathNode;
|
@class PathNode;
|
||||||
@class PathWatcher;
|
@class PathWatcher;
|
||||||
|
|
||||||
@interface FileTreeDataSource : NSObject {
|
@interface FileTreeDataSource : NSObject <NSOutlineViewDataSource>
|
||||||
PathNode *rootNode;
|
|
||||||
|
@property(nonatomic, weak) IBOutlet NSOutlineView *outlineView;
|
||||||
IBOutlet NSPathControl *pathControl;
|
@property(nonatomic, weak) IBOutlet NSPathControl *pathControl;
|
||||||
IBOutlet PathWatcher *watcher;
|
@property(nonatomic, weak) IBOutlet PathWatcher *watcher;
|
||||||
IBOutlet NSOutlineView *outlineView;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSURL *)rootURL;
|
|
||||||
- (void)setRootURL:(NSURL *)rootURL;
|
|
||||||
- (void)changeURL:(NSURL *)rootURL;
|
- (void)changeURL:(NSURL *)rootURL;
|
||||||
|
|
||||||
- (void)reloadPathNode:(PathNode *)item;
|
- (void)reloadPathNode:(PathNode *)item;
|
||||||
|
|
|
@ -8,176 +8,159 @@
|
||||||
|
|
||||||
#import "FileTreeDataSource.h"
|
#import "FileTreeDataSource.h"
|
||||||
|
|
||||||
#import "DNDArrayController.h"
|
|
||||||
|
|
||||||
#import "DirectoryNode.h"
|
#import "DirectoryNode.h"
|
||||||
#import "PathWatcher.h"
|
#import "PathWatcher.h"
|
||||||
|
|
||||||
#import "Logging.h"
|
#import "Logging.h"
|
||||||
|
|
||||||
@implementation FileTreeDataSource
|
NSURL *defaultMusicDirectory() {
|
||||||
|
return [[NSFileManager defaultManager] URLForDirectory:NSMusicDirectory
|
||||||
+ (void)initialize
|
inDomain:NSUserDomainMask
|
||||||
{
|
appropriateForURL:nil
|
||||||
NSMutableDictionary *userDefaultsValuesDict = [NSMutableDictionary dictionary];
|
create:NO
|
||||||
|
error:nil];
|
||||||
[userDefaultsValuesDict setObject:[[NSURL fileURLWithPath:[@"~/Music" stringByExpandingTildeInPath]] absoluteString] forKey:@"fileTreeRootURL"];
|
|
||||||
|
|
||||||
[[NSUserDefaults standardUserDefaults] registerDefaults:userDefaultsValuesDict];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)awakeFromNib
|
@interface FileTreeDataSource()
|
||||||
{
|
|
||||||
[[NSUserDefaultsController sharedUserDefaultsController] addObserver:self forKeyPath:@"values.fileTreeRootURL" options:0 context:nil];
|
|
||||||
|
|
||||||
[self setRootURL: [NSURL URLWithString:[[[NSUserDefaultsController sharedUserDefaultsController] defaults] objectForKey:@"fileTreeRootURL"]]];
|
|
||||||
|
|
||||||
[pathControl setTarget:self];
|
@property NSURL *rootURL;
|
||||||
[pathControl setAction:@selector(pathControlAction:)];
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation FileTreeDataSource {
|
||||||
|
PathNode *rootNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) observeValueForKeyPath:(NSString *)keyPath
|
+ (void)initialize {
|
||||||
ofObject:(id)object
|
NSString *path = [defaultMusicDirectory() absoluteString];
|
||||||
change:(NSDictionary *)change
|
NSDictionary *userDefaultsValuesDict = @{@"fileTreeRootURL": path};
|
||||||
context:(void *)context
|
[[NSUserDefaults standardUserDefaults] registerDefaults:userDefaultsValuesDict];
|
||||||
{
|
|
||||||
DLog(@"File tree root URL: %@\n", [[[NSUserDefaultsController sharedUserDefaultsController] defaults] objectForKey:@"fileTreeRootURL"]);
|
|
||||||
if ([keyPath isEqualToString:@"values.fileTreeRootURL"]) {
|
|
||||||
[self setRootURL:[NSURL URLWithString:[[[NSUserDefaultsController sharedUserDefaultsController] defaults] objectForKey:@"fileTreeRootURL"]]];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)changeURL:(NSURL *)url
|
- (void)awakeFromNib {
|
||||||
{
|
[self.pathControl setTarget:self];
|
||||||
if (url != nil)
|
[self.pathControl setAction:@selector(pathControlAction:)];
|
||||||
{
|
[[NSUserDefaultsController sharedUserDefaultsController] addObserver:self
|
||||||
[[[NSUserDefaultsController sharedUserDefaultsController] defaults] setObject:[url absoluteString] forKey:@"fileTreeRootURL"];
|
forKeyPath:@"values.fileTreeRootURL"
|
||||||
}
|
options:NSKeyValueObservingOptionNew |
|
||||||
|
NSKeyValueObservingOptionInitial
|
||||||
|
context:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)pathControlAction:(id)sender
|
- (void)observeValueForKeyPath:(NSString *)keyPath
|
||||||
{
|
ofObject:(id)object
|
||||||
if ([pathControl clickedPathComponentCell] != nil && [[pathControl clickedPathComponentCell] URL] != nil)
|
change:(NSDictionary *)change
|
||||||
{
|
context:(void *)context {
|
||||||
[self changeURL:[[pathControl clickedPathComponentCell] URL]];
|
if ([keyPath isEqualToString:@"values.fileTreeRootURL"]) {
|
||||||
}
|
NSString *url =
|
||||||
|
[[[NSUserDefaultsController sharedUserDefaultsController] defaults] objectForKey:@"fileTreeRootURL"];
|
||||||
|
DLog(@"File tree root URL: %@\n", url);
|
||||||
|
self.rootURL = [NSURL URLWithString:url];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSURL *)rootURL
|
- (void)changeURL:(NSURL *)url {
|
||||||
{
|
if (url != nil) {
|
||||||
return [rootNode URL];
|
[[[NSUserDefaultsController sharedUserDefaultsController] defaults] setObject:[url absoluteString]
|
||||||
|
forKey:@"fileTreeRootURL"];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setRootURL: (NSURL *)rootURL
|
- (void)pathControlAction:(id)sender {
|
||||||
{
|
NSPathControlItem *item = [self.pathControl clickedPathItem];
|
||||||
if (![[NSFileManager defaultManager] fileExistsAtPath:[rootURL path]])
|
if (item != nil && item.URL != nil) {
|
||||||
rootURL = [NSURL fileURLWithPath:[@"~/Music" stringByExpandingTildeInPath]];
|
[self changeURL:item.URL];
|
||||||
|
}
|
||||||
rootNode = [[DirectoryNode alloc] initWithDataSource:self url:rootURL];
|
|
||||||
|
|
||||||
[watcher setPath:[rootURL path]];
|
|
||||||
|
|
||||||
[self reloadPathNode:rootNode];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (PathNode *)nodeForPath:(NSString *)path
|
- (NSURL *)rootURL {
|
||||||
{
|
return [rootNode URL];
|
||||||
NSString *relativePath = [[path stringByReplacingOccurrencesOfString:[[[self rootURL] path] stringByAppendingString:@"/"]
|
|
||||||
withString:@""
|
|
||||||
options:NSAnchoredSearch
|
|
||||||
range:NSMakeRange(0, [path length])
|
|
||||||
] stringByStandardizingPath];
|
|
||||||
PathNode *node = rootNode;
|
|
||||||
DLog(@"Root | Relative | Path: %@ | %@ | %@",[[self rootURL] path], relativePath, path);
|
|
||||||
for (NSString *c in [relativePath pathComponents])
|
|
||||||
{
|
|
||||||
DLog(@"COMPONENT: %@", c);
|
|
||||||
BOOL found = NO;
|
|
||||||
for (PathNode *subnode in [node subpaths]) {
|
|
||||||
if ([[[[subnode URL] path] lastPathComponent] isEqualToString:c]) {
|
|
||||||
node = subnode;
|
|
||||||
found = YES;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!found)
|
|
||||||
{
|
|
||||||
DLog(@"Not found!");
|
|
||||||
return nil;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return node;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)pathDidChange:(NSString *)path
|
- (void)setRootURL:(NSURL *)rootURL {
|
||||||
{
|
if (![[NSFileManager defaultManager] fileExistsAtPath:[rootURL path]]) {
|
||||||
DLog(@"PATH DID CHANGE: %@", path);
|
rootURL = defaultMusicDirectory();
|
||||||
//Need to find the corresponding node...and call [node reloadPath], then [self reloadPathNode:node]
|
}
|
||||||
PathNode *node = [self nodeForPath:path];
|
|
||||||
DLog(@"NODE IS: %@", node);
|
rootNode = [[DirectoryNode alloc] initWithDataSource:self url:rootURL];
|
||||||
[node updatePath];
|
|
||||||
[self reloadPathNode:node];
|
[self.watcher setPath:[rootURL path]];
|
||||||
|
|
||||||
|
[self reloadPathNode:rootNode];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (int)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item
|
- (PathNode *)nodeForPath:(NSString *)path {
|
||||||
{
|
NSString *relativePath = [[path stringByReplacingOccurrencesOfString:[[[self rootURL] path] stringByAppendingString:@"/"]
|
||||||
PathNode *n = (item == nil ? rootNode : item);
|
withString:@""
|
||||||
|
options:NSAnchoredSearch
|
||||||
|
range:NSMakeRange(0, [path length])
|
||||||
|
] stringByStandardizingPath];
|
||||||
|
PathNode *node = rootNode;
|
||||||
|
DLog(@"Root | Relative | Path: %@ | %@ | %@", [[self rootURL] path], relativePath, path);
|
||||||
|
for (NSString *c in [relativePath pathComponents]) {
|
||||||
|
DLog(@"COMPONENT: %@", c);
|
||||||
|
BOOL found = NO;
|
||||||
|
for (PathNode *subnode in [node subpaths]) {
|
||||||
|
if ([[[[subnode URL] path] lastPathComponent] isEqualToString:c]) {
|
||||||
|
node = subnode;
|
||||||
|
found = YES;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!found) {
|
||||||
|
DLog(@"Not found!");
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return node;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)pathDidChange:(NSString *)path {
|
||||||
|
DLog(@"PATH DID CHANGE: %@", path);
|
||||||
|
//Need to find the corresponding node...and call [node reloadPath], then [self reloadPathNode:node]
|
||||||
|
PathNode *node = [self nodeForPath:path];
|
||||||
|
DLog(@"NODE IS: %@", node);
|
||||||
|
[node updatePath];
|
||||||
|
[self reloadPathNode:node];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item {
|
||||||
|
PathNode *n = (item == nil ? rootNode : item);
|
||||||
|
|
||||||
return (int) [[n subpaths] count];
|
return (int) [[n subpaths] count];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item {
|
||||||
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item
|
PathNode *n = (item == nil ? rootNode : item);
|
||||||
{
|
|
||||||
PathNode *n = (item == nil ? rootNode : item);
|
|
||||||
|
|
||||||
return ([n isLeaf] == NO);
|
return ![n isLeaf];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id)outlineView:(NSOutlineView *)outlineView child:(int)index ofItem:(id)item
|
- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item {
|
||||||
{
|
PathNode *n = (item == nil ? rootNode : item);
|
||||||
PathNode *n = (item == nil ? rootNode : item);
|
|
||||||
|
|
||||||
return [[n subpaths] objectAtIndex:index];
|
return [n subpaths][(NSUInteger) index];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
|
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item {
|
||||||
{
|
PathNode *n = (item == nil ? rootNode : item);
|
||||||
PathNode *n = (item == nil ? rootNode : item);
|
|
||||||
|
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Drag it drop it
|
- (id <NSPasteboardWriting>)outlineView:(NSOutlineView *)outlineView pasteboardWriterForItem:(id)item {
|
||||||
- (BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray*)items toPasteboard:(NSPasteboard*)pboard {
|
NSPasteboardItem *paste = [[NSPasteboardItem alloc] init];
|
||||||
//Get selected paths
|
[paste setData:[[item URL] dataRepresentation] forType:NSPasteboardTypeFileURL];
|
||||||
NSMutableArray *urls = [NSMutableArray arrayWithCapacity:[items count]];
|
return paste;
|
||||||
NSMutableArray *paths = [NSMutableArray arrayWithCapacity:[items count]];
|
|
||||||
|
|
||||||
for (id p in items) {
|
|
||||||
[urls addObject:[p URL]];
|
|
||||||
[paths addObject:[[p URL] path]];
|
|
||||||
}
|
|
||||||
DLog(@"Paths: %@", paths);
|
|
||||||
[pboard declareTypes:[NSArray arrayWithObjects:CogUrlsPboardType,nil] owner:nil]; //add it to pboard
|
|
||||||
[pboard setData:[NSArchiver archivedDataWithRootObject:urls] forType:CogUrlsPboardType];
|
|
||||||
[pboard addTypes:[NSArray arrayWithObject:NSFilenamesPboardType] owner:self];
|
|
||||||
[pboard setPropertyList:paths forType:NSFilenamesPboardType];
|
|
||||||
|
|
||||||
return YES;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)reloadPathNode:(PathNode *)item
|
- (void)reloadPathNode:(PathNode *)item {
|
||||||
{
|
if (item == rootNode) {
|
||||||
if (item == rootNode)
|
[self.outlineView reloadData];
|
||||||
{
|
} else {
|
||||||
[outlineView reloadData];
|
[self.outlineView reloadItem:item reloadChildren:YES];
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
[outlineView reloadItem:item reloadChildren:YES];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -15,62 +15,62 @@
|
||||||
|
|
||||||
- (void)awakeFromNib
|
- (void)awakeFromNib
|
||||||
{
|
{
|
||||||
[self setDoubleAction:@selector(addToPlaylistExternal:)];
|
[self setDoubleAction:@selector(addToPlaylistExternal:)];
|
||||||
[self setTarget:[self delegate]];
|
[self setTarget:[self delegate]];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)keyDown:(NSEvent *)e
|
- (void)keyDown:(NSEvent *)e
|
||||||
{
|
{
|
||||||
unsigned int modifiers = [e modifierFlags] & (NSCommandKeyMask | NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask);
|
unsigned int modifiers = [e modifierFlags] & (NSEventModifierFlagCommand | NSEventModifierFlagShift | NSEventModifierFlagControl | NSEventModifierFlagOption);
|
||||||
NSString *characters = [e characters];
|
NSString *characters = [e characters];
|
||||||
unichar c;
|
unichar c;
|
||||||
|
|
||||||
if ([characters length] == 1)
|
if ([characters length] == 1)
|
||||||
{
|
{
|
||||||
c = [characters characterAtIndex:0];
|
c = [characters characterAtIndex:0];
|
||||||
|
|
||||||
if (modifiers == 0 && (c == NSEnterCharacter || c == NSCarriageReturnCharacter))
|
if (modifiers == 0 && (c == NSEnterCharacter || c == NSCarriageReturnCharacter))
|
||||||
{
|
{
|
||||||
[(FileTreeController *)[self delegate] addToPlaylistExternal:self];
|
[(FileTreeController *)[self delegate] addToPlaylistExternal:self];
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (modifiers == 0 && c == ' ')
|
else if (modifiers == 0 && c == ' ')
|
||||||
{
|
{
|
||||||
[(FileTreeController *)[self delegate] playPauseResume:self];
|
[(FileTreeController *)[self delegate] playPauseResume:self];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[super keyDown:e];
|
[super keyDown:e];
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// enables right-click selection for "Show in Finder" contextual menu
|
// enables right-click selection for "Show in Finder" contextual menu
|
||||||
-(NSMenu*)menuForEvent:(NSEvent*)event
|
-(NSMenu*)menuForEvent:(NSEvent*)event
|
||||||
{
|
{
|
||||||
//Find which row is under the cursor
|
//Find which row is under the cursor
|
||||||
[[self window] makeFirstResponder:self];
|
[[self window] makeFirstResponder:self];
|
||||||
NSPoint menuPoint = [self convertPoint:[event locationInWindow] fromView:nil];
|
NSPoint menuPoint = [self convertPoint:[event locationInWindow] fromView:nil];
|
||||||
NSInteger iRow = [self rowAtPoint:menuPoint];
|
NSInteger iRow = [self rowAtPoint:menuPoint];
|
||||||
NSMenu* contextMenu = [self menu];
|
NSMenu* contextMenu = [self menu];
|
||||||
|
|
||||||
/* Update the file tree selection before showing menu
|
/* Update the file tree selection before showing menu
|
||||||
Preserves the selection if the row under the mouse is selected (to allow for
|
Preserves the selection if the row under the mouse is selected (to allow for
|
||||||
multiple items to be selected), otherwise selects the row under the mouse */
|
multiple items to be selected), otherwise selects the row under the mouse */
|
||||||
BOOL currentRowIsSelected = [[self selectedRowIndexes] containsIndex:iRow];
|
BOOL currentRowIsSelected = [[self selectedRowIndexes] containsIndex:iRow];
|
||||||
|
|
||||||
if (iRow == -1)
|
if (iRow == -1)
|
||||||
{
|
{
|
||||||
[self deselectAll:self];
|
[self deselectAll:self];
|
||||||
}
|
}
|
||||||
else if (!currentRowIsSelected)
|
else if (!currentRowIsSelected)
|
||||||
{
|
{
|
||||||
[self selectRowIndexes:[NSIndexSet indexSetWithIndex:iRow] byExtendingSelection:NO];
|
[self selectRowIndexes:[NSIndexSet indexSetWithIndex:iRow] byExtendingSelection:NO];
|
||||||
}
|
}
|
||||||
|
|
||||||
return contextMenu;
|
return contextMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -738,6 +738,7 @@
|
||||||
);
|
);
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -792,6 +793,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -606,6 +606,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -645,6 +646,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1589,6 +1589,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -1629,6 +1630,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -286,6 +286,7 @@
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -330,6 +331,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -256,6 +256,7 @@
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -307,6 +308,7 @@
|
||||||
);
|
);
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -304,6 +304,7 @@
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -357,6 +358,7 @@
|
||||||
);
|
);
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -387,6 +387,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -425,6 +426,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -340,6 +340,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -380,6 +381,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1390,6 +1390,7 @@
|
||||||
);
|
);
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -1454,6 +1455,7 @@
|
||||||
);
|
);
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -1485,10 +1487,7 @@
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
INSTALL_PATH = "@loader_path/../Frameworks";
|
INSTALL_PATH = "@loader_path/../Frameworks";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||||
LIBRARY_SEARCH_PATHS = (
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
||||||
"$(inherited)",
|
|
||||||
"$(PROJECT_DIR)/OpenMPT/include/foobar2000sdk/foobar2000/shared",
|
|
||||||
);
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = net.kode54.libOpenMPT;
|
PRODUCT_BUNDLE_IDENTIFIER = net.kode54.libOpenMPT;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
|
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
@ -1509,10 +1508,7 @@
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
INSTALL_PATH = "@loader_path/../Frameworks";
|
INSTALL_PATH = "@loader_path/../Frameworks";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||||
LIBRARY_SEARCH_PATHS = (
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
||||||
"$(inherited)",
|
|
||||||
"$(PROJECT_DIR)/OpenMPT/include/foobar2000sdk/foobar2000/shared",
|
|
||||||
);
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = net.kode54.libOpenMPT;
|
PRODUCT_BUNDLE_IDENTIFIER = net.kode54.libOpenMPT;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
|
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
|
|
@ -1354,6 +1354,7 @@
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -1401,6 +1402,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = __OPTIMIZE__;
|
GCC_PREPROCESSOR_DEFINITIONS = __OPTIMIZE__;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -331,6 +331,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -376,6 +377,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1130,6 +1130,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -1172,6 +1173,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -853,6 +853,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -893,6 +894,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -448,6 +448,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -487,6 +488,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -422,6 +422,7 @@
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"VAR_ARRAYS=1",
|
"VAR_ARRAYS=1",
|
||||||
);
|
);
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
HEADER_SEARCH_PATHS = (
|
HEADER_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||||
|
@ -448,6 +449,7 @@
|
||||||
DYLIB_INSTALL_NAME_BASE = "@loader_path/Frameworks";
|
DYLIB_INSTALL_NAME_BASE = "@loader_path/Frameworks";
|
||||||
FRAMEWORK_VERSION = A;
|
FRAMEWORK_VERSION = A;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = "VAR_ARRAYS=1";
|
GCC_PREPROCESSOR_DEFINITIONS = "VAR_ARRAYS=1";
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
HEADER_SEARCH_PATHS = (
|
HEADER_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1122,6 +1122,7 @@
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -1167,6 +1168,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -292,6 +292,7 @@
|
||||||
);
|
);
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -347,6 +348,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -119,7 +119,7 @@
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
83D3C67A201D37D8005564CB = {
|
83D3C67A201D37D8005564CB = {
|
||||||
CreatedOnToolsVersion = 9.2;
|
CreatedOnToolsVersion = 9.2;
|
||||||
ProvisioningStyle = Manual;
|
ProvisioningStyle = Automatic;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -213,6 +213,7 @@
|
||||||
);
|
);
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -267,6 +268,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1025,6 +1025,7 @@
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -1081,6 +1082,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = HAVE_CONFIG_H;
|
GCC_PREPROCESSOR_DEFINITIONS = HAVE_CONFIG_H;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1366,6 +1366,7 @@
|
||||||
"HAVE_STRTOF_L=1",
|
"HAVE_STRTOF_L=1",
|
||||||
MGBA_STANDALONE,
|
MGBA_STANDALONE,
|
||||||
);
|
);
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
HEADER_SEARCH_PATHS = (
|
HEADER_SEARCH_PATHS = (
|
||||||
"$(SRCROOT)/mGBA/mgba/src",
|
"$(SRCROOT)/mGBA/mgba/src",
|
||||||
"$(SRCROOT)/mGBA/mgba/include",
|
"$(SRCROOT)/mGBA/mgba/include",
|
||||||
|
@ -1399,6 +1400,7 @@
|
||||||
"HAVE_STRTOF_L=1",
|
"HAVE_STRTOF_L=1",
|
||||||
MGBA_STANDALONE,
|
MGBA_STANDALONE,
|
||||||
);
|
);
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
HEADER_SEARCH_PATHS = (
|
HEADER_SEARCH_PATHS = (
|
||||||
"$(SRCROOT)/mGBA/mgba/src",
|
"$(SRCROOT)/mGBA/mgba/src",
|
||||||
"$(SRCROOT)/mGBA/mgba/include",
|
"$(SRCROOT)/mGBA/mgba/include",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -274,6 +274,7 @@
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -320,6 +321,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -323,7 +323,7 @@
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
8313E30E1901FBDC00B4B6F1 = {
|
8313E30E1901FBDC00B4B6F1 = {
|
||||||
DevelopmentTeam = N6E749HJ2X;
|
DevelopmentTeam = N6E749HJ2X;
|
||||||
ProvisioningStyle = Manual;
|
ProvisioningStyle = Automatic;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -515,6 +515,7 @@
|
||||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
FRAMEWORK_VERSION = A;
|
FRAMEWORK_VERSION = A;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
INFOPLIST_FILE = "mpg123/mpg123-Info.plist";
|
INFOPLIST_FILE = "mpg123/mpg123-Info.plist";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "NoWork-Inc.${PRODUCT_NAME:rfc1034identifier}";
|
PRODUCT_BUNDLE_IDENTIFIER = "NoWork-Inc.${PRODUCT_NAME:rfc1034identifier}";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
@ -532,6 +533,7 @@
|
||||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
FRAMEWORK_VERSION = A;
|
FRAMEWORK_VERSION = A;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
INFOPLIST_FILE = "mpg123/mpg123-Info.plist";
|
INFOPLIST_FILE = "mpg123/mpg123-Info.plist";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "NoWork-Inc.${PRODUCT_NAME:rfc1034identifier}";
|
PRODUCT_BUNDLE_IDENTIFIER = "NoWork-Inc.${PRODUCT_NAME:rfc1034identifier}";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -303,6 +303,7 @@
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
FRAMEWORK_VERSION = A;
|
FRAMEWORK_VERSION = A;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
INFOPLIST_FILE = "psflib/psflib-Info.plist";
|
INFOPLIST_FILE = "psflib/psflib-Info.plist";
|
||||||
INSTALL_PATH = "@loader_path/../Frameworks";
|
INSTALL_PATH = "@loader_path/../Frameworks";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = net.kode54.psflib;
|
PRODUCT_BUNDLE_IDENTIFIER = net.kode54.psflib;
|
||||||
|
@ -325,6 +326,7 @@
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
FRAMEWORK_VERSION = A;
|
FRAMEWORK_VERSION = A;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
INFOPLIST_FILE = "psflib/psflib-Info.plist";
|
INFOPLIST_FILE = "psflib/psflib-Info.plist";
|
||||||
INSTALL_PATH = "@loader_path/../Frameworks";
|
INSTALL_PATH = "@loader_path/../Frameworks";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = net.kode54.psflib;
|
PRODUCT_BUNDLE_IDENTIFIER = net.kode54.psflib;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -2295,7 +2295,7 @@
|
||||||
836F6B3018BDB8880095E648 /* Project object */ = {
|
836F6B3018BDB8880095E648 /* Project object */ = {
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1150;
|
LastUpgradeCheck = 1230;
|
||||||
ORGANIZATIONNAME = "Christopher Snowhill";
|
ORGANIZATIONNAME = "Christopher Snowhill";
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
836F6B3818BDB8880095E648 = {
|
836F6B3818BDB8880095E648 = {
|
||||||
|
@ -2998,6 +2998,7 @@
|
||||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
@ -3027,6 +3028,7 @@
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -3066,6 +3068,7 @@
|
||||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
@ -3092,6 +3095,7 @@
|
||||||
);
|
);
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -3119,7 +3123,6 @@
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/Cog-egaqitgoybntfwaoqzgiynizucrq/Build/Products/Debug",
|
|
||||||
../mpg123,
|
../mpg123,
|
||||||
);
|
);
|
||||||
FRAMEWORK_VERSION = A;
|
FRAMEWORK_VERSION = A;
|
||||||
|
@ -3149,7 +3152,6 @@
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/Cog-egaqitgoybntfwaoqzgiynizucrq/Build/Products/Debug",
|
|
||||||
../mpg123,
|
../mpg123,
|
||||||
);
|
);
|
||||||
FRAMEWORK_VERSION = A;
|
FRAMEWORK_VERSION = A;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -403,6 +403,7 @@
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -448,6 +449,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,22 +1,32 @@
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h>
|
#import <Cocoa/Cocoa.h>
|
||||||
|
|
||||||
extern NSString *MovedRowsType;
|
extern NSString *CogDNDIndexType;
|
||||||
extern NSString *CogUrlsPboardType;
|
extern NSString *CogUrlsPboardType;
|
||||||
extern NSString *iTunesDropType;
|
extern NSString *iTunesDropType;
|
||||||
|
|
||||||
@interface DNDArrayController : NSArrayController
|
@interface DNDArrayController : NSArrayController <NSTableViewDataSource>
|
||||||
{
|
|
||||||
IBOutlet NSTableView *tableView;
|
@property IBOutlet NSTableView *tableView;
|
||||||
}
|
|
||||||
|
|
||||||
// table view drag and drop support
|
// table view drag and drop support
|
||||||
- (BOOL)tableView:(NSTableView *)aTableView writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard *)pboard;
|
- (id <NSPasteboardWriting>)tableView:(NSTableView *)tableView
|
||||||
- (NSDragOperation)tableView:(NSTableView*)tv validateDrop:(id <NSDraggingInfo>)info proposedRow:(int)row proposedDropOperation:(NSTableViewDropOperation)op;
|
pasteboardWriterForRow:(NSInteger)row;
|
||||||
- (BOOL)tableView:(NSTableView*)tv acceptDrop:(id <NSDraggingInfo>)info row:(int)row dropOperation:(NSTableViewDropOperation)op;
|
- (void)tableView:(NSTableView *)tableView
|
||||||
|
draggingSession:(NSDraggingSession *)session
|
||||||
|
willBeginAtPoint:(NSPoint)screenPoint
|
||||||
|
forRowIndexes:(NSIndexSet *)rowIndexes;
|
||||||
|
- (NSDragOperation)tableView:(NSTableView *)tableView
|
||||||
|
validateDrop:(id <NSDraggingInfo>)info
|
||||||
|
proposedRow:(NSInteger)row
|
||||||
|
proposedDropOperation:(NSTableViewDropOperation)dropOperation;
|
||||||
|
- (BOOL)tableView:(NSTableView *)tableView
|
||||||
|
acceptDrop:(id <NSDraggingInfo>)info
|
||||||
|
row:(NSInteger)row
|
||||||
|
dropOperation:(NSTableViewDropOperation)dropOperation;
|
||||||
|
|
||||||
// utility methods
|
// utility methods
|
||||||
-(void)moveObjectsInArrangedObjectsFromIndexes:(NSIndexSet*)indexSet toIndex:(unsigned int)insertIndex;
|
-(void)moveObjectsInArrangedObjectsFromIndexes:(NSIndexSet *)indexSet
|
||||||
|
toIndex:(unsigned int)insertIndex;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -3,113 +3,112 @@
|
||||||
|
|
||||||
#import "Logging.h"
|
#import "Logging.h"
|
||||||
|
|
||||||
|
NSString *CogDNDIndexType = @"org.cogx.cog.dnd-index";
|
||||||
|
NSString *CogUrlsPboardType = @"org.cogx.cog.url";
|
||||||
|
NSString *iTunesDropType = @"com.apple.tv.metadata";
|
||||||
|
|
||||||
@implementation DNDArrayController
|
@implementation DNDArrayController
|
||||||
|
|
||||||
NSString *MovedRowsType = @"MOVED_ROWS_TYPE";
|
- (void)awakeFromNib {
|
||||||
NSString *CogUrlsPboardType = @"COG_URLS_TYPE";
|
[super awakeFromNib];
|
||||||
|
|
||||||
// @"CorePasteboardFlavorType 0x6974756E" is the "itun" type representing an iTunes plist
|
|
||||||
NSString *iTunesDropType = @"CorePasteboardFlavorType 0x6974756E";
|
|
||||||
|
|
||||||
- (void)awakeFromNib
|
|
||||||
{
|
|
||||||
// register for drag and drop
|
// register for drag and drop
|
||||||
[tableView registerForDraggedTypes:[NSArray arrayWithObjects:MovedRowsType, CogUrlsPboardType, NSFilenamesPboardType, iTunesDropType, nil]];
|
[self.tableView registerForDraggedTypes:@[CogDNDIndexType,
|
||||||
|
CogUrlsPboardType,
|
||||||
|
NSPasteboardTypeFileURL,
|
||||||
|
iTunesDropType]];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
- (BOOL)tableView:(NSTableView *)aTableView writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard *)pboard
|
- (id <NSPasteboardWriting>)tableView:(NSTableView *)tableView
|
||||||
{
|
pasteboardWriterForRow:(NSInteger)row {
|
||||||
DLog(@"INDEX SET ON DRAG: %@", rowIndexes);
|
NSPasteboardItem *item = [[NSPasteboardItem alloc] init];
|
||||||
|
[item setString:[@(row) stringValue] forType:CogDNDIndexType];
|
||||||
NSData *data = [NSArchiver archivedDataWithRootObject:rowIndexes];
|
|
||||||
|
|
||||||
[pboard declareTypes: [NSArray arrayWithObjects:MovedRowsType, nil] owner:self];
|
|
||||||
[pboard setData:data forType: MovedRowsType];
|
|
||||||
|
|
||||||
return YES;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
- (NSDragOperation)tableView:(NSTableView*)tv
|
- (void)tableView:(NSTableView *)tableView
|
||||||
validateDrop:(id <NSDraggingInfo>)info
|
draggingSession:(NSDraggingSession *)session
|
||||||
proposedRow:(int)row
|
willBeginAtPoint:(NSPoint)screenPoint
|
||||||
proposedDropOperation:(NSTableViewDropOperation)op
|
forRowIndexes:(NSIndexSet *)rowIndexes {
|
||||||
{
|
DLog(@"Drag session started with indexes: %@", rowIndexes);
|
||||||
NSDragOperation dragOp = NSDragOperationCopy;
|
}
|
||||||
|
|
||||||
if ([info draggingSource] == tv)
|
|
||||||
dragOp = NSDragOperationMove;
|
- (NSDragOperation)tableView:(NSTableView *)tableView
|
||||||
|
validateDrop:(id <NSDraggingInfo>)info
|
||||||
DLog(@"VALIDATING DROP!");
|
proposedRow:(NSInteger)row
|
||||||
|
proposedDropOperation:(NSTableViewDropOperation)dropOperation {
|
||||||
|
NSDragOperation dragOp = NSDragOperationCopy;
|
||||||
|
|
||||||
|
if ([info draggingSource] == tableView)
|
||||||
|
dragOp = NSDragOperationMove;
|
||||||
|
|
||||||
|
DLog(@"VALIDATING DROP!");
|
||||||
// we want to put the object at, not over,
|
// we want to put the object at, not over,
|
||||||
// the current row (contrast NSTableViewDropOn)
|
// the current row (contrast NSTableViewDropOn)
|
||||||
[tv setDropRow:row dropOperation:NSTableViewDropAbove];
|
[tableView setDropRow:row dropOperation:NSTableViewDropAbove];
|
||||||
|
|
||||||
return dragOp;
|
return dragOp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
- (BOOL)tableView:(NSTableView*)tv
|
- (BOOL)tableView:(NSTableView *)tableView
|
||||||
acceptDrop:(id <NSDraggingInfo>)info
|
acceptDrop:(id <NSDraggingInfo>)info
|
||||||
row:(int)row
|
row:(NSInteger)row
|
||||||
dropOperation:(NSTableViewDropOperation)op
|
dropOperation:(NSTableViewDropOperation)dropOperation {
|
||||||
{
|
if (row < 0) {
|
||||||
if (row < 0)
|
row = 0;
|
||||||
{
|
}
|
||||||
row = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
NSArray<NSPasteboardItem *> *items = info.draggingPasteboard.pasteboardItems;
|
||||||
// if drag source is self, it's a move
|
// if drag source is self, it's a move
|
||||||
if ([info draggingSource] == tableView)
|
if ([info draggingSource] == tableView || items == nil) {
|
||||||
{
|
NSMutableIndexSet *indexSet = [NSMutableIndexSet indexSet];
|
||||||
NSIndexSet *indexSet = [NSUnarchiver unarchiveObjectWithData:[[info draggingPasteboard] dataForType:MovedRowsType]];
|
for (NSPasteboardItem *item in items) {
|
||||||
if (indexSet)
|
[indexSet addIndex:(NSUInteger) [[item stringForType:CogDNDIndexType] intValue]];
|
||||||
{
|
}
|
||||||
DLog(@"INDEX SET ON DROP: %@", indexSet);
|
if ([indexSet count] > 0) {
|
||||||
NSArray *selected = [[self arrangedObjects] objectsAtIndexes:indexSet];
|
DLog(@"INDEX SET ON DROP: %@", indexSet);
|
||||||
[self moveObjectsInArrangedObjectsFromIndexes:indexSet toIndex:row];
|
NSArray *selected = [[self arrangedObjects] objectsAtIndexes:indexSet];
|
||||||
|
[self moveObjectsInArrangedObjectsFromIndexes:indexSet toIndex:(unsigned int) row];
|
||||||
[self setSelectedObjects:selected];
|
|
||||||
|
[self setSelectedObjects:selected];
|
||||||
DLog(@"ACCEPTING DROP!");
|
|
||||||
return YES;
|
DLog(@"ACCEPTING DROP!");
|
||||||
}
|
return YES;
|
||||||
}
|
}
|
||||||
DLog(@"REJECTING DROP!");
|
}
|
||||||
return NO;
|
DLog(@"REJECTING DROP!");
|
||||||
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
-(void) moveObjectsInArrangedObjectsFromIndexes:(NSIndexSet*)indexSet
|
- (void)moveObjectsInArrangedObjectsFromIndexes:(NSIndexSet *)indexSet
|
||||||
toIndex:(unsigned int)insertIndex
|
toIndex:(unsigned int)insertIndex {
|
||||||
{
|
NSArray *objects = [self arrangedObjects];
|
||||||
|
NSUInteger index = [indexSet lastIndex];
|
||||||
NSArray *objects = [self arrangedObjects];
|
|
||||||
NSUInteger index = [indexSet lastIndex];
|
|
||||||
|
|
||||||
int aboveInsertIndexCount = 0;
|
|
||||||
id object;
|
|
||||||
int removeIndex;
|
|
||||||
|
|
||||||
while (NSNotFound != index)
|
|
||||||
{
|
|
||||||
if (index >= insertIndex) {
|
|
||||||
removeIndex = (int)(index + aboveInsertIndexCount);
|
|
||||||
aboveInsertIndexCount += 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
removeIndex = (int)index;
|
|
||||||
insertIndex -= 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
object = [objects objectAtIndex:removeIndex];
|
|
||||||
|
|
||||||
[self removeObjectAtArrangedObjectIndex:removeIndex];
|
NSUInteger aboveInsertIndexCount = 0;
|
||||||
[self insertObject:object atArrangedObjectIndex:insertIndex];
|
id object;
|
||||||
|
NSUInteger removeIndex;
|
||||||
index = [indexSet indexLessThanIndex:index];
|
|
||||||
|
while (NSNotFound != index) {
|
||||||
|
if (index >= insertIndex) {
|
||||||
|
removeIndex = index + aboveInsertIndexCount;
|
||||||
|
aboveInsertIndexCount += 1;
|
||||||
|
} else {
|
||||||
|
removeIndex = index;
|
||||||
|
insertIndex -= 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
object = objects[removeIndex];
|
||||||
|
|
||||||
|
[self removeObjectAtArrangedObjectIndex:removeIndex];
|
||||||
|
[self insertObject:object atArrangedObjectIndex:insertIndex];
|
||||||
|
|
||||||
|
index = [indexSet indexLessThanIndex:index];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,55 +15,48 @@
|
||||||
@class SpotlightWindowController;
|
@class SpotlightWindowController;
|
||||||
@class PlaybackController;
|
@class PlaybackController;
|
||||||
|
|
||||||
typedef enum {
|
typedef NS_ENUM(NSInteger, RepeatMode) {
|
||||||
RepeatNone = 0,
|
RepeatModeNoRepeat = 0,
|
||||||
RepeatOne,
|
RepeatModeRepeatOne,
|
||||||
RepeatAlbum,
|
RepeatModeRepeatAlbum,
|
||||||
RepeatAll
|
RepeatModeRepeatAll
|
||||||
} RepeatMode;
|
};
|
||||||
|
|
||||||
static inline BOOL IsRepeatOneSet()
|
static inline BOOL IsRepeatOneSet() {
|
||||||
{
|
return [[NSUserDefaults standardUserDefaults] integerForKey:@"repeat"] == RepeatModeRepeatOne;
|
||||||
return [[NSUserDefaults standardUserDefaults] integerForKey:@"repeat"] == RepeatOne;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef enum {
|
typedef enum { ShuffleOff = 0, ShuffleAlbums, ShuffleAll } ShuffleMode;
|
||||||
ShuffleOff = 0,
|
|
||||||
ShuffleAlbums,
|
|
||||||
ShuffleAll
|
|
||||||
} ShuffleMode;
|
|
||||||
|
|
||||||
|
|
||||||
typedef enum {
|
typedef NS_ENUM(NSInteger, URLOrigin) {
|
||||||
URLOriginInternal = 0,
|
URLOriginInternal = 0,
|
||||||
URLOriginExternal,
|
URLOriginExternal
|
||||||
} URLOrigin;
|
};
|
||||||
|
|
||||||
|
@interface PlaylistController : DNDArrayController <NSTableViewDelegate> {
|
||||||
|
IBOutlet PlaylistLoader *playlistLoader;
|
||||||
|
IBOutlet SpotlightWindowController *spotlightWindowController;
|
||||||
|
IBOutlet PlaybackController *playbackController;
|
||||||
|
|
||||||
|
NSMutableArray *shuffleList;
|
||||||
|
NSMutableArray *queueList;
|
||||||
|
|
||||||
|
NSString *totalTime;
|
||||||
|
|
||||||
|
PlaylistEntry *currentEntry;
|
||||||
|
|
||||||
@interface PlaylistController : DNDArrayController {
|
|
||||||
IBOutlet PlaylistLoader *playlistLoader;
|
|
||||||
IBOutlet SpotlightWindowController *spotlightWindowController;
|
|
||||||
IBOutlet PlaybackController *playbackController;
|
|
||||||
|
|
||||||
NSMutableArray *shuffleList;
|
|
||||||
NSMutableArray *queueList;
|
|
||||||
|
|
||||||
NSString *totalTime;
|
|
||||||
|
|
||||||
PlaylistEntry *currentEntry;
|
|
||||||
|
|
||||||
NSUndoManager *undoManager;
|
NSUndoManager *undoManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@property(nonatomic, retain) PlaylistEntry *currentEntry;
|
@property(nonatomic, retain) PlaylistEntry *currentEntry;
|
||||||
@property(retain) NSString *totalTime;
|
@property(retain) NSString *totalTime;
|
||||||
|
|
||||||
//Private Methods
|
// Private Methods
|
||||||
- (void)updateTotalTime;
|
- (void)updateTotalTime;
|
||||||
- (void)updatePlaylistIndexes;
|
- (void)updatePlaylistIndexes;
|
||||||
- (IBAction)stopAfterCurrent:(id)sender;
|
- (IBAction)stopAfterCurrent:(id)sender;
|
||||||
|
|
||||||
|
// PUBLIC METHODS
|
||||||
//PUBLIC METHODS
|
|
||||||
- (void)setShuffle:(ShuffleMode)s;
|
- (void)setShuffle:(ShuffleMode)s;
|
||||||
- (ShuffleMode)shuffle;
|
- (ShuffleMode)shuffle;
|
||||||
- (void)setRepeat:(RepeatMode)r;
|
- (void)setRepeat:(RepeatMode)r;
|
||||||
|
@ -95,7 +88,7 @@ typedef enum {
|
||||||
- (IBAction)searchByArtist:(id)sender;
|
- (IBAction)searchByArtist:(id)sender;
|
||||||
- (IBAction)searchByAlbum:(id)sender;
|
- (IBAction)searchByAlbum:(id)sender;
|
||||||
|
|
||||||
//FUN PLAYLIST MANAGEMENT STUFF!
|
// FUN PLAYLIST MANAGEMENT STUFF!
|
||||||
- (BOOL)next;
|
- (BOOL)next;
|
||||||
- (BOOL)prev;
|
- (BOOL)prev;
|
||||||
|
|
||||||
|
@ -107,12 +100,15 @@ typedef enum {
|
||||||
- (PlaylistEntry *)entryAtIndex:(int)i;
|
- (PlaylistEntry *)entryAtIndex:(int)i;
|
||||||
|
|
||||||
// Event inlets:
|
// Event inlets:
|
||||||
- (void)willInsertURLs:(NSArray*)urls origin:(URLOrigin)origin;
|
- (void)willInsertURLs:(NSArray *)urls origin:(URLOrigin)origin;
|
||||||
- (void)didInsertURLs:(NSArray*)urls origin:(URLOrigin)origin;
|
- (void)didInsertURLs:(NSArray *)urls origin:(URLOrigin)origin;
|
||||||
|
|
||||||
// queue methods
|
// queue methods
|
||||||
- (IBAction)toggleQueued:(id)sender;
|
- (IBAction)toggleQueued:(id)sender;
|
||||||
- (IBAction)emptyQueueList:(id)sender;
|
- (IBAction)emptyQueueList:(id)sender;
|
||||||
- (NSMutableArray *)queueList;
|
- (NSMutableArray *)queueList;
|
||||||
|
|
||||||
|
- (void)moveObjectsInArrangedObjectsFromIndexes:(NSIndexSet *)indexSet
|
||||||
|
toIndex:(unsigned int)insertIndex;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -13,11 +13,11 @@
|
||||||
#import "PlaylistLoader.h"
|
#import "PlaylistLoader.h"
|
||||||
|
|
||||||
@interface PlaylistView : NSTableView {
|
@interface PlaylistView : NSTableView {
|
||||||
IBOutlet PlaybackController *playbackController;
|
IBOutlet PlaybackController *playbackController;
|
||||||
IBOutlet PlaylistController *playlistController;
|
IBOutlet PlaylistController *playlistController;
|
||||||
IBOutlet PlaylistLoader *playlistLoader;
|
IBOutlet PlaylistLoader *playlistLoader;
|
||||||
|
|
||||||
NSMenu *headerContextMenu;
|
NSMenu *headerContextMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)toggleColumn:(id)sender;
|
- (IBAction)toggleColumn:(id)sender;
|
||||||
|
|
|
@ -7,13 +7,11 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#import "PlaylistView.h"
|
#import "PlaylistView.h"
|
||||||
#import "PlaybackController.h"
|
|
||||||
#import "PlaylistController.h"
|
|
||||||
|
|
||||||
#import "IndexFormatter.h"
|
|
||||||
#import "SecondsFormatter.h"
|
|
||||||
#import "BlankZeroFormatter.h"
|
#import "BlankZeroFormatter.h"
|
||||||
|
#import "IndexFormatter.h"
|
||||||
#import "PlaylistEntry.h"
|
#import "PlaylistEntry.h"
|
||||||
|
#import "SecondsFormatter.h"
|
||||||
|
|
||||||
#import "CogAudio/Status.h"
|
#import "CogAudio/Status.h"
|
||||||
|
|
||||||
|
@ -21,389 +19,364 @@
|
||||||
|
|
||||||
@implementation PlaylistView
|
@implementation PlaylistView
|
||||||
|
|
||||||
- (void)awakeFromNib
|
- (void)awakeFromNib {
|
||||||
{
|
[[self menu] setAutoenablesItems:NO];
|
||||||
[[self menu] setAutoenablesItems:NO];
|
|
||||||
|
|
||||||
// Configure bindings to scale font size and row height
|
// Configure bindings to scale font size and row height
|
||||||
NSControlSize s = NSSmallControlSize;
|
NSControlSize s = NSControlSizeSmall;
|
||||||
NSFont *f = [NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:s]];
|
NSFont *f = [NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:s]];
|
||||||
// NSFont *bf = [[NSFontManager sharedFontManager] convertFont:f toHaveTrait:NSBoldFontMask];
|
// NSFont *bf = [[NSFontManager sharedFontManager] convertFont:f toHaveTrait:NSBoldFontMask];
|
||||||
|
|
||||||
for (NSTableColumn *col in [self tableColumns]) {
|
for (NSTableColumn *col in [self tableColumns]) {
|
||||||
[[col dataCell] setControlSize:s];
|
[[col dataCell] setControlSize:s];
|
||||||
[[col dataCell] setFont:f];
|
[[col dataCell] setFont:f];
|
||||||
}
|
}
|
||||||
|
|
||||||
//Set up formatters
|
// Set up formatters
|
||||||
NSFormatter *secondsFormatter = [[SecondsFormatter alloc] init];
|
NSFormatter *secondsFormatter = [[SecondsFormatter alloc] init];
|
||||||
[[[self tableColumnWithIdentifier:@"length"] dataCell] setFormatter:secondsFormatter];
|
[[[self tableColumnWithIdentifier:@"length"] dataCell] setFormatter:secondsFormatter];
|
||||||
|
|
||||||
NSFormatter *indexFormatter = [[IndexFormatter alloc] init];
|
|
||||||
[[[self tableColumnWithIdentifier:@"index"] dataCell] setFormatter:indexFormatter];
|
|
||||||
|
|
||||||
NSFormatter *blankZeroFormatter = [[BlankZeroFormatter alloc] init];
|
|
||||||
[[[self tableColumnWithIdentifier:@"track"] dataCell] setFormatter:blankZeroFormatter];
|
|
||||||
[[[self tableColumnWithIdentifier:@"year"] dataCell] setFormatter:blankZeroFormatter];
|
|
||||||
//end setting up formatters
|
|
||||||
|
|
||||||
[self setVerticalMotionCanBeginDrag:YES];
|
NSFormatter *indexFormatter = [[IndexFormatter alloc] init];
|
||||||
|
[[[self tableColumnWithIdentifier:@"index"] dataCell] setFormatter:indexFormatter];
|
||||||
//Set up header context menu
|
|
||||||
headerContextMenu = [[NSMenu alloc] initWithTitle:@"Playlist Header Context Menu"];
|
|
||||||
|
|
||||||
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"identifier" ascending:YES];
|
|
||||||
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
|
|
||||||
|
|
||||||
int visibleTableColumns = 0;
|
|
||||||
int menuIndex = 0;
|
|
||||||
for (NSTableColumn *col in [[self tableColumns] sortedArrayUsingDescriptors: sortDescriptors])
|
|
||||||
{
|
|
||||||
NSString *title;
|
|
||||||
if ([[col identifier] isEqualToString:@"status"])
|
|
||||||
{
|
|
||||||
title = @"Status";
|
|
||||||
}
|
|
||||||
else if ([[col identifier] isEqualToString:@"index"])
|
|
||||||
{
|
|
||||||
title = @"Index";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
title = [[col headerCell] title];
|
|
||||||
}
|
|
||||||
|
|
||||||
NSMenuItem *contextMenuItem = [headerContextMenu insertItemWithTitle:title action:@selector(toggleColumn:) keyEquivalent:@"" atIndex:menuIndex];
|
|
||||||
|
|
||||||
[contextMenuItem setTarget:self];
|
|
||||||
[contextMenuItem setRepresentedObject:col];
|
|
||||||
[contextMenuItem setState:([col isHidden] ? NSOffState : NSOnState)];
|
|
||||||
|
|
||||||
visibleTableColumns += ![col isHidden];
|
NSFormatter *blankZeroFormatter = [[BlankZeroFormatter alloc] init];
|
||||||
menuIndex++;
|
[[[self tableColumnWithIdentifier:@"track"] dataCell] setFormatter:blankZeroFormatter];
|
||||||
}
|
[[[self tableColumnWithIdentifier:@"year"] dataCell] setFormatter:blankZeroFormatter];
|
||||||
|
// end setting up formatters
|
||||||
if (visibleTableColumns == 0) {
|
|
||||||
for (NSTableColumn *col in [self tableColumns]) {
|
[self setVerticalMotionCanBeginDrag:YES];
|
||||||
[col setHidden:NO];
|
|
||||||
}
|
// Set up header context menu
|
||||||
}
|
headerContextMenu = [[NSMenu alloc] initWithTitle:@"Playlist Header Context Menu"];
|
||||||
|
|
||||||
[[self headerView] setMenu:headerContextMenu];
|
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"identifier"
|
||||||
|
ascending:YES];
|
||||||
|
NSArray *sortDescriptors = @[sortDescriptor];
|
||||||
|
|
||||||
|
int visibleTableColumns = 0;
|
||||||
|
int menuIndex = 0;
|
||||||
|
for (NSTableColumn *col in [[self tableColumns] sortedArrayUsingDescriptors:sortDescriptors]) {
|
||||||
|
NSString *title;
|
||||||
|
if ([[col identifier] isEqualToString:@"status"]) {
|
||||||
|
title = @"Status";
|
||||||
|
} else if ([[col identifier] isEqualToString:@"index"]) {
|
||||||
|
title = @"Index";
|
||||||
|
} else {
|
||||||
|
title = [[col headerCell] title];
|
||||||
|
}
|
||||||
|
|
||||||
|
NSMenuItem *contextMenuItem =
|
||||||
|
[headerContextMenu insertItemWithTitle:title
|
||||||
|
action:@selector(toggleColumn:)
|
||||||
|
keyEquivalent:@""
|
||||||
|
atIndex:menuIndex];
|
||||||
|
|
||||||
|
[contextMenuItem setTarget:self];
|
||||||
|
[contextMenuItem setRepresentedObject:col];
|
||||||
|
[contextMenuItem setState:([col isHidden] ? NSControlStateValueOff : NSControlStateValueOn)];
|
||||||
|
|
||||||
|
visibleTableColumns += ![col isHidden];
|
||||||
|
menuIndex++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (visibleTableColumns == 0) {
|
||||||
|
for (NSTableColumn *col in [self tableColumns]) {
|
||||||
|
[col setHidden:NO];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[[self headerView] setMenu:headerContextMenu];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (IBAction)toggleColumn:(id)sender {
|
||||||
|
id tc = [sender representedObject];
|
||||||
|
|
||||||
- (IBAction)toggleColumn:(id)sender
|
if ([sender state] == NSControlStateValueOff) {
|
||||||
{
|
[sender setState:NSControlStateValueOn];
|
||||||
id tc = [sender representedObject];
|
|
||||||
|
|
||||||
if ([sender state] == NSOffState)
|
|
||||||
{
|
|
||||||
[sender setState:NSOnState];
|
|
||||||
|
|
||||||
[tc setHidden: NO];
|
[tc setHidden:NO];
|
||||||
}
|
} else {
|
||||||
else
|
[sender setState:NSControlStateValueOff];
|
||||||
{
|
|
||||||
[sender setState:NSOffState];
|
[tc setHidden:YES];
|
||||||
|
}
|
||||||
[tc setHidden: YES];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)acceptsFirstResponder
|
- (BOOL)acceptsFirstResponder {
|
||||||
{
|
return YES;
|
||||||
return YES;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)resignFirstResponder
|
- (BOOL)resignFirstResponder {
|
||||||
{
|
return YES;
|
||||||
return YES;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)acceptsFirstMouse:(NSEvent *)mouseDownEvent
|
- (BOOL)acceptsFirstMouse:(NSEvent *)mouseDownEvent {
|
||||||
{
|
return NO;
|
||||||
return NO;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)mouseDown:(NSEvent *)e
|
- (void)mouseDown:(NSEvent *)e {
|
||||||
{
|
[super mouseDown:e];
|
||||||
[super mouseDown:e];
|
|
||||||
|
if ([e type] == NSEventTypeLeftMouseDown && [e clickCount] == 2 &&
|
||||||
if ([e type] == NSLeftMouseDown && [e clickCount] == 2 && [[self selectedRowIndexes] count] == 1)
|
[[self selectedRowIndexes] count] == 1) {
|
||||||
{
|
[playbackController play:self];
|
||||||
[playbackController play:self];
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// enables right-click selection for "Show in Finder" contextual menu
|
// enables right-click selection for "Show in Finder" contextual menu
|
||||||
-(NSMenu*)menuForEvent:(NSEvent*)event
|
- (NSMenu *)menuForEvent:(NSEvent *)event {
|
||||||
{
|
// Find which row is under the cursor
|
||||||
//Find which row is under the cursor
|
[[self window] makeFirstResponder:self];
|
||||||
[[self window] makeFirstResponder:self];
|
NSPoint menuPoint = [self convertPoint:[event locationInWindow] fromView:nil];
|
||||||
NSPoint menuPoint = [self convertPoint:[event locationInWindow] fromView:nil];
|
NSInteger iRow = [self rowAtPoint:menuPoint];
|
||||||
NSInteger iRow = [self rowAtPoint:menuPoint];
|
NSMenu *tableViewMenu = [self menu];
|
||||||
NSMenu* tableViewMenu = [self menu];
|
|
||||||
|
|
||||||
/* Update the table selection before showing menu
|
|
||||||
Preserves the selection if the row under the mouse is selected (to allow for
|
|
||||||
multiple items to be selected), otherwise selects the row under the mouse */
|
|
||||||
BOOL currentRowIsSelected = [[self selectedRowIndexes] containsIndex:iRow];
|
|
||||||
if (!currentRowIsSelected) {
|
|
||||||
if (iRow == -1)
|
|
||||||
{
|
|
||||||
[self deselectAll:self];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[self selectRowIndexes:[NSIndexSet indexSetWithIndex:iRow] byExtendingSelection:NO];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ([self numberOfSelectedRows] <=0)
|
/* Update the table selection before showing menu
|
||||||
{
|
Preserves the selection if the row under the mouse is selected (to allow for
|
||||||
//No rows are selected, so the table should be displayed with all items disabled
|
multiple items to be selected), otherwise selects the row under the mouse */
|
||||||
int i;
|
BOOL currentRowIsSelected = [[self selectedRowIndexes] containsIndex:(NSUInteger) iRow];
|
||||||
for (i=0;i<[tableViewMenu numberOfItems];i++) {
|
if (!currentRowIsSelected) {
|
||||||
[[tableViewMenu itemAtIndex:i] setEnabled:NO];
|
if (iRow == -1) {
|
||||||
}
|
[self deselectAll:self];
|
||||||
}
|
} else {
|
||||||
|
[self selectRowIndexes:[NSIndexSet indexSetWithIndex:(NSUInteger) iRow] byExtendingSelection:NO];
|
||||||
return tableViewMenu;
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ([self numberOfSelectedRows] <= 0) {
|
||||||
|
// No rows are selected, so the table should be displayed with all items disabled
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < [tableViewMenu numberOfItems]; i++) {
|
||||||
|
[[tableViewMenu itemAtIndex:i] setEnabled:NO];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return tableViewMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)keyDown:(NSEvent *)e
|
- (void)keyDown:(NSEvent *)e {
|
||||||
{
|
unsigned int modifiers =
|
||||||
unsigned int modifiers = [e modifierFlags] & (NSCommandKeyMask | NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask);
|
[e modifierFlags] & (NSEventModifierFlagCommand | NSEventModifierFlagShift |
|
||||||
NSString *characters = [e characters];
|
NSEventModifierFlagControl | NSEventModifierFlagOption);
|
||||||
unichar c;
|
NSString *characters = [e characters];
|
||||||
|
unichar c;
|
||||||
|
|
||||||
if ([characters length] != 1)
|
if ([characters length] != 1) {
|
||||||
{
|
[super keyDown:e];
|
||||||
[super keyDown:e];
|
|
||||||
|
return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
c = [characters characterAtIndex:0];
|
|
||||||
if (modifiers == 0 && (c == NSDeleteCharacter || c == NSBackspaceCharacter || c == NSDeleteFunctionKey))
|
|
||||||
{
|
|
||||||
[playlistController remove:self];
|
|
||||||
}
|
|
||||||
else if (modifiers == 0 && c == ' ')
|
|
||||||
{
|
|
||||||
[playbackController playPauseResume:self];
|
|
||||||
}
|
|
||||||
else if (modifiers == 0 && (c == NSEnterCharacter || c == NSCarriageReturnCharacter))
|
|
||||||
{
|
|
||||||
[playbackController play:self];
|
|
||||||
}
|
|
||||||
else if (modifiers == 0 && c == NSLeftArrowFunctionKey)
|
|
||||||
{
|
|
||||||
[playbackController eventSeekBackward:self];
|
|
||||||
}
|
}
|
||||||
else if (modifiers == 0 && c == NSRightArrowFunctionKey)
|
|
||||||
{
|
c = [characters characterAtIndex:0];
|
||||||
|
if (modifiers == 0 &&
|
||||||
|
(c == NSDeleteCharacter || c == NSBackspaceCharacter || c == NSDeleteFunctionKey)) {
|
||||||
|
[playlistController remove:self];
|
||||||
|
} else if (modifiers == 0 && c == ' ') {
|
||||||
|
[playbackController playPauseResume:self];
|
||||||
|
} else if (modifiers == 0 && (c == NSEnterCharacter || c == NSCarriageReturnCharacter)) {
|
||||||
|
[playbackController play:self];
|
||||||
|
} else if (modifiers == 0 && c == NSLeftArrowFunctionKey) {
|
||||||
|
[playbackController eventSeekBackward:self];
|
||||||
|
} else if (modifiers == 0 && c == NSRightArrowFunctionKey) {
|
||||||
[playbackController eventSeekForward:self];
|
[playbackController eventSeekForward:self];
|
||||||
}
|
}
|
||||||
// Escape
|
// Escape
|
||||||
else if (modifiers == 0 && c == 0x1b)
|
else if (modifiers == 0 && c == 0x1b) {
|
||||||
{
|
[playlistController clearFilterPredicate:self];
|
||||||
[playlistController clearFilterPredicate:self];
|
} else {
|
||||||
}
|
[super keyDown:e];
|
||||||
else
|
}
|
||||||
{
|
|
||||||
[super keyDown:e];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)scrollToCurrentEntry:(id)sender
|
- (IBAction)scrollToCurrentEntry:(id)sender {
|
||||||
{
|
[self scrollRowToVisible:[[playlistController currentEntry] index]];
|
||||||
[self scrollRowToVisible:[[playlistController currentEntry] index]];
|
[self selectRowIndexes:[NSIndexSet indexSetWithIndex:(NSUInteger) [[playlistController currentEntry] index]]
|
||||||
[self selectRowIndexes:[NSIndexSet indexSetWithIndex:[[playlistController currentEntry] index]] byExtendingSelection:NO];
|
byExtendingSelection:NO];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)undo:(id)sender
|
- (IBAction)undo:(id)sender {
|
||||||
{
|
[[playlistController undoManager] undo];
|
||||||
[[playlistController undoManager] undo];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)redo:(id)sender
|
- (IBAction)redo:(id)sender {
|
||||||
{
|
[[playlistController undoManager] redo];
|
||||||
[[playlistController undoManager] redo];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)copy:(id)sender
|
- (IBAction)copy:(id)sender {
|
||||||
{
|
|
||||||
NSPasteboard *pboard = [NSPasteboard generalPasteboard];
|
NSPasteboard *pboard = [NSPasteboard generalPasteboard];
|
||||||
|
|
||||||
[pboard clearContents];
|
[pboard clearContents];
|
||||||
|
|
||||||
NSMutableArray *selectedURLs = [[NSMutableArray alloc] init];
|
NSArray *entries =
|
||||||
|
[[playlistController content] objectsAtIndexes:[playlistController selectionIndexes]];
|
||||||
for (PlaylistEntry *pe in [[playlistController content] objectsAtIndexes:[playlistController selectionIndexes]])
|
NSUInteger capacity = [entries count];
|
||||||
{
|
NSMutableArray *selectedURLs = [NSMutableArray arrayWithCapacity:capacity];
|
||||||
|
|
||||||
|
for (PlaylistEntry *pe in entries) {
|
||||||
[selectedURLs addObject:[pe URL]];
|
[selectedURLs addObject:[pe URL]];
|
||||||
}
|
}
|
||||||
|
|
||||||
[pboard setData:[NSArchiver archivedDataWithRootObject:selectedURLs] forType:CogUrlsPboardType];
|
NSError *error;
|
||||||
|
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:selectedURLs
|
||||||
NSMutableDictionary * tracks = [[NSMutableDictionary alloc] init];
|
requiringSecureCoding:YES
|
||||||
|
error:&error];
|
||||||
|
if (!data) {
|
||||||
|
DLog(@"Error: %@", error);
|
||||||
|
}
|
||||||
|
[pboard setData:data forType:CogUrlsPboardType];
|
||||||
|
|
||||||
|
NSMutableDictionary *tracks = [NSMutableDictionary dictionaryWithCapacity:capacity];
|
||||||
|
|
||||||
unsigned long i = 0;
|
unsigned long i = 0;
|
||||||
for (NSURL *url in selectedURLs)
|
for (NSURL *url in selectedURLs) {
|
||||||
{
|
tracks[[NSString stringWithFormat:@"%lu", i++]] = @{@"Location": [url absoluteString]};
|
||||||
NSMutableDictionary * track = [NSMutableDictionary dictionaryWithObjectsAndKeys:[url absoluteString], @"Location", nil];
|
|
||||||
[tracks setObject:track forKey:[NSString stringWithFormat:@"%lu", i]];
|
|
||||||
++i;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NSMutableDictionary * itunesPlist = [NSMutableDictionary dictionaryWithObjectsAndKeys:tracks, @"Tracks", nil];
|
NSDictionary *itunesPlist = @{@"Tracks": tracks};
|
||||||
|
|
||||||
[pboard setPropertyList:itunesPlist forType:iTunesDropType];
|
[pboard setPropertyList:itunesPlist forType:iTunesDropType];
|
||||||
|
|
||||||
NSMutableArray *filePaths = [[NSMutableArray alloc] init];
|
NSMutableArray *filePaths = [NSMutableArray array];
|
||||||
|
|
||||||
for (NSURL *url in selectedURLs)
|
for (NSURL *url in selectedURLs) {
|
||||||
{
|
if ([url isFileURL]) {
|
||||||
if ([url isFileURL])
|
[filePaths addObject:url];
|
||||||
[filePaths addObject:[url path]];
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ([filePaths count]) {
|
||||||
|
[pboard writeObjects:filePaths];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ([filePaths count])
|
|
||||||
[pboard setPropertyList:filePaths forType:NSFilenamesPboardType];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)cut:(id)sender
|
- (IBAction)cut:(id)sender {
|
||||||
{
|
|
||||||
[self copy:sender];
|
[self copy:sender];
|
||||||
|
|
||||||
[playlistController removeObjectsAtArrangedObjectIndexes:[playlistController selectionIndexes]];
|
[playlistController removeObjectsAtArrangedObjectIndexes:[playlistController selectionIndexes]];
|
||||||
|
|
||||||
if ([playlistController shuffle] != ShuffleOff)
|
if ([playlistController shuffle] != ShuffleOff) [playlistController resetShuffleList];
|
||||||
[playlistController resetShuffleList];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)paste:(id)sender
|
- (IBAction)paste:(id)sender {
|
||||||
{
|
// Determine the type of object that was dropped
|
||||||
// Determine the type of object that was dropped
|
NSArray *supportedTypes = @[CogUrlsPboardType, NSPasteboardTypeFileURL, iTunesDropType];
|
||||||
NSArray *supportedTypes = [NSArray arrayWithObjects:CogUrlsPboardType, NSFilenamesPboardType, iTunesDropType, nil];
|
NSPasteboard *pboard = [NSPasteboard generalPasteboard];
|
||||||
NSPasteboard *pboard = [NSPasteboard generalPasteboard];
|
NSPasteboardType bestType = [pboard availableTypeFromArray:supportedTypes];
|
||||||
NSString *bestType = [pboard availableTypeFromArray:supportedTypes];
|
DLog(@"All types:");
|
||||||
|
for (NSPasteboardType type in [pboard types]) {
|
||||||
NSMutableArray *acceptedURLs = [[NSMutableArray alloc] init];
|
DLog(@" Type: %@", type);
|
||||||
|
|
||||||
// Get files from an file drawer drop
|
|
||||||
if ([bestType isEqualToString:CogUrlsPboardType]) {
|
|
||||||
NSArray *urls = [NSUnarchiver unarchiveObjectWithData:[pboard dataForType:CogUrlsPboardType]];
|
|
||||||
DLog(@"URLS: %@", urls);
|
|
||||||
//[playlistLoader insertURLs: urls atIndex:row sort:YES];
|
|
||||||
[acceptedURLs addObjectsFromArray:urls];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get files from a normal file drop (such as from Finder)
|
|
||||||
if ([bestType isEqualToString:NSFilenamesPboardType]) {
|
|
||||||
NSMutableArray *urls = [[NSMutableArray alloc] init];
|
|
||||||
|
|
||||||
for (NSString *file in [pboard propertyListForType:NSFilenamesPboardType])
|
|
||||||
{
|
|
||||||
[urls addObject:[NSURL fileURLWithPath:file]];
|
|
||||||
}
|
|
||||||
|
|
||||||
//[playlistLoader insertURLs:urls atIndex:row sort:YES];
|
|
||||||
[acceptedURLs addObjectsFromArray:urls];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get files from an iTunes drop
|
|
||||||
if ([bestType isEqualToString:iTunesDropType]) {
|
|
||||||
NSDictionary *iTunesDict = [pboard propertyListForType:iTunesDropType];
|
|
||||||
NSDictionary *tracks = [iTunesDict valueForKey:@"Tracks"];
|
|
||||||
|
|
||||||
// Convert the iTunes URLs to URLs....MWAHAHAH!
|
|
||||||
NSMutableArray *urls = [[NSMutableArray alloc] init];
|
|
||||||
|
|
||||||
for (NSDictionary *trackInfo in [tracks allValues]) {
|
|
||||||
[urls addObject:[NSURL URLWithString:[trackInfo valueForKey:@"Location"]]];
|
|
||||||
}
|
|
||||||
|
|
||||||
//[playlistLoader insertURLs:urls atIndex:row sort:YES];
|
|
||||||
[acceptedURLs addObjectsFromArray:urls];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ([acceptedURLs count])
|
|
||||||
{
|
|
||||||
NSUInteger row = [[playlistController content] count];
|
|
||||||
|
|
||||||
[playlistController willInsertURLs:acceptedURLs origin:URLOriginInternal];
|
|
||||||
|
|
||||||
NSArray* entries = [playlistLoader insertURLs:acceptedURLs atIndex:(int)row sort:NO];
|
|
||||||
[playlistLoader didInsertURLs:entries origin:URLOriginInternal];
|
|
||||||
|
|
||||||
if ([playlistController shuffle] != ShuffleOff)
|
|
||||||
[playlistController resetShuffleList];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)delete:(id)sender
|
|
||||||
{
|
|
||||||
[playlistController removeObjectsAtArrangedObjectIndexes:[playlistController selectionIndexes]];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
-(BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)anItem
|
|
||||||
{
|
|
||||||
SEL action = [anItem action];
|
|
||||||
|
|
||||||
if (action == @selector(undo:))
|
|
||||||
{
|
|
||||||
if ([[playlistController undoManager] canUndo])
|
|
||||||
return YES;
|
|
||||||
else
|
|
||||||
return NO;
|
|
||||||
}
|
|
||||||
if (action == @selector(redo:))
|
|
||||||
{
|
|
||||||
if ([[playlistController undoManager] canRedo])
|
|
||||||
return YES;
|
|
||||||
else
|
|
||||||
return NO;
|
|
||||||
}
|
|
||||||
if (action == @selector(cut:) || action == @selector(copy:) || action == @selector(delete:))
|
|
||||||
{
|
|
||||||
if ([[playlistController selectionIndexes] count] == 0)
|
|
||||||
return NO;
|
|
||||||
else
|
|
||||||
return YES;
|
|
||||||
}
|
}
|
||||||
if (action == @selector(paste:))
|
DLog(@"Supported types:");
|
||||||
{
|
for (NSPasteboardType type in supportedTypes) {
|
||||||
|
DLog(@" Type: %@", type);
|
||||||
|
}
|
||||||
|
DLog(@"Best type: %@", bestType);
|
||||||
|
|
||||||
|
NSMutableArray *acceptedURLs = [NSMutableArray array];
|
||||||
|
|
||||||
|
// Get files from an file drawer drop
|
||||||
|
if ([bestType isEqualToString:CogUrlsPboardType]) {
|
||||||
|
NSError *error;
|
||||||
|
NSData *data = [pboard dataForType:CogUrlsPboardType];
|
||||||
|
NSArray *urls;
|
||||||
|
if (@available(macOS 11.0, *)) {
|
||||||
|
urls = [NSKeyedUnarchiver unarchivedArrayOfObjectsOfClass:[NSURL class]
|
||||||
|
fromData:data
|
||||||
|
error:&error];
|
||||||
|
} else {
|
||||||
|
NSSet *allowed = [NSSet setWithArray:@[[NSArray class], [NSURL class]]];
|
||||||
|
urls = [NSKeyedUnarchiver unarchivedObjectOfClasses:allowed fromData:data error:&error];
|
||||||
|
}
|
||||||
|
if (!urls) {
|
||||||
|
DLog(@"%@", error);
|
||||||
|
} else {
|
||||||
|
DLog(@"URLS: %@", urls);
|
||||||
|
}
|
||||||
|
//[playlistLoader insertURLs: urls atIndex:row sort:YES];
|
||||||
|
[acceptedURLs addObjectsFromArray:urls];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get files from a normal file drop (such as from Finder)
|
||||||
|
if ([bestType isEqualToString:NSPasteboardTypeFileURL]) {
|
||||||
|
NSMutableArray *urls = [[NSMutableArray alloc] init];
|
||||||
|
|
||||||
|
for (NSString *file in [pboard propertyListForType:NSPasteboardTypeFileURL]) {
|
||||||
|
[urls addObject:[NSURL fileURLWithPath:file]];
|
||||||
|
}
|
||||||
|
|
||||||
|
//[playlistLoader insertURLs:urls atIndex:row sort:YES];
|
||||||
|
[acceptedURLs addObjectsFromArray:urls];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get files from an iTunes drop
|
||||||
|
if ([bestType isEqualToString:iTunesDropType]) {
|
||||||
|
NSDictionary *iTunesDict = [pboard propertyListForType:iTunesDropType];
|
||||||
|
NSDictionary *tracks = [iTunesDict valueForKey:@"Tracks"];
|
||||||
|
|
||||||
|
// Convert the iTunes URLs to URLs....MWAHAHAH!
|
||||||
|
NSMutableArray *urls = [[NSMutableArray alloc] init];
|
||||||
|
|
||||||
|
for (NSDictionary *trackInfo in [tracks allValues]) {
|
||||||
|
[urls addObject:[NSURL URLWithString:[trackInfo valueForKey:@"Location"]]];
|
||||||
|
}
|
||||||
|
|
||||||
|
//[playlistLoader insertURLs:urls atIndex:row sort:YES];
|
||||||
|
[acceptedURLs addObjectsFromArray:urls];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ([acceptedURLs count]) {
|
||||||
|
NSUInteger row = [[playlistController content] count];
|
||||||
|
|
||||||
|
[playlistController willInsertURLs:acceptedURLs origin:URLOriginInternal];
|
||||||
|
|
||||||
|
NSArray *entries = [playlistLoader insertURLs:acceptedURLs atIndex:(int) row sort:NO];
|
||||||
|
[playlistLoader didInsertURLs:entries origin:URLOriginInternal];
|
||||||
|
|
||||||
|
if ([playlistController shuffle] != ShuffleOff) [playlistController resetShuffleList];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction)delete:(id)sender {
|
||||||
|
[playlistController removeObjectsAtArrangedObjectIndexes:[playlistController selectionIndexes]];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)anItem {
|
||||||
|
SEL action = [anItem action];
|
||||||
|
|
||||||
|
if (action == @selector(undo:)) {
|
||||||
|
return [[playlistController undoManager] canUndo];
|
||||||
|
}
|
||||||
|
if (action == @selector(redo:)) {
|
||||||
|
return [[playlistController undoManager] canRedo];
|
||||||
|
}
|
||||||
|
if (action == @selector(cut:) || action == @selector(copy:) || action == @selector(delete:)) {
|
||||||
|
return [[playlistController selectionIndexes] count] != 0;
|
||||||
|
}
|
||||||
|
if (action == @selector(paste:)) {
|
||||||
NSPasteboard *pboard = [NSPasteboard generalPasteboard];
|
NSPasteboard *pboard = [NSPasteboard generalPasteboard];
|
||||||
|
|
||||||
NSArray *supportedTypes = [NSArray arrayWithObjects:CogUrlsPboardType, NSFilenamesPboardType, iTunesDropType, nil];
|
NSArray *supportedTypes = @[CogUrlsPboardType, NSPasteboardTypeFileURL, iTunesDropType];
|
||||||
|
|
||||||
NSString *bestType = [pboard availableTypeFromArray:supportedTypes];
|
NSString *bestType = [pboard availableTypeFromArray:supportedTypes];
|
||||||
|
|
||||||
if (bestType != nil)
|
return bestType != nil;
|
||||||
return YES;
|
|
||||||
else
|
|
||||||
return NO;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (action == @selector(scrollToCurrentEntry:) && (([playbackController playbackStatus] == kCogStatusStopped) || ([playbackController playbackStatus] == kCogStatusStopping)))
|
if (action == @selector(scrollToCurrentEntry:) &&
|
||||||
return NO;
|
(([playbackController playbackStatus] == kCogStatusStopped) ||
|
||||||
|
([playbackController playbackStatus] == kCogStatusStopping)))
|
||||||
return [super validateUserInterfaceItem:anItem];
|
return NO;
|
||||||
|
|
||||||
|
return [super validateUserInterfaceItem:anItem];
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
- (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)isLocal
|
- (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)isLocal
|
||||||
{
|
{
|
||||||
if (isLocal)
|
if (isLocal)
|
||||||
return NSDragOperationNone;
|
return NSDragOperationNone;
|
||||||
else
|
else
|
||||||
return NSDragOperationCopy;
|
return NSDragOperationCopy;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h>
|
#import <Cocoa/Cocoa.h>
|
||||||
|
|
||||||
@interface XmlContainer : NSObject {
|
@interface XmlContainer : NSObject
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
+ (NSURL *)urlForPath:(NSString *)path relativeTo:(NSString *)baseFilename;
|
+ (NSURL *)urlForPath:(NSString *)path relativeTo:(NSString *)baseFilename;
|
||||||
|
|
||||||
|
|
|
@ -8,101 +8,109 @@
|
||||||
|
|
||||||
#import "XmlContainer.h"
|
#import "XmlContainer.h"
|
||||||
|
|
||||||
#import "PlaylistEntry.h"
|
|
||||||
|
|
||||||
#import "Logging.h"
|
#import "Logging.h"
|
||||||
|
|
||||||
@implementation XmlContainer
|
@implementation XmlContainer
|
||||||
|
|
||||||
+ (NSURL *)urlForPath:(NSString *)path relativeTo:(NSString *)baseFilename
|
+ (NSURL *)urlForPath:(NSString *)path relativeTo:(NSString *)baseFilename {
|
||||||
{
|
NSRange protocolRange = [path rangeOfString:@"://"];
|
||||||
NSRange protocolRange = [path rangeOfString:@"://"];
|
if (protocolRange.location != NSNotFound) {
|
||||||
if (protocolRange.location != NSNotFound)
|
return [NSURL URLWithString:path];
|
||||||
{
|
}
|
||||||
return [NSURL URLWithString:path];
|
|
||||||
}
|
|
||||||
|
|
||||||
NSMutableString *unixPath = [path mutableCopy];
|
NSMutableString *unixPath = [path mutableCopy];
|
||||||
|
|
||||||
//Get the fragment
|
//Get the fragment
|
||||||
NSString *fragment = @"";
|
NSString *fragment = @"";
|
||||||
NSScanner *scanner = [NSScanner scannerWithString:unixPath];
|
NSScanner *scanner = [NSScanner scannerWithString:unixPath];
|
||||||
NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"#1234567890"];
|
NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"#1234567890"];
|
||||||
while (![scanner isAtEnd]) {
|
while (![scanner isAtEnd]) {
|
||||||
NSString *possibleFragment;
|
NSString *possibleFragment;
|
||||||
[scanner scanUpToString:@"#" intoString:nil];
|
[scanner scanUpToString:@"#" intoString:nil];
|
||||||
|
|
||||||
if ([scanner scanCharactersFromSet:characterSet intoString:&possibleFragment] && [scanner isAtEnd])
|
if ([scanner scanCharactersFromSet:characterSet intoString:&possibleFragment] && [scanner isAtEnd]) {
|
||||||
{
|
fragment = possibleFragment;
|
||||||
fragment = possibleFragment;
|
[unixPath deleteCharactersInRange:NSMakeRange([scanner scanLocation] - [possibleFragment length], [possibleFragment length])];
|
||||||
[unixPath deleteCharactersInRange:NSMakeRange([scanner scanLocation] - [possibleFragment length], [possibleFragment length])];
|
break;
|
||||||
break;
|
}
|
||||||
}
|
}
|
||||||
}
|
DLog(@"Fragment: %@", fragment);
|
||||||
DLog(@"Fragment: %@", fragment);
|
|
||||||
|
|
||||||
if (![unixPath hasPrefix:@"/"]) {
|
if (![unixPath hasPrefix:@"/"]) {
|
||||||
//Only relative paths would have windows backslashes.
|
//Only relative paths would have windows backslashes.
|
||||||
[unixPath replaceOccurrencesOfString:@"\\" withString:@"/" options:0 range:NSMakeRange(0, [unixPath length])];
|
[unixPath replaceOccurrencesOfString:@"\\" withString:@"/" options:0 range:NSMakeRange(0, [unixPath length])];
|
||||||
|
|
||||||
NSString *basePath = [[[baseFilename stringByStandardizingPath] stringByDeletingLastPathComponent] stringByAppendingString:@"/"];
|
|
||||||
|
|
||||||
[unixPath insertString:basePath atIndex:0];
|
NSString *basePath = [[[baseFilename stringByStandardizingPath] stringByDeletingLastPathComponent] stringByAppendingString:@"/"];
|
||||||
}
|
|
||||||
|
[unixPath insertString:basePath atIndex:0];
|
||||||
//Append the fragment
|
}
|
||||||
NSURL *url = [NSURL URLWithString:[[[NSURL fileURLWithPath:unixPath] absoluteString] stringByAppendingString: fragment]];
|
|
||||||
return url;
|
//Append the fragment
|
||||||
|
NSURL *url = [NSURL URLWithString:[[[NSURL fileURLWithPath:unixPath] absoluteString] stringByAppendingString:fragment]];
|
||||||
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (NSDictionary *)entriesForContainerURL:(NSURL *)url
|
+ (NSDictionary *)entriesForContainerURL:(NSURL *)url {
|
||||||
{
|
if (![url isFileURL])
|
||||||
if (![url isFileURL])
|
return nil;
|
||||||
return [NSDictionary dictionary];
|
|
||||||
|
|
||||||
NSError *nserr;
|
NSError *error;
|
||||||
|
|
||||||
NSString *error;
|
NSString *filename = [url path];
|
||||||
|
|
||||||
NSString *filename = [url path];
|
NSString *contents = [NSString stringWithContentsOfFile:filename
|
||||||
|
encoding:NSUTF8StringEncoding
|
||||||
NSString * contents = [NSString stringWithContentsOfFile:filename encoding:NSUTF8StringEncoding error:&nserr];
|
error:&error];
|
||||||
|
if (!contents) {
|
||||||
NSData* plistData = [contents dataUsingEncoding:NSUTF8StringEncoding];
|
ALog(@"Error: %@", error);
|
||||||
|
|
||||||
NSPropertyListFormat format;
|
|
||||||
id plist = [NSPropertyListSerialization propertyListFromData:plistData mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&error];
|
|
||||||
if(!plist){
|
|
||||||
ALog(@"Error: %@",error);
|
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NSData *plistData = [contents dataUsingEncoding:NSUTF8StringEncoding];
|
||||||
|
|
||||||
|
NSPropertyListFormat format;
|
||||||
|
id plist = [NSPropertyListSerialization propertyListWithData:plistData
|
||||||
|
options:NSPropertyListImmutable
|
||||||
|
format:&format
|
||||||
|
error:&error];
|
||||||
|
if (!plist) {
|
||||||
|
ALog(@"Error: %@", error);
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
BOOL isArray = [plist isKindOfClass:[NSArray class]];
|
BOOL isArray = [plist isKindOfClass:[NSArray class]];
|
||||||
BOOL isDict = [plist isKindOfClass:[NSDictionary class]];
|
BOOL isDict = [plist isKindOfClass:[NSDictionary class]];
|
||||||
|
|
||||||
if (!isDict && !isArray) return nil;
|
|
||||||
|
|
||||||
NSArray * items = (isArray) ? (NSArray*)plist : [(NSDictionary *)plist objectForKey:@"items"];
|
|
||||||
|
|
||||||
NSDictionary *albumArt = (isArray) ? nil : [(NSDictionary *)plist objectForKey:@"albumArt"];
|
|
||||||
|
|
||||||
NSArray *queueList = (isArray) ? [NSArray array] : [(NSDictionary *)plist objectForKey:@"queue"];
|
if (!isDict && !isArray) return nil;
|
||||||
|
|
||||||
NSMutableArray *entries = [NSMutableArray array];
|
NSArray *items;
|
||||||
|
NSDictionary *albumArt;
|
||||||
for (NSDictionary *entry in items)
|
NSArray *queueList;
|
||||||
{
|
if (isArray) {
|
||||||
NSMutableDictionary * preparedEntry = [NSMutableDictionary dictionaryWithDictionary:entry];
|
items = (NSArray *) plist;
|
||||||
|
albumArt = nil;
|
||||||
[preparedEntry setObject:[self urlForPath:[preparedEntry objectForKey:@"URL"] relativeTo:filename] forKey:@"URL"];
|
queueList = [NSArray array];
|
||||||
|
} else {
|
||||||
if (albumArt && [preparedEntry objectForKey:@"albumArt"])
|
NSDictionary *dict = (NSDictionary *) plist;
|
||||||
[preparedEntry setObject:[albumArt objectForKey:[preparedEntry objectForKey:@"albumArt"]] forKey:@"albumArt"];
|
items = dict[@"items"];
|
||||||
|
albumArt = dict[@"albumArt"];
|
||||||
|
queueList = dict[@"queue"];
|
||||||
|
}
|
||||||
|
|
||||||
|
NSMutableArray *entries = [NSMutableArray array];
|
||||||
|
|
||||||
|
for (NSDictionary *entry in items) {
|
||||||
|
NSMutableDictionary *preparedEntry = [NSMutableDictionary dictionaryWithDictionary:entry];
|
||||||
|
|
||||||
|
preparedEntry[@"URL"] = [self urlForPath:preparedEntry[@"URL"] relativeTo:filename];
|
||||||
|
|
||||||
|
if (albumArt && preparedEntry[@"albumArt"])
|
||||||
|
preparedEntry[@"albumArt"] = albumArt[preparedEntry[@"albumArt"]];
|
||||||
|
|
||||||
[entries addObject:[NSDictionary dictionaryWithDictionary:preparedEntry]];
|
[entries addObject:[NSDictionary dictionaryWithDictionary:preparedEntry]];
|
||||||
}
|
}
|
||||||
|
|
||||||
return [NSDictionary dictionaryWithObjectsAndKeys:entries, @"entries", queueList, @"queue", nil];
|
return @{@"entries": entries, @"queue": queueList};
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
|
|
||||||
Copl * p_emu = new CSilentopl;
|
Copl * p_emu = new CSilentopl;
|
||||||
|
|
||||||
std::string path = [[[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] UTF8String];
|
std::string path = [[[url absoluteString] stringByRemovingPercentEncoding] UTF8String];
|
||||||
CPlayer * p_player = CAdPlug::factory(path, p_emu, CAdPlug::players, CProvider_cog( path, source ));
|
CPlayer * p_player = CAdPlug::factory(path, p_emu, CAdPlug::players, CProvider_cog( path, source ));
|
||||||
|
|
||||||
if ( !p_player )
|
if ( !p_player )
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
path = [path substringToIndex:fragmentRange.location];
|
path = [path substringToIndex:fragmentRange.location];
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string _path = [[path stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] UTF8String];
|
std::string _path = [[path stringByRemovingPercentEncoding] UTF8String];
|
||||||
m_player = CAdPlug::factory(_path, m_emu, CAdPlug::players, CProvider_cog( _path, source ));
|
m_player = CAdPlug::factory(_path, m_emu, CAdPlug::players, CProvider_cog( _path, source ));
|
||||||
|
|
||||||
if ( !m_player )
|
if ( !m_player )
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
path = [path substringToIndex:fragmentRange.location];
|
path = [path substringToIndex:fragmentRange.location];
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string _path = [[path stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] UTF8String];
|
std::string _path = [[path stringByRemovingPercentEncoding] UTF8String];
|
||||||
CPlayer * p_player = CAdPlug::factory(_path, p_emu, CAdPlug::players, CProvider_cog( _path, source ));
|
CPlayer * p_player = CAdPlug::factory(_path, p_emu, CAdPlug::players, CProvider_cog( _path, source ));
|
||||||
|
|
||||||
if ( !p_player )
|
if ( !p_player )
|
||||||
|
|
|
@ -100,7 +100,7 @@ binistream * CProvider_cog::open(std::string filename) const
|
||||||
fragmentString = [urlString substringFromIndex:fragmentRange.location];
|
fragmentString = [urlString substringFromIndex:fragmentRange.location];
|
||||||
urlString = [urlString substringToIndex:fragmentRange.location];
|
urlString = [urlString substringToIndex:fragmentRange.location];
|
||||||
}
|
}
|
||||||
NSURL * url = [NSURL URLWithString:[[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] stringByAppendingString:fragmentString]];
|
NSURL * url = [NSURL URLWithString:[[urlString stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLFragmentAllowedCharacterSet] stringByAppendingString:fragmentString]];
|
||||||
id audioSourceClass = NSClassFromString(@"AudioSource");
|
id audioSourceClass = NSClassFromString(@"AudioSource");
|
||||||
p_file = [audioSourceClass audioSourceForURL:url];
|
p_file = [audioSourceClass audioSourceForURL:url];
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -62,7 +62,7 @@ static NSString * g_make_unpack_path(NSString * archive, NSString * file, NSStri
|
||||||
while ( !fex_done(fex) ) {
|
while ( !fex_done(fex) ) {
|
||||||
NSString *name = [NSString stringWithUTF8String:fex_name(fex)];
|
NSString *name = [NSString stringWithUTF8String:fex_name(fex)];
|
||||||
if ([[NSClassFromString(@"AudioPlayer") fileTypes] containsObject:[[name pathExtension] lowercaseString]])
|
if ([[NSClassFromString(@"AudioPlayer") fileTypes] containsObject:[[name pathExtension] lowercaseString]])
|
||||||
[files addObject:[NSURL URLWithString:[g_make_unpack_path([url path], name, @"fex") stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
|
[files addObject:[NSURL URLWithString:[g_make_unpack_path([url path], name, @"fex") stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLPathAllowedCharacterSet]]];
|
||||||
fex_next(fex);
|
fex_next(fex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,7 @@ static BOOL g_parse_unpack_path(NSString * src, NSString ** archive, NSString **
|
||||||
{
|
{
|
||||||
[self setURL:url];
|
[self setURL:url];
|
||||||
|
|
||||||
NSString * urlDecoded = [[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
|
NSString * urlDecoded = [[url absoluteString] stringByRemovingPercentEncoding];
|
||||||
|
|
||||||
NSString * type;
|
NSString * type;
|
||||||
NSString * archive;
|
NSString * archive;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -162,7 +162,7 @@
|
||||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1020;
|
LastUpgradeCheck = 1230;
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
8D5B49AC048680CD000E48DA = {
|
8D5B49AC048680CD000E48DA = {
|
||||||
DevelopmentTeam = "";
|
DevelopmentTeam = "";
|
||||||
|
@ -293,6 +293,7 @@
|
||||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
@ -334,6 +335,7 @@
|
||||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -80,8 +80,6 @@ int lockmgr_callback(void ** mutex, enum AVLockOp op)
|
||||||
{
|
{
|
||||||
av_log_set_flags(AV_LOG_SKIP_REPEATED);
|
av_log_set_flags(AV_LOG_SKIP_REPEATED);
|
||||||
av_log_set_level(AV_LOG_ERROR);
|
av_log_set_level(AV_LOG_ERROR);
|
||||||
av_register_all();
|
|
||||||
av_lockmgr_register(lockmgr_callback);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -190,8 +188,6 @@ int lockmgr_callback(void ** mutex, enum AVLockOp op)
|
||||||
ALog(@"Can't copy codec parameters to context, errcode = %d, error = %s", errcode, errDescr);
|
ALog(@"Can't copy codec parameters to context, errcode = %d, error = %s", errcode, errDescr);
|
||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
av_codec_set_pkt_timebase(codecCtx, stream->time_base);
|
|
||||||
|
|
||||||
AVCodec * codec = avcodec_find_decoder(codecCtx->codec_id);
|
AVCodec * codec = avcodec_find_decoder(codecCtx->codec_id);
|
||||||
if (!codec) {
|
if (!codec) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
if (!type)
|
if (!type)
|
||||||
{
|
{
|
||||||
ALog(@"GME: No type!");
|
ALog(@"GME: No type!");
|
||||||
return NO;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
Music_Emu* emu;
|
Music_Emu* emu;
|
||||||
|
@ -56,7 +56,7 @@
|
||||||
if (!emu)
|
if (!emu)
|
||||||
{
|
{
|
||||||
ALog(@"GME: No new emu!");
|
ALog(@"GME: No new emu!");
|
||||||
return NO;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
[source seek:0 whence:SEEK_END];
|
[source seek:0 whence:SEEK_END];
|
||||||
|
@ -68,7 +68,7 @@
|
||||||
if (error)
|
if (error)
|
||||||
{
|
{
|
||||||
ALog(@"GME: ERROR Loding file!");
|
ALog(@"GME: ERROR Loding file!");
|
||||||
return NO;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSURL *m3uurl = [url URLByDeletingPathExtension];
|
NSURL *m3uurl = [url URLByDeletingPathExtension];
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -112,7 +112,7 @@ void * source_fopen(const char * path)
|
||||||
if ( ![[psf_file_container instance] try_hint:[NSString stringWithUTF8String:path] source:&source] )
|
if ( ![[psf_file_container instance] try_hint:[NSString stringWithUTF8String:path] source:&source] )
|
||||||
{
|
{
|
||||||
NSString * urlString = [NSString stringWithUTF8String:path];
|
NSString * urlString = [NSString stringWithUTF8String:path];
|
||||||
NSURL * url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
|
NSURL * url = [NSURL URLWithString:[urlString stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLPathAllowedCharacterSet]];
|
||||||
|
|
||||||
id audioSourceClass = NSClassFromString(@"AudioSource");
|
id audioSourceClass = NSClassFromString(@"AudioSource");
|
||||||
source = [audioSourceClass audioSourceForURL:url];
|
source = [audioSourceClass audioSourceForURL:url];
|
||||||
|
@ -1271,7 +1271,7 @@ static int usf_info(void * context, const char * name, const char * value)
|
||||||
info.trackPeak = 0;
|
info.trackPeak = 0;
|
||||||
info.volume = 1;
|
info.volume = 1;
|
||||||
|
|
||||||
currentUrl = [[[source url] absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
|
currentUrl = [[[source url] absoluteString] stringByRemovingPercentEncoding];
|
||||||
|
|
||||||
[[psf_file_container instance] add_hint:currentUrl source:currentSource];
|
[[psf_file_container instance] add_hint:currentUrl source:currentSource];
|
||||||
hintAdded = YES;
|
hintAdded = YES;
|
||||||
|
@ -1706,7 +1706,7 @@ static int usf_info(void * context, const char * name, const char * value)
|
||||||
info.tag_length_ms = 0;
|
info.tag_length_ms = 0;
|
||||||
info.tag_fade_ms = 0;
|
info.tag_fade_ms = 0;
|
||||||
|
|
||||||
NSString * decodedUrl = [[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
|
NSString * decodedUrl = [[url absoluteString] stringByRemovingPercentEncoding];
|
||||||
|
|
||||||
psf_load( [decodedUrl UTF8String], &source_callbacks, 0, 0, 0, psf_info_meta, &info, 0 );
|
psf_load( [decodedUrl UTF8String], &source_callbacks, 0, 0, 0, psf_info_meta, &info, 0 );
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -508,6 +508,7 @@
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
@ -554,6 +555,7 @@
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -30,7 +30,11 @@ AUPluginUI::AUPluginUI (AudioUnit & _au)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (au_view) {
|
if (au_view) {
|
||||||
cocoa_window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, req_width, req_height) styleMask:(NSTitledWindowMask | NSClosableWindowMask) backing:NSBackingStoreBuffered defer:NO];
|
cocoa_window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, req_width, req_height)
|
||||||
|
styleMask:(NSWindowStyleMaskTitled |
|
||||||
|
NSWindowStyleMaskClosable)
|
||||||
|
backing:NSBackingStoreBuffered
|
||||||
|
defer:NO];
|
||||||
|
|
||||||
[cocoa_window setAutodisplay:YES];
|
[cocoa_window setAutodisplay:YES];
|
||||||
[cocoa_window setTitle:@"AU Plug-in"];
|
[cocoa_window setTitle:@"AU Plug-in"];
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -248,7 +248,7 @@
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
@ -305,7 +305,7 @@
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
|
|
@ -81,7 +81,7 @@ static void g_push_archive_extensions(std::vector<std::string> & list)
|
||||||
mod->set_render_param( openmpt::module::RENDER_STEREOSEPARATION_PERCENT, 100 );
|
mod->set_render_param( openmpt::module::RENDER_STEREOSEPARATION_PERCENT, 100 );
|
||||||
mod->set_render_param( openmpt::module::RENDER_INTERPOLATIONFILTER_LENGTH, interp );
|
mod->set_render_param( openmpt::module::RENDER_INTERPOLATIONFILTER_LENGTH, interp );
|
||||||
mod->set_render_param( openmpt::module::RENDER_VOLUMERAMPING_STRENGTH, -1 );
|
mod->set_render_param( openmpt::module::RENDER_VOLUMERAMPING_STRENGTH, -1 );
|
||||||
mod->ctl_set( "render.resampler.emulate_amiga", "1" );
|
mod->ctl_set_boolean("render.resampler.emulate_amiga", true);
|
||||||
|
|
||||||
left.resize( 1024 );
|
left.resize( 1024 );
|
||||||
right.resize( 1024 );
|
right.resize( 1024 );
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1150"
|
LastUpgradeVersion = "1230"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue