Switch to multi-line layout

This commit is contained in:
Matthias Neeracher 2006-10-02 05:29:37 +00:00
parent 7daabcb8b0
commit 925f3d1b28
11 changed files with 406 additions and 432 deletions

View File

@ -3,14 +3,14 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>IBDocumentLocation</key> <key>IBDocumentLocation</key>
<string>44 14 356 240 0 0 1024 746 </string> <string>36 103 356 240 0 0 1024 746 </string>
<key>IBFramework Version</key> <key>IBFramework Version</key>
<string>451.0</string> <string>452.0</string>
<key>IBOpenObjects</key> <key>IBOpenObjects</key>
<array> <array>
<integer>5</integer> <integer>5</integer>
</array> </array>
<key>IBSystem Version</key> <key>IBSystem Version</key>
<string>9A255</string> <string>9A274</string>
</dict> </dict>
</plist> </plist>

Binary file not shown.

View File

@ -354,13 +354,13 @@ VLSong::VLSong()
VLProperties defaultProperties = {fourFour, 0, 1, 3}; VLProperties defaultProperties = {fourFour, 0, 1, 3};
fProperties.push_back(defaultProperties); fProperties.push_back(defaultProperties);
fMeasures.resize(33); // Leadin, AABA fMeasures.resize(32); // Leadin, AABA
VLNote rest = VLRest(1); VLNote rest = VLRest(1);
VLChord rchord; VLChord rchord;
rchord.fDuration = 1; rchord.fDuration = 1;
for (int i=0; i<33; ++i) { for (int i=0; i<32; ++i) {
fMeasures[i].fProperties = &fProperties.front(); fMeasures[i].fProperties = &fProperties.front();
fMeasures[i].fChords.push_back(rchord); fMeasures[i].fChords.push_back(rchord);
fMeasures[i].fMelody.push_back(rest); fMeasures[i].fMelody.push_back(rest);

View File

@ -212,6 +212,8 @@ struct VLSong {
void AddNote(VLNote note, size_t measure, VLFraction at); void AddNote(VLNote note, size_t measure, VLFraction at);
void DelChord(size_t measure, VLFraction at); void DelChord(size_t measure, VLFraction at);
void DelNote(size_t measure, VLFraction at); void DelNote(size_t measure, VLFraction at);
size_t CountMeasures() const { return fMeasures.size(); }
}; };
// Local Variables: // Local Variables:

View File

@ -38,12 +38,15 @@ enum VLMusicElement {
BOOL showFieldEditor; BOOL showFieldEditor;
float clefKeyW; float clefKeyW;
float measureW; float measureW;
float lineH;
int groups; int groups;
int quarterBeats; int quarterBeats;
int divPerGroup; int divPerGroup;
int firstMeasure; int firstMeasure;
int lastMeasure; int lastMeasure;
int visibleMeasures; int measuresPerSystem;
int numSystems;
float displayScale;
NSImageRep * noteCursorCache; NSImageRep * noteCursorCache;
NSPoint noteCursorLocation; NSPoint noteCursorLocation;
NSPoint lastNoteCenter; NSPoint lastNoteCenter;
@ -70,6 +73,7 @@ enum VLMusicElement {
- (VLSong *) song; - (VLSong *) song;
- (NSImage *) musicElement:(VLMusicElement)elt; - (NSImage *) musicElement:(VLMusicElement)elt;
- (float) systemY:(int)system;
- (float) noteYWithPitch:(int)pitch; - (float) noteYWithPitch:(int)pitch;
- (float) noteXInMeasure:(int)measure at:(VLFraction)at; - (float) noteXInMeasure:(int)measure at:(VLFraction)at;

View File

@ -40,23 +40,23 @@ static NSString * sElementNames[kMusicElements] = {
}; };
static float sSharpPos[] = { static float sSharpPos[] = {
kLineY+4.0f*kLineH, // F# 4.0f*kLineH, // F#
kLineY+2.5f*kLineH, // C# 2.5f*kLineH, // C#
kLineY+4.5f*kLineH, // G# 4.5f*kLineH, // G#
kLineY+3.0f*kLineH, // D# 3.0f*kLineH, // D#
kLineY+1.5f*kLineH, // A# 1.5f*kLineH, // A#
kLineY+3.5f*kLineH, // E# 3.5f*kLineH, // E#
kLineY+2.0f*kLineH, // B# 2.0f*kLineH, // B#
}; };
static float sFlatPos[] = { static float sFlatPos[] = {
kLineY+2.0f*kLineH, // Bb 2.0f*kLineH, // Bb
kLineY+3.5f*kLineH, // Eb 3.5f*kLineH, // Eb
kLineY+1.5f*kLineH, // Ab 1.5f*kLineH, // Ab
kLineY+3.0f*kLineH, // Db 3.0f*kLineH, // Db
kLineY+1.0f*kLineH, // Gb 1.0f*kLineH, // Gb
kLineY+2.5f*kLineH, // Cb 2.5f*kLineH, // Cb
kLineY+0.5f*kLineH, // Fb 0.5f*kLineH, // Fb
}; };
- (id)initWithFrame:(NSRect)frame - (id)initWithFrame:(NSRect)frame
@ -80,6 +80,7 @@ static float sFlatPos[] = {
} }
needsRecalc = YES; needsRecalc = YES;
showFieldEditor = NO; showFieldEditor = NO;
displayScale = 1.0f;
firstMeasure = 0; firstMeasure = 0;
noteRectTracker = 0; noteRectTracker = 0;
noteCursorCache = nil; noteCursorCache = nil;
@ -103,13 +104,20 @@ static float sFlatPos[] = {
return sMusic[elt]; return sMusic[elt];
} }
- (float) systemY:(int)system
{
NSRect b = [self bounds];
return kSystemY+b.origin.y+b.size.height-(system+1)*kSystemH;
}
- (float) noteYWithPitch:(int)pitch - (float) noteYWithPitch:(int)pitch
{ {
int semi = pitch % 12; int semi = pitch % 12;
int octave = (pitch / 12) - 5; int octave = (pitch / 12) - 5;
bool useSharps = [self song]->fProperties.front().fKey >= 0; bool useSharps = [self song]->fProperties.front().fKey >= 0;
float y = kLineY+octave*3.5f*kLineH; float y = octave*3.5f*kLineH;
float sharp = useSharps ? 0.0f : 0.5f*kLineH; float sharp = useSharps ? 0.0f : 0.5f*kLineH;
switch (semi) { switch (semi) {
@ -156,6 +164,10 @@ static float sFlatPos[] = {
{ {
needsRecalc = NO; needsRecalc = NO;
NSSize contentSz = [[self enclosingScrollView] contentSize];
contentSz.width /= displayScale;
contentSz.height/= displayScale;
const VLSong * song = [self song]; const VLSong * song = [self song];
const VLProperties & prop = song->fProperties.front(); const VLProperties & prop = song->fProperties.front();
@ -164,18 +176,12 @@ static float sFlatPos[] = {
divPerGroup = prop.fDivisions * (quarterBeats / groups); divPerGroup = prop.fDivisions * (quarterBeats / groups);
clefKeyW = kClefX+kClefW+(std::labs(prop.fKey)+1)*kKeyW; clefKeyW = kClefX+kClefW+(std::labs(prop.fKey)+1)*kKeyW;
measureW = groups*(divPerGroup+1)*kNoteW; measureW = groups*(divPerGroup+1)*kNoteW;
visibleMeasures = (int)std::floor(([self bounds].size.width - clefKeyW) measuresPerSystem =
/ measureW); (int)std::floor((contentSz.width - clefKeyW) / measureW);
[self setValue: numSystems = (song->CountMeasures()+measuresPerSystem-1)/measuresPerSystem;
[NSNumber numberWithInt: contentSz.height = numSystems*kSystemH;
std::max((int)song->fMeasures.size()-visibleMeasures, 0)]
forKey: @"lastMeasure"];
if (firstMeasure > lastMeasure)
[self setValue: [NSNumber numberWithInt:lastMeasure]
forKey: @"firstMeasure"];
[self setupChords];
#if 0
noteRect = NSMakeRect(clefKeyW, kLineY-kMaxLedgers*kLineH, noteRect = NSMakeRect(clefKeyW, kLineY-kMaxLedgers*kLineH,
visibleMeasures*measureW, visibleMeasures*measureW,
(4.0f+2.0f*kMaxLedgers)*kLineH); (4.0f+2.0f*kMaxLedgers)*kLineH);
@ -188,11 +194,27 @@ static float sFlatPos[] = {
noteRectTracker = [self addTrackingRect:noteRect owner:self noteRectTracker = [self addTrackingRect:noteRect owner:self
userData:nil assumeInside:inNoteRect]; userData:nil assumeInside:inNoteRect];
[[self window] setAcceptsMouseMovedEvents:inNoteRect]; [[self window] setAcceptsMouseMovedEvents:inNoteRect];
#endif
[[self window] makeFirstResponder:self]; [[self window] makeFirstResponder:self];
NSSize frameSz = {contentSz.width * displayScale, contentSz.height * displayScale};
[self setFrameSize:frameSz];
[self setBoundsSize:contentSz];
[self setNeedsDisplay:YES];
} }
- (void)drawRect:(NSRect)rect - (void)drawRect:(NSRect)rect
{ {
static NSDictionary * sMeasNoFont = nil;
if (!sMeasNoFont)
sMeasNoFont =
[[NSDictionary alloc] initWithObjectsAndKeys:
[NSFont fontWithName: @"Helvetica" size: 10],
NSFontAttributeName,
nil];
const VLSong * song = [self song]; const VLSong * song = [self song];
const VLProperties & prop = song->fProperties.front(); const VLProperties & prop = song->fProperties.front();
@ -204,12 +226,15 @@ static float sFlatPos[] = {
[bz setLineWidth:0.0]; [bz setLineWidth:0.0];
if (needsRecalc) if (needsRecalc)
[self recalculateDimensions]; [self recalculateDimensions];
for (int line = 0; line<5; ++line) { for (int system = 0; system<numSystems; ++system) {
const float x0 = kLineX; float kLineY = [self systemY:system];
const float xx = x0 + clefKeyW + visibleMeasures*measureW; for (int line = 0; line<5; ++line) {
const float y = kLineY+line*kLineH; const float x0 = kLineX;
[bz moveToPoint: NSMakePoint(x0, y)]; const float xx = x0 + clefKeyW + measuresPerSystem*measureW;
[bz lineToPoint: NSMakePoint(xx, y)]; const float y = kLineY+line*kLineH;
[bz moveToPoint: NSMakePoint(x0, y)];
[bz lineToPoint: NSMakePoint(xx, y)];
}
} }
[bz stroke]; [bz stroke];
[bz removeAllPoints]; [bz removeAllPoints];
@ -217,11 +242,14 @@ static float sFlatPos[] = {
// Draw measure lines // Draw measure lines
// //
[bz setLineWidth:2.0]; [bz setLineWidth:2.0];
for (int measure = 0; measure<=visibleMeasures; ++measure) { for (int system = 0; system<numSystems; ++system) {
const float x = clefKeyW+measure*measureW; float kLineY = [self systemY:system];
const float yy = kLineY+4.0f*kLineH; for (int measure = 0; measure<=measuresPerSystem; ++measure) {
[bz moveToPoint: NSMakePoint(x, kLineY)]; const float x = clefKeyW+measure*measureW;
[bz lineToPoint: NSMakePoint(x, yy)]; const float yy = kLineY+4.0f*kLineH;
[bz moveToPoint: NSMakePoint(x, kLineY)];
[bz lineToPoint: NSMakePoint(x, yy)];
}
} }
[bz stroke]; [bz stroke];
[bz removeAllPoints]; [bz removeAllPoints];
@ -231,44 +259,56 @@ static float sFlatPos[] = {
// //
[bz setLineWidth:0.0]; [bz setLineWidth:0.0];
[[NSColor colorWithDeviceWhite:0.8f alpha:1.0f] set]; [[NSColor colorWithDeviceWhite:0.8f alpha:1.0f] set];
for (int measure = 0; measure<visibleMeasures; ++measure) { for (int system = 0; system<numSystems; ++system) {
const float mx = clefKeyW+measure*measureW; float kLineY = [self systemY:system];
const float y0 = kLineY-2.0f*kLineH; for (int measure = 0; measure<measuresPerSystem; ++measure) {
const float yy = kLineY+6.0f*kLineH; const float mx = clefKeyW+measure*measureW;
for (int group = 0; group < groups; ++group) { const float y0 = kLineY-2.0f*kLineH;
for (int div = 0; div < divPerGroup; ++div) { const float yy = kLineY+6.0f*kLineH;
const float x = mx+(group*(divPerGroup+1)+div+1)*kNoteW; for (int group = 0; group < groups; ++group) {
[bz moveToPoint: NSMakePoint(x, y0)]; for (int div = 0; div < divPerGroup; ++div) {
[bz lineToPoint: NSMakePoint(x, yy)]; const float x = mx+(group*(divPerGroup+1)+div+1)*kNoteW;
[bz moveToPoint: NSMakePoint(x, y0)];
[bz lineToPoint: NSMakePoint(x, yy)];
}
} }
} }
} }
[bz stroke]; [bz stroke];
// for (int system = 0; system<numSystems; ++system) {
// Draw clef float kLineY = [self systemY:system];
// //
[[self musicElement:kMusicGClef] // Draw clef
compositeToPoint:NSMakePoint(kClefX, kClefY) //
operation: NSCompositeSourceOver]; [[self musicElement:kMusicGClef]
// compositeToPoint: NSMakePoint(kClefX, kLineY+kClefY)
// Draw key (sharps & flats) operation: NSCompositeSourceOver];
// //
if (prop.fKey > 0) { // Draw measure #
float x = kClefX+kClefW; //
for (int i=0; i<prop.fKey; ++i) { [[NSString stringWithFormat:@"%d", system*measuresPerSystem+1]
[[self musicElement:kMusicSharp] compositeToPoint: drawAtPoint: NSMakePoint(kMeasNoX, kLineY+kMeasNoY)
NSMakePoint(x, sSharpPos[i]+kSharpY) withAttributes: sMeasNoFont];
operation: NSCompositeSourceOver]; //
x += kAccW; // Draw key (sharps & flats)
} //
} else if (prop.fKey < 0) { if (prop.fKey > 0) {
float x = kClefX+kClefW; float x = kClefX+kClefW;
for (int i=0; -i>prop.fKey; ++i) { for (int i=0; i<prop.fKey; ++i) {
[[self musicElement: kMusicFlat] compositeToPoint: [[self musicElement:kMusicSharp]
NSMakePoint(x, sFlatPos[i]+kFlatY) compositeToPoint: NSMakePoint(x, kLineY+sSharpPos[i]+kSharpY)
operation: NSCompositeSourceOver]; operation: NSCompositeSourceOver];
x += kAccW; x += kAccW;
}
} else if (prop.fKey < 0) {
float x = kClefX+kClefW;
for (int i=0; -i>prop.fKey; ++i) {
[[self musicElement: kMusicFlat]
compositeToPoint: NSMakePoint(x, kLineY+sFlatPos[i]+kFlatY)
operation: NSCompositeSourceOver];
x += kAccW;
}
} }
} }

View File

@ -68,6 +68,7 @@
- (void) setupChords - (void) setupChords
{ {
#if 0
const VLSong * song = [self song]; const VLSong * song = [self song];
const VLProperties & prop = song->fProperties.front(); const VLProperties & prop = song->fProperties.front();
NSView * chordView = [chords contentView]; NSView * chordView = [chords contentView];
@ -110,6 +111,7 @@
} }
} }
[chords setNeedsDisplay: YES]; [chords setNeedsDisplay: YES];
#endif
} }
- (IBAction) editChord:(id)sender - (IBAction) editChord:(id)sender

View File

@ -7,11 +7,14 @@
// //
const float kLineX = 5; const float kLineX = 5;
const float kLineY = 90.5;
const float kLineH = 10; const float kLineH = 10;
const float kSystemH = 15.0f*kLineH;
const float kSystemY = 3.0f*kLineH;
const float kClefX = 20.5f; const float kClefX = 20.5f;
const float kClefY = 75.0f; const float kClefY =-15.0f;
const float kClefW = 30.0f; const float kClefW = 30.0f;
const float kMeasNoX = 10.0f;
const float kMeasNoY = 4.5f*kLineH;
const float kNoteW = 12.0f; const float kNoteW = 12.0f;
const float kKeyW = 10.0f; const float kKeyW = 10.0f;
const float kAccW = 10.0f; const float kAccW = 10.0f;

View File

@ -253,56 +253,61 @@ static int sSemiToPitch[] = {
VLFraction swung(3, prop.fDivisions*8, true); // Which notes to swing VLFraction swung(3, prop.fDivisions*8, true); // Which notes to swing
VLFraction swingGrid(2*swung); // Alignment of swing notes VLFraction swingGrid(2*swung); // Alignment of swing notes
for (int m = 0; m<visibleMeasures; ++m) { for (int system = 0; system<numSystems; ++system) {
int measIdx = m+firstMeasure; float kLineY = [self systemY:system];
const VLMeasure measure = song->fMeasures[measIdx]; for (int m = 0; m<measuresPerSystem; ++m) {
const VLNoteList & melody = measure.fMelody; int measIdx = m+system*measuresPerSystem;
VLFraction at(0); if (measIdx >= song->CountMeasures())
for (VLNoteList::const_iterator note = melody.begin(); break;
note != melody.end(); const VLMeasure measure = song->fMeasures[measIdx];
++note const VLNoteList & melody = measure.fMelody;
) { VLFraction at(0);
VLFraction dur = note->fDuration; for (VLNoteList::const_iterator note = melody.begin();
BOOL first = !m || !note->fTied; note != melody.end();
int pitch = note->fPitch; ++note
while (dur > 0) { ) {
VLFraction partialDur; // Actual value of note drawn VLFraction dur = note->fDuration;
measure.fProperties->PartialNote(at, dur, &partialDur); BOOL first = !m || !note->fTied;
int pitch = note->fPitch;
while (dur > 0) {
VLFraction partialDur; // Actual value of note drawn
measure.fProperties->PartialNote(at, dur, &partialDur);
BOOL triplet = !(partialDur.fDenom % 3); BOOL triplet = !(partialDur.fDenom % 3);
VLFraction noteDur(1); // Visual value of note VLFraction noteDur(1); // Visual value of note
if (triplet) { if (triplet) {
if (swing) { // Swing 8ths / 16ths are written as straight 8ths if (swing) { // Swing 8ths / 16ths are written as straight 8ths
if (partialDur == 4*swung/3 && (at % swingGrid) == 0) { if (partialDur == 4*swung/3 && (at % swingGrid) == 0) {
noteDur = swung; noteDur = swung;
triplet = NO; triplet = NO;
} else if (partialDur == 2*swung/3 && ((at+partialDur) % swingGrid) == 0) { } else if (partialDur == 2*swung/3 && ((at+partialDur) % swingGrid) == 0) {
noteDur = swung; noteDur = swung;
triplet = NO; triplet = NO;
} else {
noteDur = 4*partialDur/3;
}
} else { } else {
noteDur = 4*partialDur/3; noteDur = 4*partialDur/3;
} }
} else { } else {
noteDur = 4*partialDur/3; noteDur = partialDur;
} }
} else { if (pitch != VLNote::kNoPitch)
noteDur = partialDur; [self drawNote:noteDur
at: NSMakePoint(
[self noteXInMeasure:m at:at],
kLineY+[self noteYWithPitch:pitch])
tied:!first];
else
[self drawRest:noteDur
at: NSMakePoint(
[self noteXInMeasure:m at:at],
kLineY+[self noteYWithPitch:65])];
dur -= partialDur;
at += partialDur;
first = NO;
} }
if (pitch != VLNote::kNoPitch)
[self drawNote:noteDur
at: NSMakePoint(
[self noteXInMeasure:measIdx at:at],
[self noteYWithPitch:pitch])
tied:!first];
else
[self drawRest:noteDur
at: NSMakePoint(
[self noteXInMeasure:measIdx at:at],
[self noteYWithPitch:65])];
dur -= partialDur;
at += partialDur;
first = NO;
} }
} }
} }

View File

@ -196,120 +196,15 @@
<array/> <array/>
<key>OpenEditors</key> <key>OpenEditors</key>
<array> <array>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95D1F8310AB694EC00EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>VLSheetView.mm</string>
<key>PBXSplitModuleInNavigatorKey</key>
<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>
<key>Geometry</key>
<dict>
<key>Frame</key>
<string>{{0, 20}, {763, 552}}</string>
<key>PBXModuleWindowStatusBarHidden2</key>
<false/>
<key>RubberWindowFrame</key>
<string>164 91 763 593 0 0 1024 746 </string>
</dict>
</dict>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<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> <dict>
<key>Content</key> <key>Content</key>
<dict> <dict>
<key>PBXProjectModuleGUID</key> <key>PBXProjectModuleGUID</key>
<string>95D1F82E0AB694EC00EE6AC8</string> <string>95D1F82E0AB694EC00EE6AC8</string>
<key>PBXProjectModuleLabel</key> <key>PBXProjectModuleLabel</key>
<string>VLSheetView.mm</string> <string>&lt;No Editor&gt;</string>
<key>PBXSplitModuleInNavigatorKey</key> <key>PBXSplitModuleInNavigatorKey</key>
<dict> <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> <key>StatusBarVisibility</key>
<true/> <true/>
</dict> </dict>
@ -329,27 +224,9 @@
<key>PBXProjectModuleGUID</key> <key>PBXProjectModuleGUID</key>
<string>95D1F7FE0AB68C8C00EE6AC8</string> <string>95D1F7FE0AB68C8C00EE6AC8</string>
<key>PBXProjectModuleLabel</key> <key>PBXProjectModuleLabel</key>
<string>VLSheetView.h</string> <string>&lt;No Editor&gt;</string>
<key>PBXSplitModuleInNavigatorKey</key> <key>PBXSplitModuleInNavigatorKey</key>
<dict> <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> <key>StatusBarVisibility</key>
<true/> <true/>
</dict> </dict>
@ -363,6 +240,50 @@
<string>242 153 763 593 0 0 1024 746 </string> <string>242 153 763 593 0 0 1024 746 </string>
</dict> </dict>
</dict> </dict>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95D1F8130AB6908400EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</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>186 75 763 593 0 0 1024 746 </string>
</dict>
</dict>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95D1F8850AB69B6700EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</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>
<dict> <dict>
<key>Content</key> <key>Content</key>
<dict> <dict>
@ -389,7 +310,7 @@
<key>Content</key> <key>Content</key>
<dict> <dict>
<key>PBXProjectModuleGUID</key> <key>PBXProjectModuleGUID</key>
<string>95D1F8850AB69B6700EE6AC8</string> <string>95D1F8310AB694EC00EE6AC8</string>
<key>PBXProjectModuleLabel</key> <key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</string> <string>&lt;No Editor&gt;</string>
<key>PBXSplitModuleInNavigatorKey</key> <key>PBXSplitModuleInNavigatorKey</key>
@ -404,7 +325,95 @@
<key>PBXModuleWindowStatusBarHidden2</key> <key>PBXModuleWindowStatusBarHidden2</key>
<false/> <false/>
<key>RubberWindowFrame</key> <key>RubberWindowFrame</key>
<string>168 116 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>95B042FA0ACE431A00236B52</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</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>242 153 763 593 0 0 1024 746 </string>
</dict>
</dict>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95B042F70ACE431A00236B52</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</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>164 91 763 593 0 0 1024 746 </string>
</dict>
</dict>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95B042FB0ACE431A00236B52</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</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>242 153 763 593 0 0 1024 746 </string>
</dict>
</dict>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95B042FC0ACE431A00236B52</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</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>15 148 763 593 0 0 1024 746 </string>
</dict> </dict>
</dict> </dict>
</array> </array>
@ -488,13 +497,13 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array> <array>
<array> <array>
<integer>6</integer> <integer>10</integer>
<integer>1</integer> <integer>1</integer>
<integer>0</integer> <integer>0</integer>
</array> </array>
</array> </array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
<string>{{0, 5}, {186, 338}}</string> <string>{{0, 0}, {186, 338}}</string>
</dict> </dict>
<key>PBXTopSmartGroupGIDs</key> <key>PBXTopSmartGroupGIDs</key>
<array/> <array/>
@ -513,7 +522,7 @@
<real>186</real> <real>186</real>
</array> </array>
<key>RubberWindowFrame</key> <key>RubberWindowFrame</key>
<string>167 327 690 397 0 0 1024 746 </string> <string>167 326 690 397 0 0 1024 746 </string>
</dict> </dict>
<key>Module</key> <key>Module</key>
<string>PBXSmartGroupTreeModule</string> <string>PBXSmartGroupTreeModule</string>
@ -550,7 +559,7 @@
<key>Frame</key> <key>Frame</key>
<string>{{0, 0}, {482, 0}}</string> <string>{{0, 0}, {482, 0}}</string>
<key>RubberWindowFrame</key> <key>RubberWindowFrame</key>
<string>167 327 690 397 0 0 1024 746 </string> <string>167 326 690 397 0 0 1024 746 </string>
</dict> </dict>
<key>Module</key> <key>Module</key>
<string>PBXNavigatorGroup</string> <string>PBXNavigatorGroup</string>
@ -570,7 +579,7 @@
<key>Frame</key> <key>Frame</key>
<string>{{0, 5}, {482, 351}}</string> <string>{{0, 5}, {482, 351}}</string>
<key>RubberWindowFrame</key> <key>RubberWindowFrame</key>
<string>167 327 690 397 0 0 1024 746 </string> <string>167 326 690 397 0 0 1024 746 </string>
</dict> </dict>
<key>Module</key> <key>Module</key>
<string>XCDetailModule</string> <string>XCDetailModule</string>
@ -594,9 +603,9 @@
</array> </array>
<key>TableOfContents</key> <key>TableOfContents</key>
<array> <array>
<string>95D1F7F00AB6821400EE6AC8</string> <string>95B042DA0ACE37CB00236B52</string>
<string>1CE0B1FE06471DED0097A5F4</string> <string>1CE0B1FE06471DED0097A5F4</string>
<string>95D1F7F10AB6821400EE6AC8</string> <string>95B042DB0ACE37CB00236B52</string>
<string>1CE0B20306471E060097A5F4</string> <string>1CE0B20306471E060097A5F4</string>
<string>1CE0B20506471E060097A5F4</string> <string>1CE0B20506471E060097A5F4</string>
</array> </array>
@ -730,22 +739,27 @@
<integer>5</integer> <integer>5</integer>
<key>WindowOrderList</key> <key>WindowOrderList</key>
<array> <array>
<string>95D1F8850AB69B6700EE6AC8</string> <string>95B043090ACE46F000236B52</string>
<string>95D1F8660AB6970400EE6AC8</string> <string>95B042FC0ACE431A00236B52</string>
<string>95D1F8240AB6930D00EE6AC8</string> <string>95B042FB0ACE431A00236B52</string>
<string>95D1F8250AB6930D00EE6AC8</string> <string>95B042F70ACE431A00236B52</string>
<string>95D1F8260AB6930D00EE6AC8</string> <string>95B042FA0ACE431A00236B52</string>
<string>95B042E40ACE37CB00236B52</string>
<string>95B042E50ACE37CB00236B52</string>
<string>95B042E60ACE37CB00236B52</string>
<string>95D7BFC80AA6C1A500D5E02C</string> <string>95D7BFC80AA6C1A500D5E02C</string>
<string>95D7BFC00AA6C1A500D5E02C</string> <string>95D1F8310AB694EC00EE6AC8</string>
<string>1CD10A99069EF8BA00B06720</string> <string>95D1F8660AB6970400EE6AC8</string>
<string>95D1F8850AB69B6700EE6AC8</string>
<string>95D1F8130AB6908400EE6AC8</string>
<string>95D1F7FE0AB68C8C00EE6AC8</string> <string>95D1F7FE0AB68C8C00EE6AC8</string>
<string>95D1F82E0AB694EC00EE6AC8</string> <string>95D1F82E0AB694EC00EE6AC8</string>
<string>95D1F8130AB6908400EE6AC8</string> <string>95D7BFC00AA6C1A500D5E02C</string>
<string>95D1F8310AB694EC00EE6AC8</string> <string>/Development/Vocalese/Vocalese.xcodeproj</string>
<string>/Users/neeri/Development/Vocalese/Vocalese.xcodeproj</string> <string>1CD10A99069EF8BA00B06720</string>
</array> </array>
<key>WindowString</key> <key>WindowString</key>
<string>167 327 690 397 0 0 1024 746 </string> <string>167 326 690 397 0 0 1024 746 </string>
<key>WindowToolsV3</key> <key>WindowToolsV3</key>
<array> <array>
<dict> <dict>
@ -761,12 +775,14 @@
<key>Dock</key> <key>Dock</key>
<array> <array>
<dict> <dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key> <key>ContentConfiguration</key>
<dict> <dict>
<key>PBXProjectModuleGUID</key> <key>PBXProjectModuleGUID</key>
<string>1CD0528F0623707200166675</string> <string>1CD0528F0623707200166675</string>
<key>PBXProjectModuleLabel</key> <key>PBXProjectModuleLabel</key>
<string>VLSheetViewChords.mm</string> <string>new_allocator.h</string>
<key>StatusBarVisibility</key> <key>StatusBarVisibility</key>
<true/> <true/>
</dict> </dict>
@ -783,8 +799,6 @@
<string>293pt</string> <string>293pt</string>
</dict> </dict>
<dict> <dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key> <key>ContentConfiguration</key>
<dict> <dict>
<key>PBXProjectModuleGUID</key> <key>PBXProjectModuleGUID</key>
@ -824,7 +838,7 @@
<key>TableOfContents</key> <key>TableOfContents</key>
<array> <array>
<string>95D7BFC00AA6C1A500D5E02C</string> <string>95D7BFC00AA6C1A500D5E02C</string>
<string>95D1F8220AB6930D00EE6AC8</string> <string>95B042DC0ACE37CB00236B52</string>
<string>1CD0528F0623707200166675</string> <string>1CD0528F0623707200166675</string>
<string>XCMainBuildResultsModuleGUID</string> <string>XCMainBuildResultsModuleGUID</string>
</array> </array>
@ -835,7 +849,7 @@
<key>WindowToolGUID</key> <key>WindowToolGUID</key>
<string>95D7BFC00AA6C1A500D5E02C</string> <string>95D7BFC00AA6C1A500D5E02C</string>
<key>WindowToolIsVisible</key> <key>WindowToolIsVisible</key>
<false/> <true/>
</dict> </dict>
<dict> <dict>
<key>FirstTimeWindowDisplayed</key> <key>FirstTimeWindowDisplayed</key>
@ -866,8 +880,8 @@
<string>yes</string> <string>yes</string>
<key>sizes</key> <key>sizes</key>
<array> <array>
<string>{{0, 0}, {308, 200}}</string> <string>{{0, 0}, {308, 203}}</string>
<string>{{308, 0}, {386, 200}}</string> <string>{{308, 0}, {386, 203}}</string>
</array> </array>
</dict> </dict>
<key>VerticalSplitView</key> <key>VerticalSplitView</key>
@ -882,8 +896,8 @@
<string>yes</string> <string>yes</string>
<key>sizes</key> <key>sizes</key>
<array> <array>
<string>{{0, 0}, {694, 200}}</string> <string>{{0, 0}, {694, 203}}</string>
<string>{{0, 200}, {694, 181}}</string> <string>{{0, 203}, {694, 178}}</string>
</array> </array>
</dict> </dict>
</dict> </dict>
@ -916,7 +930,7 @@
<real>156</real> <real>156</real>
</array> </array>
<key>Frame</key> <key>Frame</key>
<string>{{308, 0}, {386, 200}}</string> <string>{{308, 0}, {386, 203}}</string>
<key>RubberWindowFrame</key> <key>RubberWindowFrame</key>
<string>254 208 694 422 0 0 1024 746 </string> <string>254 208 694 422 0 0 1024 746 </string>
</dict> </dict>
@ -944,13 +958,13 @@
<key>TableOfContents</key> <key>TableOfContents</key>
<array> <array>
<string>1CD10A99069EF8BA00B06720</string> <string>1CD10A99069EF8BA00B06720</string>
<string>95D1F7F20AB6821400EE6AC8</string> <string>95B042DD0ACE37CB00236B52</string>
<string>1C162984064C10D400B95A72</string> <string>1C162984064C10D400B95A72</string>
<string>95D1F7F30AB6821400EE6AC8</string> <string>95B042DE0ACE37CB00236B52</string>
<string>95D1F7F40AB6821400EE6AC8</string> <string>95B042DF0ACE37CB00236B52</string>
<string>95D1F7F50AB6821400EE6AC8</string> <string>95B042E00ACE37CB00236B52</string>
<string>95D1F7F60AB6821400EE6AC8</string> <string>95B042E10ACE37CB00236B52</string>
<string>95D1F7F70AB6821400EE6AC8</string> <string>95B042E20ACE37CB00236B52</string>
</array> </array>
<key>ToolbarConfiguration</key> <key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string> <string>xcode.toolbar.config.debugV3</string>
@ -959,7 +973,7 @@
<key>WindowToolGUID</key> <key>WindowToolGUID</key>
<string>1CD10A99069EF8BA00B06720</string> <string>1CD10A99069EF8BA00B06720</string>
<key>WindowToolIsVisible</key> <key>WindowToolIsVisible</key>
<false/> <true/>
</dict> </dict>
<dict> <dict>
<key>Identifier</key> <key>Identifier</key>
@ -1112,7 +1126,7 @@
<key>TableOfContents</key> <key>TableOfContents</key>
<array> <array>
<string>95D7BFC80AA6C1A500D5E02C</string> <string>95D7BFC80AA6C1A500D5E02C</string>
<string>95D1F8230AB6930D00EE6AC8</string> <string>95B042E30ACE37CB00236B52</string>
<string>1C78EAAC065D492600B07095</string> <string>1C78EAAC065D492600B07095</string>
</array> </array>
<key>WindowString</key> <key>WindowString</key>

View File

@ -62,22 +62,13 @@
PBXFileDataSource_Warnings_ColumnID, PBXFileDataSource_Warnings_ColumnID,
); );
}; };
PBXPerProjectTemplateStateSaveDate = 179733005; PBXPerProjectTemplateStateSaveDate = 181286523;
PBXWorkspaceStateSaveDate = 179733005; PBXWorkspaceStateSaveDate = 181286523;
}; };
perUserProjectItems = { perUserProjectItems = {
95D1F80B0AB68D3B00EE6AC8 /* PBXTextBookmark */ = 95D1F80B0AB68D3B00EE6AC8 /* PBXTextBookmark */; 95B042F40ACE42E800236B52 /* PBXBookmark */ = 95B042F40ACE42E800236B52 /* PBXBookmark */;
95D1F82B0AB693AE00EE6AC8 /* PBXBookmark */ = 95D1F82B0AB693AE00EE6AC8 /* PBXBookmark */; 95B042F90ACE431A00236B52 /* PBXTextBookmark */ = 95B042F90ACE431A00236B52 /* PBXTextBookmark */;
95D1F84C0AB6960700EE6AC8 /* PBXTextBookmark */ = 95D1F84C0AB6960700EE6AC8 /* PBXTextBookmark */; 95B043000ACE435E00236B52 /* PBXTextBookmark */ = 95B043000ACE435E00236B52 /* 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 */; sourceControlManager = 954D7413095406B2007D9571 /* Source Control */;
userBuildSettings = { userBuildSettings = {
@ -169,9 +160,9 @@
}; };
952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */ = { 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */ = {
uiCtxt = { uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {703, 2100}}"; sepNavIntBoundsRect = "{{0, 0}, {703, 2268}}";
sepNavSelRange = "{4592, 34}"; sepNavSelRange = "{3383, 0}";
sepNavVisRect = "{{0, 1837}, {703, 261}}"; sepNavVisRect = "{{0, 1151}, {703, 261}}";
sepNavWindowFrame = "{{15, 92}, {763, 649}}"; sepNavWindowFrame = "{{15, 92}, {763, 649}}";
}; };
}; };
@ -218,17 +209,17 @@
}; };
955E58E3095658AB0045FDA5 /* VLModel.h */ = { 955E58E3095658AB0045FDA5 /* VLModel.h */ = {
uiCtxt = { uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {704, 3080}}"; sepNavIntBoundsRect = "{{0, 0}, {644, 2170}}";
sepNavSelRange = "{2773, 0}"; sepNavSelRange = "{4342, 0}";
sepNavVisRect = "{{0, 1807}, {704, 497}}"; sepNavVisRect = "{{0, 1726}, {633, 146}}";
sepNavWindowFrame = "{{203, 40}, {763, 649}}"; sepNavWindowFrame = "{{203, 40}, {763, 649}}";
}; };
}; };
955E58E4095658AB0045FDA5 /* VLModel.cpp */ = { 955E58E4095658AB0045FDA5 /* VLModel.cpp */ = {
uiCtxt = { uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {704, 3976}}"; sepNavIntBoundsRect = "{{0, 0}, {806, 6118}}";
sepNavSelRange = "{4436, 0}"; sepNavSelRange = "{10226, 0}";
sepNavVisRect = "{{0, 2758}, {704, 497}}"; sepNavVisRect = "{{0, 4813}, {704, 497}}";
sepNavWindowFrame = "{{256, 62}, {763, 649}}"; sepNavWindowFrame = "{{256, 62}, {763, 649}}";
}; };
}; };
@ -309,11 +300,35 @@
sepNavWindowFrame = "{{120, 85}, {763, 649}}"; sepNavWindowFrame = "{{120, 85}, {763, 649}}";
}; };
}; };
95B042F40ACE42E800236B52 /* PBXBookmark */ = {
isa = PBXBookmark;
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
};
95B042F90ACE431A00236B52 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
name = "VLSheetView.mm: 244";
rLen = 0;
rLoc = 5713;
rType = 0;
vrLen = 966;
vrLoc = 5150;
};
95B043000ACE435E00236B52 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
name = "VLSheetView.mm: 181";
rLen = 0;
rLoc = 3996;
rType = 0;
vrLen = 1309;
vrLoc = 3259;
};
95B66653096BC6A100FE18C9 /* VLSheetViewInternal.h */ = { 95B66653096BC6A100FE18C9 /* VLSheetViewInternal.h */ = {
uiCtxt = { uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {724, 520}}"; sepNavIntBoundsRect = "{{0, 0}, {704, 497}}";
sepNavSelRange = "{792, 0}"; sepNavSelRange = "{422, 0}";
sepNavVisRect = "{{0, 0}, {724, 520}}"; sepNavVisRect = "{{0, 0}, {704, 497}}";
sepNavWindowFrame = "{{15, 92}, {763, 649}}"; sepNavWindowFrame = "{{15, 92}, {763, 649}}";
}; };
}; };
@ -327,9 +342,9 @@
}; };
95B66657096BCA1F00FE18C9 /* VLSheetViewNotes.mm */ = { 95B66657096BCA1F00FE18C9 /* VLSheetViewNotes.mm */ = {
uiCtxt = { uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {704, 3976}}"; sepNavIntBoundsRect = "{{0, 0}, {703, 2660}}";
sepNavSelRange = "{5055, 0}"; sepNavSelRange = "{8068, 0}";
sepNavVisRect = "{{0, 2576}, {704, 497}}"; sepNavVisRect = "{{0, 1965}, {703, 238}}";
sepNavWindowFrame = "{{38, 71}, {763, 649}}"; sepNavWindowFrame = "{{38, 71}, {763, 649}}";
}; };
}; };
@ -346,134 +361,23 @@
hitCount = 0; hitCount = 0;
ignoreCount = 0; ignoreCount = 0;
lineNumber = 21; lineNumber = 21;
modificationTime = 179740227.391068; modificationTime = 181290725.024457;
state = 2; state = 2;
}; };
95BDA15709540BF1009F9D65 /* VLSheetView.h */ = { 95BDA15709540BF1009F9D65 /* VLSheetView.h */ = {
uiCtxt = { uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {704, 1134}}"; sepNavIntBoundsRect = "{{0, 0}, {704, 1190}}";
sepNavSelRange = "{1065, 16}"; sepNavSelRange = "{848, 0}";
sepNavVisRect = "{{0, 472}, {704, 520}}"; sepNavVisRect = "{{0, 313}, {704, 497}}";
sepNavWindowFrame = "{{242, 97}, {763, 649}}"; sepNavWindowFrame = "{{242, 97}, {763, 649}}";
}; };
}; };
95BDA15809540BF1009F9D65 /* VLSheetView.mm */ = { 95BDA15809540BF1009F9D65 /* VLSheetView.mm */ = {
uiCtxt = { uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {704, 3626}}"; sepNavIntBoundsRect = "{{0, 0}, {704, 5208}}";
sepNavSelRange = "{7591, 0}"; sepNavSelRange = "{3996, 0}";
sepNavVisRect = "{{0, 3106}, {704, 520}}"; sepNavVisRect = "{{0, 2269}, {704, 497}}";
sepNavWindowFrame = "{{164, 35}, {763, 649}}"; 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;
};
} }