Further refine triplet/swing distinction

This commit is contained in:
Matthias Neeracher 2010-05-24 16:05:31 +00:00
parent 3044c63686
commit 13bdae7ad6
2 changed files with 25 additions and 22 deletions

View File

@ -2,25 +2,6 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeDescription</key>
<string>VocalEasel song</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.content</string>
<string>com.apple.package</string>
</array>
<key>UTTypeIdentifier</key>
<string>org.aereperennius.vocaleasel-song</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>vlsong</string>
</dict>
</dict>
</array>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
@ -256,10 +237,29 @@
<key>CFBundleSignature</key>
<string>VçEz</string>
<key>CFBundleVersion</key>
<string>1.2</string>
<string>1.3a1</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.content</string>
<string>com.apple.package</string>
</array>
<key>UTTypeDescription</key>
<string>VocalEasel song</string>
<key>UTTypeIdentifier</key>
<string>org.aereperennius.vocaleasel-song</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>vlsong</string>
</dict>
</dict>
</array>
</dict>
</plist>

View File

@ -449,6 +449,9 @@ void VLMeasure::DecomposeNotes(const VLProperties & prop, VLNoteList & decompose
while (i!=e) {
VLNoteList::const_iterator n = i;
++n;
VLNoteList::const_iterator n2 = n;
if (n2 != e)
++n2;
VLLyricsNote c = *i; // Current note, remaining duration
VLLyricsNote p = c; // Next partial note
@ -536,8 +539,8 @@ void VLMeasure::DecomposeNotes(const VLProperties & prop, VLNoteList & decompose
if ((p.fDuration == sw6 && (at % grid4 == 0))
|| (swing16 && p.fDuration == sw12 && (at % grid8 == 0))
) {
if (p.fDuration == c.fDuration && n!=e
&& n->fDuration == p.fDuration
if (p.fDuration == c.fDuration && n2!=e
&& n->fDuration == p.fDuration && n2->fDuration >= p.fDuration
) {
; // Triplet, not swing note
} else {