Start implementing field editor for chords

This commit is contained in:
Matthias Neeracher 2006-09-12 07:55:28 +00:00
parent b36d5594b7
commit 7daabcb8b0
12 changed files with 411 additions and 73 deletions

View File

@ -4,10 +4,10 @@
{CLASS = MyDocument; LANGUAGE = ObjC; SUPERCLASS = NSDocument; },
{CLASS = VLDocument; LANGUAGE = ObjC; SUPERCLASS = NSDocument; },
{
ACTIONS = {scroll = id; setDivisions = id; setKey = id; setTime = id; };
ACTIONS = {hideFieldEditor = id; setDivisions = id; setKey = id; setTime = id; };
CLASS = VLSheetView;
LANGUAGE = ObjC;
OUTLETS = {chords = id; };
OUTLETS = {chords = id; fieldEditor = id; };
SUPERCLASS = NSView;
}
);

View File

@ -3,14 +3,14 @@
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>41 30 356 240 0 0 1024 746 </string>
<string>44 14 356 240 0 0 1024 746 </string>
<key>IBFramework Version</key>
<string>437.0</string>
<string>451.0</string>
<key>IBOpenObjects</key>
<array>
<integer>5</integer>
</array>
<key>IBSystem Version</key>
<string>8F46</string>
<string>9A255</string>
</dict>
</plist>

Binary file not shown.

View File

