mirror of
https://github.com/microtherion/VocalEasel.git
synced 2024-12-22 11:14:00 +00:00
Start implementing field editor for chords
This commit is contained in:
parent
b36d5594b7
commit
7daabcb8b0
4
English.lproj/VLDocument.nib/classes.nib
generated
4
English.lproj/VLDocument.nib/classes.nib
generated
|
@ -4,10 +4,10 @@
|
|||
{CLASS = MyDocument; LANGUAGE = ObjC; SUPERCLASS = NSDocument; },
|
||||
{CLASS = VLDocument; LANGUAGE = ObjC; SUPERCLASS = NSDocument; },
|
||||
{
|
||||
ACTIONS = {scroll = id; setDivisions = id; setKey = id; setTime = id; };
|
||||
ACTIONS = {hideFieldEditor = id; setDivisions = id; setKey = id; setTime = id; };
|
||||
CLASS = VLSheetView;
|
||||
LANGUAGE = ObjC;
|
||||
OUTLETS = {chords = id; };
|
||||
OUTLETS = {chords = id; fieldEditor = id; };
|
||||
SUPERCLASS = NSView;
|
||||
}
|
||||
);
|
||||
|
|
6
English.lproj/VLDocument.nib/info.nib
generated
6
English.lproj/VLDocument.nib/info.nib
generated
|
@ -3,14 +3,14 @@
|
|||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBDocumentLocation</key>
|
||||
<string>41 30 356 240 0 0 1024 746 </string>
|
||||
<string>44 14 356 240 0 0 1024 746 </string>
|
||||
<key>IBFramework Version</key>
|
||||
<string>437.0</string>
|
||||
<string>451.0</string>
|
||||
<key>IBOpenObjects</key>
|
||||
<array>
|
||||
<integer>5</integer>
|
||||
</array>
|
||||
<key>IBSystem Version</key>
|
||||
<string>8F46</string>
|
||||
<string>9A255</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
BIN
English.lproj/VLDocument.nib/keyedobjects.nib
generated
BIN
English.lproj/VLDocument.nib/keyedobjects.nib
generated
Binary file not shown.
|
@ -135,6 +135,7 @@ static const VLChordModifier kModifiers[] = {
|
|||
{"11", VLChord::kmMin7th | VLChord::kmMaj9th | VLChord::km11th, 0},
|
||||
{"#9", VLChord::kmMin7th | VLChord::kmAug9th, VLChord::kmMaj9th},
|
||||
{"b9", VLChord::kmMin7th | VLChord::kmMin9th, VLChord::kmMaj9th},
|
||||
{"69", VLChord::kmDim7th | VLChord::kmMaj9th, 0},
|
||||
{"9", VLChord::kmMin7th | VLChord::kmMaj9th, 0},
|
||||
{"7", VLChord::kmMin7th, 0},
|
||||
{"maj", VLChord::kmMaj7th, VLChord::kmMin7th},
|
||||
|
@ -152,7 +153,7 @@ static const VLChordModifier kModifiers[] = {
|
|||
};
|
||||
|
||||
static const char * kStepNames[] = {
|
||||
"", "", "sus2", "", "", "sus", "♭5", "", "+", "♭7", "7", "♯7", "",
|
||||
"", "", "sus2", "", "", "sus", "♭5", "", "+", "6", "7", "♯7", "",
|
||||
"♭9", "9", "♯9", "", "11", "♯11", "", "♭9", "13"
|
||||
};
|
||||
|
||||
|
@ -204,6 +205,7 @@ VLChord::VLChord(std::string name)
|
|||
} else
|
||||
name.erase(root, 2);
|
||||
}
|
||||
|
||||
//
|
||||
// Apply modifiers
|
||||
//
|
||||
|
@ -261,6 +263,13 @@ void VLChord::Name(std::string & base, std::string & ext, std::string & root, bo
|
|||
steps&= ~kmMaj7th;
|
||||
}
|
||||
//
|
||||
// 6/9
|
||||
//
|
||||
if ((steps & (kmDim7th|kmMaj9th)) == (kmDim7th|kmMaj9th)) {
|
||||
ext += "69";
|
||||
steps&= ~(kmDim7th|kmMaj9th);
|
||||
}
|
||||
//
|
||||
// Other extensions. Only the highest unaltered extension is listed.
|
||||
//
|
||||
if (uint32_t unaltered = steps & (kmMin7th | kmMaj9th | km11th | kmMaj13th)) {
|
||||
|
|
|
@ -151,7 +151,7 @@ struct VLChord : VLNote {
|
|||
kmDim5th = (1 << kDim5th),
|
||||
km5th = (1 << k5th),
|
||||
kmAug5th = (1 << kAug5th),
|
||||
kmDim7th = (1 << kDim7th),
|
||||
kmDim7th = (1 << kDim7th),
|
||||
kmMin7th = (1 << kMin7th),
|
||||
kmMaj7th = (1 << kMaj7th),
|
||||
kmOctave = (1 << kOctave),
|
||||
|
|
|
@ -35,6 +35,7 @@ enum VLMusicElement {
|
|||
|
||||
@interface VLSheetView : NSView {
|
||||
BOOL needsRecalc;
|
||||
BOOL showFieldEditor;
|
||||
float clefKeyW;
|
||||
float measureW;
|
||||
int groups;
|
||||
|
@ -51,13 +52,17 @@ enum VLMusicElement {
|
|||
int noteCursorMeasure;
|
||||
VLFract noteCursorAt;
|
||||
int noteCursorPitch;
|
||||
id fieldBeingEdited;
|
||||
|
||||
IBOutlet id chords;
|
||||
IBOutlet id chords;
|
||||
IBOutlet id fieldEditor;
|
||||
}
|
||||
|
||||
- (IBAction) setKey:(id)sender;
|
||||
- (IBAction) setTime:(id)sender;
|
||||
- (IBAction) setDivisions:(id)sender;
|
||||
- (IBAction) showFieldEditor:(id)sender withAction:(SEL)selector;
|
||||
- (IBAction) hideFieldEditor:(id)sender;
|
||||
|
||||
- (void) setFirstMeasure: (NSNumber *)measure;
|
||||
|
||||
|
|
|
@ -79,6 +79,7 @@ static float sFlatPos[] = {
|
|||
}
|
||||
}
|
||||
needsRecalc = YES;
|
||||
showFieldEditor = NO;
|
||||
firstMeasure = 0;
|
||||
noteRectTracker = 0;
|
||||
noteCursorCache = nil;
|
||||
|
@ -311,4 +312,20 @@ static float sFlatPos[] = {
|
|||
[self setNeedsDisplay: YES];
|
||||
}
|
||||
|
||||
- (IBAction)showFieldEditor:(id)sender withAction:(SEL)selector
|
||||
{
|
||||
fieldBeingEdited = sender;
|
||||
[fieldEditor setObjectValue:[sender title]];
|
||||
[fieldEditor setAction:selector];
|
||||
[self setValue: [NSNumber numberWithBool:YES]
|
||||
forKey: @"showFieldEditor"];
|
||||
}
|
||||
|
||||
- (IBAction)hideFieldEditor:(id)sender
|
||||
{
|
||||
[fieldEditor setAction:nil];
|
||||
[self setValue: [NSNumber numberWithBool:NO]
|
||||
forKey: @"showFieldEditor"];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
@interface VLSheetView (Chords)
|
||||
|
||||
- (IBAction) editChord:(id)sender;
|
||||
- (IBAction) doneEditingChord:(id)sender;
|
||||
|
||||
- (void) setupChords;
|
||||
|
||||
|
|
|
@ -83,7 +83,6 @@
|
|||
//
|
||||
// Build new list
|
||||
//
|
||||
NSView * prevKeyView = nil;
|
||||
NSFont * chordFont = [NSFont controlContentFontOfSize: 14];
|
||||
int beatsPerGroup = quarterBeats / groups;
|
||||
for (int m = 0; m<visibleMeasures; ++m) {
|
||||
|
@ -95,30 +94,30 @@
|
|||
for (int beat = 0; beat<quarterBeats; ++beat) {
|
||||
const float x = x0+kNoteW*(beat*prop.fDivisions+(beat / beatsPerGroup)+0.5f);
|
||||
NSRect f = NSMakeRect(x, 0, kChordW, kChordH);
|
||||
NSTextField * chord = [[NSTextField alloc] initWithFrame: f];
|
||||
NSButton * chord = [[NSButton alloc] initWithFrame: f];
|
||||
[chordView addSubview: chord];
|
||||
[prevKeyView setNextKeyView: chord];
|
||||
prevKeyView = chord;
|
||||
[chord setBordered: NO];
|
||||
[chord setBezeled: NO];
|
||||
[chord setDrawsBackground: NO];
|
||||
[chord setTarget: self];
|
||||
[chord setAction: @selector(editChord:)];
|
||||
[[chord cell] setSendsActionOnEndEditing: YES];
|
||||
[chord setTag: (measure << 8) | beat];
|
||||
[chord setFont: chordFont];
|
||||
[chord setTitle: @""];
|
||||
while (cCur != cEnd && at < VLFraction(beat, 4))
|
||||
at += (cCur++)->fDuration;
|
||||
if (cCur != cEnd && at == VLFraction(beat, 4) && cCur->fPitch != VLNote::kNoPitch)
|
||||
[chord setAttributedStringValue: [self stringWithChord:*cCur]];
|
||||
[chord setTitle: [self stringWithChord:*cCur]];
|
||||
[chord release];
|
||||
}
|
||||
}
|
||||
[chords setNeedsDisplay: YES];
|
||||
}
|
||||
|
||||
|
||||
- (IBAction) editChord:(id)sender
|
||||
{
|
||||
[self showFieldEditor:sender withAction:@selector(doneEditingChord:)];
|
||||
}
|
||||
|
||||
- (IBAction) doneEditingChord:(id)sender
|
||||
{
|
||||
VLSong * song = [self song];
|
||||
|
||||
|
@ -163,12 +162,10 @@
|
|||
} else {
|
||||
NSAttributedString * s = [self stringWithChord:chord];
|
||||
[sender setAttributedStringValue: s];
|
||||
[fieldBeingEdited setTitle: s];
|
||||
[sender setTextColor: [NSColor blackColor]];
|
||||
NSSize sz = [sender frame].size;
|
||||
sz.width = [s size].width+10.0;
|
||||
[sender setFrameSize: sz];
|
||||
VLSoundOut::Instance()->PlayChord(chord);
|
||||
int tag = [sender tag];
|
||||
int tag = [fieldBeingEdited tag];
|
||||
song->AddChord(chord, tag >> 8, VLFraction(tag & 0xFF, 4));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -200,11 +200,29 @@
|
|||
<key>Content</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>95FA70960AB3370800B2D764</string>
|
||||
<string>95D1F8310AB694EC00EE6AC8</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string><No Editor></string>
|
||||
<string>VLSheetView.mm</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict/>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>95D1F8320AB694EC00EE6AC8</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>VLSheetView.mm</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>95D1F8BD0AB69F2F00EE6AC8</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>95D1F82B0AB693AE00EE6AC8</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
<key>StatusBarVisibility</key>
|
||||
<true/>
|
||||
</dict>
|
||||
|
@ -215,14 +233,141 @@
|
|||
<key>PBXModuleWindowStatusBarHidden2</key>
|
||||
<false/>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>203 96 763 593 0 0 1024 746 </string>
|
||||
<string>164 91 763 593 0 0 1024 746 </string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Content</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>956999A10AB370CD0033F43C</string>
|
||||
<string>95D1F8130AB6908400EE6AC8</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>VLSheetViewChords.h</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>95D1F8140AB6908400EE6AC8</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>VLSheetViewChords.h</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>95D1F8BE0AB69F2F00EE6AC8</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>95D1F86A0AB6970400EE6AC8</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
<key>StatusBarVisibility</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Geometry</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 20}, {763, 552}}</string>
|
||||
<key>PBXModuleWindowStatusBarHidden2</key>
|
||||
<false/>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>186 75 763 593 0 0 1024 746 </string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Content</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>95D1F82E0AB694EC00EE6AC8</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>VLSheetView.mm</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>95D1F82F0AB694EC00EE6AC8</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>VLSheetView.mm</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>95D1F8BF0AB69F2F00EE6AC8</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>95D1F8530AB6967E00EE6AC8</string>
|
||||
<string>95D1F8540AB6967E00EE6AC8</string>
|
||||
</array>
|
||||
<key>prevStack</key>
|
||||
<array>
|
||||
<string>95D1F84C0AB6960700EE6AC8</string>
|
||||
<string>95D1F8550AB6967E00EE6AC8</string>
|
||||
<string>95D1F8560AB6967E00EE6AC8</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
<key>StatusBarVisibility</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Geometry</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 20}, {763, 552}}</string>
|
||||
<key>PBXModuleWindowStatusBarHidden2</key>
|
||||
<false/>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>15 148 763 593 0 0 1024 746 </string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Content</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>95D1F7FE0AB68C8C00EE6AC8</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>VLSheetView.h</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>95D1F7FF0AB68C8C00EE6AC8</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>VLSheetView.h</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>95D1F8C00AB69F2F00EE6AC8</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>95D1F80B0AB68D3B00EE6AC8</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
<key>StatusBarVisibility</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Geometry</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 20}, {763, 552}}</string>
|
||||
<key>PBXModuleWindowStatusBarHidden2</key>
|
||||
<false/>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>242 153 763 593 0 0 1024 746 </string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Content</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>95D1F8660AB6970400EE6AC8</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string><No Editor></string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
|
@ -237,7 +382,29 @@
|
|||
<key>PBXModuleWindowStatusBarHidden2</key>
|
||||
<false/>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>38 127 763 593 0 0 1024 746 </string>
|
||||
<string>15 148 763 593 0 0 1024 746 </string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Content</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>95D1F8850AB69B6700EE6AC8</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string><No Editor></string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict/>
|
||||
<key>StatusBarVisibility</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Geometry</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 20}, {763, 552}}</string>
|
||||
<key>PBXModuleWindowStatusBarHidden2</key>
|
||||
<false/>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>168 116 763 593 0 0 1024 746 </string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
|
@ -312,19 +479,22 @@
|
|||
<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
|
||||
<array>
|
||||
<string>2A37F4AAFDCFA73011CA2CEA</string>
|
||||
<string>2A37F4ABFDCFA73011CA2CEA</string>
|
||||
<string>955E59560957C0C50045FDA5</string>
|
||||
<string>2A37F4B8FDCFA73011CA2CEA</string>
|
||||
<string>1C37FBAC04509CD000000102</string>
|
||||
<string>1C37FABC05509CD000000102</string>
|
||||
</array>
|
||||
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
||||
<array>
|
||||
<array>
|
||||
<integer>9</integer>
|
||||
<integer>4</integer>
|
||||
<integer>6</integer>
|
||||
<integer>1</integer>
|
||||
<integer>0</integer>
|
||||
</array>
|
||||
</array>
|
||||
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
|
||||
<string>{{0, 0}, {186, 338}}</string>
|
||||
<string>{{0, 5}, {186, 338}}</string>
|
||||
</dict>
|
||||
<key>PBXTopSmartGroupGIDs</key>
|
||||
<array/>
|
||||
|
@ -424,9 +594,9 @@
|
|||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>956999870AB36FA30033F43C</string>
|
||||
<string>95D1F7F00AB6821400EE6AC8</string>
|
||||
<string>1CE0B1FE06471DED0097A5F4</string>
|
||||
<string>956999880AB36FA30033F43C</string>
|
||||
<string>95D1F7F10AB6821400EE6AC8</string>
|
||||
<string>1CE0B20306471E060097A5F4</string>
|
||||
<string>1CE0B20506471E060097A5F4</string>
|
||||
</array>
|
||||
|
@ -560,14 +730,18 @@
|
|||
<integer>5</integer>
|
||||
<key>WindowOrderList</key>
|
||||
<array>
|
||||
<string>956999A10AB370CD0033F43C</string>
|
||||
<string>956999940AB36FA30033F43C</string>
|
||||
<string>956999950AB36FA30033F43C</string>
|
||||
<string>956999960AB36FA30033F43C</string>
|
||||
<string>95D1F8850AB69B6700EE6AC8</string>
|
||||
<string>95D1F8660AB6970400EE6AC8</string>
|
||||
<string>95D1F8240AB6930D00EE6AC8</string>
|
||||
<string>95D1F8250AB6930D00EE6AC8</string>
|
||||
<string>95D1F8260AB6930D00EE6AC8</string>
|
||||
<string>95D7BFC80AA6C1A500D5E02C</string>
|
||||
<string>95D7BFC00AA6C1A500D5E02C</string>
|
||||
<string>95FA70960AB3370800B2D764</string>
|
||||
<string>1CD10A99069EF8BA00B06720</string>
|
||||
<string>95D1F7FE0AB68C8C00EE6AC8</string>
|
||||
<string>95D1F82E0AB694EC00EE6AC8</string>
|
||||
<string>95D1F8130AB6908400EE6AC8</string>
|
||||
<string>95D1F8310AB694EC00EE6AC8</string>
|
||||
<string>/Users/neeri/Development/Vocalese/Vocalese.xcodeproj</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
|
@ -592,7 +766,7 @@
|
|||
<key>PBXProjectModuleGUID</key>
|
||||
<string>1CD0528F0623707200166675</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string></string>
|
||||
<string>VLSheetViewChords.mm</string>
|
||||
<key>StatusBarVisibility</key>
|
||||
<true/>
|
||||
</dict>
|
||||
|
@ -609,6 +783,8 @@
|
|||
<string>293pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>BecomeActive</key>
|
||||
<true/>
|
||||
<key>ContentConfiguration</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
|
@ -648,7 +824,7 @@
|
|||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>95D7BFC00AA6C1A500D5E02C</string>
|
||||
<string>9569998C0AB36FA30033F43C</string>
|
||||
<string>95D1F8220AB6930D00EE6AC8</string>
|
||||
<string>1CD0528F0623707200166675</string>
|
||||
<string>XCMainBuildResultsModuleGUID</string>
|
||||
</array>
|
||||
|
@ -690,8 +866,8 @@
|
|||
<string>yes</string>
|
||||
<key>sizes</key>
|
||||
<array>
|
||||
<string>{{0, 0}, {310, 200}}</string>
|
||||
<string>{{310, 0}, {384, 200}}</string>
|
||||
<string>{{0, 0}, {308, 200}}</string>
|
||||
<string>{{308, 0}, {386, 200}}</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>VerticalSplitView</key>
|
||||
|
@ -737,10 +913,10 @@
|
|||
<string>Value</string>
|
||||
<real>85</real>
|
||||
<string>Summary</string>
|
||||
<real>154</real>
|
||||
<real>156</real>
|
||||
</array>
|
||||
<key>Frame</key>
|
||||
<string>{{310, 0}, {384, 200}}</string>
|
||||
<string>{{308, 0}, {386, 200}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>254 208 694 422 0 0 1024 746 </string>
|
||||
</dict>
|
||||
|
@ -768,13 +944,13 @@
|
|||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>1CD10A99069EF8BA00B06720</string>
|
||||
<string>9569998D0AB36FA30033F43C</string>
|
||||
<string>95D1F7F20AB6821400EE6AC8</string>
|
||||
<string>1C162984064C10D400B95A72</string>
|
||||
<string>9569998E0AB36FA30033F43C</string>
|
||||
<string>9569998F0AB36FA30033F43C</string>
|
||||
<string>956999900AB36FA30033F43C</string>
|
||||
<string>956999910AB36FA30033F43C</string>
|
||||
<string>956999920AB36FA30033F43C</string>
|
||||
<string>95D1F7F30AB6821400EE6AC8</string>
|
||||
<string>95D1F7F40AB6821400EE6AC8</string>
|
||||
<string>95D1F7F50AB6821400EE6AC8</string>
|
||||
<string>95D1F7F60AB6821400EE6AC8</string>
|
||||
<string>95D1F7F70AB6821400EE6AC8</string>
|
||||
</array>
|
||||
<key>ToolbarConfiguration</key>
|
||||
<string>xcode.toolbar.config.debugV3</string>
|
||||
|
@ -783,7 +959,7 @@
|
|||
<key>WindowToolGUID</key>
|
||||
<string>1CD10A99069EF8BA00B06720</string>
|
||||
<key>WindowToolIsVisible</key>
|
||||
<true/>
|
||||
<false/>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Identifier</key>
|
||||
|
@ -936,7 +1112,7 @@
|
|||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>95D7BFC80AA6C1A500D5E02C</string>
|
||||
<string>956999930AB36FA30033F43C</string>
|
||||
<string>95D1F8230AB6930D00EE6AC8</string>
|
||||
<string>1C78EAAC065D492600B07095</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
|
|
|
@ -45,8 +45,8 @@
|
|||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
200,
|
||||
63,
|
||||
203,
|
||||
60,
|
||||
20,
|
||||
48,
|
||||
43,
|
||||
|
@ -62,8 +62,22 @@
|
|||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 179531674;
|
||||
PBXWorkspaceStateSaveDate = 179531674;
|
||||
PBXPerProjectTemplateStateSaveDate = 179733005;
|
||||
PBXWorkspaceStateSaveDate = 179733005;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
95D1F80B0AB68D3B00EE6AC8 /* PBXTextBookmark */ = 95D1F80B0AB68D3B00EE6AC8 /* PBXTextBookmark */;
|
||||
95D1F82B0AB693AE00EE6AC8 /* PBXBookmark */ = 95D1F82B0AB693AE00EE6AC8 /* PBXBookmark */;
|
||||
95D1F84C0AB6960700EE6AC8 /* PBXTextBookmark */ = 95D1F84C0AB6960700EE6AC8 /* PBXTextBookmark */;
|
||||
95D1F8530AB6967E00EE6AC8 /* PBXTextBookmark */ = 95D1F8530AB6967E00EE6AC8 /* PBXTextBookmark */;
|
||||
95D1F8540AB6967E00EE6AC8 /* PBXTextBookmark */ = 95D1F8540AB6967E00EE6AC8 /* PBXTextBookmark */;
|
||||
95D1F8550AB6967E00EE6AC8 /* PBXTextBookmark */ = 95D1F8550AB6967E00EE6AC8 /* PBXTextBookmark */;
|
||||
95D1F8560AB6967E00EE6AC8 /* PBXTextBookmark */ = 95D1F8560AB6967E00EE6AC8 /* PBXTextBookmark */;
|
||||
95D1F86A0AB6970400EE6AC8 /* PBXTextBookmark */ = 95D1F86A0AB6970400EE6AC8 /* PBXTextBookmark */;
|
||||
95D1F8BD0AB69F2F00EE6AC8 /* PBXTextBookmark */ = 95D1F8BD0AB69F2F00EE6AC8 /* PBXTextBookmark */;
|
||||
95D1F8BE0AB69F2F00EE6AC8 /* PBXTextBookmark */ = 95D1F8BE0AB69F2F00EE6AC8 /* PBXTextBookmark */;
|
||||
95D1F8BF0AB69F2F00EE6AC8 /* PBXTextBookmark */ = 95D1F8BF0AB69F2F00EE6AC8 /* PBXTextBookmark */;
|
||||
95D1F8C00AB69F2F00EE6AC8 /* PBXTextBookmark */ = 95D1F8C00AB69F2F00EE6AC8 /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = 954D7413095406B2007D9571 /* Source Control */;
|
||||
userBuildSettings = {
|
||||
|
@ -147,9 +161,17 @@
|
|||
};
|
||||
952DCD76096BBB11001C2316 /* VLSheetViewChords.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {724, 520}}";
|
||||
sepNavSelRange = "{150, 0}";
|
||||
sepNavVisRect = "{{0, 0}, {724, 520}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {704, 520}}";
|
||||
sepNavSelRange = "{184, 35}";
|
||||
sepNavVisRect = "{{0, 0}, {704, 520}}";
|
||||
sepNavWindowFrame = "{{186, 19}, {763, 649}}";
|
||||
};
|
||||
};
|
||||
952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {703, 2100}}";
|
||||
sepNavSelRange = "{4592, 34}";
|
||||
sepNavVisRect = "{{0, 1837}, {703, 261}}";
|
||||
sepNavWindowFrame = "{{15, 92}, {763, 649}}";
|
||||
};
|
||||
};
|
||||
|
@ -197,16 +219,16 @@
|
|||
955E58E3095658AB0045FDA5 /* VLModel.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {704, 3080}}";
|
||||
sepNavSelRange = "{2267, 0}";
|
||||
sepNavVisRect = "{{0, 558}, {704, 497}}";
|
||||
sepNavSelRange = "{2773, 0}";
|
||||
sepNavVisRect = "{{0, 1807}, {704, 497}}";
|
||||
sepNavWindowFrame = "{{203, 40}, {763, 649}}";
|
||||
};
|
||||
};
|
||||
955E58E4095658AB0045FDA5 /* VLModel.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {704, 4564}}";
|
||||
sepNavSelRange = "{9472, 29}";
|
||||
sepNavVisRect = "{{0, 2375}, {704, 497}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {704, 3976}}";
|
||||
sepNavSelRange = "{4436, 0}";
|
||||
sepNavVisRect = "{{0, 2758}, {704, 497}}";
|
||||
sepNavWindowFrame = "{{256, 62}, {763, 649}}";
|
||||
};
|
||||
};
|
||||
|
@ -242,9 +264,9 @@
|
|||
};
|
||||
955E59600957C1400045FDA5 /* TVLChord.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {724, 520}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {704, 497}}";
|
||||
sepNavSelRange = "{557, 0}";
|
||||
sepNavVisRect = "{{0, 0}, {724, 520}}";
|
||||
sepNavVisRect = "{{0, 0}, {704, 497}}";
|
||||
sepNavWindowFrame = "{{84, 29}, {763, 649}}";
|
||||
};
|
||||
};
|
||||
|
@ -324,23 +346,134 @@
|
|||
hitCount = 0;
|
||||
ignoreCount = 0;
|
||||
lineNumber = 21;
|
||||
modificationTime = 179531977.512253;
|
||||
modificationTime = 179740227.391068;
|
||||
state = 2;
|
||||
};
|
||||
95BDA15709540BF1009F9D65 /* VLSheetView.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {704, 1064}}";
|
||||
sepNavSelRange = "{890, 0}";
|
||||
sepNavVisRect = "{{0, 434}, {704, 497}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {704, 1134}}";
|
||||
sepNavSelRange = "{1065, 16}";
|
||||
sepNavVisRect = "{{0, 472}, {704, 520}}";
|
||||
sepNavWindowFrame = "{{242, 97}, {763, 649}}";
|
||||
};
|
||||
};
|
||||
95BDA15809540BF1009F9D65 /* VLSheetView.mm */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {704, 4410}}";
|
||||
sepNavSelRange = "{3053, 0}";
|
||||
sepNavVisRect = "{{0, 0}, {704, 497}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {704, 3626}}";
|
||||
sepNavSelRange = "{7591, 0}";
|
||||
sepNavVisRect = "{{0, 3106}, {704, 520}}";
|
||||
sepNavWindowFrame = "{{164, 35}, {763, 649}}";
|
||||
};
|
||||
};
|
||||
95D1F80B0AB68D3B00EE6AC8 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 95BDA15709540BF1009F9D65 /* VLSheetView.h */;
|
||||
name = "VLSheetView.h: 57";
|
||||
rLen = 0;
|
||||
rLoc = 1134;
|
||||
rType = 0;
|
||||
vrLen = 829;
|
||||
vrLoc = 672;
|
||||
};
|
||||
95D1F82B0AB693AE00EE6AC8 /* PBXBookmark */ = {
|
||||
isa = PBXBookmark;
|
||||
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
|
||||
};
|
||||
95D1F84C0AB6960700EE6AC8 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */;
|
||||
name = "VLSheetViewChords.mm: 164";
|
||||
rLen = 0;
|
||||
rLoc = 4620;
|
||||
rType = 0;
|
||||
vrLen = 839;
|
||||
vrLoc = 3237;
|
||||
};
|
||||
95D1F8530AB6967E00EE6AC8 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */;
|
||||
name = "VLSheetViewChords.mm: 116";
|
||||
rLen = 0;
|
||||
rLoc = 3410;
|
||||
rType = 0;
|
||||
vrLen = 971;
|
||||
vrLoc = 2859;
|
||||
};
|
||||
95D1F8540AB6967E00EE6AC8 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
|
||||
rLen = 0;
|
||||
rLoc = 326;
|
||||
rType = 1;
|
||||
};
|
||||
95D1F8550AB6967E00EE6AC8 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
|
||||
name = "VLSheetView.mm: 317";
|
||||
rLen = 0;
|
||||
rLoc = 7520;
|
||||
rType = 0;
|
||||
vrLen = 758;
|
||||
vrLoc = 7108;
|
||||
};
|
||||
95D1F8560AB6967E00EE6AC8 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */;
|
||||
name = "VLSheetViewChords.mm: 116";
|
||||
rLen = 0;
|
||||
rLoc = 3410;
|
||||
rType = 0;
|
||||
vrLen = 971;
|
||||
vrLoc = 2859;
|
||||
};
|
||||
95D1F86A0AB6970400EE6AC8 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 952DCD76096BBB11001C2316 /* VLSheetViewChords.h */;
|
||||
name = "VLSheetViewChords.h: 11";
|
||||
rLen = 35;
|
||||
rLoc = 184;
|
||||
rType = 0;
|
||||
vrLen = 290;
|
||||
vrLoc = 0;
|
||||
};
|
||||
95D1F8BD0AB69F2F00EE6AC8 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
|
||||
name = "VLSheetView.mm: 318";
|
||||
rLen = 0;
|
||||
rLoc = 7591;
|
||||
rType = 0;
|
||||
vrLen = 766;
|
||||
vrLoc = 7108;
|
||||
};
|
||||
95D1F8BE0AB69F2F00EE6AC8 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 952DCD76096BBB11001C2316 /* VLSheetViewChords.h */;
|
||||
name = "VLSheetViewChords.h: 11";
|
||||
rLen = 35;
|
||||
rLoc = 184;
|
||||
rType = 0;
|
||||
vrLen = 290;
|
||||
vrLoc = 0;
|
||||
};
|
||||
95D1F8BF0AB69F2F00EE6AC8 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
|
||||
name = "VLSheetView.mm: 327";
|
||||
rLen = 0;
|
||||
rLoc = 7785;
|
||||
rType = 0;
|
||||
vrLen = 786;
|
||||
vrLoc = 7088;
|
||||
};
|
||||
95D1F8C00AB69F2F00EE6AC8 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 95BDA15709540BF1009F9D65 /* VLSheetView.h */;
|
||||
name = "VLSheetView.h: 55";
|
||||
rLen = 16;
|
||||
rLoc = 1065;
|
||||
rType = 0;
|
||||
vrLen = 925;
|
||||
vrLoc = 566;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -428,7 +428,7 @@
|
|||
GCC_PREFIX_HEADER = Sources/Vocalese_Prefix.pch;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INFOPLIST_FILE = Resources/Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
PREBINDING = NO;
|
||||
PRODUCT_NAME = Vocalese;
|
||||
|
|
Loading…
Reference in New Issue
Block a user