diff --git a/English.lproj/VLDocument.nib/info.nib b/English.lproj/VLDocument.nib/info.nib
index b2f609d..470d47e 100644
--- a/English.lproj/VLDocument.nib/info.nib
+++ b/English.lproj/VLDocument.nib/info.nib
@@ -3,14 +3,14 @@
IBDocumentLocation
- 44 14 356 240 0 0 1024 746
+ 36 103 356 240 0 0 1024 746
IBFramework Version
- 451.0
+ 452.0
IBOpenObjects
5
IBSystem Version
- 9A255
+ 9A274
diff --git a/English.lproj/VLDocument.nib/keyedobjects.nib b/English.lproj/VLDocument.nib/keyedobjects.nib
index a512b0d..ce23cee 100644
Binary files a/English.lproj/VLDocument.nib/keyedobjects.nib and b/English.lproj/VLDocument.nib/keyedobjects.nib differ
diff --git a/Sources/VLModel.cpp b/Sources/VLModel.cpp
index 1bd377d..d8755a5 100644
--- a/Sources/VLModel.cpp
+++ b/Sources/VLModel.cpp
@@ -354,13 +354,13 @@ VLSong::VLSong()
VLProperties defaultProperties = {fourFour, 0, 1, 3};
fProperties.push_back(defaultProperties);
- fMeasures.resize(33); // Leadin, AABA
+ fMeasures.resize(32); // Leadin, AABA
VLNote rest = VLRest(1);
VLChord rchord;
rchord.fDuration = 1;
- for (int i=0; i<33; ++i) {
+ for (int i=0; i<32; ++i) {
fMeasures[i].fProperties = &fProperties.front();
fMeasures[i].fChords.push_back(rchord);
fMeasures[i].fMelody.push_back(rest);
diff --git a/Sources/VLModel.h b/Sources/VLModel.h
index 5a47496..1bf0aaf 100644
--- a/Sources/VLModel.h
+++ b/Sources/VLModel.h
@@ -212,6 +212,8 @@ struct VLSong {
void AddNote(VLNote note, size_t measure, VLFraction at);
void DelChord(size_t measure, VLFraction at);
void DelNote(size_t measure, VLFraction at);
+
+ size_t CountMeasures() const { return fMeasures.size(); }
};
// Local Variables:
diff --git a/Sources/VLSheetView.h b/Sources/VLSheetView.h
index fd29a9b..f6d4af3 100644
--- a/Sources/VLSheetView.h
+++ b/Sources/VLSheetView.h
@@ -38,12 +38,15 @@ enum VLMusicElement {
BOOL showFieldEditor;
float clefKeyW;
float measureW;
+ float lineH;
int groups;
int quarterBeats;
int divPerGroup;
int firstMeasure;
int lastMeasure;
- int visibleMeasures;
+ int measuresPerSystem;
+ int numSystems;
+ float displayScale;
NSImageRep * noteCursorCache;
NSPoint noteCursorLocation;
NSPoint lastNoteCenter;
@@ -70,6 +73,7 @@ enum VLMusicElement {
- (VLSong *) song;
- (NSImage *) musicElement:(VLMusicElement)elt;
+- (float) systemY:(int)system;
- (float) noteYWithPitch:(int)pitch;
- (float) noteXInMeasure:(int)measure at:(VLFraction)at;
diff --git a/Sources/VLSheetView.mm b/Sources/VLSheetView.mm
index 25b70c7..63910b6 100644
--- a/Sources/VLSheetView.mm
+++ b/Sources/VLSheetView.mm
@@ -40,23 +40,23 @@ static NSString * sElementNames[kMusicElements] = {
};
static float sSharpPos[] = {
- kLineY+4.0f*kLineH, // F#
- kLineY+2.5f*kLineH, // C#
- kLineY+4.5f*kLineH, // G#
- kLineY+3.0f*kLineH, // D#
- kLineY+1.5f*kLineH, // A#
- kLineY+3.5f*kLineH, // E#
- kLineY+2.0f*kLineH, // B#
+ 4.0f*kLineH, // F#
+ 2.5f*kLineH, // C#
+ 4.5f*kLineH, // G#
+ 3.0f*kLineH, // D#
+ 1.5f*kLineH, // A#
+ 3.5f*kLineH, // E#
+ 2.0f*kLineH, // B#
};
static float sFlatPos[] = {
- kLineY+2.0f*kLineH, // Bb
- kLineY+3.5f*kLineH, // Eb
- kLineY+1.5f*kLineH, // Ab
- kLineY+3.0f*kLineH, // Db
- kLineY+1.0f*kLineH, // Gb
- kLineY+2.5f*kLineH, // Cb
- kLineY+0.5f*kLineH, // Fb
+ 2.0f*kLineH, // Bb
+ 3.5f*kLineH, // Eb
+ 1.5f*kLineH, // Ab
+ 3.0f*kLineH, // Db
+ 1.0f*kLineH, // Gb
+ 2.5f*kLineH, // Cb
+ 0.5f*kLineH, // Fb
};
- (id)initWithFrame:(NSRect)frame
@@ -80,6 +80,7 @@ static float sFlatPos[] = {
}
needsRecalc = YES;
showFieldEditor = NO;
+ displayScale = 1.0f;
firstMeasure = 0;
noteRectTracker = 0;
noteCursorCache = nil;
@@ -103,13 +104,20 @@ static float sFlatPos[] = {
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
{
int semi = pitch % 12;
int octave = (pitch / 12) - 5;
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;
switch (semi) {
@@ -156,6 +164,10 @@ static float sFlatPos[] = {
{
needsRecalc = NO;
+ NSSize contentSz = [[self enclosingScrollView] contentSize];
+ contentSz.width /= displayScale;
+ contentSz.height/= displayScale;
+
const VLSong * song = [self song];
const VLProperties & prop = song->fProperties.front();
@@ -164,18 +176,12 @@ static float sFlatPos[] = {
divPerGroup = prop.fDivisions * (quarterBeats / groups);
clefKeyW = kClefX+kClefW+(std::labs(prop.fKey)+1)*kKeyW;
measureW = groups*(divPerGroup+1)*kNoteW;
- visibleMeasures = (int)std::floor(([self bounds].size.width - clefKeyW)
- / measureW);
- [self setValue:
- [NSNumber numberWithInt:
- std::max((int)song->fMeasures.size()-visibleMeasures, 0)]
- forKey: @"lastMeasure"];
- if (firstMeasure > lastMeasure)
- [self setValue: [NSNumber numberWithInt:lastMeasure]
- forKey: @"firstMeasure"];
-
- [self setupChords];
+ measuresPerSystem =
+ (int)std::floor((contentSz.width - clefKeyW) / measureW);
+ numSystems = (song->CountMeasures()+measuresPerSystem-1)/measuresPerSystem;
+ contentSz.height = numSystems*kSystemH;
+#if 0
noteRect = NSMakeRect(clefKeyW, kLineY-kMaxLedgers*kLineH,
visibleMeasures*measureW,
(4.0f+2.0f*kMaxLedgers)*kLineH);
@@ -188,11 +194,27 @@ static float sFlatPos[] = {
noteRectTracker = [self addTrackingRect:noteRect owner:self
userData:nil assumeInside:inNoteRect];
[[self window] setAcceptsMouseMovedEvents:inNoteRect];
+#endif
+
[[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
{
+ static NSDictionary * sMeasNoFont = nil;
+ if (!sMeasNoFont)
+ sMeasNoFont =
+ [[NSDictionary alloc] initWithObjectsAndKeys:
+ [NSFont fontWithName: @"Helvetica" size: 10],
+ NSFontAttributeName,
+ nil];
+
const VLSong * song = [self song];
const VLProperties & prop = song->fProperties.front();
@@ -204,12 +226,15 @@ static float sFlatPos[] = {
[bz setLineWidth:0.0];
if (needsRecalc)
[self recalculateDimensions];
- for (int line = 0; line<5; ++line) {
- const float x0 = kLineX;
- const float xx = x0 + clefKeyW + visibleMeasures*measureW;
- const float y = kLineY+line*kLineH;
- [bz moveToPoint: NSMakePoint(x0, y)];
- [bz lineToPoint: NSMakePoint(xx, y)];
+ for (int system = 0; system 0) {
- float x = kClefX+kClefW;
- for (int i=0; iprop.fKey; ++i) {
- [[self musicElement: kMusicFlat] compositeToPoint:
- NSMakePoint(x, sFlatPos[i]+kFlatY)
- operation: NSCompositeSourceOver];
- x += kAccW;
+ for (int system = 0; system 0) {
+ float x = kClefX+kClefW;
+ for (int i=0; iprop.fKey; ++i) {
+ [[self musicElement: kMusicFlat]
+ compositeToPoint: NSMakePoint(x, kLineY+sFlatPos[i]+kFlatY)
+ operation: NSCompositeSourceOver];
+ x += kAccW;
+ }
}
}
diff --git a/Sources/VLSheetViewChords.mm b/Sources/VLSheetViewChords.mm
index 660c8e8..2fa53e5 100644
--- a/Sources/VLSheetViewChords.mm
+++ b/Sources/VLSheetViewChords.mm
@@ -68,6 +68,7 @@
- (void) setupChords
{
+#if 0
const VLSong * song = [self song];
const VLProperties & prop = song->fProperties.front();
NSView * chordView = [chords contentView];
@@ -110,6 +111,7 @@
}
}
[chords setNeedsDisplay: YES];
+#endif
}
- (IBAction) editChord:(id)sender
diff --git a/Sources/VLSheetViewInternal.h b/Sources/VLSheetViewInternal.h
index fda03bc..30265ae 100644
--- a/Sources/VLSheetViewInternal.h
+++ b/Sources/VLSheetViewInternal.h
@@ -7,11 +7,14 @@
//
const float kLineX = 5;
-const float kLineY = 90.5;
const float kLineH = 10;
+const float kSystemH = 15.0f*kLineH;
+const float kSystemY = 3.0f*kLineH;
const float kClefX = 20.5f;
-const float kClefY = 75.0f;
+const float kClefY =-15.0f;
const float kClefW = 30.0f;
+const float kMeasNoX = 10.0f;
+const float kMeasNoY = 4.5f*kLineH;
const float kNoteW = 12.0f;
const float kKeyW = 10.0f;
const float kAccW = 10.0f;
diff --git a/Sources/VLSheetViewNotes.mm b/Sources/VLSheetViewNotes.mm
index 1c278e4..7724ef0 100644
--- a/Sources/VLSheetViewNotes.mm
+++ b/Sources/VLSheetViewNotes.mm
@@ -253,56 +253,61 @@ static int sSemiToPitch[] = {
VLFraction swung(3, prop.fDivisions*8, true); // Which notes to swing
VLFraction swingGrid(2*swung); // Alignment of swing notes
- for (int m = 0; mfMeasures[measIdx];
- const VLNoteList & melody = measure.fMelody;
- VLFraction at(0);
- for (VLNoteList::const_iterator note = melody.begin();
- note != melody.end();
- ++note
- ) {
- VLFraction dur = note->fDuration;
- 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);
+ for (int system = 0; system= song->CountMeasures())
+ break;
+ const VLMeasure measure = song->fMeasures[measIdx];
+ const VLNoteList & melody = measure.fMelody;
+ VLFraction at(0);
+ for (VLNoteList::const_iterator note = melody.begin();
+ note != melody.end();
+ ++note
+ ) {
+ VLFraction dur = note->fDuration;
+ 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);
- VLFraction noteDur(1); // Visual value of note
+ BOOL triplet = !(partialDur.fDenom % 3);
+ VLFraction noteDur(1); // Visual value of note
- if (triplet) {
- if (swing) { // Swing 8ths / 16ths are written as straight 8ths
- if (partialDur == 4*swung/3 && (at % swingGrid) == 0) {
- noteDur = swung;
- triplet = NO;
- } else if (partialDur == 2*swung/3 && ((at+partialDur) % swingGrid) == 0) {
- noteDur = swung;
- triplet = NO;
+ if (triplet) {
+ if (swing) { // Swing 8ths / 16ths are written as straight 8ths
+ if (partialDur == 4*swung/3 && (at % swingGrid) == 0) {
+ noteDur = swung;
+ triplet = NO;
+ } else if (partialDur == 2*swung/3 && ((at+partialDur) % swingGrid) == 0) {
+ noteDur = swung;
+ triplet = NO;
+ } else {
+ noteDur = 4*partialDur/3;
+ }
} else {
noteDur = 4*partialDur/3;
}
} else {
- noteDur = 4*partialDur/3;
+ noteDur = partialDur;
}
- } else {
- noteDur = partialDur;
+ if (pitch != VLNote::kNoPitch)
+ [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;
}
}
}
diff --git a/Vocalese.xcodeproj/neeri.mode1v3 b/Vocalese.xcodeproj/neeri.mode1v3
index a281dd8..20fb974 100644
--- a/Vocalese.xcodeproj/neeri.mode1v3
+++ b/Vocalese.xcodeproj/neeri.mode1v3
@@ -196,120 +196,15 @@
OpenEditors
-
- Content
-
- PBXProjectModuleGUID
- 95D1F8310AB694EC00EE6AC8
- PBXProjectModuleLabel
- VLSheetView.mm
- PBXSplitModuleInNavigatorKey
-
- Split0
-
- PBXProjectModuleGUID
- 95D1F8320AB694EC00EE6AC8
- PBXProjectModuleLabel
- VLSheetView.mm
- _historyCapacity
- 0
- bookmark
- 95D1F8BD0AB69F2F00EE6AC8
- history
-
- 95D1F82B0AB693AE00EE6AC8
-
-
- SplitCount
- 1
-
- StatusBarVisibility
-
-
- Geometry
-
- Frame
- {{0, 20}, {763, 552}}
- PBXModuleWindowStatusBarHidden2
-
- RubberWindowFrame
- 164 91 763 593 0 0 1024 746
-
-
-
- Content
-
- PBXProjectModuleGUID
- 95D1F8130AB6908400EE6AC8
- PBXProjectModuleLabel
- VLSheetViewChords.h
- PBXSplitModuleInNavigatorKey
-
- Split0
-
- PBXProjectModuleGUID
- 95D1F8140AB6908400EE6AC8
- PBXProjectModuleLabel
- VLSheetViewChords.h
- _historyCapacity
- 0
- bookmark
- 95D1F8BE0AB69F2F00EE6AC8
- history
-
- 95D1F86A0AB6970400EE6AC8
-
-
- SplitCount
- 1
-
- StatusBarVisibility
-
-
- Geometry
-
- Frame
- {{0, 20}, {763, 552}}
- PBXModuleWindowStatusBarHidden2
-
- RubberWindowFrame
- 186 75 763 593 0 0 1024 746
-
-
Content
PBXProjectModuleGUID
95D1F82E0AB694EC00EE6AC8
PBXProjectModuleLabel
- VLSheetView.mm
+ <No Editor>
PBXSplitModuleInNavigatorKey
-
- Split0
-
- PBXProjectModuleGUID
- 95D1F82F0AB694EC00EE6AC8
- PBXProjectModuleLabel
- VLSheetView.mm
- _historyCapacity
- 0
- bookmark
- 95D1F8BF0AB69F2F00EE6AC8
- history
-
- 95D1F8530AB6967E00EE6AC8
- 95D1F8540AB6967E00EE6AC8
-
- prevStack
-
- 95D1F84C0AB6960700EE6AC8
- 95D1F8550AB6967E00EE6AC8
- 95D1F8560AB6967E00EE6AC8
-
-
- SplitCount
- 1
-
+
StatusBarVisibility
@@ -329,27 +224,9 @@
PBXProjectModuleGUID
95D1F7FE0AB68C8C00EE6AC8
PBXProjectModuleLabel
- VLSheetView.h
+ <No Editor>
PBXSplitModuleInNavigatorKey
-
- Split0
-
- PBXProjectModuleGUID
- 95D1F7FF0AB68C8C00EE6AC8
- PBXProjectModuleLabel
- VLSheetView.h
- _historyCapacity
- 0
- bookmark
- 95D1F8C00AB69F2F00EE6AC8
- history
-
- 95D1F80B0AB68D3B00EE6AC8
-
-
- SplitCount
- 1
-
+
StatusBarVisibility
@@ -363,6 +240,50 @@
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
@@ -389,7 +310,7 @@
Content
PBXProjectModuleGUID
- 95D1F8850AB69B6700EE6AC8
+ 95D1F8310AB694EC00EE6AC8
PBXProjectModuleLabel
<No Editor>
PBXSplitModuleInNavigatorKey
@@ -404,7 +325,95 @@
PBXModuleWindowStatusBarHidden2
RubberWindowFrame
- 168 116 763 593 0 0 1024 746
+ 164 91 763 593 0 0 1024 746
+
+
+
+ Content
+
+ PBXProjectModuleGUID
+ 95B042FA0ACE431A00236B52
+ PBXProjectModuleLabel
+ <No Editor>
+ PBXSplitModuleInNavigatorKey
+
+ StatusBarVisibility
+
+
+ Geometry
+
+ Frame
+ {{0, 20}, {763, 552}}
+ PBXModuleWindowStatusBarHidden2
+
+ RubberWindowFrame
+ 242 153 763 593 0 0 1024 746
+
+
+
+ Content
+
+ PBXProjectModuleGUID
+ 95B042F70ACE431A00236B52
+ PBXProjectModuleLabel
+ <No Editor>
+ PBXSplitModuleInNavigatorKey
+
+ StatusBarVisibility
+
+
+ Geometry
+
+ Frame
+ {{0, 20}, {763, 552}}
+ PBXModuleWindowStatusBarHidden2
+
+ RubberWindowFrame
+ 164 91 763 593 0 0 1024 746
+
+
+
+ Content
+
+ PBXProjectModuleGUID
+ 95B042FB0ACE431A00236B52
+ PBXProjectModuleLabel
+ <No Editor>
+ PBXSplitModuleInNavigatorKey
+
+ StatusBarVisibility
+
+
+ Geometry
+
+ Frame
+ {{0, 20}, {763, 552}}
+ PBXModuleWindowStatusBarHidden2
+
+ RubberWindowFrame
+ 242 153 763 593 0 0 1024 746
+
+
+
+ Content
+
+ PBXProjectModuleGUID
+ 95B042FC0ACE431A00236B52
+ PBXProjectModuleLabel
+ <No Editor>
+ PBXSplitModuleInNavigatorKey
+
+ StatusBarVisibility
+
+
+ Geometry
+
+ Frame
+ {{0, 20}, {763, 552}}
+ PBXModuleWindowStatusBarHidden2
+
+ RubberWindowFrame
+ 15 148 763 593 0 0 1024 746
@@ -488,13 +497,13 @@
PBXSmartGroupTreeModuleOutlineStateSelectionKey
- 6
+ 10
1
0
PBXSmartGroupTreeModuleOutlineStateVisibleRectKey
- {{0, 5}, {186, 338}}
+ {{0, 0}, {186, 338}}
PBXTopSmartGroupGIDs
@@ -513,7 +522,7 @@
186
RubberWindowFrame
- 167 327 690 397 0 0 1024 746
+ 167 326 690 397 0 0 1024 746
Module
PBXSmartGroupTreeModule
@@ -550,7 +559,7 @@
Frame
{{0, 0}, {482, 0}}
RubberWindowFrame
- 167 327 690 397 0 0 1024 746
+ 167 326 690 397 0 0 1024 746
Module
PBXNavigatorGroup
@@ -570,7 +579,7 @@
Frame
{{0, 5}, {482, 351}}
RubberWindowFrame
- 167 327 690 397 0 0 1024 746
+ 167 326 690 397 0 0 1024 746
Module
XCDetailModule
@@ -594,9 +603,9 @@
TableOfContents
- 95D1F7F00AB6821400EE6AC8
+ 95B042DA0ACE37CB00236B52
1CE0B1FE06471DED0097A5F4
- 95D1F7F10AB6821400EE6AC8
+ 95B042DB0ACE37CB00236B52
1CE0B20306471E060097A5F4
1CE0B20506471E060097A5F4
@@ -730,22 +739,27 @@
5
WindowOrderList
- 95D1F8850AB69B6700EE6AC8
- 95D1F8660AB6970400EE6AC8
- 95D1F8240AB6930D00EE6AC8
- 95D1F8250AB6930D00EE6AC8
- 95D1F8260AB6930D00EE6AC8
+ 95B043090ACE46F000236B52
+ 95B042FC0ACE431A00236B52
+ 95B042FB0ACE431A00236B52
+ 95B042F70ACE431A00236B52
+ 95B042FA0ACE431A00236B52
+ 95B042E40ACE37CB00236B52
+ 95B042E50ACE37CB00236B52
+ 95B042E60ACE37CB00236B52
95D7BFC80AA6C1A500D5E02C
- 95D7BFC00AA6C1A500D5E02C
- 1CD10A99069EF8BA00B06720
+ 95D1F8310AB694EC00EE6AC8
+ 95D1F8660AB6970400EE6AC8
+ 95D1F8850AB69B6700EE6AC8
+ 95D1F8130AB6908400EE6AC8
95D1F7FE0AB68C8C00EE6AC8
95D1F82E0AB694EC00EE6AC8
- 95D1F8130AB6908400EE6AC8
- 95D1F8310AB694EC00EE6AC8
- /Users/neeri/Development/Vocalese/Vocalese.xcodeproj
+ 95D7BFC00AA6C1A500D5E02C
+ /Development/Vocalese/Vocalese.xcodeproj
+ 1CD10A99069EF8BA00B06720
WindowString
- 167 327 690 397 0 0 1024 746
+ 167 326 690 397 0 0 1024 746
WindowToolsV3
@@ -761,12 +775,14 @@
Dock
+ BecomeActive
+
ContentConfiguration
PBXProjectModuleGUID
1CD0528F0623707200166675
PBXProjectModuleLabel
- VLSheetViewChords.mm
+ new_allocator.h
StatusBarVisibility
@@ -783,8 +799,6 @@
293pt
- BecomeActive
-
ContentConfiguration
PBXProjectModuleGUID
@@ -824,7 +838,7 @@
TableOfContents
95D7BFC00AA6C1A500D5E02C
- 95D1F8220AB6930D00EE6AC8
+ 95B042DC0ACE37CB00236B52
1CD0528F0623707200166675
XCMainBuildResultsModuleGUID
@@ -835,7 +849,7 @@
WindowToolGUID
95D7BFC00AA6C1A500D5E02C
WindowToolIsVisible
-
+
FirstTimeWindowDisplayed
@@ -866,8 +880,8 @@
yes
sizes
- {{0, 0}, {308, 200}}
- {{308, 0}, {386, 200}}
+ {{0, 0}, {308, 203}}
+ {{308, 0}, {386, 203}}
VerticalSplitView
@@ -882,8 +896,8 @@
yes
sizes
- {{0, 0}, {694, 200}}
- {{0, 200}, {694, 181}}
+ {{0, 0}, {694, 203}}
+ {{0, 203}, {694, 178}}
@@ -916,7 +930,7 @@
156
Frame
- {{308, 0}, {386, 200}}
+ {{308, 0}, {386, 203}}
RubberWindowFrame
254 208 694 422 0 0 1024 746
@@ -944,13 +958,13 @@
TableOfContents
1CD10A99069EF8BA00B06720
- 95D1F7F20AB6821400EE6AC8
+ 95B042DD0ACE37CB00236B52
1C162984064C10D400B95A72
- 95D1F7F30AB6821400EE6AC8
- 95D1F7F40AB6821400EE6AC8
- 95D1F7F50AB6821400EE6AC8
- 95D1F7F60AB6821400EE6AC8
- 95D1F7F70AB6821400EE6AC8
+ 95B042DE0ACE37CB00236B52
+ 95B042DF0ACE37CB00236B52
+ 95B042E00ACE37CB00236B52
+ 95B042E10ACE37CB00236B52
+ 95B042E20ACE37CB00236B52
ToolbarConfiguration
xcode.toolbar.config.debugV3
@@ -959,7 +973,7 @@
WindowToolGUID
1CD10A99069EF8BA00B06720
WindowToolIsVisible
-
+
Identifier
@@ -1112,7 +1126,7 @@
TableOfContents
95D7BFC80AA6C1A500D5E02C
- 95D1F8230AB6930D00EE6AC8
+ 95B042E30ACE37CB00236B52
1C78EAAC065D492600B07095
WindowString
diff --git a/Vocalese.xcodeproj/neeri.pbxuser b/Vocalese.xcodeproj/neeri.pbxuser
index 62b256e..64ec5ca 100644
--- a/Vocalese.xcodeproj/neeri.pbxuser
+++ b/Vocalese.xcodeproj/neeri.pbxuser
@@ -62,22 +62,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 179733005;
- PBXWorkspaceStateSaveDate = 179733005;
+ PBXPerProjectTemplateStateSaveDate = 181286523;
+ PBXWorkspaceStateSaveDate = 181286523;
};
perUserProjectItems = {
- 95D1F80B0AB68D3B00EE6AC8 /* PBXTextBookmark */ = 95D1F80B0AB68D3B00EE6AC8 /* PBXTextBookmark */;
- 95D1F82B0AB693AE00EE6AC8 /* PBXBookmark */ = 95D1F82B0AB693AE00EE6AC8 /* PBXBookmark */;
- 95D1F84C0AB6960700EE6AC8 /* PBXTextBookmark */ = 95D1F84C0AB6960700EE6AC8 /* PBXTextBookmark */;
- 95D1F8530AB6967E00EE6AC8 /* PBXTextBookmark */ = 95D1F8530AB6967E00EE6AC8 /* PBXTextBookmark */;
- 95D1F8540AB6967E00EE6AC8 /* PBXTextBookmark */ = 95D1F8540AB6967E00EE6AC8 /* PBXTextBookmark */;
- 95D1F8550AB6967E00EE6AC8 /* PBXTextBookmark */ = 95D1F8550AB6967E00EE6AC8 /* PBXTextBookmark */;
- 95D1F8560AB6967E00EE6AC8 /* PBXTextBookmark */ = 95D1F8560AB6967E00EE6AC8 /* PBXTextBookmark */;
- 95D1F86A0AB6970400EE6AC8 /* PBXTextBookmark */ = 95D1F86A0AB6970400EE6AC8 /* PBXTextBookmark */;
- 95D1F8BD0AB69F2F00EE6AC8 /* PBXTextBookmark */ = 95D1F8BD0AB69F2F00EE6AC8 /* PBXTextBookmark */;
- 95D1F8BE0AB69F2F00EE6AC8 /* PBXTextBookmark */ = 95D1F8BE0AB69F2F00EE6AC8 /* PBXTextBookmark */;
- 95D1F8BF0AB69F2F00EE6AC8 /* PBXTextBookmark */ = 95D1F8BF0AB69F2F00EE6AC8 /* PBXTextBookmark */;
- 95D1F8C00AB69F2F00EE6AC8 /* PBXTextBookmark */ = 95D1F8C00AB69F2F00EE6AC8 /* PBXTextBookmark */;
+ 95B042F40ACE42E800236B52 /* PBXBookmark */ = 95B042F40ACE42E800236B52 /* PBXBookmark */;
+ 95B042F90ACE431A00236B52 /* PBXTextBookmark */ = 95B042F90ACE431A00236B52 /* PBXTextBookmark */;
+ 95B043000ACE435E00236B52 /* PBXTextBookmark */ = 95B043000ACE435E00236B52 /* PBXTextBookmark */;
};
sourceControlManager = 954D7413095406B2007D9571 /* Source Control */;
userBuildSettings = {
@@ -169,9 +160,9 @@
};
952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {703, 2100}}";
- sepNavSelRange = "{4592, 34}";
- sepNavVisRect = "{{0, 1837}, {703, 261}}";
+ sepNavIntBoundsRect = "{{0, 0}, {703, 2268}}";
+ sepNavSelRange = "{3383, 0}";
+ sepNavVisRect = "{{0, 1151}, {703, 261}}";
sepNavWindowFrame = "{{15, 92}, {763, 649}}";
};
};
@@ -218,17 +209,17 @@
};
955E58E3095658AB0045FDA5 /* VLModel.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {704, 3080}}";
- sepNavSelRange = "{2773, 0}";
- sepNavVisRect = "{{0, 1807}, {704, 497}}";
+ sepNavIntBoundsRect = "{{0, 0}, {644, 2170}}";
+ sepNavSelRange = "{4342, 0}";
+ sepNavVisRect = "{{0, 1726}, {633, 146}}";
sepNavWindowFrame = "{{203, 40}, {763, 649}}";
};
};
955E58E4095658AB0045FDA5 /* VLModel.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {704, 3976}}";
- sepNavSelRange = "{4436, 0}";
- sepNavVisRect = "{{0, 2758}, {704, 497}}";
+ sepNavIntBoundsRect = "{{0, 0}, {806, 6118}}";
+ sepNavSelRange = "{10226, 0}";
+ sepNavVisRect = "{{0, 4813}, {704, 497}}";
sepNavWindowFrame = "{{256, 62}, {763, 649}}";
};
};
@@ -309,11 +300,35 @@
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 */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {724, 520}}";
- sepNavSelRange = "{792, 0}";
- sepNavVisRect = "{{0, 0}, {724, 520}}";
+ sepNavIntBoundsRect = "{{0, 0}, {704, 497}}";
+ sepNavSelRange = "{422, 0}";
+ sepNavVisRect = "{{0, 0}, {704, 497}}";
sepNavWindowFrame = "{{15, 92}, {763, 649}}";
};
};
@@ -327,9 +342,9 @@
};
95B66657096BCA1F00FE18C9 /* VLSheetViewNotes.mm */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {704, 3976}}";
- sepNavSelRange = "{5055, 0}";
- sepNavVisRect = "{{0, 2576}, {704, 497}}";
+ sepNavIntBoundsRect = "{{0, 0}, {703, 2660}}";
+ sepNavSelRange = "{8068, 0}";
+ sepNavVisRect = "{{0, 1965}, {703, 238}}";
sepNavWindowFrame = "{{38, 71}, {763, 649}}";
};
};
@@ -346,134 +361,23 @@
hitCount = 0;
ignoreCount = 0;
lineNumber = 21;
- modificationTime = 179740227.391068;
+ modificationTime = 181290725.024457;
state = 2;
};
95BDA15709540BF1009F9D65 /* VLSheetView.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {704, 1134}}";
- sepNavSelRange = "{1065, 16}";
- sepNavVisRect = "{{0, 472}, {704, 520}}";
+ sepNavIntBoundsRect = "{{0, 0}, {704, 1190}}";
+ sepNavSelRange = "{848, 0}";
+ sepNavVisRect = "{{0, 313}, {704, 497}}";
sepNavWindowFrame = "{{242, 97}, {763, 649}}";
};
};
95BDA15809540BF1009F9D65 /* VLSheetView.mm */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {704, 3626}}";
- sepNavSelRange = "{7591, 0}";
- sepNavVisRect = "{{0, 3106}, {704, 520}}";
+ sepNavIntBoundsRect = "{{0, 0}, {704, 5208}}";
+ sepNavSelRange = "{3996, 0}";
+ sepNavVisRect = "{{0, 2269}, {704, 497}}";
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;
- };
}