-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathalert.m
118 lines (101 loc) · 4.06 KB
/
alert.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <Cocoa/Cocoa.h>
//note i didnt make this code ok?
void getFileSaveName(void (*callback)(char*)) {
dispatch_async(dispatch_get_main_queue(), ^(void){
NSSavePanel *panel = [NSSavePanel savePanel];
NSString *fileName=@"untitled.xgd";
[panel setMessage:@"Select location to save"]; // Message inside modal window
[panel setExtensionHidden:YES];
[panel setCanCreateDirectories:YES];
[panel setNameFieldStringValue:fileName];
[panel setTitle:@"Saving checkboard..."]; // Window title
NSInteger result = [panel runModal];
NSError *error = nil;
if (result == NSModalResponseOK) {
////////////////////////////////////////////
NSString *path0 = [[panel URL] path];
callback([path0 UTF8String]);
////////////////////////////////////////////
if (error) {
[NSApp presentError:error];
}
}
});
}
void getFileOpenName(void (*callback)(char*)) {
dispatch_async(dispatch_get_main_queue(), ^(void){
NSOpenPanel *panel = [NSOpenPanel openPanel];
NSString *fileName=@"untitled.xgd";
[panel setCanChooseFiles:YES];
[panel setAllowsMultipleSelection:NO];
[panel setCanChooseDirectories:NO];
NSInteger result = [panel runModal];
NSError *error = nil;
if (result == NSModalResponseOK) {
////////////////////////////////////////////
NSString *path0 = [[panel URL] path];
callback([path0 UTF8String]);
////////////////////////////////////////////
if (error) {
[NSApp presentError:error];
}
}
});
}
void getWavFile(void (*callback)(char*)) {
dispatch_async(dispatch_get_main_queue(), ^(void){
NSOpenPanel *panel = [NSOpenPanel openPanel];
NSString *fileName=@"";
[panel setCanChooseFiles:YES];
[panel setAllowsMultipleSelection:NO];
[panel setCanChooseDirectories:NO];
[panel setAllowedFileTypes:@[@"wav"]];
NSInteger result = [panel runModal];
NSError *error = nil;
if (result == NSModalResponseOK) {
////////////////////////////////////////////
NSString *path0 = [[panel URL] path];
callback([path0 UTF8String]);
////////////////////////////////////////////
if (error) {
[NSApp presentError:error];
}
}
});
}
void getSpeed(void (*callback)(float)) {
dispatch_async(dispatch_get_main_queue(), ^(void){
NSAlert *alert = [NSAlert alertWithMessageText: @"Change Speed"
defaultButton:@"OK"
alternateButton:@"Cancel"
otherButton:nil
informativeTextWithFormat:@""];
NSTextField *input = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 200, 24)];
[input setStringValue:@"1"];
[input autorelease];
[alert setAccessoryView:input];
NSInteger button = [alert runModal];
if (button == NSAlertDefaultReturn) {
[input validateEditing];
callback([input floatValue]);
}
});
}
void getFps(void (*callback)(float)) {
dispatch_async(dispatch_get_main_queue(), ^(void){
NSAlert *alert = [NSAlert alertWithMessageText: @"Fps Recording"
defaultButton:@"OK"
alternateButton:@"Cancel"
otherButton:nil
informativeTextWithFormat:@""];
NSTextField *input = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 200, 24)];
[input setStringValue:@"60.0"];
[input autorelease];
[alert setAccessoryView:input];
NSInteger button = [alert runModal];
if (button == NSAlertDefaultReturn) {
[input validateEditing];
callback([input floatValue]);
}
});
}