Skip to content

Commit

Permalink
First commit
Browse files Browse the repository at this point in the history
  • Loading branch information
kyab committed Sep 2, 2020
1 parent 5c36e0d commit 6e07de1
Show file tree
Hide file tree
Showing 9 changed files with 511 additions and 10 deletions.
65 changes: 63 additions & 2 deletions MySpleeter.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@
EB716DE724FE543E00ED4FA1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EB716DE624FE543E00ED4FA1 /* Assets.xcassets */; };
EB716DEA24FE543E00ED4FA1 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = EB716DE824FE543E00ED4FA1 /* MainMenu.xib */; };
EB716DED24FE543E00ED4FA1 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = EB716DEC24FE543E00ED4FA1 /* main.m */; };
EB716DF624FE54B700ED4FA1 /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = EB716DF524FE54B700ED4FA1 /* AppController.m */; };
EB716DF924FE6DC100ED4FA1 /* DragAndDropTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = EB716DF824FE6DC100ED4FA1 /* DragAndDropTextField.m */; };
EB716DFB24FF9ADF00ED4FA1 /* devbuild in Resources */ = {isa = PBXBuildFile; fileRef = EB716DFA24FF9ADF00ED4FA1 /* devbuild */; settings = {ASSET_TAGS = (New, ); }; };
EB716DFD24FF9B3300ED4FA1 /* ffmpeg in Resources */ = {isa = PBXBuildFile; fileRef = EB716DFC24FF9B3200ED4FA1 /* ffmpeg */; settings = {ASSET_TAGS = (New, ); }; };
EB716DFF24FF9B4100ED4FA1 /* libpython3.7m.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EB716DFE24FF9B4100ED4FA1 /* libpython3.7m.a */; };
EB716E0224FF9BB600ED4FA1 /* libiconv.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = EB716E0124FF9BB600ED4FA1 /* libiconv.2.dylib */; };
EB716E0524FF9D1400ED4FA1 /* SpleeterWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = EB716E0424FF9D1400ED4FA1 /* SpleeterWrapper.m */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
Expand All @@ -22,13 +29,25 @@
EB716DEB24FE543E00ED4FA1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
EB716DEC24FE543E00ED4FA1 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
EB716DEE24FE543F00ED4FA1 /* MySpleeter.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = MySpleeter.entitlements; sourceTree = "<group>"; };
EB716DF424FE54B700ED4FA1 /* AppController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = "<group>"; };
EB716DF524FE54B700ED4FA1 /* AppController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = "<group>"; };
EB716DF724FE6DC100ED4FA1 /* DragAndDropTextField.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DragAndDropTextField.h; sourceTree = "<group>"; };
EB716DF824FE6DC100ED4FA1 /* DragAndDropTextField.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DragAndDropTextField.m; sourceTree = "<group>"; };
EB716DFA24FF9ADF00ED4FA1 /* devbuild */ = {isa = PBXFileReference; lastKnownFileType = folder; name = devbuild; path = ../devbuild; sourceTree = "<group>"; };
EB716DFC24FF9B3200ED4FA1 /* ffmpeg */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ffmpeg; path = ../ffmpeg; sourceTree = "<group>"; };
EB716DFE24FF9B4100ED4FA1 /* libpython3.7m.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpython3.7m.a; path = ../devbuild/lib/libpython3.7m.a; sourceTree = "<group>"; };
EB716E0124FF9BB600ED4FA1 /* libiconv.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.2.dylib; path = ../../../../../usr/lib/libiconv.2.dylib; sourceTree = "<group>"; };
EB716E0324FF9D1400ED4FA1 /* SpleeterWrapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SpleeterWrapper.h; sourceTree = "<group>"; };
EB716E0424FF9D1400ED4FA1 /* SpleeterWrapper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SpleeterWrapper.m; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
EB716DDD24FE543B00ED4FA1 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
EB716DFF24FF9B4100ED4FA1 /* libpython3.7m.a in Frameworks */,
EB716E0224FF9BB600ED4FA1 /* libiconv.2.dylib in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -38,8 +57,12 @@
EB716DD724FE543B00ED4FA1 = {
isa = PBXGroup;
children = (
EB716DFE24FF9B4100ED4FA1 /* libpython3.7m.a */,
EB716DFC24FF9B3200ED4FA1 /* ffmpeg */,
EB716DFA24FF9ADF00ED4FA1 /* devbuild */,
EB716DE224FE543B00ED4FA1 /* MySpleeter */,
EB716DE124FE543B00ED4FA1 /* Products */,
EB716E0024FF9BB500ED4FA1 /* Frameworks */,
);
sourceTree = "<group>";
};
Expand All @@ -54,17 +77,31 @@
EB716DE224FE543B00ED4FA1 /* MySpleeter */ = {
isa = PBXGroup;
children = (
EB716DF424FE54B700ED4FA1 /* AppController.h */,
EB716DF524FE54B700ED4FA1 /* AppController.m */,
EB716E0324FF9D1400ED4FA1 /* SpleeterWrapper.h */,
EB716E0424FF9D1400ED4FA1 /* SpleeterWrapper.m */,
EB716DE324FE543B00ED4FA1 /* AppDelegate.h */,
EB716DE424FE543B00ED4FA1 /* AppDelegate.m */,
EB716DE624FE543E00ED4FA1 /* Assets.xcassets */,
EB716DE824FE543E00ED4FA1 /* MainMenu.xib */,
EB716DEB24FE543E00ED4FA1 /* Info.plist */,
EB716DEC24FE543E00ED4FA1 /* main.m */,
EB716DEE24FE543F00ED4FA1 /* MySpleeter.entitlements */,
EB716DF724FE6DC100ED4FA1 /* DragAndDropTextField.h */,
EB716DF824FE6DC100ED4FA1 /* DragAndDropTextField.m */,
);
path = MySpleeter;
sourceTree = "<group>";
};
EB716E0024FF9BB500ED4FA1 /* Frameworks */ = {
isa = PBXGroup;
children = (
EB716E0124FF9BB600ED4FA1 /* libiconv.2.dylib */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
Expand All @@ -91,6 +128,9 @@
EB716DD824FE543B00ED4FA1 /* Project object */ = {
isa = PBXProject;
attributes = {
KnownAssetTags = (
New,
);
LastUpgradeCheck = 1130;
ORGANIZATIONNAME = kyab;
TargetAttributes = {
Expand Down Expand Up @@ -122,8 +162,10 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
EB716DFB24FF9ADF00ED4FA1 /* devbuild in Resources */,
EB716DE724FE543E00ED4FA1 /* Assets.xcassets in Resources */,
EB716DEA24FE543E00ED4FA1 /* MainMenu.xib in Resources */,
EB716DFD24FF9B3300ED4FA1 /* ffmpeg in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -134,7 +176,10 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
EB716DF924FE6DC100ED4FA1 /* DragAndDropTextField.m in Sources */,
EB716DED24FE543E00ED4FA1 /* main.m in Sources */,
EB716DF624FE54B700ED4FA1 /* AppController.m in Sources */,
EB716E0524FF9D1400ED4FA1 /* SpleeterWrapper.m in Sources */,
EB716DE524FE543B00ED4FA1 /* AppDelegate.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down Expand Up @@ -270,12 +315,20 @@
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = A386R5WFZ6;
ENABLE_HARDENED_RUNTIME = YES;
ENABLE_HARDENED_RUNTIME = NO;
HEADER_SEARCH_PATHS = /Users/koji/work/mypython/devbuild/include/python3.7m;
INFOPLIST_FILE = MySpleeter/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
LIBRARY_SEARCH_PATHS = /Users/koji/work/mypython/devbuild/lib;
OTHER_LDFLAGS = (
/usr/local/opt/openssl/lib/libssl.a,
/usr/local/opt/openssl/lib/libcrypto.a,
/usr/local/Cellar/gettext/0.21/lib/libintl.a,
/usr/local/Cellar/libiconv/1.16/lib/libiconv.a,
);
PRODUCT_BUNDLE_IDENTIFIER = com.kyab.MySpleeter;
PRODUCT_NAME = "$(TARGET_NAME)";
};
Expand All @@ -289,12 +342,20 @@
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = A386R5WFZ6;
ENABLE_HARDENED_RUNTIME = YES;
ENABLE_HARDENED_RUNTIME = NO;
HEADER_SEARCH_PATHS = /Users/koji/work/mypython/devbuild/include/python3.7m;
INFOPLIST_FILE = MySpleeter/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
LIBRARY_SEARCH_PATHS = /Users/koji/work/mypython/devbuild/lib;
OTHER_LDFLAGS = (
/usr/local/opt/openssl/lib/libssl.a,
/usr/local/opt/openssl/lib/libcrypto.a,
/usr/local/Cellar/gettext/0.21/lib/libintl.a,
/usr/local/Cellar/libiconv/1.16/lib/libiconv.a,
);
PRODUCT_BUNDLE_IDENTIFIER = com.kyab.MySpleeter;
PRODUCT_NAME = "$(TARGET_NAME)";
};
Expand Down
28 changes: 28 additions & 0 deletions MySpleeter/AppController.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
//
// AppController.h
// MySpleeter
//
// Created by kyab on 2020/09/01.
// Copyright © 2020 kyab. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <Cocoa/Cocoa.h>
#import "DragAndDropTextField.h"
#import "SpleeterWrapper.h"
NS_ASSUME_NONNULL_BEGIN

@interface AppController : NSObject{

__weak IBOutlet DragAndDropTextField *_txtInputFile;
__weak IBOutlet DragAndDropTextField *_txtOutputDir;
__weak IBOutlet NSButton *_btnDoSpleet;

SpleeterWrapper *_spleeter;

}


@end

NS_ASSUME_NONNULL_END
81 changes: 81 additions & 0 deletions MySpleeter/AppController.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
//
// AppController.m
// MySpleeter
//
// Created by kyab on 2020/09/01.
// Copyright © 2020 kyab. All rights reserved.
//

#import "AppController.h"
#import <Cocoa/Cocoa.h>

@implementation AppController
-(void)awakeFromNib{
NSLog(@"AppController awakeFromNib");
_spleeter = [[SpleeterWrapper alloc] init];
}

- (IBAction)testClicked:(id)sender {
NSLog(@"test");
}

- (IBAction)selectInputFile:(id)sender {
NSLog(@"Select input file");
NSOpenPanel *panel = [[NSOpenPanel alloc] init];
[panel setCanChooseFiles:YES];
[panel setAllowsMultipleSelection:NO];
[panel setCanChooseDirectories:NO];
if ([panel runModal] == NSModalResponseOK){
NSURL *url = [panel URL];
NSLog(@"path = %@", [url path]);
[_txtInputFile setStringValue:[url path]];
}else{
//User cancelled
}
}

- (IBAction)selectOutputDir:(id)sender {
NSLog(@"Select output dir");
NSOpenPanel *panel = [[NSOpenPanel alloc] init];
[panel setCanCreateDirectories:YES];
[panel setCanChooseFiles:NO];
[panel setAllowsMultipleSelection:NO];
[panel setCanChooseDirectories:YES];

if ([panel runModal] == NSModalResponseOK){
NSURL *url = [panel URL];
NSLog(@"path = %@", [url path]);
[_txtOutputDir setStringValue:[url path]];
}else{
//User cancelled
}

}
- (IBAction)doSeparate:(id)sender {
NSString *inFile = [_txtInputFile stringValue];
NSString *outDir = [_txtOutputDir stringValue];

if ([inFile length] ==0 || [outDir length] == 0){
//empty infile or outdir
NSAlert *alert = [[NSAlert alloc] init];
[alert setInformativeText:@"Please select input file and output directory."];
[alert setMessageText:@"error"];
[alert runModal];
return;
}
//this is what we need.

[_spleeter makeSeparator5stems];
NSString *ret = [_spleeter separate_file:inFile outDir:outDir];

NSAlert *alert = [[NSAlert alloc] init];
[alert setInformativeText:ret];
[alert setMessageText:@"result"];
[alert runModal];


}



@end
5 changes: 5 additions & 0 deletions MySpleeter/AppDelegate.m
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,10 @@ - (void)applicationWillTerminate:(NSNotification *)aNotification {
// Insert code here to tear down your application
}

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender
{
return YES;
}


@end
Loading

0 comments on commit 6e07de1

Please sign in to comment.