@ -135,6 +135,7 @@ static const VLChordModifier kModifiers[] = {
{"11", VLChord::kmMin7th | VLChord::kmMaj9th | VLChord::km11th, 0},
{"#9", VLChord::kmMin7th | VLChord::kmAug9th, VLChord::kmMaj9th},
{"b9", VLChord::kmMin7th | VLChord::kmMin9th, VLChord::kmMaj9th},
{"69", VLChord::kmDim7th | VLChord::kmMaj9th, 0},
{"9", VLChord::kmMin7th | VLChord::kmMaj9th, 0},
{"7", VLChord::kmMin7th, 0},
{"maj", VLChord::kmMaj7th, VLChord::kmMin7th},
@ -152,7 +153,7 @@ static const VLChordModifier kModifiers[] = {
};
static const char * kStepNames[] = {
"", "", "sus2", "", "", "sus", "♭5", "", "+", "♭7", "7", "♯7", "",
"", "", "sus2", "", "", "sus", "♭5", "", "+", "6", "7", "♯7", "",
"♭9", "9", "♯9", "", "11", "♯11", "", "♭9", "13"
};
@ -204,6 +205,7 @@ VLChord::VLChord(std::string name)
} else
name.erase(root, 2);
}
//
// Apply modifiers
//
@ -261,6 +263,13 @@ void VLChord::Name(std::string & base, std::string & ext, std::string & root, bo
steps&= ~kmMaj7th;
}
//
// 6/9
//
if ((steps & (kmDim7th|kmMaj9th)) == (kmDim7th|kmMaj9th)) {
ext += "69";
steps&= ~(kmDim7th|kmMaj9th);
}
//
// Other extensions. Only the highest unaltered extension is listed.
//
if (uint32_t unaltered = steps & (kmMin7th | kmMaj9th | km11th | kmMaj13th)) {

View File

@ -151,7 +151,7 @@ struct VLChord : VLNote {
kmDim5th = (1 << kDim5th),
km5th = (1 << k5th),
kmAug5th = (1 << kAug5th),
kmDim7th = (1 << kDim7th),
kmDim7th = (1 << kDim7th),
kmMin7th = (1 << kMin7th),
kmMaj7th = (1 << kMaj7th),
kmOctave = (1 << kOctave),

View File

@ -35,6 +35,7 @@ enum VLMusicElement {
@interface VLSheetView : NSView {
BOOL needsRecalc;
BOOL showFieldEditor;
float clefKeyW;
float measureW;
int groups;
@ -51,13 +52,17 @@ enum VLMusicElement {
int noteCursorMeasure;
VLFract noteCursorAt;
int noteCursorPitch;
id fieldBeingEdited;
IBOutlet id chords;
IBOutlet id chords;
IBOutlet id fieldEditor;
}
- (IBAction) setKey:(id)sender;
- (IBAction) setTime:(id)sender;
- (IBAction) setDivisions:(id)sender;
- (IBAction) showFieldEditor:(id)sender withAction:(SEL)selector;
- (IBAction) hideFieldEditor:(id)sender;
- (void) setFirstMeasure: (NSNumber *)measure;

View File

@ -79,6 +79,7 @@ static float sFlatPos[] = {
}
}
needsRecalc = YES;
showFieldEditor = NO;
firstMeasure = 0;
noteRectTracker = 0;
noteCursorCache = nil;
@ -311,4 +312,20 @@ static float sFlatPos[] = {
[self setNeedsDisplay: YES];
}
- (IBAction)showFieldEditor:(id)sender withAction:(SEL)selector
{
fieldBeingEdited = sender;
[fieldEditor setObjectValue:[sender title]];
[fieldEditor setAction:selector];
[self setValue: [NSNumber numberWithBool:YES]
forKey: @"showFieldEditor"];
}
- (IBAction)hideFieldEditor:(id)sender
{
[fieldEditor setAction:nil];
[self setValue: [NSNumber numberWithBool:NO]
forKey: @"showFieldEditor"];
}
@end

View File

@ -9,6 +9,7 @@
@interface VLSheetView (Chords)
- (IBAction) editChord:(id)sender;
- (IBAction) doneEditingChord:(id)sender;
- (void) setupChords;

View File

@ -83,7 +83,6 @@
//
// Build new list
//
NSView * prevKeyView = nil;
NSFont * chordFont = [NSFont controlContentFontOfSize: 14];
int beatsPerGroup = quarterBeats / groups;
for (int m = 0; m<visibleMeasures; ++m) {
@ -95,30 +94,30 @@
for (int beat = 0; beat<quarterBeats; ++beat) {
const float x = x0+kNoteW*(beat*prop.fDivisions+(beat / beatsPerGroup)+0.5f);
NSRect f = NSMakeRect(x, 0, kChordW, kChordH);
NSTextField * chord = [[NSTextField alloc] initWithFrame: f];
NSButton * chord = [[NSButton alloc] initWithFrame: f];
[chordView addSubview: chord];
[prevKeyView setNextKeyView: chord];
prevKeyView = chord;
[chord setBordered: NO];
[chord setBezeled: NO];
[chord setDrawsBackground: NO];
[chord setTarget: self];
[chord setAction: @selector(editChord:)];
[[chord cell] setSendsActionOnEndEditing: YES];
[chord setTag: (measure << 8) | beat];
[chord setFont: chordFont];
[chord setTitle: @""];
while (cCur != cEnd && at < VLFraction(beat, 4))
at += (cCur++)->fDuration;
if (cCur != cEnd && at == VLFraction(beat, 4) && cCur->fPitch != VLNote::kNoPitch)
[chord setAttributedStringValue: [self stringWithChord:*cCur]];
[chord setTitle: [self stringWithChord:*cCur]];
[chord release];
}
}
[chords setNeedsDisplay: YES];
}
- (IBAction) editChord:(id)sender
{
[self showFieldEditor:sender withAction:@selector(doneEditingChord:)];
}
- (IBAction) doneEditingChord:(id)sender
{
VLSong * song = [self song];
@ -163,12 +162,10 @@
} else {
NSAttributedString * s = [self stringWithChord:chord];
[sender setAttributedStringValue: s];
[fieldBeingEdited setTitle: s];
[sender setTextColor: [NSColor blackColor]];
NSSize sz = [sender frame].size;
sz.width = [s size].width+10.0;
[sender setFrameSize: sz];
VLSoundOut::Instance()->PlayChord(chord);
int tag = [sender tag];
int tag = [fieldBeingEdited tag];
song->AddChord(chord, tag >> 8, VLFraction(tag & 0xFF, 4));
}
}

View File

@ -200,11 +200,29 @@
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95FA70960AB3370800B2D764</string>
<string>95D1F8310AB694EC00EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</string>
<string>VLSheetView.mm</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict/>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95D1F8320AB694EC00EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>VLSheetView.mm</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>95D1F8BD0AB69F2F00EE6AC8</string>
<key>history</key>
<array>
<string>95D1F82B0AB693AE00EE6AC8</string>
</array>
</dict>
<key>SplitCount</key>
<string>1</string>
</dict>
<key>StatusBarVisibility</key>
<true/>
</dict>
@ -215,14 +233,141 @@
<key>PBXModuleWindowStatusBarHidden2</key>
<false/>
<key>RubberWindowFrame</key>
<string>203 96 763 593 0 0 1024 746 </string>
<string>164 91 763 593 0 0 1024 746 </string>
</dict>
</dict>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>956999A10AB370CD0033F43C</string>
<string>95D1F8130AB6908400EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>VLSheetViewChords.h</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95D1F8140AB6908400EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>VLSheetViewChords.h</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>95D1F8BE0AB69F2F00EE6AC8</string>
<key>history</key>
<array>
<string>95D1F86A0AB6970400EE6AC8</string>
</array>
</dict>
<key>SplitCount</key>
<string>1</string>
</dict>
<key>StatusBarVisibility</key>
<true/>
</dict>
<key>Geometry</key>
<dict>
<key>Frame</key>
<string>{{0, 20}, {763, 552}}</string>
<key>PBXModuleWindowStatusBarHidden2</key>
<false/>
<key>RubberWindowFrame</key>
<string>186 75 763 593 0 0 1024 746 </string>
</dict>
</dict>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95D1F82E0AB694EC00EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>VLSheetView.mm</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95D1F82F0AB694EC00EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>VLSheetView.mm</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>95D1F8BF0AB69F2F00EE6AC8</string>
<key>history</key>
<array>
<string>95D1F8530AB6967E00EE6AC8</string>
<string>95D1F8540AB6967E00EE6AC8</string>
</array>
<key>prevStack</key>
<array>
<string>95D1F84C0AB6960700EE6AC8</string>
<string>95D1F8550AB6967E00EE6AC8</string>
<string>95D1F8560AB6967E00EE6AC8</string>
</array>
</dict>
<key>SplitCount</key>
<string>1</string>
</dict>
<key>StatusBarVisibility</key>
<true/>
</dict>
<key>Geometry</key>
<dict>
<key>Frame</key>
<string>{{0, 20}, {763, 552}}</string>
<key>PBXModuleWindowStatusBarHidden2</key>
<false/>
<key>RubberWindowFrame</key>
<string>15 148 763 593 0 0 1024 746 </string>
</dict>
</dict>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95D1F7FE0AB68C8C00EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>VLSheetView.h</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95D1F7FF0AB68C8C00EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>VLSheetView.h</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>95D1F8C00AB69F2F00EE6AC8</string>
<key>history</key>
<array>
<string>95D1F80B0AB68D3B00EE6AC8</string>
</array>
</dict>
<key>SplitCount</key>
<string>1</string>
</dict>
<key>StatusBarVisibility</key>
<true/>
</dict>
<key>Geometry</key>
<dict>
<key>Frame</key>
<string>{{0, 20}, {763, 552}}</string>
<key>PBXModuleWindowStatusBarHidden2</key>
<false/>
<key>RubberWindowFrame</key>
<string>242 153 763 593 0 0 1024 746 </string>
</dict>
</dict>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95D1F8660AB6970400EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</string>
<key>PBXSplitModuleInNavigatorKey</key>
@ -237,7 +382,29 @@
<key>PBXModuleWindowStatusBarHidden2</key>
<false/>
<key>RubberWindowFrame</key>
<string>38 127 763 593 0 0 1024 746 </string>
<string>15 148 763 593 0 0 1024 746 </string>
</dict>
</dict>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>95D1F8850AB69B6700EE6AC8</string>
<key>PBXProjectModuleLabel</key>
<string>&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>
</array>
@ -312,19 +479,22 @@
<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
<array>
<string>2A37F4AAFDCFA73011CA2CEA</string>
<string>2A37F4ABFDCFA73011CA2CEA</string>
<string>955E59560957C0C50045FDA5</string>
<string>2A37F4B8FDCFA73011CA2CEA</string>
<string>1C37FBAC04509CD000000102</string>
<string>1C37FABC05509CD000000102</string>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
<integer>9</integer>
<integer>4</integer>
<integer>6</integer>
<integer>1</integer>
<integer>0</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
<string>{{0, 0}, {186, 338}}</string>
<string>{{0, 5}, {186, 338}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@ -424,9 +594,9 @@
</array>
<key>TableOfContents</key>
<array>
<string>956999870AB36FA30033F43C</string>
<string>95D1F7F00AB6821400EE6AC8</string>
<string>1CE0B1FE06471DED0097A5F4</string>
<string>956999880AB36FA30033F43C</string>
<string>95D1F7F10AB6821400EE6AC8</string>
<string>1CE0B20306471E060097A5F4</string>
<string>1CE0B20506471E060097A5F4</string>
</array>
@ -560,14 +730,18 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
<string>956999A10AB370CD0033F43C</string>
<string>956999940AB36FA30033F43C</string>
<string>956999950AB36FA30033F43C</string>
<string>956999960AB36FA30033F43C</string>
<string>95D1F8850AB69B6700EE6AC8</string>
<string>95D1F8660AB6970400EE6AC8</string>
<string>95D1F8240AB6930D00EE6AC8</string>
<string>95D1F8250AB6930D00EE6AC8</string>
<string>95D1F8260AB6930D00EE6AC8</string>
<string>95D7BFC80AA6C1A500D5E02C</string>
<string>95D7BFC00AA6C1A500D5E02C</string>
<string>95FA70960AB3370800B2D764</string>
<string>1CD10A99069EF8BA00B06720</string>
<string>95D1F7FE0AB68C8C00EE6AC8</string>
<string>95D1F82E0AB694EC00EE6AC8</string>
<string>95D1F8130AB6908400EE6AC8</string>
<string>95D1F8310AB694EC00EE6AC8</string>
<string>/Users/neeri/Development/Vocalese/Vocalese.xcodeproj</string>
</array>
<key>WindowString</key>
@ -592,7 +766,7 @@
<key>PBXProjectModuleGUID</key>
<string>1CD0528F0623707200166675</string>
<key>PBXProjectModuleLabel</key>
<string></string>
<string>VLSheetViewChords.mm</string>
<key>StatusBarVisibility</key>
<true/>
</dict>
@ -609,6 +783,8 @@
<string>293pt</string>
</dict>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@ -648,7 +824,7 @@
<key>TableOfContents</key>
<array>
<string>95D7BFC00AA6C1A500D5E02C</string>
<string>9569998C0AB36FA30033F43C</string>
<string>95D1F8220AB6930D00EE6AC8</string>
<string>1CD0528F0623707200166675</string>
<string>XCMainBuildResultsModuleGUID</string>
</array>
@ -690,8 +866,8 @@
<string>yes</string>
<key>sizes</key>
<array>
<string>{{0, 0}, {310, 200}}</string>
<string>{{310, 0}, {384, 200}}</string>
<string>{{0, 0}, {308, 200}}</string>
<string>{{308, 0}, {386, 200}}</string>
</array>
</dict>
<key>VerticalSplitView</key>
@ -737,10 +913,10 @@
<string>Value</string>
<real>85</real>
<string>Summary</string>
<real>154</real>
<real>156</real>
</array>
<key>Frame</key>
<string>{{310, 0}, {384, 200}}</string>
<string>{{308, 0}, {386, 200}}</string>
<key>RubberWindowFrame</key>
<string>254 208 694 422 0 0 1024 746 </string>
</dict>
@ -768,13 +944,13 @@
<key>TableOfContents</key>
<array>
<string>1CD10A99069EF8BA00B06720</string>
<string>9569998D0AB36FA30033F43C</string>
<string>95D1F7F20AB6821400EE6AC8</string>
<string>1C162984064C10D400B95A72</string>
<string>9569998E0AB36FA30033F43C</string>
<string>9569998F0AB36FA30033F43C</string>
<string>956999900AB36FA30033F43C</string>
<string>956999910AB36FA30033F43C</string>
<string>956999920AB36FA30033F43C</string>
<string>95D1F7F30AB6821400EE6AC8</string>
<string>95D1F7F40AB6821400EE6AC8</string>
<string>95D1F7F50AB6821400EE6AC8</string>
<string>95D1F7F60AB6821400EE6AC8</string>
<string>95D1F7F70AB6821400EE6AC8</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string>
@ -783,7 +959,7 @@
<key>WindowToolGUID</key>
<string>1CD10A99069EF8BA00B06720</string>
<key>WindowToolIsVisible</key>
<true/>
<false/>
</dict>
<dict>
<key>Identifier</key>
@ -936,7 +1112,7 @@
<key>TableOfContents</key>
<array>
<string>95D7BFC80AA6C1A500D5E02C</string>
<string>956999930AB36FA30033F43C</string>
<string>95D1F8230AB6930D00EE6AC8</string>
<string>1C78EAAC065D492600B07095</string>
</array>
<key>WindowString</key>

View File

@ -45,8 +45,8 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
200,
63,
203,
60,
20,
48,
43,
@ -62,8 +62,22 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 179531674;
PBXWorkspaceStateSaveDate = 179531674;
PBXPerProjectTemplateStateSaveDate = 179733005;
PBXWorkspaceStateSaveDate = 179733005;
};
perUserProjectItems = {
95D1F80B0AB68D3B00EE6AC8 /* PBXTextBookmark */ = 95D1F80B0AB68D3B00EE6AC8 /* PBXTextBookmark */;
95D1F82B0AB693AE00EE6AC8 /* PBXBookmark */ = 95D1F82B0AB693AE00EE6AC8 /* PBXBookmark */;
95D1F84C0AB6960700EE6AC8 /* PBXTextBookmark */ = 95D1F84C0AB6960700EE6AC8 /* PBXTextBookmark */;
95D1F8530AB6967E00EE6AC8 /* PBXTextBookmark */ = 95D1F8530AB6967E00EE6AC8 /* PBXTextBookmark */;
95D1F8540AB6967E00EE6AC8 /* PBXTextBookmark */ = 95D1F8540AB6967E00EE6AC8 /* PBXTextBookmark */;
95D1F8550AB6967E00EE6AC8 /* PBXTextBookmark */ = 95D1F8550AB6967E00EE6AC8 /* PBXTextBookmark */;
95D1F8560AB6967E00EE6AC8 /* PBXTextBookmark */ = 95D1F8560AB6967E00EE6AC8 /* PBXTextBookmark */;
95D1F86A0AB6970400EE6AC8 /* PBXTextBookmark */ = 95D1F86A0AB6970400EE6AC8 /* PBXTextBookmark */;
95D1F8BD0AB69F2F00EE6AC8 /* PBXTextBookmark */ = 95D1F8BD0AB69F2F00EE6AC8 /* PBXTextBookmark */;
95D1F8BE0AB69F2F00EE6AC8 /* PBXTextBookmark */ = 95D1F8BE0AB69F2F00EE6AC8 /* PBXTextBookmark */;
95D1F8BF0AB69F2F00EE6AC8 /* PBXTextBookmark */ = 95D1F8BF0AB69F2F00EE6AC8 /* PBXTextBookmark */;
95D1F8C00AB69F2F00EE6AC8 /* PBXTextBookmark */ = 95D1F8C00AB69F2F00EE6AC8 /* PBXTextBookmark */;
};
sourceControlManager = 954D7413095406B2007D9571 /* Source Control */;
userBuildSettings = {
@ -147,9 +161,17 @@
};
952DCD76096BBB11001C2316 /* VLSheetViewChords.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {724, 520}}";
sepNavSelRange = "{150, 0}";
sepNavVisRect = "{{0, 0}, {724, 520}}";
sepNavIntBoundsRect = "{{0, 0}, {704, 520}}";
sepNavSelRange = "{184, 35}";
sepNavVisRect = "{{0, 0}, {704, 520}}";
sepNavWindowFrame = "{{186, 19}, {763, 649}}";
};
};
952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {703, 2100}}";
sepNavSelRange = "{4592, 34}";
sepNavVisRect = "{{0, 1837}, {703, 261}}";
sepNavWindowFrame = "{{15, 92}, {763, 649}}";
};
};
@ -197,16 +219,16 @@
955E58E3095658AB0045FDA5 /* VLModel.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {704, 3080}}";
sepNavSelRange = "{2267, 0}";
sepNavVisRect = "{{0, 558}, {704, 497}}";
sepNavSelRange = "{2773, 0}";
sepNavVisRect = "{{0, 1807}, {704, 497}}";
sepNavWindowFrame = "{{203, 40}, {763, 649}}";
};
};
955E58E4095658AB0045FDA5 /* VLModel.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {704, 4564}}";
sepNavSelRange = "{9472, 29}";
sepNavVisRect = "{{0, 2375}, {704, 497}}";
sepNavIntBoundsRect = "{{0, 0}, {704, 3976}}";
sepNavSelRange = "{4436, 0}";
sepNavVisRect = "{{0, 2758}, {704, 497}}";
sepNavWindowFrame = "{{256, 62}, {763, 649}}";
};
};
@ -242,9 +264,9 @@
};
955E59600957C1400045FDA5 /* TVLChord.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {724, 520}}";
sepNavIntBoundsRect = "{{0, 0}, {704, 497}}";
sepNavSelRange = "{557, 0}";
sepNavVisRect = "{{0, 0}, {724, 520}}";
sepNavVisRect = "{{0, 0}, {704, 497}}";
sepNavWindowFrame = "{{84, 29}, {763, 649}}";
};
};
@ -324,23 +346,134 @@
hitCount = 0;
ignoreCount = 0;
lineNumber = 21;
modificationTime = 179531977.512253;
modificationTime = 179740227.391068;
state = 2;
};
95BDA15709540BF1009F9D65 /* VLSheetView.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {704, 1064}}";
sepNavSelRange = "{890, 0}";
sepNavVisRect = "{{0, 434}, {704, 497}}";
sepNavIntBoundsRect = "{{0, 0}, {704, 1134}}";
sepNavSelRange = "{1065, 16}";
sepNavVisRect = "{{0, 472}, {704, 520}}";
sepNavWindowFrame = "{{242, 97}, {763, 649}}";
};
};
95BDA15809540BF1009F9D65 /* VLSheetView.mm */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {704, 4410}}";
sepNavSelRange = "{3053, 0}";
sepNavVisRect = "{{0, 0}, {704, 497}}";
sepNavIntBoundsRect = "{{0, 0}, {704, 3626}}";
sepNavSelRange = "{7591, 0}";
sepNavVisRect = "{{0, 3106}, {704, 520}}";
sepNavWindowFrame = "{{164, 35}, {763, 649}}";
};
};
95D1F80B0AB68D3B00EE6AC8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 95BDA15709540BF1009F9D65 /* VLSheetView.h */;
name = "VLSheetView.h: 57";
rLen = 0;
rLoc = 1134;
rType = 0;
vrLen = 829;
vrLoc = 672;
};
95D1F82B0AB693AE00EE6AC8 /* PBXBookmark */ = {
isa = PBXBookmark;
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
};
95D1F84C0AB6960700EE6AC8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */;
name = "VLSheetViewChords.mm: 164";
rLen = 0;
rLoc = 4620;
rType = 0;
vrLen = 839;
vrLoc = 3237;
};
95D1F8530AB6967E00EE6AC8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */;
name = "VLSheetViewChords.mm: 116";
rLen = 0;
rLoc = 3410;
rType = 0;
vrLen = 971;
vrLoc = 2859;
};
95D1F8540AB6967E00EE6AC8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
rLen = 0;
rLoc = 326;
rType = 1;
};
95D1F8550AB6967E00EE6AC8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
name = "VLSheetView.mm: 317";
rLen = 0;
rLoc = 7520;
rType = 0;
vrLen = 758;
vrLoc = 7108;
};
95D1F8560AB6967E00EE6AC8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */;
name = "VLSheetViewChords.mm: 116";
rLen = 0;
rLoc = 3410;
rType = 0;
vrLen = 971;
vrLoc = 2859;
};
95D1F86A0AB6970400EE6AC8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 952DCD76096BBB11001C2316 /* VLSheetViewChords.h */;
name = "VLSheetViewChords.h: 11";
rLen = 35;
rLoc = 184;
rType = 0;
vrLen = 290;
vrLoc = 0;
};
95D1F8BD0AB69F2F00EE6AC8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
name = "VLSheetView.mm: 318";
rLen = 0;
rLoc = 7591;
rType = 0;
vrLen = 766;
vrLoc = 7108;
};
95D1F8BE0AB69F2F00EE6AC8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 952DCD76096BBB11001C2316 /* VLSheetViewChords.h */;
name = "VLSheetViewChords.h: 11";
rLen = 35;
rLoc = 184;
rType = 0;
vrLen = 290;
vrLoc = 0;
};
95D1F8BF0AB69F2F00EE6AC8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 95BDA15809540BF1009F9D65 /* VLSheetView.mm */;
name = "VLSheetView.mm: 327";
rLen = 0;
rLoc = 7785;
rType = 0;
vrLen = 786;
vrLoc = 7088;
};
95D1F8C00AB69F2F00EE6AC8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 95BDA15709540BF1009F9D65 /* VLSheetView.h */;
name = "VLSheetView.h: 55";
rLen = 16;
rLoc = 1065;
rType = 0;
vrLen = 925;
vrLoc = 566;
};
}

View File

@ -428,7 +428,7 @@
GCC_PREFIX_HEADER = Sources/Vocalese_Prefix.pch;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = Info.plist;
INFOPLIST_FILE = Resources/Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
PREBINDING = NO;
PRODUCT_NAME = Vocalese;