diff --git a/English.lproj/VLDocument.nib/classes.nib b/English.lproj/VLDocument.nib/classes.nib index b7d3ec6..ea32267 100644 --- a/English.lproj/VLDocument.nib/classes.nib +++ b/English.lproj/VLDocument.nib/classes.nib @@ -7,7 +7,7 @@ ACTIONS = {hideFieldEditor = id; setDivisions = id; setKey = id; setTime = id; }; CLASS = VLSheetView; LANGUAGE = ObjC; - OUTLETS = {fChords = id; fFieldBeingEdited = id; fFieldEditor = id; }; + OUTLETS = {fFieldEditor = id; }; SUPERCLASS = NSView; } ); diff --git a/English.lproj/VLDocument.nib/keyedobjects.nib b/English.lproj/VLDocument.nib/keyedobjects.nib index 346099a..b007baa 100644 Binary files a/English.lproj/VLDocument.nib/keyedobjects.nib and b/English.lproj/VLDocument.nib/keyedobjects.nib differ diff --git a/Sources/VLDocument.h b/Sources/VLDocument.h index e555adc..0004e3e 100644 --- a/Sources/VLDocument.h +++ b/Sources/VLDocument.h @@ -6,13 +6,23 @@ // Copyright __MyCompanyName__ 2005 . All rights reserved. // - -#import #import "VLModel.h" +#import + +@interface VLEditable : NSObject +{ +} + +- (NSString *) stringValue; +- (void) setStringValue:(NSString*)val; +- (BOOL) validValue:(NSString*)val; + +@end @interface VLDocument : NSDocument { VLSong * song; + VLEditable *editTarget; } - (VLSong *) song; @@ -23,4 +33,5 @@ - (void) setKey:(int)key transpose:(BOOL)transpose; - (void) setTimeNum:(int)num denom:(int)denom; - (void) setDivisions:(int)divisions; + @end diff --git a/Sources/VLDocument.mm b/Sources/VLDocument.mm index 3c7c7a1..bc67728 100644 --- a/Sources/VLDocument.mm +++ b/Sources/VLDocument.mm @@ -8,6 +8,24 @@ #import "VLDocument.h" +@implementation VLEditable + +- (NSString *) stringValue +{ + return @""; +} + +- (void) setStringValue:(NSString*)val +{ +} + +- (BOOL) validValue:(NSString*)val +{ + return YES; +} + +@end + @implementation VLDocument - (id)init @@ -18,7 +36,8 @@ // Add your subclass-specific initialization here. // If an error occurs here, send a [self release] message and return nil. - song = new VLSong; + song = new VLSong; + editTarget = nil; } return self; } diff --git a/Sources/VLSheetView.h b/Sources/VLSheetView.h index 0ad9355..5a0bb24 100644 --- a/Sources/VLSheetView.h +++ b/Sources/VLSheetView.h @@ -53,20 +53,18 @@ enum VLRegion { float fDisplayScale; NSPoint fLastNoteCenter; NSTrackingRectTag fCursorTracking; + VLRegion fCursorRegion; int fCursorMeasure; VLFract fCursorAt; int fCursorPitch; - id fFieldBeingEdited; BOOL fShowFieldEditor; - IBOutlet id fChords; IBOutlet id fFieldEditor; } - (IBAction) setKey:(id)sender; - (IBAction) setTime:(id)sender; - (IBAction) setDivisions:(id)sender; -- (IBAction) showFieldEditor:(id)sender withAction:(SEL)selector; - (IBAction) hideFieldEditor:(id)sender; - (VLDocument *) document; @@ -83,6 +81,8 @@ enum VLRegion { - (void) mouseEntered:(NSEvent *)event; - (void) mouseExited:(NSEvent *)event; +- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor; + @end // Local Variables: diff --git a/Sources/VLSheetView.mm b/Sources/VLSheetView.mm index e4a7ee7..41c33c6 100644 --- a/Sources/VLSheetView.mm +++ b/Sources/VLSheetView.mm @@ -346,15 +346,6 @@ static float sFlatPos[] = { [self setNeedsDisplay: YES]; } -- (IBAction)showFieldEditor:(id)sender withAction:(SEL)selector -{ - fFieldBeingEdited = sender; - [fFieldEditor setObjectValue:[sender title]]; - [fFieldEditor setAction:selector]; - [self setValue: [NSNumber numberWithBool:YES] - forKey: @"fShowFieldEditor"]; -} - - (IBAction)hideFieldEditor:(id)sender { [fFieldEditor setAction:nil]; @@ -386,14 +377,14 @@ static int sSemiToPitch[] = { loc = [self convertPoint:loc fromView:nil]; if (loc.y < 0.0f || loc.y >= fNumSystems*kSystemH) - return kRegionNowhere; + return fCursorRegion = kRegionNowhere; int system = fNumSystems - static_cast(loc.y / kSystemH) - 1; loc.y = fmodf(loc.y, kSystemH); loc.x -= fClefKeyW; if (loc.x < 0.0f || loc.x >= fMeasPerSystem*fMeasureW) - return kRegionNowhere; + return fCursorRegion = kRegionNowhere; int measure = static_cast(loc.x / fMeasureW); loc.x -= measure*fMeasureW; @@ -404,16 +395,25 @@ static int sSemiToPitch[] = { fCursorAt = VLFraction(div+group*fDivPerGroup, 4*prop.fDivisions); fCursorMeasure = measure+system*fMeasPerSystem; - if (loc.y >= kSystemY+kChordY) - return kRegionChord; - else if (loc.y < kSystemY+kLyricsY) - return kRegionLyrics; + if (fCursorMeasure > [self song]->fMeasures.size()) + return fCursorRegion = kRegionNowhere; + + if (loc.y >= kSystemY+kChordY) { + // + // Chord, round to quarters + // + int scale = fCursorAt.fDenom / 4; + fCursorAt = VLFraction(fCursorAt.fNum / scale, 4); + return fCursorRegion = kRegionChord; + } else if (loc.y < kSystemY+kLyricsY) { + return fCursorRegion = kRegionLyrics; + } loc.y -= kSystemY+kSemiFloor; int semi = static_cast(roundf(loc.y / (0.5f*kLineH))); fCursorPitch = sSemiToPitch[semi]; - return kRegionNote; + return fCursorRegion = kRegionNote; } - (void) mouseMoved:(NSEvent *)event @@ -446,6 +446,9 @@ static int sSemiToPitch[] = { case kRegionNote: [self addNoteAtCursor]; break; + case kRegionChord: + [self editChord]; + break; default: break; } @@ -470,4 +473,11 @@ static int sSemiToPitch[] = { } } +- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor +{ + VLDocument * doc = [self document]; + VLEditable * editable = [[self document] valueForKey: @"editTarget"]; + return [editable validValue:[fFieldEditor stringValue]]; +} + @end diff --git a/Sources/VLSheetViewChords.h b/Sources/VLSheetViewChords.h index da3fe49..b3d500a 100644 --- a/Sources/VLSheetViewChords.h +++ b/Sources/VLSheetViewChords.h @@ -8,9 +8,7 @@ @interface VLSheetView (Chords) -- (IBAction) editChord:(id)sender; -- (IBAction) doneEditingChord:(id)sender; - +- (void) editChord; - (void) drawChordsForSystem:(int)system; @end diff --git a/Sources/VLSheetViewChords.mm b/Sources/VLSheetViewChords.mm index 67f5638..25bd9d2 100644 --- a/Sources/VLSheetViewChords.mm +++ b/Sources/VLSheetViewChords.mm @@ -12,10 +12,49 @@ #import "VLModel.h" #import "VLSoundOut.h" +#import "VLDocument.h" -@implementation VLSheetView (Chords) +std::string NormalizeName(NSString* rawName) +{ + std::string chordName = + (const char *)[[rawName lowercaseString] UTF8String]; + // + // Normalize # and b + // + for (;;) { + size_t found; -- (NSAttributedString *) attributedStringWithCppString:(const std::string &)s + found = chordName.find("\xE2\x99\xAF", 0, 3); + if (found != std::string::npos) { + chordName.replace(found, 3, 1, '#'); + continue; + } + found = chordName.find("\xE2\x99\xAD", 0, 3); + if (found != std::string::npos) { + chordName.replace(found, 3, 1, 'b'); + continue; + } + found = chordName.find(" ", 0, 1); + if (found != std::string::npos) { + chordName.erase(found); + continue; + } + break; + } + + return chordName; +} + +@interface NSAttributedString (Chords) + ++ (NSAttributedString *) attributedStringWithCppString:(const std::string &)s + attributes:(NSDictionary *)a; + +@end + +@implementation NSAttributedString (Chords) + ++ (NSAttributedString *) attributedStringWithCppString:(const std::string &)s attributes:(NSDictionary *)a { return [[[NSAttributedString alloc] @@ -24,6 +63,98 @@ autorelease]; } +@end + +@interface VLChordEditable : VLEditable { + NSView * fView; + VLSong * fSong; + int fMeasure; + VLFract fAt; +} + +- (VLChordEditable *)initWithView:(NSView *)view + song:(VLSong *)song + measure:(int)measure + at:(VLFract)at; +- (NSString *) stringValue; +- (void) setStringValue:(NSString*)val; +- (BOOL) validValue:(NSString*)val; + +@end + +@implementation VLChordEditable + +- (VLChordEditable *)initWithView:(NSView *)view + song:(VLSong *)song + measure:(int)measure + at:(VLFract)at; +{ + self = [super init]; + fView = view; + fSong = song; + fMeasure= measure; + fAt = at; + + return self; +} + +- (NSString *) stringValue +{ + const VLMeasure measure = fSong->fMeasures[fMeasure]; + const VLChordList & chords = measure.fChords; + VLFraction at(0); + for (VLChordList::const_iterator chord = chords.begin(); + chord != chords.end() && at <= fAt; + ++chord + ) { + if (at == fAt && chord->fPitch != VLNote::kNoPitch) { + // + // Found it! + // + const VLProperties & prop = fSong->fProperties.front(); + std::string name, ext, root; + chord->Name(name, ext, root, prop.fKey > 0); + + return [NSString stringWithFormat:@"%s%s%s", + name.c_str(), ext.c_str(), + root.size() ? ("/"+root).c_str() : ""]; + } + at += chord->fDuration; + } + return @""; +} + +- (void) setStringValue:(NSString *)val +{ + std::string chordName = NormalizeName(val); + if (!chordName.size()) { + fSong->DelChord(fMeasure, fAt); + } else { + VLChord chord(chordName); + VLSoundOut::Instance()->PlayChord(chord); + fSong->AddChord(chord, fMeasure, fAt); + [fView setNeedsDisplay:YES]; + } +} + +- (BOOL) validValue:(NSString *)val +{ + std::string chordName = NormalizeName(val); + if (!chordName.size()) + return YES; + + // + // Check for valid chord + // + VLChord chord(chordName); + + return chord.fPitch != VLNote::kNoPitch; +} + +@end + +@implementation VLSheetView (Chords) + - (NSAttributedString *) stringWithChord:(const VLChord &)chord { const VLSong * song = [self song]; @@ -53,14 +184,14 @@ NSMutableAttributedString * s = [[[NSMutableAttributedString alloc] init] autorelease]; [s appendAttributedString: - [self attributedStringWithCppString: name + [NSAttributedString attributedStringWithCppString: name attributes: sBigFont]]; [s appendAttributedString: - [self attributedStringWithCppString: ext.size() ? ext : " " + [NSAttributedString attributedStringWithCppString: ext.size() ? ext : " " attributes: sSuperFont]]; if (root.size()) [s appendAttributedString: - [self attributedStringWithCppString: "/" + root + [NSAttributedString attributedStringWithCppString: "/" + root attributes: sBigFont]]; return s; @@ -68,7 +199,8 @@ - (void) drawChordsForSystem:(int)system { - const VLSong * song = [self song]; + const VLSong * song = [self song]; + const float kSystemY = [self systemY:system]; // // Build new list @@ -86,69 +218,25 @@ ) { NSAttributedString * chordName = [self stringWithChord:*chord]; NSPoint chordLoc = - NSMakePoint(kClefX+kClefW+(m+at)*fMeasureW+0.5f*kNoteW, + NSMakePoint(fClefKeyW+(m+at)*fMeasureW+0.5f*kNoteW, kSystemY+kChordY); [chordName drawAtPoint:chordLoc]; + at += chord->fDuration; } } } -- (IBAction) editChord:(id)sender +- (void) editChord { - [self showFieldEditor:sender withAction:@selector(doneEditingChord:)]; -} - -- (IBAction) doneEditingChord:(id)sender -{ - VLSong * song = [self song]; - - std::string chordName = - (const char *)[[[sender stringValue] lowercaseString] UTF8String]; - // - // Normalize # and b - // - for (;;) { - size_t found; - - found = chordName.find("\xE2\x99\xAF", 0, 3); - if (found != std::string::npos) { - chordName.replace(found, 3, 1, '#'); - continue; - } - found = chordName.find("\xE2\x99\xAD", 0, 3); - if (found != std::string::npos) { - chordName.replace(found, 3, 1, 'b'); - continue; - } - found = chordName.find(" ", 0, 1); - if (found != std::string::npos) { - chordName.erase(found); - continue; - } - break; - } - // - // Check for valid chord - // - VLChord chord(chordName); - if (!chordName.size()) { - [sender setTextColor: [NSColor blackColor]]; - } else if (chord.fPitch == VLChord::kNoPitch) { - if (chordName.size()) { - NSBeep(); - [sender setTextColor: [NSColor redColor]]; - } - int tag = [sender tag]; - song->DelChord(tag >> 8, VLFraction(tag & 0xFF, 4)); - } else { - NSAttributedString * s = [self stringWithChord:chord]; - [sender setAttributedStringValue: s]; - [fFieldBeingEdited setTitle: s]; - [sender setTextColor: [NSColor blackColor]]; - VLSoundOut::Instance()->PlayChord(chord); - int tag = [fFieldBeingEdited tag]; - song->AddChord(chord, tag >> 8, VLFraction(tag & 0xFF, 4)); - } + VLDocument * doc= [self document]; + VLEditable * e = + [[VLChordEditable alloc] + initWithView:self + song:[self song] + measure:fCursorMeasure + at:fCursorAt]; + [doc setValue:e forKey:@"editTarget"]; + [self setValue:[NSNumber numberWithBool:YES] forKey:@"fShowFieldEditor"]; } @end diff --git a/Vocalese.xcodeproj/neeri.mode1v3 b/Vocalese.xcodeproj/neeri.mode1v3 index 9f06094..e9b308f 100644 --- a/Vocalese.xcodeproj/neeri.mode1v3 +++ b/Vocalese.xcodeproj/neeri.mode1v3 @@ -200,47 +200,7 @@ Content PBXProjectModuleGUID - 95DFE83A0AD105A300375606 - PBXProjectModuleLabel - VLSheetView.mm - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 95DFE83B0AD105A300375606 - PBXProjectModuleLabel - VLSheetView.mm - _historyCapacity - 0 - bookmark - 95DFE83E0AD105C900375606 - history - - 95DFE8370AD1053A00375606 - - - SplitCount - 1 - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {763, 552}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 164 91 763 593 0 0 1024 746 - - - - Content - - PBXProjectModuleGUID - 95D1F82E0AB694EC00EE6AC8 + 95B042FC0ACE431A00236B52 PBXProjectModuleLabel <No Editor> PBXSplitModuleInNavigatorKey @@ -262,117 +222,7 @@ Content PBXProjectModuleGUID - 95D1F7FE0AB68C8C00EE6AC8 - PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {763, 552}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 242 153 763 593 0 0 1024 746 - - - - Content - - PBXProjectModuleGUID - 95D1F8130AB6908400EE6AC8 - PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {763, 552}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 186 75 763 593 0 0 1024 746 - - - - Content - - PBXProjectModuleGUID - 95D1F8850AB69B6700EE6AC8 - PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {763, 552}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 168 116 763 593 0 0 1024 746 - - - - Content - - PBXProjectModuleGUID - 95D1F8660AB6970400EE6AC8 - PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {763, 552}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 15 148 763 593 0 0 1024 746 - - - - Content - - PBXProjectModuleGUID - 95D1F8310AB694EC00EE6AC8 - PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {763, 552}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 164 91 763 593 0 0 1024 746 - - - - Content - - PBXProjectModuleGUID - 95B042FA0ACE431A00236B52 + 95B042FB0ACE431A00236B52 PBXProjectModuleLabel <No Editor> PBXSplitModuleInNavigatorKey @@ -416,7 +266,7 @@ Content PBXProjectModuleGUID - 95B042FB0ACE431A00236B52 + 95B042FA0ACE431A00236B52 PBXProjectModuleLabel <No Editor> PBXSplitModuleInNavigatorKey @@ -438,7 +288,315 @@ Content PBXProjectModuleGUID - 95B042FC0ACE431A00236B52 + 95D1F8310AB694EC00EE6AC8 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 164 91 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95D1F8660AB6970400EE6AC8 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 15 148 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95D1F8850AB69B6700EE6AC8 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 168 116 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95D1F8130AB6908400EE6AC8 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 186 75 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95D1F7FE0AB68C8C00EE6AC8 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 242 153 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95D1F82E0AB694EC00EE6AC8 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 15 148 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95DFE83A0AD105A300375606 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 164 91 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95E725400AD25B5700407A9B + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 164 91 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95E725560AD25CA500407A9B + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 164 91 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95E725270AD2587900407A9B + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 15 148 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95E7B5000AD2CBD800753F9B + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 15 148 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95E7B51C0AD2CDC800753F9B + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 171 132 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95E7B5280AD2CE8800753F9B + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 171 132 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95E7B54E0AD2D12A00753F9B + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {763, 552}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 171 132 763 593 0 0 1024 746 + + + + Content + + PBXProjectModuleGUID + 95E7B5510AD2D12A00753F9B PBXProjectModuleLabel <No Editor> PBXSplitModuleInNavigatorKey @@ -490,6 +648,8 @@ Layout + BecomeActive + ContentConfiguration PBXBottomSmartGroupGIDs @@ -535,7 +695,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 9 + 4 1 0 @@ -605,8 +765,6 @@ 0pt - BecomeActive - ContentConfiguration PBXProjectModuleGUID @@ -643,9 +801,9 @@ TableOfContents - 95DFE81B0AD0F18B00375606 + 95E7B4FB0AD2CBD800753F9B 1CE0B1FE06471DED0097A5F4 - 95DFE81C0AD0F18B00375606 + 95E7B4FC0AD2CBD800753F9B 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -779,24 +937,37 @@ 5 WindowOrderList - 95DFE82C0AD0F29C00375606 - 95DFE82D0AD0F29C00375606 - 95DFE82E0AD0F29C00375606 - 95B042FC0ACE431A00236B52 - 95B042FB0ACE431A00236B52 - 95B042F70ACE431A00236B52 - 95B042FA0ACE431A00236B52 - 95D1F8310AB694EC00EE6AC8 - 95D1F8660AB6970400EE6AC8 - 95D1F8850AB69B6700EE6AC8 - 95D1F8130AB6908400EE6AC8 - 95D1F7FE0AB68C8C00EE6AC8 - 95D1F82E0AB694EC00EE6AC8 - 1CD10A99069EF8BA00B06720 + 95E7B5B20AD2DA4F00753F9B + 95E7B5A10AD2D8EE00753F9B + 95E7B5A20AD2D8EE00753F9B + 95E7B56A0AD2D24400753F9B + 95E7B5510AD2D12A00753F9B + 95E7B54E0AD2D12A00753F9B + 1C530D57069F1CE1000CFCEE + 95E7B5280AD2CE8800753F9B + 95E7B51C0AD2CDC800753F9B + 95E7B5100AD2CC9400753F9B + 95E7B5110AD2CC9400753F9B + 95E7B5120AD2CC9400753F9B 95D7BFC80AA6C1A500D5E02C - /Development/Vocalese/Vocalese.xcodeproj - 95DFE83A0AD105A300375606 95D7BFC00AA6C1A500D5E02C + 95E7B5000AD2CBD800753F9B + 1CD10A99069EF8BA00B06720 + 95E725270AD2587900407A9B + 95E725560AD25CA500407A9B + 95E725400AD25B5700407A9B + 95DFE83A0AD105A300375606 + 95D1F82E0AB694EC00EE6AC8 + 95D1F7FE0AB68C8C00EE6AC8 + 95D1F8130AB6908400EE6AC8 + 95D1F8850AB69B6700EE6AC8 + 95D1F8660AB6970400EE6AC8 + 95D1F8310AB694EC00EE6AC8 + 95B042FA0ACE431A00236B52 + 95B042F70ACE431A00236B52 + 95B042FB0ACE431A00236B52 + 95B042FC0ACE431A00236B52 + /Development/Vocalese/Vocalese.xcodeproj WindowString 167 326 690 397 0 0 1024 746 @@ -815,12 +986,14 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID 1CD0528F0623707200166675 PBXProjectModuleLabel - VLSheetView.mm + VLSheetViewChords.mm StatusBarVisibility @@ -837,8 +1010,6 @@ 293pt - BecomeActive - ContentConfiguration PBXProjectModuleGUID @@ -878,7 +1049,7 @@ TableOfContents 95D7BFC00AA6C1A500D5E02C - 95DFE81D0AD0F18B00375606 + 95E7B5010AD2CBD800753F9B 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -889,7 +1060,7 @@ WindowToolGUID 95D7BFC00AA6C1A500D5E02C WindowToolIsVisible - + FirstTimeWindowDisplayed @@ -920,8 +1091,8 @@ yes sizes - {{0, 0}, {308, 203}} - {{308, 0}, {386, 203}} + {{0, 0}, {412, 239}} + {{412, 0}, {516, 239}} VerticalSplitView @@ -936,8 +1107,8 @@ yes sizes - {{0, 0}, {694, 203}} - {{0, 203}, {694, 178}} + {{0, 0}, {928, 239}} + {{0, 239}, {928, 210}} @@ -957,7 +1128,7 @@ DebugSTDIOWindowFrame {{200, 200}, {500, 300}} Frame - {{0, 0}, {694, 381}} + {{0, 0}, {928, 449}} PBXDebugSessionStackFrameViewKey DebugVariablesTableConfiguration @@ -967,24 +1138,24 @@ Value 85 Summary - 156 + 286 Frame - {{308, 0}, {386, 203}} + {{412, 0}, {516, 239}} RubberWindowFrame - 254 208 694 422 0 0 1024 746 + 56 117 928 490 0 0 1024 746 RubberWindowFrame - 254 208 694 422 0 0 1024 746 + 56 117 928 490 0 0 1024 746 Module PBXDebugSessionModule Proportion - 381pt + 449pt Proportion - 381pt + 449pt Name @@ -998,26 +1169,30 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 95DFE81E0AD0F18B00375606 + 95E7B5020AD2CBD800753F9B 1C162984064C10D400B95A72 - 95DFE81F0AD0F18B00375606 - 95DFE8200AD0F18B00375606 - 95DFE8210AD0F18B00375606 - 95DFE8220AD0F18B00375606 - 95DFE8230AD0F18B00375606 + 95E7B5030AD2CBD800753F9B + 95E7B5040AD2CBD800753F9B + 95E7B5050AD2CBD800753F9B + 95E7B5060AD2CBD800753F9B + 95E7B5070AD2CBD800753F9B ToolbarConfiguration xcode.toolbar.config.debugV3 WindowString - 254 208 694 422 0 0 1024 746 + 56 117 928 490 0 0 1024 746 WindowToolGUID 1CD10A99069EF8BA00B06720 WindowToolIsVisible + FirstTimeWindowDisplayed + Identifier windowTool.find + IsVertical + Layout @@ -1032,26 +1207,16 @@ PBXProjectModuleGUID 1CDD528C0622207200134675 PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1CD0528D0623707200166675 - - SplitCount - 1 - + StatusBarVisibility - 1 + GeometryConfiguration Frame - {{0, 0}, {781, 167}} + {{0, 0}, {781, 212}} RubberWindowFrame - 62 385 781 470 0 0 1440 878 + 185 191 781 470 0 0 1024 746 Module PBXNavigatorGroup @@ -1060,11 +1225,9 @@ Proportion - 50% + 212pt - BecomeActive - 1 ContentConfiguration PBXProjectModuleGUID @@ -1075,18 +1238,18 @@ GeometryConfiguration Frame - {{8, 0}, {773, 254}} + {{0, 217}, {781, 212}} RubberWindowFrame - 62 385 781 470 0 0 1440 878 + 185 191 781 470 0 0 1024 746 Module PBXProjectFindModule Proportion - 50% + 212pt Proportion - 428pt + 429pt Name @@ -1096,23 +1259,21 @@ PBXProjectFindModule StatusbarIsVisible - 1 + TableOfContents 1C530D57069F1CE1000CFCEE - 1C530D58069F1CE1000CFCEE - 1C530D59069F1CE1000CFCEE + 95E7B5410AD2D02200753F9B + 95E7B5420AD2D02200753F9B 1CDD528C0622207200134675 - 1C530D5A069F1CE1000CFCEE - 1CE0B1FE06471DED0097A5F4 1CD0528E0623707200166675 WindowString - 62 385 781 470 0 0 1440 878 + 185 191 781 470 0 0 1024 746 WindowToolGUID 1C530D57069F1CE1000CFCEE WindowToolIsVisible - 0 + Identifier @@ -1168,7 +1329,7 @@ TableOfContents 95D7BFC80AA6C1A500D5E02C - 95DFE82B0AD0F29400375606 + 95E7B50E0AD2CC9400753F9B 1C78EAAC065D492600B07095 WindowString @@ -1351,18 +1512,18 @@ 743 379 452 308 0 0 1280 1002 + FirstTimeWindowDisplayed + Identifier windowTool.breakpoints IsVertical - 0 + Layout Dock - BecomeActive - 1 ContentConfiguration PBXBottomSmartGroupGIDs @@ -1404,7 +1565,7 @@ PBXTopSmartGroupGIDs XCIncludePerspectivesSwitch - 0 + GeometryConfiguration @@ -1416,7 +1577,7 @@ 168 RubberWindowFrame - 315 424 744 409 0 0 1440 878 + 117 147 744 409 0 0 1024 746 Module PBXSmartGroupTreeModule @@ -1424,6 +1585,8 @@ 185pt + BecomeActive + ContentConfiguration PBXProjectModuleGUID @@ -1436,7 +1599,7 @@ Frame {{190, 0}, {554, 368}} RubberWindowFrame - 315 424 744 409 0 0 1440 878 + 117 147 744 409 0 0 1024 746 Module XCDetailModule @@ -1460,22 +1623,22 @@ XCDetailModule StatusbarIsVisible - 1 + TableOfContents - 1CDDB66807F98D9800BB5817 - 1CDDB66907F98D9800BB5817 + 95E7B56A0AD2D24400753F9B + 95E7B56B0AD2D24400753F9B 1CE0B1FE06471DED0097A5F4 1CA1AED706398EBD00589147 ToolbarConfiguration xcode.toolbar.config.breakpointsV3 WindowString - 315 424 744 409 0 0 1440 878 + 117 147 744 409 0 0 1024 746 WindowToolGUID - 1CDDB66807F98D9800BB5817 + 95E7B56A0AD2D24400753F9B WindowToolIsVisible - 1 + Identifier diff --git a/Vocalese.xcodeproj/neeri.pbxuser b/Vocalese.xcodeproj/neeri.pbxuser index a2464cb..a8f5fed 100644 --- a/Vocalese.xcodeproj/neeri.pbxuser +++ b/Vocalese.xcodeproj/neeri.pbxuser @@ -8,7 +8,6 @@ 8D15AC270486D014006FF6A4 /* Vocalese */, ); breakpoints = ( - 95B66671096E64FD00FE18C9 /* VLSheetViewNotes.mm:21 */, ); codeSenseManager = 954D7414095406B2007D9571 /* Code sense */; executables = ( @@ -18,6 +17,30 @@ 959408A1096922CA007CCCF8 /* TVLEdit */, ); perUserDictionary = { + "PBXConfiguration.PBXBreakpointsDataSource.v1:1CA1AED706398EBD00589147" = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXBreakpointsDataSource_BreakpointID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 20, + 198, + 20, + 99, + 99, + 29, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXBreakpointsDataSource_ActionID, + PBXBreakpointsDataSource_TypeID, + PBXBreakpointsDataSource_BreakpointID, + PBXBreakpointsDataSource_UseID, + PBXBreakpointsDataSource_LocationID, + PBXBreakpointsDataSource_ConditionID, + PBXBreakpointsDataSource_IgnoreCountID, + PBXBreakpointsDataSource_ContinueID, + ); + }; PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = 1; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; @@ -62,12 +85,96 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 181465162; - PBXWorkspaceStateSaveDate = 181465162; + PBXPerProjectTemplateStateSaveDate = 181586793; + PBXWorkspaceStateSaveDate = 181586793; }; perUserProjectItems = { - 95DFE8370AD1053A00375606 /* PBXBookmark */ = 95DFE8370AD1053A00375606 /* PBXBookmark */; - 95DFE83E0AD105C900375606 /* PBXTextBookmark */ = 95DFE83E0AD105C900375606 /* PBXTextBookmark */; + 956674AB0AD25F48007D5997 = 956674AB0AD25F48007D5997 /* PBXTextBookmark */; + 956674AC0AD25F48007D5997 = 956674AC0AD25F48007D5997 /* PBXTextBookmark */; + 956674AD0AD25F48007D5997 = 956674AD0AD25F48007D5997 /* PBXTextBookmark */; + 956674B60AD262F5007D5997 = 956674B60AD262F5007D5997 /* PBXTextBookmark */; + 956674B70AD262F5007D5997 = 956674B70AD262F5007D5997 /* PBXTextBookmark */; + 956674B80AD262F5007D5997 = 956674B80AD262F5007D5997 /* PBXTextBookmark */; + 95E725470AD25C2500407A9B = 95E725470AD25C2500407A9B /* PBXTextBookmark */; + 95E725480AD25C2500407A9B = 95E725480AD25C2500407A9B /* PBXTextBookmark */; + 95E7254C0AD25C3E00407A9B = 95E7254C0AD25C3E00407A9B /* PBXTextBookmark */; + 95E725600AD25CDD00407A9B = 95E725600AD25CDD00407A9B /* PBXTextBookmark */; + 95E725700AD25EA500407A9B = 95E725700AD25EA500407A9B /* PBXTextBookmark */; + 95E725710AD25EA500407A9B = 95E725710AD25EA500407A9B /* PBXTextBookmark */; + 95E7B4FD0AD2CBD800753F9B /* PBXTextBookmark */ = 95E7B4FD0AD2CBD800753F9B /* PBXTextBookmark */; + 95E7B4FE0AD2CBD800753F9B /* PBXTextBookmark */ = 95E7B4FE0AD2CBD800753F9B /* PBXTextBookmark */; + 95E7B4FF0AD2CBD800753F9B /* PBXTextBookmark */ = 95E7B4FF0AD2CBD800753F9B /* PBXTextBookmark */; + 95E7B50B0AD2CC9400753F9B /* PBXTextBookmark */ = 95E7B50B0AD2CC9400753F9B /* PBXTextBookmark */; + 95E7B50C0AD2CC9400753F9B /* PBXTextBookmark */ = 95E7B50C0AD2CC9400753F9B /* PBXTextBookmark */; + 95E7B50D0AD2CC9400753F9B /* PBXTextBookmark */ = 95E7B50D0AD2CC9400753F9B /* PBXTextBookmark */; + 95E7B5190AD2CDC800753F9B /* PBXTextBookmark */ = 95E7B5190AD2CDC800753F9B /* PBXTextBookmark */; + 95E7B51A0AD2CDC800753F9B /* PBXTextBookmark */ = 95E7B51A0AD2CDC800753F9B /* PBXTextBookmark */; + 95E7B51B0AD2CDC800753F9B /* PBXTextBookmark */ = 95E7B51B0AD2CDC800753F9B /* PBXTextBookmark */; + 95E7B51D0AD2CDDF00753F9B /* PBXTextBookmark */ = 95E7B51D0AD2CDDF00753F9B /* PBXTextBookmark */; + 95E7B51E0AD2CDDF00753F9B /* PBXTextBookmark */ = 95E7B51E0AD2CDDF00753F9B /* PBXTextBookmark */; + 95E7B51F0AD2CDDF00753F9B /* PBXTextBookmark */ = 95E7B51F0AD2CDDF00753F9B /* PBXTextBookmark */; + 95E7B5260AD2CE8800753F9B /* PBXTextBookmark */ = 95E7B5260AD2CE8800753F9B /* PBXTextBookmark */; + 95E7B5270AD2CE8800753F9B /* PBXTextBookmark */ = 95E7B5270AD2CE8800753F9B /* PBXTextBookmark */; + 95E7B52E0AD2CED100753F9B /* PBXTextBookmark */ = 95E7B52E0AD2CED100753F9B /* PBXTextBookmark */; + 95E7B52F0AD2CED100753F9B /* PBXTextBookmark */ = 95E7B52F0AD2CED100753F9B /* PBXTextBookmark */; + 95E7B5370AD2CF2F00753F9B /* PBXTextBookmark */ = 95E7B5370AD2CF2F00753F9B /* PBXTextBookmark */; + 95E7B5380AD2CF2F00753F9B /* PBXTextBookmark */ = 95E7B5380AD2CF2F00753F9B /* PBXTextBookmark */; + 95E7B53B0AD2CF8900753F9B /* PBXTextBookmark */ = 95E7B53B0AD2CF8900753F9B /* PBXTextBookmark */; + 95E7B53C0AD2CF8900753F9B /* PBXTextBookmark */ = 95E7B53C0AD2CF8900753F9B /* PBXTextBookmark */; + 95E7B53D0AD2CF9A00753F9B /* PBXTextBookmark */ = 95E7B53D0AD2CF9A00753F9B /* PBXTextBookmark */; + 95E7B53E0AD2CF9A00753F9B /* PBXTextBookmark */ = 95E7B53E0AD2CF9A00753F9B /* PBXTextBookmark */; + 95E7B5470AD2D05B00753F9B /* PBXTextBookmark */ = 95E7B5470AD2D05B00753F9B /* PBXTextBookmark */; + 95E7B54B0AD2D0E300753F9B /* PBXBookmark */ = 95E7B54B0AD2D0E300753F9B /* PBXBookmark */; + 95E7B54C0AD2D10400753F9B /* PBXBookmark */ = 95E7B54C0AD2D10400753F9B /* PBXBookmark */; + 95E7B5500AD2D12A00753F9B /* PBXTextBookmark */ = 95E7B5500AD2D12A00753F9B /* PBXTextBookmark */; + 95E7B5530AD2D12A00753F9B /* PBXTextBookmark */ = 95E7B5530AD2D12A00753F9B /* PBXTextBookmark */; + 95E7B5540AD2D12A00753F9B /* PBXTextBookmark */ = 95E7B5540AD2D12A00753F9B /* PBXTextBookmark */; + 95E7B5580AD2D19100753F9B /* PBXTextBookmark */ = 95E7B5580AD2D19100753F9B /* PBXTextBookmark */; + 95E7B5590AD2D19100753F9B /* PBXTextBookmark */ = 95E7B5590AD2D19100753F9B /* PBXTextBookmark */; + 95E7B55A0AD2D19100753F9B /* PBXTextBookmark */ = 95E7B55A0AD2D19100753F9B /* PBXTextBookmark */; + 95E7B55B0AD2D19100753F9B /* PBXTextBookmark */ = 95E7B55B0AD2D19100753F9B /* PBXTextBookmark */; + 95E7B55C0AD2D19100753F9B /* PBXTextBookmark */ = 95E7B55C0AD2D19100753F9B /* PBXTextBookmark */; + 95E7B55D0AD2D19100753F9B /* PBXTextBookmark */ = 95E7B55D0AD2D19100753F9B /* PBXTextBookmark */; + 95E7B5670AD2D24400753F9B /* PBXTextBookmark */ = 95E7B5670AD2D24400753F9B /* PBXTextBookmark */; + 95E7B5680AD2D24400753F9B /* PBXTextBookmark */ = 95E7B5680AD2D24400753F9B /* PBXTextBookmark */; + 95E7B5690AD2D24400753F9B /* PBXTextBookmark */ = 95E7B5690AD2D24400753F9B /* PBXTextBookmark */; + 95E7B56D0AD2D42000753F9B /* PBXTextBookmark */ = 95E7B56D0AD2D42000753F9B /* PBXTextBookmark */; + 95E7B56E0AD2D42000753F9B /* PBXTextBookmark */ = 95E7B56E0AD2D42000753F9B /* PBXTextBookmark */; + 95E7B56F0AD2D42000753F9B /* PBXTextBookmark */ = 95E7B56F0AD2D42000753F9B /* PBXTextBookmark */; + 95E7B5700AD2D49800753F9B /* PBXTextBookmark */ = 95E7B5700AD2D49800753F9B /* PBXTextBookmark */; + 95E7B5710AD2D49800753F9B /* PBXTextBookmark */ = 95E7B5710AD2D49800753F9B /* PBXTextBookmark */; + 95E7B5720AD2D49800753F9B /* PBXTextBookmark */ = 95E7B5720AD2D49800753F9B /* PBXTextBookmark */; + 95E7B5750AD2D4D500753F9B /* PBXTextBookmark */ = 95E7B5750AD2D4D500753F9B /* PBXTextBookmark */; + 95E7B5760AD2D4D500753F9B /* PBXTextBookmark */ = 95E7B5760AD2D4D500753F9B /* PBXTextBookmark */; + 95E7B5770AD2D4D500753F9B /* PBXTextBookmark */ = 95E7B5770AD2D4D500753F9B /* PBXTextBookmark */; + 95E7B57A0AD2D54200753F9B /* PBXTextBookmark */ = 95E7B57A0AD2D54200753F9B /* PBXTextBookmark */; + 95E7B57B0AD2D54200753F9B /* PBXTextBookmark */ = 95E7B57B0AD2D54200753F9B /* PBXTextBookmark */; + 95E7B57C0AD2D54200753F9B /* PBXTextBookmark */ = 95E7B57C0AD2D54200753F9B /* PBXTextBookmark */; + 95E7B57D0AD2D57B00753F9B /* PBXTextBookmark */ = 95E7B57D0AD2D57B00753F9B /* PBXTextBookmark */; + 95E7B57E0AD2D57B00753F9B /* PBXTextBookmark */ = 95E7B57E0AD2D57B00753F9B /* PBXTextBookmark */; + 95E7B57F0AD2D57B00753F9B /* PBXTextBookmark */ = 95E7B57F0AD2D57B00753F9B /* PBXTextBookmark */; + 95E7B5840AD2D5DB00753F9B /* PBXTextBookmark */ = 95E7B5840AD2D5DB00753F9B /* PBXTextBookmark */; + 95E7B5850AD2D5DB00753F9B /* PBXTextBookmark */ = 95E7B5850AD2D5DB00753F9B /* PBXTextBookmark */; + 95E7B5860AD2D5DB00753F9B /* PBXTextBookmark */ = 95E7B5860AD2D5DB00753F9B /* PBXTextBookmark */; + 95E7B58B0AD2D66900753F9B /* PBXTextBookmark */ = 95E7B58B0AD2D66900753F9B /* PBXTextBookmark */; + 95E7B58C0AD2D66900753F9B /* PBXTextBookmark */ = 95E7B58C0AD2D66900753F9B /* PBXTextBookmark */; + 95E7B58D0AD2D66900753F9B /* PBXTextBookmark */ = 95E7B58D0AD2D66900753F9B /* PBXTextBookmark */; + 95E7B5930AD2D79500753F9B /* PBXTextBookmark */ = 95E7B5930AD2D79500753F9B /* PBXTextBookmark */; + 95E7B5940AD2D79500753F9B /* PBXTextBookmark */ = 95E7B5940AD2D79500753F9B /* PBXTextBookmark */; + 95E7B5950AD2D79500753F9B /* PBXTextBookmark */ = 95E7B5950AD2D79500753F9B /* PBXTextBookmark */; + 95E7B5960AD2D79500753F9B /* PBXTextBookmark */ = 95E7B5960AD2D79500753F9B /* PBXTextBookmark */; + 95E7B5970AD2D79500753F9B /* PBXTextBookmark */ = 95E7B5970AD2D79500753F9B /* PBXTextBookmark */; + 95E7B5980AD2D79800753F9B /* PBXTextBookmark */ = 95E7B5980AD2D79800753F9B /* PBXTextBookmark */; + 95E7B5990AD2D79800753F9B /* PBXTextBookmark */ = 95E7B5990AD2D79800753F9B /* PBXTextBookmark */; + 95E7B59A0AD2D7B400753F9B /* PBXTextBookmark */ = 95E7B59A0AD2D7B400753F9B /* PBXTextBookmark */; + 95E7B59B0AD2D7B400753F9B /* PBXTextBookmark */ = 95E7B59B0AD2D7B400753F9B /* PBXTextBookmark */; + 95E7B59F0AD2D8EE00753F9B /* PBXTextBookmark */ = 95E7B59F0AD2D8EE00753F9B /* PBXTextBookmark */; + 95E7B5A00AD2D8EE00753F9B /* PBXTextBookmark */ = 95E7B5A00AD2D8EE00753F9B /* PBXTextBookmark */; + 95E7B5A30AD2D90E00753F9B /* PBXTextBookmark */ = 95E7B5A30AD2D90E00753F9B /* PBXTextBookmark */; + 95E7B5A40AD2D90E00753F9B /* PBXTextBookmark */ = 95E7B5A40AD2D90E00753F9B /* PBXTextBookmark */; + 95E7B5A50AD2D90E00753F9B /* PBXTextBookmark */ = 95E7B5A50AD2D90E00753F9B /* PBXTextBookmark */; + 95E7B5A60AD2D90E00753F9B /* PBXTextBookmark */ = 95E7B5A60AD2D90E00753F9B /* PBXTextBookmark */; + 95E7B5A70AD2D90E00753F9B /* PBXTextBookmark */ = 95E7B5A70AD2D90E00753F9B /* PBXTextBookmark */; }; sourceControlManager = 954D7413095406B2007D9571 /* Source Control */; userBuildSettings = { @@ -75,17 +182,17 @@ }; 2A37F4ACFDCFA73011CA2CEA /* VLDocument.mm */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1748, 1568}}"; - sepNavSelRange = "{539, 0}"; - sepNavVisRect = "{{0, 440}, {818, 338}}"; + sepNavIntBoundsRect = "{{0, 0}, {1736, 1834}}"; + sepNavSelRange = "{339, 0}"; + sepNavVisRect = "{{0, 42}, {704, 497}}"; sepNavWindowFrame = "{{171, 76}, {763, 649}}"; }; }; 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {724, 520}}"; - sepNavSelRange = "{347, 0}"; - sepNavVisRect = "{{0, 0}, {724, 520}}"; + sepNavIntBoundsRect = "{{0, 0}, {704, 532}}"; + sepNavSelRange = "{231, 104}"; + sepNavVisRect = "{{0, 0}, {704, 497}}"; sepNavWindowFrame = "{{15, 92}, {763, 649}}"; }; }; @@ -159,10 +266,10 @@ }; 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {703, 1400}}"; - sepNavSelRange = "{3987, 0}"; - sepNavVisRect = "{{0, 1125}, {703, 261}}"; - sepNavWindowFrame = "{{15, 92}, {763, 649}}"; + sepNavIntBoundsRect = "{{0, 0}, {867, 1848}}"; + sepNavSelRange = "{5101, 0}"; + sepNavVisRect = "{{0, 1668}, {867, 178}}"; + sepNavWindowFrame = "{{164, 35}, {763, 649}}"; }; }; 954D740509540691007D9571 /* Vocalese */ = { @@ -192,6 +299,45 @@ sourceDirectories = ( ); variableFormatDictionary = { + $cr = 1; + $ctr = 1; + $lr = 1; + $mq = 1; + $pc = 1; + $ps = 1; + $r0 = 1; + $r1 = 1; + $r10 = 1; + $r11 = 1; + $r12 = 1; + $r13 = 1; + $r14 = 1; + $r15 = 1; + $r16 = 1; + $r17 = 1; + $r18 = 1; + $r19 = 1; + $r2 = 1; + $r20 = 1; + $r21 = 1; + $r22 = 1; + $r23 = 1; + $r24 = 1; + $r25 = 1; + $r26 = 1; + $r27 = 1; + $r28 = 1; + $r29 = 1; + $r3 = 1; + $r30 = 1; + $r31 = 1; + $r4 = 1; + $r5 = 1; + $r6 = 1; + $r7 = 1; + $r8 = 1; + $r9 = 1; + $xer = 1; }; }; 954D7413095406B2007D9571 /* Source Control */ = { @@ -260,6 +406,63 @@ sepNavWindowFrame = "{{84, 29}, {763, 649}}"; }; }; + 956674AB0AD25F48007D5997 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 180"; + rLen = 0; + rLoc = 4043; + rType = 0; + vrLen = 946; + vrLoc = 4468; + }; + 956674AC0AD25F48007D5997 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + rLen = 0; + rLoc = 301; + rType = 1; + }; + 956674AD0AD25F48007D5997 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 180"; + rLen = 0; + rLoc = 4043; + rType = 0; + vrLen = 946; + vrLoc = 4468; + }; + 956674B60AD262F5007D5997 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 302"; + rLen = 0; + rLoc = 7323; + rType = 0; + vrLen = 1029; + vrLoc = 6828; + }; + 956674B70AD262F5007D5997 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 476"; + rLen = 0; + rLoc = 11589; + rType = 0; + vrLen = 725; + vrLoc = 10842; + }; + 956674B80AD262F5007D5997 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 228"; + rLen = 0; + rLoc = 5438; + rType = 0; + vrLen = 951; + vrLoc = 4468; + }; 9594089F096922CA007CCCF8 /* TVLEdit */ = { activeExec = 0; executables = ( @@ -323,22 +526,6 @@ sepNavWindowFrame = "{{38, 71}, {763, 649}}"; }; }; - 95B66671096E64FD00FE18C9 /* VLSheetViewNotes.mm:21 */ = { - isa = PBXFileBreakpoint; - actions = ( - ); - breakpointStyle = 0; - continueAfterActions = 0; - countType = 0; - delayBeforeContinue = 0; - fileReference = 95B66657096BCA1F00FE18C9 /* VLSheetViewNotes.mm */; - functionName = "-restoreCursorLocation"; - hitCount = 0; - ignoreCount = 0; - lineNumber = 21; - modificationTime = 181470420.561138; - state = 2; - }; 95BDA15709540BF1009F9D65 /* VLSheetView.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {704, 1190}}"; @@ -349,24 +536,790 @@ }; 95BDA15809540BF1009F9D65 /* VLSheetView.mm */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {703, 3584}}"; - sepNavSelRange = "{11149, 30}"; - sepNavVisRect = "{{0, 3262}, {703, 261}}"; - sepNavWindowFrame = "{{164, 35}, {763, 649}}"; + sepNavIntBoundsRect = "{{0, 0}, {704, 4074}}"; + sepNavSelRange = "{11734, 0}"; + sepNavVisRect = "{{0, 2770}, {704, 497}}"; + sepNavWindowFrame = "{{15, 92}, {763, 649}}"; }; }; - 95DFE8370AD1053A00375606 /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; - }; - 95DFE83E0AD105C900375606 /* PBXTextBookmark */ = { + 95E725470AD25C2500407A9B /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; - name = "VLSheetView.mm: 394"; - rLen = 0; - rLoc = 9493; + name = "VLSheetView.mm: 473"; + rLen = 79; + rLoc = 11376; rType = 0; - vrLen = 1225; - vrLoc = 9100; + vrLen = 639; + vrLoc = 10905; + }; + 95E725480AD25C2500407A9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 228"; + rLen = 0; + rLoc = 5438; + rType = 0; + vrLen = 907; + vrLoc = 4512; + }; + 95E7254C0AD25C3E00407A9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 480"; + rLen = 0; + rLoc = 11637; + rType = 0; + vrLen = 1158; + vrLoc = 9304; + }; + 95E725600AD25CDD00407A9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 480"; + rLen = 0; + rLoc = 11637; + rType = 0; + vrLen = 662; + vrLoc = 10905; + }; + 95E725700AD25EA500407A9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 476"; + rLen = 0; + rLoc = 11589; + rType = 0; + vrLen = 681; + vrLoc = 10886; + }; + 95E725710AD25EA500407A9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 228"; + rLen = 0; + rLoc = 5438; + rType = 0; + vrLen = 949; + vrLoc = 4470; + }; + 95E7B4FD0AD2CBD800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 476"; + rLen = 0; + rLoc = 11589; + rType = 0; + vrLen = 709; + vrLoc = 10886; + }; + 95E7B4FE0AD2CBD800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 228"; + rLen = 0; + rLoc = 5438; + rType = 0; + vrLen = 827; + vrLoc = 2730; + }; + 95E7B4FF0AD2CBD800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 476"; + rLen = 0; + rLoc = 11589; + rType = 0; + vrLen = 753; + vrLoc = 10842; + }; + 95E7B50B0AD2CC9400753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 476"; + rLen = 0; + rLoc = 11589; + rType = 0; + vrLen = 709; + vrLoc = 10886; + }; + 95E7B50C0AD2CC9400753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 228"; + rLen = 0; + rLoc = 5438; + rType = 0; + vrLen = 780; + vrLoc = 2730; + }; + 95E7B50D0AD2CC9400753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 476"; + rLen = 0; + rLoc = 11589; + rType = 0; + vrLen = 748; + vrLoc = 10842; + }; + 95E7B5190AD2CDC800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 475"; + rLen = 0; + rLoc = 11499; + rType = 0; + vrLen = 790; + vrLoc = 10842; + }; + 95E7B51A0AD2CDC800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 477"; + rLen = 0; + rLoc = 11589; + rType = 0; + vrLen = 751; + vrLoc = 10886; + }; + 95E7B51B0AD2CDC800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 228"; + rLen = 0; + rLoc = 5438; + rType = 0; + vrLen = 827; + vrLoc = 2730; + }; + 95E7B51D0AD2CDDF00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 475"; + rLen = 0; + rLoc = 11499; + rType = 0; + vrLen = 789; + vrLoc = 10842; + }; + 95E7B51E0AD2CDDF00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 477"; + rLen = 0; + rLoc = 11589; + rType = 0; + vrLen = 746; + vrLoc = 10886; + }; + 95E7B51F0AD2CDDF00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 228"; + rLen = 0; + rLoc = 5438; + rType = 0; + vrLen = 780; + vrLoc = 2730; + }; + 95E7B5260AD2CE8800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 152"; + rLen = 0; + rLoc = 3168; + rType = 0; + vrLen = 592; + vrLoc = 2564; + }; + 95E7B5270AD2CE8800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 475"; + rLen = 42; + rLoc = 11458; + rType = 0; + vrLen = 746; + vrLoc = 10886; + }; + 95E7B52E0AD2CED100753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 229"; + rLen = 0; + rLoc = 5421; + rType = 0; + vrLen = 951; + vrLoc = 4532; + }; + 95E7B52F0AD2CED100753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 475"; + rLen = 42; + rLoc = 11458; + rType = 0; + vrLen = 746; + vrLoc = 10886; + }; + 95E7B5370AD2CF2F00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 229"; + rLen = 0; + rLoc = 5421; + rType = 0; + vrLen = 951; + vrLoc = 4532; + }; + 95E7B5380AD2CF2F00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 475"; + rLen = 42; + rLoc = 11458; + rType = 0; + vrLen = 746; + vrLoc = 10886; + }; + 95E7B53B0AD2CF8900753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 233"; + rLen = 0; + rLoc = 5421; + rType = 0; + vrLen = 1001; + vrLoc = 4492; + }; + 95E7B53C0AD2CF8900753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 475"; + rLen = 42; + rLoc = 11458; + rType = 0; + vrLen = 751; + vrLoc = 10886; + }; + 95E7B53D0AD2CF9A00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 233"; + rLen = 0; + rLoc = 5421; + rType = 0; + vrLen = 998; + vrLoc = 4492; + }; + 95E7B53E0AD2CF9A00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 475"; + rLen = 42; + rLoc = 11458; + rType = 0; + vrLen = 746; + vrLoc = 10886; + }; + 95E7B5470AD2D05B00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 475"; + rLen = 42; + rLoc = 11458; + rType = 0; + vrLen = 746; + vrLoc = 10886; + }; + 95E7B54B0AD2D0E300753F9B /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 2A37F4ACFDCFA73011CA2CEA /* VLDocument.mm */; + }; + 95E7B54C0AD2D10400753F9B /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + }; + 95E7B5500AD2D12A00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4ACFDCFA73011CA2CEA /* VLDocument.mm */; + name = "VLDocument.mm: 25"; + rLen = 0; + rLoc = 339; + rType = 0; + vrLen = 596; + vrLoc = 33; + }; + 95E7B5530AD2D12A00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 670; + vrLoc = 0; + }; + 95E7B5540AD2D12A00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 475"; + rLen = 42; + rLoc = 11458; + rType = 0; + vrLen = 751; + vrLoc = 10886; + }; + 95E7B5580AD2D19100753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4ACFDCFA73011CA2CEA /* VLDocument.mm */; + name = "VLDocument.mm: 25"; + rLen = 0; + rLoc = 339; + rType = 0; + vrLen = 570; + vrLoc = 33; + }; + 95E7B5590AD2D19100753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + rLen = 0; + rLoc = 89; + rType = 1; + }; + 95E7B55A0AD2D19100753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4ACFDCFA73011CA2CEA /* VLDocument.mm */; + name = "VLDocument.mm: 25"; + rLen = 0; + rLoc = 339; + rType = 0; + vrLen = 570; + vrLoc = 33; + }; + 95E7B55B0AD2D19100753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 89"; + rLen = 0; + rLoc = 1884; + rType = 0; + vrLen = 752; + vrLoc = 1485; + }; + 95E7B55C0AD2D19100753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 665; + vrLoc = 0; + }; + 95E7B55D0AD2D19100753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 475"; + rLen = 42; + rLoc = 11458; + rType = 0; + vrLen = 746; + vrLoc = 10886; + }; + 95E7B5670AD2D24400753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 132"; + rLen = 0; + rLoc = 2908; + rType = 0; + vrLen = 830; + vrLoc = 2212; + }; + 95E7B5680AD2D24400753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 670; + vrLoc = 0; + }; + 95E7B5690AD2D24400753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 475"; + rLen = 42; + rLoc = 11458; + rType = 0; + vrLen = 751; + vrLoc = 10886; + }; + 95E7B56D0AD2D42000753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 240"; + rLen = 0; + rLoc = 5560; + rType = 0; + vrLen = 957; + vrLoc = 4559; + }; + 95E7B56E0AD2D42000753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 670; + vrLoc = 0; + }; + 95E7B56F0AD2D42000753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 484"; + rLen = 0; + rLoc = 11734; + rType = 0; + vrLen = 1212; + vrLoc = 9400; + }; + 95E7B5700AD2D49800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 242"; + rLen = 0; + rLoc = 5560; + rType = 0; + vrLen = 964; + vrLoc = 4585; + }; + 95E7B5710AD2D49800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 665; + vrLoc = 0; + }; + 95E7B5720AD2D49800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 484"; + rLen = 0; + rLoc = 11734; + rType = 0; + vrLen = 1211; + vrLoc = 9400; + }; + 95E7B5750AD2D4D500753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 245"; + rLen = 0; + rLoc = 5623; + rType = 0; + vrLen = 1223; + vrLoc = 3379; + }; + 95E7B5760AD2D4D500753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 670; + vrLoc = 0; + }; + 95E7B5770AD2D4D500753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 484"; + rLen = 0; + rLoc = 11734; + rType = 0; + vrLen = 1212; + vrLoc = 9400; + }; + 95E7B57A0AD2D54200753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 245"; + rLen = 0; + rLoc = 5623; + rType = 0; + vrLen = 1223; + vrLoc = 3379; + }; + 95E7B57B0AD2D54200753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 670; + vrLoc = 0; + }; + 95E7B57C0AD2D54200753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 484"; + rLen = 0; + rLoc = 11734; + rType = 0; + vrLen = 1212; + vrLoc = 9400; + }; + 95E7B57D0AD2D57B00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 241"; + rLen = 0; + rLoc = 5623; + rType = 0; + vrLen = 1086; + vrLoc = 3538; + }; + 95E7B57E0AD2D57B00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 665; + vrLoc = 0; + }; + 95E7B57F0AD2D57B00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 484"; + rLen = 0; + rLoc = 11734; + rType = 0; + vrLen = 1211; + vrLoc = 9400; + }; + 95E7B5840AD2D5DB00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 241"; + rLen = 0; + rLoc = 5623; + rType = 0; + vrLen = 1086; + vrLoc = 3497; + }; + 95E7B5850AD2D5DB00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 665; + vrLoc = 0; + }; + 95E7B5860AD2D5DB00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 484"; + rLen = 0; + rLoc = 11734; + rType = 0; + vrLen = 1211; + vrLoc = 9400; + }; + 95E7B58B0AD2D66900753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 241"; + rLen = 0; + rLoc = 5623; + rType = 0; + vrLen = 1086; + vrLoc = 3497; + }; + 95E7B58C0AD2D66900753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 665; + vrLoc = 0; + }; + 95E7B58D0AD2D66900753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 484"; + rLen = 0; + rLoc = 11734; + rType = 0; + vrLen = 1211; + vrLoc = 9400; + }; + 95E7B5930AD2D79500753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 463"; + rLen = 30; + rLoc = 11249; + rType = 0; + vrLen = 350; + vrLoc = 11108; + }; + 95E7B5940AD2D79500753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "warning: incomplete implementation of class 'VLChordEditable'"; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + rLen = 0; + rLoc = 152; + rType = 1; + }; + 95E7B5950AD2D79500753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 240"; + rLen = 0; + rLoc = 5560; + rType = 0; + vrLen = 413; + vrLoc = 4403; + }; + 95E7B5960AD2D79500753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 463"; + rLen = 30; + rLoc = 11249; + rType = 0; + vrLen = 350; + vrLoc = 11108; + }; + 95E7B5970AD2D79500753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 153"; + rLen = 0; + rLoc = 3246; + rType = 0; + vrLen = 321; + vrLoc = 5275; + }; + 95E7B5980AD2D79800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 665; + vrLoc = 0; + }; + 95E7B5990AD2D79800753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 484"; + rLen = 0; + rLoc = 11734; + rType = 0; + vrLen = 1211; + vrLoc = 9400; + }; + 95E7B59A0AD2D7B400753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 665; + vrLoc = 0; + }; + 95E7B59B0AD2D7B400753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 484"; + rLen = 0; + rLoc = 11734; + rType = 0; + vrLen = 1211; + vrLoc = 9400; + }; + 95E7B59F0AD2D8EE00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 484"; + rLen = 0; + rLoc = 11734; + rType = 0; + vrLen = 1211; + vrLoc = 9400; + }; + 95E7B5A00AD2D8EE00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 665; + vrLoc = 0; + }; + 95E7B5A30AD2D90E00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */; + name = "VLSheetView.mm: 484"; + rLen = 0; + rLoc = 11734; + rType = 0; + vrLen = 1211; + vrLoc = 9400; + }; + 95E7B5A40AD2D90E00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 665; + vrLoc = 0; + }; + 95E7B5A50AD2D90E00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + rLen = 0; + rLoc = 236; + rType = 1; + }; + 95E7B5A60AD2D90E00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2A37F4AEFDCFA73011CA2CEA /* VLDocument.h */; + name = "VLDocument.h: 16"; + rLen = 104; + rLoc = 231; + rType = 0; + vrLen = 665; + vrLoc = 0; + }; + 95E7B5A70AD2D90E00753F9B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; + name = "VLSheetViewChords.mm: 236"; + rLen = 0; + rLoc = 5525; + rType = 0; + vrLen = 723; + vrLoc = 2524; }; }